Zahid Mehmood
2007-May-10 07:22 UTC
[asterisk-users] call transfer to asterik.. asterisk as an end point
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 ;-)
--
"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
____________________________________________________________________________________
8:00? 8:25? 8:40? Find a flick in no time
with the Yahoo! Search movie showtime shortcut.
http://tools.search.yahoo.com/shortcuts/#news
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20070510/92af6223/attachment.htm
I have several users that occassionally uses a single Wifi Phone in place of his/her desk phone. I have everything setup to allow him/her to redirect his/hers desk phone traffic to the wifi phone and to have the wifi phone masqurade the caller ID. However, I would also like to redirect the message waiting indication. Can this be done from the dialplan? THanks BEN BROWN