Summary: | ASTERISK-03683: chan_zap does not wait for wink on E&M Wink lines | ||
Reporter: | km (km) | Labels: | |
Date Opened: | 2005-03-15 10:03:59.000-0600 | Date Closed: | 2011-06-07 14:05:28 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | E&M Wink support is incomplete in chan_zap. When making a telephone call out on a T1 configured as E&M wink, Asterisk will not wait for a wink. The call always stays in the "Ringing" state and never goes "Up." Because of this, SIP users cannot use the system because their calls never get out of "Session Progress" mode. ****** ADDITIONAL INFORMATION ****** The setup: Asterisk is an intermediate leg between the telephone company (XO) and our existing NEC Electra Elite 48 system. The problem is that when Asterisk originates a call on either the CO side or the NEC side, it will not wink or wait for wink. The CO and NEC system both wink the Asterisk system properly, however. The only effect of this is that the asterisk system always thinks that the line is Ringing, it never gets to the "Up" stage, when it originates the call. The incoming calls from the CO and the NEC system are answered and go to "Up" immediately, never staying in the Ringing stage for longer than it took the call to actually ring through. As you can see in zapata.conf, I was attempting to fiddle with prewink/preflash/wink/flash times, but I don't really know how I should set those variables so they're commented out at the moment. The reason why I have zapata.conf going to 12-24 and 36-48 is because we have an integrated access t1, so the first few lines are data lines that are transferred off to the cisco router before it hits the pbx. Those channels are just dead air, as far as I know. Listed below are logs I took with some added printk's in zaptel.c relating to how the call progress goes from the CO to asterisk, versus asterisk to the CO. --------------------------------------------- zaptel.conf: loadzone=us defaultzone=us span=1,1,0,esf,b8zs e&m=1-24 span=2,0,0,esf,b8zs e&m=25-48 --------------------------------------------- zapata.conf usecallerid=yes echocancel=yes immediate=no context=default switchtype=national signalling=em_w ;prewink=270 ;preflash=270 ;wink=270 ;flash=270 group=1 rxgain=2 context=incomingt1 channel=>12-24 group=2 usecallerid=yes callerid=RTTX <484-875-9460> immediate=no ;signalling=featdmf echocancel=no signalling=em_w rxgain=2 emdigitwait=2500 context=incomingpbx channel=>36-48 ===================================== ast-to-co: ZT_HOOK:ZT_START Mar 13 23:31:11 pbx01 kernel: chan_ioctl: calling sethook with chan, zt_txsig_start,zt_txstate_start,chan->starttime Mar 13 23:31:11 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 2 in 64 signalling ZT_TXSTATE_START (ready to debounce): Mar 13 23:31:11 pbx01 kernel: chan_ioctl: calling sethook with chan, zt_txsig_offhook,zt_txstate_afterstart,zt_afterstart_time Mar 13 23:31:11 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 1 in 64 signalling ZT_TXSTATE_AFTERSTART Mar 13 23:31:12 pbx01 kernel: chan_ioctl: calling sethook in txstate_afterstart -- offhook,offhook,NULL Mar 13 23:31:12 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 1 in 64 signalling Mar 13 23:31:27 pbx01 kernel: zt_hangup: calling sethook with chan, zt_txsig_onhook,zt_txstate_onhook,NULL Mar 13 23:31:27 pbx01 kernel: Setting bits to 0 for channel TE4/0/1/12 state 0 in 64 signalling -------------------------------------------------------- co-to-ast: ZT_HOOK:ZT_WINK Mar 13 23:41:34 pbx01 kernel: chan_ioctl: calling sethook with chan, zt_txsig_onhook,zt_txstate_prewink,chan->prewinktime Mar 13 23:41:34 pbx01 kernel: Setting bits to 0 for channel TE4/0/1/12 state 0 in 64 signalling ZT_TXSTATE_PREWINK: Mar 13 23:41:34 pbx01 kernel: chan_ioctl: calling sethook in actually wink -- offhook,wink,winktime Mar 13 23:41:34 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 1 in 64 signalling ZT_TXSTATE_WINK: Mar 13 23:41:34 pbx01 kernel: chan_ioctl: calling sethook in winkcomplete -- onhook,onhook,NULL Mar 13 23:41:34 pbx01 kernel: Setting bits to 0 for channel TE4/0/1/12 state 0 in 64 signalling ZT_HOOK:ZT_OFFHOOK: Mar 13 23:41:35 pbx01 kernel: chan_ioctl: calling sethook with chan, zt_txsig_onhook,zt_txstate_debounce,chan->debouncetime Mar 13 23:41:35 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 1 in 64 signalling ZT_TXSTATE_DEBOUNCE: Mar 13 23:41:35 pbx01 kernel: chan_ioctl: calling sethook in txstate_debounce -- offhook,offhook,NULL Mar 13 23:41:35 pbx01 kernel: Setting bits to 15 for channel TE4/0/1/12 state 1 in 64 signalling in zt_hangup() Mar 13 23:41:43 pbx01 kernel: zt_hangup: calling sethook with chan, zt_txsig_onhook,zt_txstate_onhook,NULL Mar 13 23:41:43 pbx01 kernel: Setting bits to 0 for channel TE4/0/1/12 state 0 in 64 signalling ================================== | ||
Comments: | By: Andrew Kohlsmith (akohlsmith) 2005-03-15 10:14:51.000-0600 I've been working with km on this on and off over the past few weeks. Asterisk will correctly wink when terminating a call, but unless we're missing something obvious, it does not wait for a wink when originating a call. Since all E&M functions appear to be done in chan_zap I looked there and it seems obvious that nothing is done for E&M wink on Dial(). Around line 1747 in chan_zap.c you see where it starts modifying the dial string that is sent to the zaptel driver based on the signaling. Nothing is done with SIG_EMWINK. around line 1735 you see it call ZT_HOOK, then at 1780 ZT_DIAL. Zaptel.c looks like it can send a wink (~line 4158) but it doesn't seem to ever LOOK for one. By: Mark Spencer (markster) 2005-03-15 10:16:32.000-0600 This is a technical support issue, please pursue through support@digium.com By: km (km) 2005-03-15 10:20:45.000-0600 This has been in digium's tech support system (support@digium.com) for a day and a half now -- It is assumed that since the digium people have not gotten back to me within one business day with at least a message stating that they're working towards a solution, that perhaps this was a code bug and not a card-related technical support issue. EDIT: Ticket number ASTERISK-15886 edited on: 03-15-05 10:21 By: Russell Bryant (russell) 2005-03-15 10:33:45.000-0600 They are likely just swamped at the moment. Give them a little bit more time. If they determine that it is a code issue, it will be handled internally at Digium, and not through the Asterisk bug tracker. By: Mark Spencer (markster) 2005-03-16 18:10:37.000-0600 Reminder sent to km Bill Hall, our director of services, assures me he has been attempting to contact you to follow up on your need for technical support regarding this E&M. If for any reason you do not receive the assistance you need from technical support, please feel free to contact him or myself directly. His direct number is +1-256-428-6266 and my direct number is +1-256-428-6275. Thanks! |