Lincoln King-Cliby
2014-Jan-20 22:03 UTC
[asterisk-users] Dialing a SIP URI with an ";ext=" parameter
Hi All,
In the midst of trying to pilot a deployment of Microsoft Lync (mainly for
non-voice collaboration, specifically IM) and integrate it with our Asterisk
(11.6.0 if it matters) deployment and a "everything in one place" tool
when people are out of the office.
I have everything on the voice side playing nice from the Lync side
(Lync->Lync, Lync->Asterisk, Lync->Asterisk->PSTN) but I can't
get calls from Asterisk->Lync passing.
I think the root issue is Lync demands that the "line URI" be entered
in a E.164 normalized format, and further specifies that if an extension is
specified it should be entered as ;ext=. So, e.g. when I have myself set up in
LYNC my Line URI is entered as "tel:+144044911100;ext=1407".
If I try feeding that into an Asterisk DIAL() using any format I can think of
(specific examples below) the call fails and the following is logged to console;
it looks like Asterisk is dropping the ";ext="...
== Using SIP RTP CoS mark 5
-- Executing [1407 at yyyyyyy:1] Dial("xxxxxxxxxx",
"SIP/lync/"+14404491100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/lync/+14404491100
-- Got SIP response 485 "Ambiguous" back from <IP address and
port of Lync mediation server>
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel ' xxxxxxxxxx' status is
'CHANUNAVAIL'
On the other hand, if I change my line URI to a "random" and unused in
Lync E.164 number without an extension and change the DIAL() to reflect that
number... the call succeeds, so it seems like I've narrowed it down to just
needing to figure out how to properly pass the extension to Lync.
The Googling I turned up didn't seem too positive (and suggested using an
Exchange Unified Messaging auto attendant and forcing the user to redial the
extension once connected to the AA was the only alternative for non-DID users)
but it seems like it should be relatively simple to bridge (what seems like a
very small) gap.
Here are the least embarrassing variations on Dial I've tried
Dial(SIP/lync/+14404491100;ext=1407) <-- 485 Ambiguous response as above
Dial(SIP/lync/"+14404491100;ext=1407") <-- 485 Ambiguous response
as above
Dial("SIP/lync/+14404491100;ext=1407") <-- 485 Ambiguous response
as above
Dial(SIP/lync/+14404491100/1407) <-- call 'sits there' and multiple
"sip_xmit of 0x7ffab40891e0 (len 841) to 0.0.5.127:5060 returned -1:
Invalid argument" logged to console
Any assistance, is as always very appreciated.
Thanks!
Lincoln
--
Lincoln King-Cliby, CTS, DMC-D
Commercial Market Director
Sr. Systems Architect | Crestron Certified Master Programmer (Silver)
V: 440.449.1100 x1107 F: 440-449-1106 I:
http://www.controlworks.com<http://www.controlworks.com/>
Crestron Services Provider
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20140120/23fd4b00/attachment.html>
Lincoln King-Cliby
2014-Jan-21 04:53 UTC
[asterisk-users] Dialing a SIP URI with an ";ext=" parameter
Ok, so now I just feel kind of stupid. After I got home I decided to play with
this a little more.
After far too long I realized that part of the issue was Asterisk parsing the ;
as a beginning of a comment (hindsight=duh).
A little bit more experimenting and (though I could swear I tried this before)
replacing the ; with \; works.
That is, to dial a E.164 normalized number with an extension configured as
tel:+14404491100;ext=1407 with the SIP Peer for the Lync mediation server named
"lync" the working dial() is
Dial(SIP/lync/+14404491100\;ext=1407)
Hope this may save someone else time down the road.
--
Lincoln King-Cliby, CTS, DMC-D
Commercial Market Director
Sr. Systems Architect | Crestron Certified Master Programmer (Silver)
V: 440.449.1100 x1107 F: 440-449-1106 I:
http://www.controlworks.com<http://www.controlworks.com/>
Crestron Services Provider
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces
at lists.digium.com] On Behalf Of Lincoln King-Cliby
Sent: Monday, January 20, 2014 5:04 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: [asterisk-users] Dialing a SIP URI with an ";ext=" parameter
Hi All,
In the midst of trying to pilot a deployment of Microsoft Lync (mainly for
non-voice collaboration, specifically IM) and integrate it with our Asterisk
(11.6.0 if it matters) deployment and a "everything in one place" tool
when people are out of the office.
I have everything on the voice side playing nice from the Lync side
(Lync->Lync, Lync->Asterisk, Lync->Asterisk->PSTN) but I can't
get calls from Asterisk->Lync passing.
I think the root issue is Lync demands that the "line URI" be entered
in a E.164 normalized format, and further specifies that if an extension is
specified it should be entered as ;ext=. So, e.g. when I have myself set up in
LYNC my Line URI is entered as "tel:+144044911100;ext=1407".
If I try feeding that into an Asterisk DIAL() using any format I can think of
(specific examples below) the call fails and the following is logged to console;
it looks like Asterisk is dropping the ";ext="...
== Using SIP RTP CoS mark 5
-- Executing [1407 at yyyyyyy:1] Dial("xxxxxxxxxx",
"SIP/lync/"+14404491100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/lync/+14404491100
-- Got SIP response 485 "Ambiguous" back from <IP address and
port of Lync mediation server>
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel ' xxxxxxxxxx' status is
'CHANUNAVAIL'
On the other hand, if I change my line URI to a "random" and unused in
Lync E.164 number without an extension and change the DIAL() to reflect that
number... the call succeeds, so it seems like I've narrowed it down to just
needing to figure out how to properly pass the extension to Lync.
The Googling I turned up didn't seem too positive (and suggested using an
Exchange Unified Messaging auto attendant and forcing the user to redial the
extension once connected to the AA was the only alternative for non-DID users)
but it seems like it should be relatively simple to bridge (what seems like a
very small) gap.
Here are the least embarrassing variations on Dial I've tried
Dial(SIP/lync/+14404491100;ext=1407) <-- 485 Ambiguous response as above
Dial(SIP/lync/"+14404491100;ext=1407") <-- 485 Ambiguous response
as above
Dial("SIP/lync/+14404491100;ext=1407") <-- 485 Ambiguous response
as above
Dial(SIP/lync/+14404491100/1407) <-- call 'sits there' and multiple
"sip_xmit of 0x7ffab40891e0 (len 841) to 0.0.5.127:5060 returned -1:
Invalid argument" logged to console
Any assistance, is as always very appreciated.
Thanks!
Lincoln
--
Lincoln King-Cliby, CTS, DMC-D
Commercial Market Director
Sr. Systems Architect | Crestron Certified Master Programmer (Silver)
V: 440.449.1100 x1107 F: 440-449-1106 I:
http://www.controlworks.com<http://www.controlworks.com/>
Crestron Services Provider
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20140120/49785baa/attachment.html>