Chris A. Icide
2004-Jul-12 10:54 UTC
[Asterisk-Users] Transfers (sip or asterisk "#' base) broken in certain scenario
I've got an interesting scenario where transfers while getting an invite seem to break. Here is the scenario: You have a receptionist who has a 6 line phone (in this case, a polycom ip600 - also tested with a Cisco 7960) the receptionist has all six lines available for use (in the case of the cisco I tried registering all lines as one number as well as registering multiple lines and having the dialplan do roll-over). The receptionist receives a call and begins to transfer the call and in the middle of transferring the call, another call is received. This is what happens: If the receptionist is using the cisco/polycom soft button labelled transfer, the transfer goes through, however, the receptionist never knows another call was coming in. It went straight to the 'busy' priority (+101 in the case of a single registered extension or +101, +101, +101, +101... all the way through a roll-over dialplan straight to busy handling even though 5 of the 6 lines were available with no active calls) In the case of using # to effect a transfer, the receptionist hits pound and begins entering the phone number to transfer to and a call comes in. Immediately the receptionist is send to the 'i' extension while doing the transfer, and the new call is presented (rings and LCD screen shows information). In some cases depending on the timing of the new call (if it's received after pressing # but before entering an extension to transfer to) you can get the call back, place it on hold and take the new call, however if you are in the process of entering the number to transfer when the new call comes in, then the original call is immediately acted on. In other words, if I was typing 2004 and had entered 20 when the new call came in, asterisk grabs the 20 and tries to transfer the call to it. No matter what happens, the call is lost to the receptionist, unable to get it back, even if there is a valid 'i' handler. Is there anyone out there who has a busy enough system to have seen this as well? If so, how have you dealt with it? The only solution I can think of is to place all inbound calls into a queue, then pass them to the receptionist as the only agent (permanent agent) of the queue. Then set limits on the number of calls the receptionist is allowed to have incoming 1, outgoing 1 so the queue won't ring the receptionists phone unless there is no active sessions. Relevant info below Asterisk CVS-D2004.07.03.19.00.00-07/05/04-14:41:51 Polycom IP500 sip.ld version 1.2.0.0318 Cisco 7960 SIP image 6.0 sip.conf entries are simple and are not a factor in the problem - items that may be important from sip.conf are: canreinvite=no ; want asterisk in the media stream for features type=friend ; haven't tried this by creating a user and peer for each handset (yuck) extensions.conf entries are either one of the following (tested against both) exten => _XXXX,1,Dial(SIP/1000,30,t) exten => _XXXX,2,Voicemail(u1000) exten => _XXXX,3,Hangup exten => _XXXX,102,Voicemail(b1000) exten => _XXXX,103,Hangup exten => _XXXX,1,Dial(SIP/1000,30,t) exten => _XXXX,2,Voicemail(u1000) exten => _XXXX,3,Hangup exten => _XXXX,102,Dial(SIP/1001,30,t) exten => _XXXX,103,Voicemail(u1000) exten => _XXXX,104,Hangup exten => _XXXX,203,Dial(SIP/1002,30,t) ....... exten => _XXXX,506,Dial(SIP/1005,30,t) exten => _XXXX,507,Voicemail(u1000) exten => _XXXX,508,Hangup exten => _XXXX,607,Voicemail(b1000) exten => _XXXX,608,Hangup -Chris