[Asterisk-Dev] Blind transfer call dropping

Matthew Butt mjb at tricycleinc.com
Mon Jul 11 14:59:37 MST 2005


Hi all,

I'm running Asterisk 1.0.9 release and am having problems with calls
often being dropped on a blind transfer between Grandstream GXP2000s.

Here's the scenario:

- Call comes in via a ZAP line.  Dialplan places the call into a queue
and several agents' phones ring
- An agent answers the call (on SIP/626) and wishes to transfer the call
to another extension
- The agent presses TRNF on the phone, enters the new extension (630)
and presses SEND
- Sometimes extension 630 will ring and the transfer is successful, but
more often the other extensions never rings and the call is immediately
dropped

According to asterisk debug logs, here's what happens:

Jul 11 17:49:27 DEBUG[29300]: We found a REFER!
Jul 11 17:49:27 DEBUG[29300]: Assigning Extension 630 to REFER-TO
Jul 11 17:49:27 DEBUG[29300]: Assigning Extension 626 to REFERRED-BY
Jul 11 17:49:27 DEBUG[29300]: Assigning Contact Info
<sip:626 at 192.168.1.212> to REFER_CONTACT
Jul 11 17:49:27 DEBUG[29300]: 202 Accepted (blind)
Jul 11 17:49:27 DEBUG[29300]: Hanging up channel 'SIP/626-380d'
Jul 11 17:49:27 DEBUG[29300]: sip_hangup(SIP/626-380d)
Jul 11 17:49:27 DEBUG[29300]: update_user_counter(626) - decrement
outUse counter
Jul 11 17:49:27 DEBUG[29300]: Didn't get a frame from channel: Agent/626
Jul 11 17:49:27 DEBUG[29300]: Bridge stops bridging channels Zap/1-1 and
Agent/626
Jul 11 17:49:27 DEBUG[29300]: Hanging up channel 'Agent/626'
Jul 11 17:49:27 DEBUG[29300]: Hangup called for state Up
Jul 11 17:49:27 DEBUG[29300]: Spawn extension (incoming-zap,s,3) exited
non-zero on 'Zap/1-1'
Jul 11 17:49:27 DEBUG[29300]: Hanging up channel 'Zap/1-1'
Jul 11 17:49:27 DEBUG[29300]: zt_hangup(Zap/1-1)
Jul 11 17:49:27 DEBUG[29300]: Hangup: channel: 1 index = 0, normal = 15,
callwait = -1, thirdcall = -1
Jul 11 17:49:27 DEBUG[29300]: disabled echo cancellation on channel 1
Jul 11 17:49:27 DEBUG[29300]: Set option TDD MODE, value: OFF(0) on
Zap/1-1
Jul 11 17:49:27 DEBUG[29300]: Updated conferencing on 1, with 0
conference users
Jul 11 17:49:27 VERBOSE[29300]:     -- Hungup 'Zap/1-1'


This looks like Asterisk accepts the refer then immediately hangs up on
the original extension.  This in turn causes the Agent object to hangup
and the call is lost.  According to tethereal, the communication with
the original extension is as follows:

146.673959 192.168.1.212 -> 192.168.1.15 SIP Request: REFER
sip:xxxxxxxxxx at 192.168.1.15
146.675712 192.168.1.15 -> 192.168.1.212 SIP Status: 202 Accepted
146.676009 192.168.1.15 -> 192.168.1.212 SIP/sipfrag Request: NOTIFY
sip:626 at 192.168.1.212, with Sipfrag(SIP/2.0 200 OK)
146.676172 192.168.1.15 -> 192.168.1.212 SIP Request: BYE
sip:626 at 192.168.1.212
146.728928 192.168.1.212 -> 192.168.1.15 SIP Status: 200 OK
146.756507 192.168.1.212 -> 192.168.1.15 SIP Status: 200 OK

Here all looks normal - phone sends refer to asterisk, asterisk accepts,
sends a hangup to the phone.

Is this a bug with Asterisk? If I use the # method of transfer (ie
Asterisk deals with it instead of the phone) it seems to work fine.

Thanks,

MattB





More information about the asterisk-dev mailing list