Douglas Mortensen
2012-Jan-05 20:03 UTC
[asterisk-users] Blind transfers being cancelled by asterisk & hanging up on remote caller
Hello all, I have a system running AsteriskNOW with asterisk asterisk-1.8.8.1-1_centos5 from AsteriskNOW repository. I just changed our Polycom 335 sip.conf so that blindpreferred=1 (all transfers default as blind transfers). If a customer calls in & we answer & transfer, everything works fine. But if we call out to a customer & then transfer to another internal extension, that extension quickly rings & then the call is immediately gone & hung up. We are using Polycom firmware 3.3.3. In troubleshooting this & analyzing the asterisk logs (& asterisk SIP debug), I am seeing a few interesting items. Any help would be appreciated. For the sake of simplicity I am going to say that extension 20 is the original internal extension & extension 21 is the extension we are trying to transfer to. Here's what I've learned so far: 1. Asterisk SIP debugs are clearly showing that the transfer starts & SIP INVITE is sent to ext 21. Ext 21 then sends a SIP message back to asterisk indicating that it is ringing. Asterisk then sends a SIP CANCEL to ext 21. Call is abruptly terminated for all parties. 2. Asterisk logs are displaying WARNING messages during the transfer phase as: WARNING[25423] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) This error repeats 10-11 times quickly (within 1 second) prior to the SIP CANCEL. (see sample of logs below) 3. Other interesting lines from the asterisk full log: VERBOSE[25592] app_dial.c: -- Connected line update to SIP/fpbx-1-b0c4ceff-00002104 prevented. [Jan 5 20:51:30] VERBOSE[25592] app_dial.c: -- SIP/fpbx-1-b0c4ceff-00002104 requested special control 20, passing it to SIP/21-00002105 [Jan 5 20:51:30] VERBOSE[25592] app_macro.c: == Spawn extension (macro-dial-one, s, 42) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' in macro 'dial-one' [Jan 5 20:51:30] VERBOSE[25592] app_macro.c: == Spawn extension (macro-exten-vm, s, 14) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' in macro 'exten-vm' 4. In looking for the slin codec's use in our system, it is not permitted in our system. a. We use an upstream SIP trunk provider for PSTN connectivity. That trunk's codes are configured as disallow=all followed by allow=ulaw&g729 b. Our normal sip.conf settings for all internal phones are: disallow=all allow=g722 allow=ulaw allow=alaw allow=gsm 5. So it would seem that slin is not even in use on our system. So why then does it seem like a sip device is asking to use slin? The only thing I can find if I grep /var/log/asterisk/full for slin is: [Jan 5 19:50:40] VERBOSE[24133] file.c: -- <SIP/fpbx-2-b0c4ceff-000020bf> Playing '/var/spool/asterisk/voicemail/default/21/unavail.slin' (language 'en') So it appears that our audio recordings for voicemail are in slin format? I am not an expert with all of this, but I am doing my best to try to put the pieces together. So again, just to recap, the problem I need to solve is why are blind transfers calls getting terminated when the call being transferred originated as an outbound call from one of our internal Polycom phones. Any help would be GREATLY appreciated! :) Just a greater excerpt from the logs: [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Goto (macro-dial-one,s,30) [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:30] Set("SIP/fpbx-1-b0c4ceff-00002104", "D_OPTIONStr") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:31] ExecIf("SIP/fpbx-1-b0c4ceff-00002104", "0?SIPAd dHeader(Alert-Info: )") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:32] ExecIf("SIP/fpbx-1-b0c4ceff-00002104", "0?SIPAd dHeader()") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:33] ExecIf("SIP/fpbx-1-b0c4ceff-00002104", "0?Set(C HANNEL(musicclass)=)") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:34] GosubIf("SIP/fpbx-1-b0c4ceff-00002104", "0?qwai t,1") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:35] Set("SIP/fpbx-1-b0c4ceff-00002104", "__CWIGNORE =") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:36] Set("SIP/fpbx-1-b0c4ceff-00002104", "__KEEPCIDTRUE") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:37] GotoIf("SIP/fpbx-1-b0c4ceff-00002104", "0?usego to,1") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:38] GotoIf("SIP/fpbx-1-b0c4ceff-00002104", "0?godia l") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:39] Set("SIP/fpbx-1-b0c4ceff-00002104", "CONNECTEDL INE(name,i)=Kyle") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:40] Set("SIP/fpbx-1-b0c4ceff-00002104", "CONNECTEDL INE(num)=21") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:41] Set("SIP/fpbx-1-b0c4ceff-00002104", "D_OPTIONS=trI") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-dial-one:42] Dial("SIP/fpbx-1-b0c4ceff-00002104", "SIP/21,15,trI") in new stack [Jan 5 20:51:30] VERBOSE[25592] netsock2.c: == Using SIP RTP TOS bits 184 [Jan 5 20:51:30] VERBOSE[25592] netsock2.c: == Using SIP RTP CoS mark 5 [Jan 5 20:51:30] VERBOSE[25592] app_dial.c: -- Called SIP/21 [Jan 5 20:51:30] VERBOSE[25592] app_dial.c: -- Connected line update to SIP/fpbx-1-b0c4ceff-00002104 prevented. [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] VERBOSE[25592] app_dial.c: -- SIP/21-00002105 is ringing [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] WARNING[25592] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw) [Jan 5 20:51:30] VERBOSE[25592] app_dial.c: -- SIP/fpbx-1-b0c4ceff-00002104 requested special control 20, passing it to SIP/21-00002105 [Jan 5 20:51:30] VERBOSE[25592] app_macro.c: == Spawn extension (macro-dial-one, s, 42) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' in macro 'dial-one' [Jan 5 20:51:30] VERBOSE[25592] app_macro.c: == Spawn extension (macro-exten-vm, s, 14) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' in macro 'exten-vm' [Jan 5 20:51:30] VERBOSE[25592] pbx.c: == Spawn extension (from-internal-xfer, 21, 2) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [h at from-internal-xfer:1] Macro("SIP/fpbx-1-b0c4ceff-00002104", "hangupcall") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-hangupcall:1] GotoIf("SIP/fpbx-1-b0c4ceff-00002104", "1?theend") in new stack [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Goto (macro-hangupcall,s,3) [Jan 5 20:51:30] VERBOSE[25592] pbx.c: -- Executing [s at macro-hangupcall:3] Hangup("SIP/fpbx-1-b0c4ceff-00002104", "") in new stack [Jan 5 20:51:30] VERBOSE[25592] app_macro.c: == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' in macro 'hangupcall' [Jan 5 20:51:30] VERBOSE[25592] pbx.c: == Spawn extension (from-internal-xfer, h, 1) exited non-zero on 'SIP/fpbx-1-b0c4ceff-00002104' Thanks, - Doug Mortensen Network Consultant Impala Networks Inc CCNA, MCSA, Security+, A+ Linux+, Network+, Server+ A.A.S. Information Technology . www.impalanetworks.com<http://www.impalanetworks.com/> P: (505) 327-7300 F: (505) 327-7545 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20120105/d8741db9/attachment.htm>
Luke Hamburg
2012-Jan-07 10:19 UTC
[asterisk-users] Blind transfers being cancelled by asterisk & hanging up on remote caller
Doug: for what it's worth I am having the exact same nightmare. Not sure exactly when it started but I believe it was a change in 1.8.8.1 / 1.8.9.0-rc1 (I am running 1.8.9rc1). I also have Polycom (335, 550, 650) and blind transfers are broken. All legs of the call are dropped when the xfer is executed. A calls B, B xfer to C and (C) blips for a split second like its ringing but then all calls go dead. I tried to debug myself using some sip tracing but I didn't get very far. I even tried mucking around with a few settings in my Polycom provisioning I thought might be related e.g. voIpProt.SIP.allowTransferOnProceeding voIpProt.SIP.connectionReuse.useAlias voIpProt.SIP.useContactInReferTo voIpProt.SIP.conference.parallelRefer voIpProt.SIP.strictLineSeize voIpProt.SIP.strictUserValidation voIpProt.SIP.strictReplacesHeader voIpProt.SIP.useContactInReferTo and also upgraded to the new 3.3.4 firmware which is out yesterday, didn't change a thing. stuck here for now, Attended xfers seem to work. I am not sure this is a Polycom-specific issue because I was seeing this bad behavior even using some Softphones I set up for testing. my next recourse is to try rolling back to 1.8.8.0 or earlier and if that fixes it then I will open a JIRA ticket with more details. Luke -- From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Douglas Mortensen Sent: Thursday, January 05, 2012 3:04 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: [asterisk-users] Blind transfers being cancelled by asterisk & hanging up on remote caller Hello all, I have a system running AsteriskNOW with asterisk asterisk-1.8.8.1-1_centos5 from AsteriskNOW repository. I just changed our Polycom 335 sip.conf so that blindpreferred=1 (all transfers default as blind transfers). If a customer calls in & we answer & transfer, everything works fine. But if we call out to a customer & then transfer to another internal extension, that extension quickly rings & then the call is immediately gone & hung up. We are using Polycom firmware 3.3.3. In troubleshooting this & analyzing the asterisk logs (& asterisk SIP debug), I am seeing a few interesting items. Any help would be appreciated. [...] Thanks, - Doug Mortensen