首页 > 解决方案 > 未发送 SIP/HTTP 融合应用程序邀请

问题描述

我有一个简单的 Web Servlet 和一个简单的 Sip Servlet。在 Web Servlet 中,我创建一个 SIP INVITE 请求(使用 SipFactory 参考)并执行 request.send()

然而,数据包并没有通过网络,而是在 doInvite() 中显示为对 SipServlet 的请求。

我的应用程序使用注释并部署在 IBM WAS Liberty 中,几乎 100% 基于 mobicents clicktodial 演示。

部署时的演示代码似乎可以工作,但有 sip.xml 和 web.xml。

因此,要么我在做一些非常愚蠢的事情,要么在 SIP 1.1 中,行为是 HTTP servlet 在发送 INVITE 时只会将其发送到另一个 SIP servlet,然后需要将数据包代理到预期的目的地?

INVITE 从 HTTP servlet 工作的演示位于

https://github.com/deruelle/mobicents/tree/master/servers/sip-servlets/sip-servlets-examples/click-to-call

标签: javasip

解决方案


我通过为默认路由器添加 DAR 配置以让我的应用程序“ROUTE_BACK”在 INVITE 上解决了这个问题。

我不太了解 DAR,但至少我现在知道在哪里可以找到更多信息。

我相信有效的演示应用程序使用的是 1.0 servlet 规范,尽管它的 sip.xml 中没有任何特别之处,这使它看起来像它。


推荐阅读