[asterisk-users] Sending a hook flash to a DAHDI channel
Stephen Brown
stephen.brown75 at gmail.com
Sat Feb 20 15:16:56 CST 2010
I've got a piece of CPE equipment that has an FXS port that I have tied
to an FXO port on a TDM400 clone card. Normally, if I go off-hook with a
standard telephone connected to it, I get a dialtone. If I dial a digit,
and send a hookflash, the device will provide a dialtone back for the
next available channel on the device.
I'm trying to recreate this same behavior with Asterisk, however, it's
not working. I'm not sure if it's me, the CPE device, Asterisk, my
dialplan code or a combination of all. I am running Asterisk 1.6.0.21,
FreePBX 2.6, and the latest version of DAHDI.
Here's the dialplan logic I am trying to execute, this is in
/etc/asterisk/extensions_custom.conf:
[from-internal-custom]
exten => 1234,1,Dial(DAHDI/2) ; DAHDI channel 2, FXO
exten => 1234,n,SendDTMF(2) ; I expect to send DTMF digit 2 after
the channel answers?
exten => 1234,n,Wait(1) ; I added a wait statement
exten => 1234,n,Flash() ; Send the hookflash
After the hookflash is when I expect to receive dialtone from the CPE
device, but it does not appear to ever execute the SendDTMF or Flash events:
[Feb 20 15:45:52] -- Starting simple switch on 'DAHDI/4-1'
[Feb 20 15:46:00] -- Executing [1234 at from-internal:1]
ResetCDR("DAHDI/4-1", "") in new stack
[Feb 20 15:46:00] -- Executing [1234 at from-internal:2]
Dial("DAHDI/4-1", "DAHDI/2") in new stack
[Feb 20 15:46:00] -- Called 2
[Feb 20 15:46:01] WARNING[27502]: chan_dahdi.c:2008 dahdi_enable_ec:
Unable to enable echo cancellation on channel 2 (No such device)
[Feb 20 15:46:01] -- DAHDI/2-1 answered DAHDI/4-1
[Feb 20 15:46:01] -- Native bridging DAHDI/4-1 and DAHDI/2-1
[Feb 20 15:46:06] WARNING[27502]: chan_dahdi.c:2008 dahdi_enable_ec:
Unable to enable echo cancellation on channel 2 (No such device)
[Feb 20 15:46:06] -- Executing [h at from-internal:1]
Macro("DAHDI/4-1", "hangupcall") in new stack
[Feb 20 15:46:06] -- Executing [s at macro-hangupcall:1]
GotoIf("DAHDI/4-1", "1?skiprg") in new stack
[Feb 20 15:46:06] -- Goto (macro-hangupcall,s,4)
[Feb 20 15:46:06] -- Executing [s at macro-hangupcall:4]
GotoIf("DAHDI/4-1", "1?skipblkvm") in new stack
[Feb 20 15:46:06] -- Goto (macro-hangupcall,s,7)
[Feb 20 15:46:06] -- Executing [s at macro-hangupcall:7]
GotoIf("DAHDI/4-1", "1?theend") in new stack
[Feb 20 15:46:06] -- Goto (macro-hangupcall,s,9)
[Feb 20 15:46:06] -- Executing [s at macro-hangupcall:9]
Hangup("DAHDI/4-1", "") in new stack
[Feb 20 15:46:06] == Spawn extension (macro-hangupcall, s, 9) exited
non-zero on 'DAHDI/4-1' in macro 'hangupcall'
[Feb 20 15:46:06] -- Hungup 'DAHDI/2-1'
[Feb 20 15:46:06] == Spawn extension (from-internal, 1234, 2) exited
non-zero on 'DAHDI/4-1'
[Feb 20 15:46:06] -- Hungup 'DAHDI/4-1'
I've also tried it with this variation:
exten => 1234,1,Dial(DAHDI/2/D(2)) ; DAHDI channel 2, FXO send DTMF
digit 2 before call gets bridged
exten => 1234,n,Wait(1) ; Wait 1 second
exten => 1234,n,Flash() ; Send the hookflash
This yields the results of dialing "2" to the CPE device, again I never
see the Flash event get executed (as evidenced from the console, it's
also possible my verbosity is set too low?)
Any help appreciated....
Thanks,
Stephen
More information about the asterisk-users
mailing list