[Users] call transfer to asterik.. asterisk as an end point

zm23 zm23 at columbia.edu
Thu May 10 16:23:43 CEST 2007


>
> Hello All.
>      I am having some trouble with call transfers when asterisk is  
> the 2nd party called and I hope to benefit from your experience.
>
> I want to use asterisk for call park/pickup and have configured  
> openser to relay calls made to  ruri 700-720 to asterisk running on  
> localhost:5069
>
>
> Call flow:
>
> phone A calls  phone B  (both phones are polycom)
>
> Phone B answers
>
> then phone b user presses transfer and dials 700
>
> asterisk plays back 701 as the parking lot location
>
> phone B user presses transfer again.
>    at this time phone b is not disconnected from asterisk system
>    phone A is also connected to asterisk and hears 702 as the  
> parking lot location (as if asterisk places the user at priority 1  
> for that
> context)
>
>
>  From phone C calling 702 will connect phone C to phone A.
>
>
> This was a specific example but this transfer problem is not  
> limited to call park only. It happens any time asterisk is the  
> second party called in call transfer.
>
> Thanks in advance for your help.
>
> --
> Zahid
>
>
>
>
>
> On May 8, 2007, at 1:56 PM, Christian Schlatter wrote:
>
>
>
> I think I found out why this doesn't work as expected. After phone  
> 1 receives REFER from phone 2, it sends a new INVITE to the  
> asterisk server. This INVITE includes a Replaces: header that tells  
> the receiver (asterisk) to replace an existing SIP dialog with the  
> new one.
>
> RFC 3891 "The SIP Replaces Header", Section 3 "UAS Behavior", defines:
>
> "the UA attempts to accept the new INVITE, reassign the user  
> interface and other resources of the matched dialog to the new  
> INVITE, and shut down the replaced dialog."
>
> But your SIP trace shows that asterisk doesn't shut down the  
> replaced dialog (by sending a BYE), which is the reason why phone 2  
> does not get disconnected after hitting "transfer" the second time.
>
>
> Instead of creating a new call park slot (702) when phone 1 sends  
> the Replaces: INVITE to asterisk, asterisk should be intelligent  
> enough to figure out that this INVITE actually replaces the  
> existing SIP dialog with phone 2. And asterisk should not create a  
> new park slot 702 but directly put phone 1 on hold at park slot 701  
> and send a BYE to phone 2.
>
> Although asterisk supports the Replaces: header when used e.g. as a  
> gateway, I have some doubts that the call park/pickup  
> implementation does so too. Especially since it was designed to be  
> used in "PBX mode" where asterisk acts as B2BUA for all involved  
> call legs.
>
> Maybe this should be opened as a new feature/bug request on the  
> asterisk bug tracker. Or maybe there is a asterisk setting that  
> controls this behavior, I'm not really an asterisk expert myself ;-)
>
> --
>




More information about the sr-users mailing list