检测路由到MSPL脚本中的sip地址来自incomming ddi号

时间:2015-03-01 19:48:25

标签: lync lync-server-2013

在Lync 2013中,如果为lync联系人设置DDI并从外部号码调用它,则MSPL脚本看到的sip请求是它被发送到E164格式的DDI,例如

  

收件人:< sip:+6491234567@xxx.com; user = phone>

我试图找出它被发送到哪个lync客户端。

我发现最好的方法是使用QueryCategory方法提取联系人卡片的电子邮件地址,并假设放入" sip:&#34 ;在前面会给我一个啜饮地址。我知道这不是一个好消息,因为SIP地址可能与电子邮件地址不同。

e.g。

  toContactCardInfo = QueryCategory(toUserUri, 0, "contactCard", 0);

这给了我:

<contactCard xmlns=""http://schemas.microsoft.com/2006/09/sip/contactcard"" >
<identity >
<name >
<displayName >
Lync User</displayName>
</name>
<email >
lync.user@xxx.com</email>
</identity>
</contactCard>

还有其他方法可以从&#34;到#34;获取SIP地址URI?

我认为QueryCategory可能对我有用,但我发现MSDN文档很难弄清楚什么会从ContainerNumber和Instance参数中获取任何sip地址允许的类别名称(&#34; userProperties&#34;,&#34; workingHours&#34;,&#34; dndState&#34;,&#34; routing&#34;或&#34; contactCard&#34;)

1 个答案:

答案 0 :(得分:0)

对于那些在同一条船上的人,我最终决定使用&#39; P-Asserted-Identity&#39; sip标头以确定电话呼叫路由到/来自谁。唯一的问题是它不会出现在初始邀请中(无论如何都会出现在From侧),而是在180响铃响应中。