Kevin Blackham
2004-Sep-10 17:39 UTC
[Asterisk-Users] chan_agent and SIP UA transfers fail
I am beating my head against a problem where queue calls offered by Agent channel to a SIP UA cannot be REFER transferred if the target UA/extension hasn't accepted the call. If the members of the queue are SIP channels, this is not a problem. I suspect chan_agent isn't flagging the bridge from Zap/n -> SIP/n properly, or this is by design. The following line is what is spoken before * hangs up on the caller: Sep 10 17:41:55 NOTICE[1087896496]: chan_sip.c:6817 attempt_transfer: Transfer attempted with no bridged calls to transfer The SIP UA logged in as the agent is a Polycom IP 500, it is attempting the REFER transfer. The target of the transfer is either another SIP UA (kphone in this testing case) or an * extension (ie: call parking 700). If the Polycom stays in the media path until the target answers, then * builds a native bridge and has no issue. The Zap channel is a T100P doing a mix of E&M and Loop Start FXS (for ridiculous reasons related to our old Inter-Tel PBX). Transfers by dialing '#<ext>' are fine, and once they're no longer attached to the Agent channel, future REFER transfers in the same dialog work without incident. Am I doing something wrong, or should I kick this over to asterisk-dev and mantis and try to tear apart chan_agent? Config follows. Event log first... ****[broken]**** Goto (queues,tech,1) -- Started music on hold, class 'default', on Zap/12-1 -- Stopped music on hold on Zap/12-1 -- Playing 'queue-youarenext' (language 'en') -- Told Zap/12-1 in tech their queue position (which was 1) -- Started music on hold, class 'default', on Zap/12-1 -- outgoing agentcall, to agent '139', on 'Local/5939@intra-office-4df7,1' outgoing agentcall, to agent '139', on 'Local/5939@intra-office-44f6,1' -- Called Agent/@4 -- Called 5939 -- SIP/5939-a1c8 is ringing -- Agent/139 is ringing -- SIP/5939-a1c8 answered Local/5939@intra-office-44f6,2 -- Agent/139 answered Zap/24-1 -- Stopped music on hold on Zap/24-1 **[this is where I attempt to blind transfer] -- Called 5916 -- SIP/5916-0f97 is ringing Sep 10 17:41:55 NOTICE[1087896496]: chan_sip.c:6817 attempt_transfer: Transfer attempted with no bridged calls to transfer -- Hungup 'Zap/24-1' **[the caller is now rather pissed off and calls back to threaten my children] ****[if I allow the target UA to accept the call, all is well]**** -- Told Zap/23-1 in tech their queue position (which was 1) -- Started music on hold, class 'default', on Zap/23-1 -- Called SIP/5939 -- SIP/5939-0e14 is ringing -- SIP/5939-0e14 answered Zap/23-1 -- Stopped music on hold on Zap/23- **[call is placed on hold as Polycom transfer softkey is pressed] -- Started music on hold, class 'default', on Zap/23-1 -- Called 5916 -- SIP/5916-a3c6 is ringing -- SIP/5916-a3c6 answered SIP/5939-c70d **[I notice it's bridging the two SIP channels, and not Zap/23-1 or Agent/139 -> SIP/5916] **[I guess it would be bad to bridge an Agent channel, I'd get no more calls! :-) ] -- Attempting native bridge of SIP/5939-c70d and SIP/5916-a3c6 -- Attempting native bridge of SIP/5939-c70d and SIP/5916-a3c6 -- Stopped music on hold on Zap/23-1 **[worked, hanging up] -- Hungup 'Zap/23-1' ****[Here's an attempt where I transfer by dialing #5916.]**** -- Goto (submenu-tech,s,1) -- Playing 'computer-friend1' (language 'en') -- Goto (queues,tech,1) -- Playing 'silence/1' (language 'en') -- Started music on hold, class 'default', on Zap/24-1 -- Stopped music on hold on Zap/24-1 -- Playing 'queue-youarenext' (language 'en') -- Told Zap/24-1 in tech their queue position (which was 1) -- Started music on hold, class 'default', on Zap/24-1 -- Called SIP/5939 -- SIP/5939-9686 is ringing -- SIP/5939-9686 answered Zap/24-1 **[dialed #] -- Stopped music on hold on Zap/24-1 -- Started music on hold, class 'default', on Zap/24-1 -- Playing 'pbx-transfer' (language 'en') **[dialed 5916] -- Stopped music on hold on Zap/24-1 -- Called 5916 -- SIP/5916-5212 is ringing **[I notice * managed to detach the caller from the Agent channel using old-school transfer] -- SIP/5916-5212 answered Zap/24-1 -- Hungup 'Zap/24-1' [relevant configs; too big to include all, trimmed for efficiency] ****[extensions.conf]**** [intra-office] ;extensions go here, agent dials this context include => parkedcalls exten => _59XX,1,Dial(SIP/${EXTEN},60) [from-sip] exten => 338,1,AgentCallbackLogin(|${CALLERIDNUM}@intra-office) ****[queues.conf]**** [general] [default] [tech] ...irrelevant stuff snipped... joinempty = yes member => Agent/@4 ;(broken) ;member => SIP/5939 ;(works) ****[agents.conf]**** [agents] ...irrelevant junk snipped... group=1,4 agent => 139,,Kevin Blackham ****[sip.conf]**** [general] realm=xmission.com context=default port=5061 bindaddr=<snip> srvlookup=yes tos=0x18 maxexpirey=3600 defaultexpirey=120 canreinvite=yes relaxdtmf=yes ;my UAs register to a SER proxy, which forwards most non-REGISTER methods to asterisk ;asterisk talks back to the UAs through SER, and there's love in ser.cfg to prevent loops [5939] ;polycom type=friend host=sip.xmission.com username=5939 mailbox=5939@default context=from-office [5916] ;kphone type=friend host=sip.xmission.com username=5916 mailbox=5916@default context=from-office dtmfmode=inband deny=all allow=ulaw