<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt">Hello All.<br>
&nbsp;&nbsp;&nbsp;&nbsp; I am having some trouble with call transfers when asterisk is the 2nd party called and I hope to benefit from your experience.<br>
<br>
I want to use asterisk for call park/pickup and have configured openser
to relay calls made to&nbsp; ruri 700-720 to asterisk running on
localhost:5069<br>
<br>
<br>
Call flow:<br>
<br>
phone A calls&nbsp; phone B&nbsp; (both phones are polycom)<br>
<br>
Phone B answers<br>
<br>
then phone b user presses transfer and dials 700<br>
<br>
asterisk plays back 701 as the parking lot location<br>
<br>
phone B user presses transfer again.<br>
&nbsp;&nbsp; at this time phone b is not disconnected from asterisk system<br>
&nbsp;&nbsp; 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<br>
context)<br>
<br>
<br>
&nbsp;From phone C calling 702 will connect phone C to phone A.<br>
<br>
<br>
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.<br>
<br>
Thanks in advance for your help.<br>
<br>
--<br>
Zahid<br><div>&nbsp;<br><br><br></div><br><br>On May 8, 2007, at 1:56 PM, Christian Schlatter wrote:<br><br><br><br>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.<br><br>RFC 3891 "The SIP Replaces Header", Section 3 "UAS Behavior", defines:<br><br>"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."<br><br>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.<br><br><br>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.<br><br>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.<br><br>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 ;-)<br><br>--<div>&nbsp;</div><div>"The fact that an opinion has been widely held is no evidence that it is not utterly absurd; indeed, in view of the silliness of the majority of mankind, a widespread belief is more often likely to be foolish than sensible." -Bertrand
 Russell<div><br></div></div></div><br>

<hr size=1>Finding fabulous fares is fun.<br><a href="http://farechase.yahoo.com/promo-generic-14795097;_ylc=X3oDMTFtNW45amVpBF9TAzk3NDA3NTg5BF9zAzI3MTk0ODEEcG9zAzEEc2VjA21haWx0YWdsaW5lBHNsawNxMS0wNw--
">Let Yahoo! FareChase search your favorite travel sites</a> to find flight and hotel bargains.</body></html>