Hi, some 13 years ago I use to develop IVR systems based on Dialogic cards. Now after many years away from CTI, I’m taking my first steps with Asterisk. As I expected many concepts remain very similar, but getting a hold of Asterisk is probing to challenging.
[PROBLEM] Can’t dial out from a SIP phone through a POTS.
Setup: Suse 10.1 + Asterisk 1.2.10 + Zaptel 1.2.7 + Digium TDM400P with 4 FXO (only channel 1 is connected to a POTS). Relevant debug output and configuration files are at the end of the post.
First of all, dialing in to the TDM400P works fine, except for hangup detection which seems to be related to reverse polarity issues (I’ll left that for later). So I know that the card is working and the POTS are working.
The problem arises when a SIP phone sitting in the LAN tries to dial an external phone using the TDM400P to make the outbound call. The result is that Asterisk tries to dial the number on the Zap channel, thinks it’s already been answer and bridges the call back to the SIP phone. However the call is never made.
Things I’ve already checked: HW compatibility, IRQ sharing, putting ww in the Dial string. I’ve also hook an standardphone to the same POTS for monitoring the call progress when Asterisk attempts to dial, and actually what happens is that the line never goes off-hook (if I pickup the standard phone right after Asterisk says it has completed the dial, I get a dialtone)
I have the feeling I’m missing something quite obvious, but I’ve been struggling with this issue for quite a while, so I won’t hurt asking. So any help will be appreciated. Thanks in advance.
/var/log/asterisk/debug
Aug 3 02:31:43 DEBUG[19467] devicestate.c: Changing state for SIP/prueba1 - state 2 (In use)
Aug 3 02:31:43 DEBUG[19489] pbx.c: Launching 'Dial’
Aug 3 02:31:43 DEBUG[19489] chan_zap.c: Using channel 1
Aug 3 02:31:43 DEBUG[19489] channel.c: Not copying variable STACK-from-sip-95551234-1.
Aug 3 02:31:43 DEBUG[19489] channel.c: Not copying variable SIPCALLID.
Aug 3 02:31:43 DEBUG[19489] channel.c: Not copying variable SIPUSERAGENT.
Aug 3 02:31:43 DEBUG[19489] channel.c: Not copying variable SIPDOMAIN.
Aug 3 02:31:43 DEBUG[19489] channel.c: Not copying variable SIPURI.
Aug 3 02:31:43 DEBUG[19489] chan_zap.c: Dialing 'w5551234’
Aug 3 02:31:43 DEBUG[19489] chan_zap.c: Deferring dialing…
Aug 3 02:31:43 DEBUG[19489] channel.c: Set channel Zap/1-1 to read format ulaw
Aug 3 02:31:43 DEBUG[19489] channel.c: Set channel SIP/prueba1-081964e8 to write format ulaw
Aug 3 02:31:43 DEBUG[19489] channel.c: Set channel SIP/prueba1-081964e8 to read format ulaw
Aug 3 02:31:43 DEBUG[19489] channel.c: Set channel Zap/1-1 to write format ulaw
Aug 3 02:31:43 DEBUG[19467] devicestate.c: Changing state for Zap/1 - state 2 (In use)
Aug 3 02:31:43 DEBUG[19467] devicestate.c: Changing state for Zap/1 - state 2 (In use)
Aug 3 02:31:43 DEBUG[19490] app_queue.c: Device ‘SIP/prueba1’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
Aug 3 02:31:43 DEBUG[19491] app_queue.c: Device ‘Zap/1’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
Aug 3 02:31:43 DEBUG[19492] app_queue.c: Device ‘Zap/1’ changed to state ‘2’ (In use) but we don’t care because they’re not a member of any queue.
Aug 3 02:31:44 DEBUG[19489] chan_zap.c: Exception on 14, channel 1
Aug 3 02:31:44 DEBUG[19489] chan_zap.c: Got event Hook Transition Complete(12) on channel 1 (index 0)
Aug 3 02:31:46 DEBUG[19489] chan_zap.c: Exception on 14, channel 1
Aug 3 02:31:46 DEBUG[19489] chan_zap.c: Got event Dial Complete(9) on channel 1 (index 0)
Aug 3 02:31:46 DEBUG[19489] chan_zap.c: Enabled echo cancellation on channel 1
Aug 3 02:31:46 DEBUG[19489] channel.c: Set channel SIP/prueba1-081964e8 to read format ulaw
Aug 3 02:31:46 DEBUG[19489] channel.c: Set channel Zap/1-1 to write format ulaw
Aug 3 02:31:46 DEBUG[19489] channel.c: Set channel Zap/1-1 to read format ulaw
Aug 3 02:31:46 DEBUG[19489] channel.c: Set channel SIP/prueba1-081964e8 to write format ulaw
Aug 3 02:31:46 DEBUG[19489] chan_sip.c: sip_answer(SIP/prueba1-081964e8)
/etc/zaptel.conf
fxsls=1
loadzone=es
defaultzone=es
/etc/asterisk/zapata.conf
[channels]
echocancel=yes
signalling=fxs_ls
context=inbound
busydetect=no
callprogress=no
faxdetect=no
immediate=no
channel => 1
/etc/asterisk/extensions.conf
[from-sip]
ignorepat => 9
exten => 6001,1,Dial(SIP/prueba1)
exten => _9.,1,Dial(Zap/1/w${EXTEN:1},20)
exten => _9.,2,Congestion()
exten => _9.,102,Congestion()