Summary: | ASTERISK-08662: zap channel hangup is not detected if it occurs before the line is answered | ||
Reporter: | Antonio Gallo (agx) | Labels: | |
Date Opened: | 2007-01-25 10:01:49.000-0600 | Date Closed: | 2007-02-07 14:39:07.000-0600 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_zap |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | if incoming caller hungup before asterisk with TDM400P answer the channell then the hangup is never detected instead if line is answered in some way it works ok with the given timeout you can see below: zaptel.conf zapata.conf and debugging of the incoming call I was able to reprocude this problem on all of my installations with that analog card. ****** ADDITIONAL INFORMATION ****** /etc/zaptel.conf loadzone=it defaultzone=it fxsks=4 dmesg: Module 0: Not installed Module 1: Not installed Module 2: Not installed Module 3: Installed -- AUTO FXO (ITALY mode) /etc/asterisk/zapata.conf: [channels] adsi=no callerid=asreceived callprogress=no callreturn=no callwaitingcallerid=yes callwaiting=yes cancallforward=no canpark=yes context=vuoto echocancelwhenbridged=no echocancel=0 echotraining=no faxdetect=incoming hidecallerid=no immediate=no internationalprefix=00 nationalprefix=0 overlapdial=yes pridialplan=local priindication = outofband prilocaldialplan=local rxgain=0.0 signalling=pri_cpe switchtype=euroisdn threewaycalling=no transfer=yes txgain=0.0 usecallerid=yes usecallingpres=yes callgroup=1 pickupgroup=1 ; end template ; TDM400p settings that override default template callprogress=no usecallerid=yes callerid=asreceived busydetect=yes busycount=5 busypattern=500,500 signalling=fxs_ks language=it context=from-trunk-zap-1 group=1 echotraining=100 echocancel=32 rxgain=0.0 txgain=0.0 usecallerid=yes channel=>4 here is the logs: Jan 25 16:57:59 VERBOSE[12217] logger.c: Asterisk Event Logger restarted Jan 25 16:57:59 VERBOSE[12217] logger.c: Asterisk Queue Logger restarted Jan 25 16:58:05 DEBUG[12208] dsp.c: dsp busy pattern set to 500,500 Jan 25 16:58:05 VERBOSE[12218] logger.c: -- Starting simple switch on 'Zap/4-1' (i hang up at this point) Jan 25 16:58:13 WARNING[12218] chan_zap.c: CallerID returned with error on channel 'Zap/4-1' Jan 25 16:58:13 VERBOSE[12218] logger.c: -- Executing Set("Zap/4-1", "__FROMTRUNK=1") in new stack Jan 25 16:58:13 VERBOSE[12218] logger.c: -- Executing NoOp("Zap/4-1", "DNID=") in new stack Jan 25 16:58:13 VERBOSE[12218] logger.c: -- Executing NoOp("Zap/4-1", "FROMDNID=") in new stack Jan 25 16:58:13 VERBOSE[12218] logger.c: -- Executing Macro("Zap/4-1", "ringing|0") in new stack Jan 25 16:58:13 VERBOSE[12218] logger.c: -- Executing NoOp("Zap/4-1", "") in new stack (i've hanged up but call keeps flowing keeping the line busy until my dial group expire and goes to voicemail... so Playback answer the channel and busydetect succefully detect the real busy 30 second later i hanged up: ofc it detect busy tone 3 seconds after the channel is answer) Jan 25 17:00:54 VERBOSE[12245] logger.c: -- Playing 'vm-isunavail' (language 'it') Jan 25 17:00:55 DEBUG[12245] dsp.c: Requesting Hangup because the busy tone was detected on channel Zap/4-1 Jan 25 17:00:55 VERBOSE[12245] logger.c: -- Hungup 'Zap/4-1' | ||
Comments: | By: Joshua C. Colp (jcolp) 2007-01-25 17:04:06.000-0600 Please contact Digium technical support at support@digium.com - if it is a core zaptel issue it will be forwarded onwards, Thanks! By: Antonio Gallo (agx) 2007-01-26 05:16:48.000-0600 I checked today with a Sangoma A200 with 4FXO and onboard echo canceller and the problem is exactly the same, so i think its Zaptel problem. By: Antonio Gallo (agx) 2007-01-29 04:58:55.000-0600 Can you move this to channel driver? I found the problem in depth. When "usercallerid=yes" and the CID signalling is bell (i.e. callerID is sent onto the 2nd ring) then if the callers hang up before the lines is answered and/or the callerID is detected then chan_zap return the error at line 6147 of chan_zap.c revision 48371. Then it continue execution without knowing that remote caller has hanged up keeping the line active (and ofc it keeps the remote caller paying...) I temporary fixed this using this: if (res < 0) { ast_log(LOG_WARNING, "CallerID returned with error on channel '%s'\n", chan->name); ast_log(LOG_WARNING, "AGX: Hanging up channel '%s'\n", chan->name); ast_log(LOG_WARNING, "AGX: State............: '%i'\n", chan->_state); ast_hangup(chan); return NULL; } This ofc doesn't fix the problem but provide a temporary solution until someone that developed the calledID stuff in chan_zap.c will modify it to monitor if line is hanged up during the callerID detection phase. I have to check if this give problem when anonymous people call us. Will let you know. By: Tzafrir Cohen (tzafrir) 2007-02-01 01:15:29.000-0600 This belongs in "channel drivers". The channel is configured to disconnect on busy tone (busydetect=yes). When you listen on the channel with ztmonitor (or record using it to a file), do you hear a busy tone on the line? By: Serge Vecher (serge-v) 2007-02-05 12:56:07.000-0600 agx: did you contact support as file requested? By: Antonio Gallo (agx) 2007-02-07 03:45:50.000-0600 serge-v - manager: Yes this is their answer: --- begin --- Hello, Please try the latest svn branch of zaptel 1.4. It is backwards compatible with Asterisk 1.2. Also run fxotune from zaptel 1.4 source code. This will help tune your fxo module. Last in your /etc/asterisk/zapata.conf try the following options I provided below. If you need help compiling zaptel or any other configuration. Please either call or reply back to this email with ssh/telnet access. When calling in reference case number 6052. edit "/etc/asterisk/zapata.conf" busydetect=yes busycount=4 --- end --- By: Serge Vecher (serge-v) 2007-02-07 14:39:06.000-0600 ok, as is clear from file's instructions ("if it is a core zaptel issue it will be forwarded onwards ...,") and support's response, the proper thing to do is follow-through on suggestions made by tech.support and communicate with them directly should the issue persist. Please do that. Thank you. |