0

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

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

我正在尝试找出它被发送到的 lync 客户端。

我想出的最好的方法是使用QueryCategory方法来提取联系人卡片的电子邮件地址,并假设在前面放一个“sip:”会得到我的 sip 地址。我知道这不是一个好的假设,因为 sip 地址可能与电子邮件地址不同。

例如

  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>

有没有其他方法可以从“to”uri 获取 sip 地址?

我在想QueryCategory可能对我有用,但我发现 MSDN 文档很难找出任何允许的类别名称(“userProperties”、“workingHours”的 ContainerNumber 和 Instance 参数中的 sip 地址”、“dndState”、“路由”或“contactCard”)。

4

1 回答 1

0

对于那些在同一条船上的人,我最终决定使用“ P-Asserted-Identity ” sip 标头来确定电话被路由到/来自谁。唯一的问题是它没有出现在初始邀请中(因为无论如何都会出现在 From 端),而是出现在 180 响铃响应中。

于 2015-03-18T20:34:54.330 回答