This was submitted to the Dev list last week, but there was no response, and perhaps it wasn't the right group.<br>
<br>
I am developing an application in which I need asterisk to pass on an
incoming call to a separate IVR server.&nbsp; The problem is that
asterisk appears to hang up while the IVR is playing back a sequence of
recorded voice and systhesized voice prompts.<br>

<br>

My setup is:<br>

<br>

Analog line -&gt;X100P-&gt;asterisk-&gt;TDM10B-
<div id="mb_0">&gt;phone cord-&gt;Dialogic analog port-&gt;IVR system.&nbsp; <br>
<br>
Asterisk should dial the IVR system, which should answer and play back
its IVR scenario script to the caller.&nbsp; However, when a call comes
in, asterisk answers on Zap1-1 and dials Zap2-1.&nbsp; The IVR system
answers the call and begins to play back its scenario.&nbsp; After 5 to
15 seconds, asterisk apparently senses an on-hook condition (exception
17?) and disconnects the connection bridge.&nbsp; The logs on the IVR
system shows that it is not initially aware of the hangup, and
continues playing its scenario.<br>
<br>
Going to an analog phone in the TDM10B instead of the IVR system
appears to work OK, with the exception that asterisk is still sending
dial tones when the analog phone is answered.&nbsp; The phone stays
connected to asterisk until it really does hang up.<br>
<br>
What causes the hangup? What generates the exception?&nbsp; I have
looked at the chan_zap.c code and can not see how zt_exception gets
into the picture.&nbsp; Is there a TDMF incompatibility problem?&nbsp;
Is this a case where DAX should be used?<br>
<br>
My config files and sample debug output are given below.&nbsp; Thanks for anyone's help.<br><span class="sg">
<br>
Rollin Weeks<br>
<br>
#<br>
# Zaptel Configuration File<br>
#<br>
# This file is parsed by the Zaptel Configurator, ztcfg<br>
#<br>
fxsks=1 # For the X100P<br>
fxoks=2 # For the TDM400P (TDM10B)<br>
#<br>
loadzone = us<br>
#<br>
defaultzone=us<br>
<br>
----------------<br>
<br>
;<br>
; Zapata telephony interface<br>
;<br>
; Configuration file<br>
<br>
[channels]<br>
;<br>
language=en<br>
<br>
context=incoming<br>
<br>
switchtype=national<br>
<br>
signalling=fxs_ks<br>
<br>
rxwink=300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Atlas seems to use long (250ms) winks<br>
<br>
; Whether or not to use caller ID<br>
;<br>
usecallerid=asreceived<br>
<br>
; Whether or not to hide outgoing caller ID (Override with *67 or *82)<br>
;<br>
hidecallerid=no<br>
;<br>
callwaitingcallerid=yes<br>
<br>
; for default voicemail context, the example below is fine:<br>
;<br>
mailbox=1234<br>
<br>
echocancel=yes<br>
<br>
; If you are having trouble with DTMF detection, you can relax the<br>
; DTMF detection parameters.&nbsp; Relaxing them may make the DTMF detector<br>
; more likely to have &quot;talkoff&quot; where DTMF is detected when it<br>
; shouldn't be.<br>
;<br>
relaxdtmf=yes<br>
<br>
; You may also set the default receive and transmit gains (in dB)<br>
;<br>
rxgain=0.0<br>
txgain=0.0<br>
<br>
immediate=no<br>
<br>
; On trunk interfaces (FXS) and E&amp;M interfaces (E&amp;M, Wink, Feature Group D<br>
; etc, it can be useful to perform busy detection either in an effort to <br>
; detect hangup or for detecting busies<br>
;<br>
busydetect=yes<br>
;<br>
; If busydetect is enabled, is also possible to specify how many<br>
; busy tones to wait before hanging up. The default is 4, but<br>
; better results can be achieved if set to 6 or even 8. Mind that<br>
; higher the number, more time is needed to hangup a channel, but<br>
; lower is probability to get random hangups<br>
;<br>
busycount=40<br>
<br>
; Select which class of music to use for music on hold.&nbsp; If not specified<br>
; then the default will be used.<br>
;<br>
musiconhold=default<br>
<br>
channel =&gt; 1<br>
<br>
signalling=fxo_ks<br>
<br>
context=internal<br>
<br>
channel =&gt; 2<br>
<br>
----------------<br>
<br>
; Home grown extension file<br>
[globals]<br>
;RECEPTIONIST=Zap/1<br>
;<br>
<br>
[incoming]<br>
exten =&gt; s,1,Wait(1)<br>
exten =&gt; s,2,Answer()<br>
exten =&gt; s,3,Playback(demo-congrats) ;&nbsp; Plays the demo-congrats file after answering the line<br>
exten =&gt; s,4,Dial,Zap/2/1000\20<br>
exten =&gt; s,5,Hangup<br>
<br>
[internal]<br>
exten =&gt; 1000,1,Answer()<br>
exten =&gt; 1000,2,Wait(2)<br>
exten =&gt; 1000,3,Hangup <br>
<br>
-------------------<br>
<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; -- Starting simple switch on 'Zap/1-1'<br>
Urgent handler<br>
Aug&nbsp; 4 15:43:39 DEBUG[5059]: pbx.c:1274 pbx_extension_helper: Launching 'Wait'<br>
&nbsp;&nbsp;&nbsp; -- Executing Wait(&quot;Zap/1-1&quot;, &quot;1&quot;) in new stack<br>
Urgent handler<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: pbx.c:1274 pbx_extension_helper: Launching 'Answer'<br>
&nbsp;&nbsp;&nbsp; -- Executing Answer(&quot;Zap/1-1&quot;, &quot;&quot;) in new stack<br>
Urgent handler<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: chan_zap.c:2301 zt_answer: Took Zap/1-1 off hook<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: chan_zap.c:1231 zt_enable_ec: Enabled echo cancellation on channel 1<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: chan_zap.c:1250 zt_train_ec: No echo training requested<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: pbx.c:1274 pbx_extension_helper: Launching 'Playback'<br>
&nbsp;&nbsp;&nbsp; -- Executing Playback(&quot;Zap/1-1&quot;, &quot;demo-congrats&quot;) in new stack<br>
Urgent handler<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/1-1 to write format gsm<br>
Aug&nbsp; 4 15:43:40 DEBUG[5059]: channel.c:1128 ast_settimeout: Scheduling timer at 160 sample intervals<br>
&nbsp;&nbsp;&nbsp; -- Playing 'demo-congrats' (language 'en')<br>
Urgent handler<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1128 ast_settimeout: Scheduling timer at 0 sample intervals<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1128 ast_settimeout: Scheduling timer at 0 sample intervals<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/1-1 to write format ulaw<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: pbx.c:1274 pbx_extension_helper: Launching 'Dial'<br>
&nbsp;&nbsp;&nbsp; -- Executing Dial(&quot;Zap/1-1&quot;, &quot;Zap/2/1000\20&quot;) in new stack<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: chan_zap.c:6907 zt_request: Using channel 2<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: chan_zap.c:1563 zt_call: FXO: setup deferred dialstring: 1000\20<br>
&nbsp;&nbsp;&nbsp; -- Called 2/1000\20<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1752 ast_set_read_format: Set channel Zap/2-1 to read format ulaw<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/1-1 to write format ulaw<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/2-1 to write format ulaw<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: channel.c:1752 ast_set_read_format: Set channel Zap/1-1 to read format ulaw<br>
Urgent handler<br>
Urgent handler<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
&nbsp;&nbsp;&nbsp; -- Zap/2-1 is ringing<br>
<br>
*****<br>
<br>
&nbsp;&nbsp;&nbsp; -- Zap/2-1 is ringing<br>
Urgent handler<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
Aug&nbsp; 4 15:44:08 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
<br>
******<br>
<br>
ug&nbsp; 4 15:44:10 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
Aug&nbsp; 4 15:44:10 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
Aug&nbsp; 4 15:44:10 DEBUG[5059]: chan_zap.c:3786 __zt_exception: Exception on 17, channel 2<br>
Aug&nbsp; 4 15:44:10 DEBUG[5059]: chan_zap.c:3089 zt_handle_event: Got event Ringer Off(11) on channel 2 (index 0)<br>
&nbsp;&nbsp;&nbsp; -- Zap/2-1 is ringing<br>
Urgent handler<br>
Aug&nbsp; 4 15:44:10 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
<br>
******<br>
<br>
ug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:3786 __zt_exception: Exception on 17, channel 2<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:3089 zt_handle_event: Got event Ring/Answered(2) on channel 2 (index 0)<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:1231 zt_enable_ec: Enabled echo cancellation on channel 2<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:1250 zt_train_ec: No echo training requested<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:3352 zt_handle_event: channel 2 answered<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:3372 zt_handle_event: Sent FXO deferred digit string: Tw1000\20<br>
Aug&nbsp; 4 15:44:12 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
<br>
******<br>
<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:4187 zt_write: Dropping frame since I'm still dialing on Zap/2-1...<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:3786 __zt_exception: Exception on 17, channel 2<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:3089 zt_handle_event: Got event Dial Complete(9) on channel 2 (index 0)<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1215 zt_enable_ec: Echo cancellation already on<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: channel.c:1366 ast_read: Dropping duplicate answer!<br>
&nbsp;&nbsp;&nbsp; -- Zap/2-1 answered Zap/1-1<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: channel.c:1752 ast_set_read_format: Set channel Zap/1-1 to read format ulaw<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/2-1 to write format ulaw<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: channel.c:1719 ast_set_write_format: Set channel Zap/1-1 to write format ulaw<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: channel.c:1752 ast_set_read_format: Set channel Zap/2-1 to read format ulaw<br>
&nbsp;&nbsp;&nbsp; -- Attempting native bridge of Zap/1-1 and Zap/2-1<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:2677 zt_bridge: master: 1, slave: 2, nothingok: 0<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:2692 zt_bridge: Stoping tones on 1/0 talking to 2/0<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:2704 zt_bridge: Stoping tones on 2/0 talking to 1/0<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1263 zt_disable_ec: disabled echo cancellation on channel 1<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1263 zt_disable_ec: disabled echo cancellation on channel 2<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:2567 zt_link: Making 2 slave to master 1 at 0<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1061 conf_add: Added 17 to conference 9/1<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1061 conf_add: Added 15 to conference 9/2<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1206 update_conf: Updated conferencing on 1, with 0 conference users<br>
Aug&nbsp; 4 15:44:13 DEBUG[5059]: chan_zap.c:1206 update_conf: Updated conferencing on 2, with 0 conference users<br>
Urgent handler<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:3786 __zt_exception: Exception on 17, channel 2<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:3089 zt_handle_event: Got event On hook(1) on channel 2 (index 0)<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1263 zt_disable_ec: disabled echo cancellation on channel 2<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:2511 zt_unlink: Unlinking slave 2 from 1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1093 conf_del: Removed 17 from conference 9/1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1093 conf_del: Removed 15 from conference 9/2<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1206 update_conf: Updated conferencing on 1, with 0 conference users<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1231 zt_enable_ec: Enabled echo cancellation on channel 1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1231 zt_enable_ec: Enabled echo cancellation on channel 2<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: channel.c:2640 ast_channel_bridge: Returning from native bridge, channels: Zap/1-1, Zap/2-1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: channel.c:739 ast_hangup: Hanging up channel 'Zap/2-1'<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1959 zt_hangup: zt_hangup(Zap/2-1)<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1987 zt_hangup: Hangup:
channel: 2 index = 0, normal = 17, callwait = -1, thirdcall = -1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1263 zt_disable_ec: disabled echo cancellation on channel 2<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:2390 zt_setoption: Set option TDD MODE, value: OFF(0) on Zap/2-1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1206 update_conf: Updated conferencing on 2, with 0 conference users<br>
&nbsp;&nbsp;&nbsp; -- Hungup 'Zap/2-1'<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: app_dial.c:1054 dial_exec: Exiting with DIALSTATUS=ANSWER.<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: pbx.c:1851 ast_pbx_run: Spawn extension (incoming,s,4) exited non-zero on 'Zap/1-1'<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: channel.c:739 ast_hangup: Hanging up channel 'Zap/1-1'<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1959 zt_hangup: zt_hangup(Zap/1-1)<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1987 zt_hangup: Hangup:
channel: 1 index = 0, normal = 15, callwait = -1, thirdcall = -1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1263 zt_disable_ec: disabled echo cancellation on channel 1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:2390 zt_setoption: Set option TDD MODE, value: OFF(0) on Zap/1-1<br>
Aug&nbsp; 4 15:44:26 DEBUG[5059]: chan_zap.c:1206 update_conf: Updated conferencing on 1, with 0 conference users<br>
&nbsp;&nbsp;&nbsp; -- Hungup 'Zap/1-1'<br>
<br>
</span></div>
<br>