MSPL Skype for business中的历史信息和转移标题

时间:2017-07-11 09:19:55

标签: c# sip skype-for-business ucma

当我将调用拨打到另一个PBX(在Sfb环境之外)时,我遇到了中介服务器正在剥离的标题的麻烦。

有没有人知道如何使用MSPL通过中介服务器解析sip标头?我在托管应用程序中运行它,它正在添加头文件(在OnResponse和OnRequest处理程序中):

// Add a ModifyHeadersSample header.
                Header newHeader = new Header("ModifyHeadersSample1", "localhost");
                e.Request.AllHeaders.Add(newHeader);


// Add a ModifyHeadersSample header.
                Header newHeader = new Header("ModifyHeadersSample", "localhost");
                e.Response.AllHeaders.Add(newHeader);

问题是,我希望将历史信息标题从中介服务器和外部PBX解析,因此在转发过程中不会丢失历史记录。 我甚至希望能够解析自定义标题(例如X-MyHeader),以便将额外信息追加到跟踪中。

如果我记录了该事务,我在SFB服务器上的Incoming Sip消息中看到了我添加的标题,但是它已经出现了Out Sip Request。

我正在按照请求进行以下设置:

            e.Request.SimpleProxy = true;
            e.ServerTransaction.EnableForking = false;

1 个答案:

答案 0 :(得分:1)

我想你在这里会失败。我发现在进行Lync的SIP中继设置时,您可能会丢失所有进出Lync SIP域的标头。

唯一没有触及的标题(至少从外部sip域到lync,我还没有检查出去)是转移标题。

还有其他方法可以解决这个问题。

  • 您可以创建UCMA B2BUA应用程序,而不是使用Trunk。在这种情况下,您可以控制两侧的标题,这样您就可以做自己喜欢的事情。下行/上行是UCMA只是无媒体。无媒体的假设是外部SIP域中的端点必须支持SIPS / SRTP(否则您必须减少默认安全设置 - 可能但客户抱怨......一旦安全性降级,客户很难重新获得-enable it)和ICE / STUN / TURN(如果你想支持边缘/联合用户)。支持TURN是一个有趣的,因为微软并没有真正支持TURN而没有自己的TURN扩展,并且他们没有很好地记录它们,所以你必须运行自己的TURN服务器。
  • 您可以编写一个转发到网关的UCMA应用程序或代理应用程序,并将您想要的信息通过自己的旁道连接写入外部SIP域。然后在外部sip域中将数据合并在一起(可能在外部sip域B2BUA中)。这假设您对外部sip域有足够的控制权来执行此操作。
  • 使用'Diversion'标头将您自己的参数编码到外部sip域或从外部sip域编码。只有当您没有大量数据要发送时,这才真正有用。

我已经针对不同的项目完成了上述所有操作,因此除了从Lync网关发出的Diversion标头之外,我知道上述所有工作,必须进行测试以检查是否通过确定。< / p>