问题标签 [mobicents-sip-servlets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
365 浏览

wildfly - Wildfly 上的 Sip Servlets 集群

我已经开始在 Wildfly 10 中使用 Mobicents(又名 Restcomm)sip servlet,但即使我在文档或其他任何地方都无法找到以下问题的明确答案。

1) sip servlet 是否支持独立-ha 模型,例如在 sip 对话故障转移场景中?例如,在已建立的呼叫中,如果节点一失败,节点将接受后续邀请或返回类似 404 的响应。

2) 是否需要使用 Mobicents(又名 Restcomm)负载平衡器,即使服务器前面有 sip 负载平衡器?

3) sip 应用程序配置、代码等是否在独立模式和独立-ha 模式之间发生变化?还是由 Wildfly、ActiveMQ、Infinispan 处理?

谢谢

0 投票
0 回答
366 浏览

restcomm - Restcomm sip-servlets 不转发 INVITE 请求

我正在尝试使用 Mobicents/Restcomm sip-servlets 做一个简单的 B2BUA 应用程序。首先,它应该收到一个邀请,更改 R-URI 并发送新请求 - 基本上是呼叫转移。

我遇到的问题是,当使用带有域名而不是 IP 的 URI 时,我收到以下错误:

这是doInvite()

难道是应用程序无法解析域名?如果是这样,在JBOSS中是否应该进行一些特定的配置?

任何提示将不胜感激,在此先感谢!

编辑:

将 gov.nist 的日志记录级别增加到 INFO 后,可以看到:

我现在不明白 5061 是从哪里获取的。请求的来源是:

并且响应应该被发送回同一个端口。

INVITE 中的联系头包含 udp 作为传输协议:

0 投票
1 回答
133 浏览

restcomm - 如何同步 Servlet 客户端事务?

您好我目前正在使用restcomm-sip-servlets-4.0.75-apache-tomcat-8.0.26。我在取消来自 http 请求线程的正在进行的请求时遇到问题。我注意到这个问题似乎只发生在我创建一个带有 auth 标头的新请求时,如下所示:

当请求通过 http 接口进入时,我会像这样查找 SipApplicationSession:

然后我从存储的会话请求中创建一个取消请求,如下所示:

SipServletRequest req = (SipServletRequest)tobecancelledsess.getAttribute("original"); 请求 = req.createCancel();

尽管远程服务器使用 to-tag 临时响应我得到:

2017-04-28 16:26:04,470 调试 [SipServletMessageImpl] (http-bio-8443-exec-1) 事务 null tr​​ansactionId = null tr​​ansactionType false 2017-04-28 16:26:04,470 调试 [SipServletMessageImpl] (http-bio -8443-exec-1) 事务 null tr​​ansactionId = null tr​​ansactionType false java.lang.IllegalStateException:未找到客户端事务!在 org.example.servlet.sip 的 org.example.servlet.sip.CallContainer.CancelSession(CallContainer.java:319) 的 org.mobicents.servlet.sip.message.SipServletRequestImpl.createCancel(SipServletRequestImpl.java:258) 处为空。 CallContainer.CheckCancel(CallContainer.java:274) at org.example.servlet.sip.SimpleWebServlet.doPut(SimpleWebServlet.java:360) at org.example.servlet.sip.SimpleWebServlet.service(SimpleWebServlet.java:149) at javax .servlet.http.HttpServlet.service(HttpServlet.java:729) 在 org。

我注意到当我取消来自 servlet 类的请求时,我没有这个问题。

0 投票
0 回答
63 浏览

tomcat - Mobicents 忽略 UDP 重传

我在 MSS-Tomcat 之上运行 B2BUA 应用程序。我的应用程序处理了 BYE 请求,但 BYE 的重新传输被作为重复文件丢弃。我希望在我们使用 UDP 时处理重传。

我们设法在附加的跟踪中使用 SIPP 重现了该问题。 https://drive.google.com/file/d/0B2ZkUreEJkenVU9YQnBYUDBYVTA/view?usp=drivesdk

这是 Mobicents 日志的一部分:

这是我们在 EventScanner 中找到的相关代码:

我们在 Mobicents/Tomcat 版本 mss-4.0.21-apache-tomcat-8.0.26 中使用 jain-sip-ri 1.2.242。

任何帮助将不胜感激!

0 投票
1 回答
347 浏览

java - 如何为 sip servlet 配置 jboss

我最近在 sip servlet 上工作,发现 RestComm 是好的 sip servlet,现在我想更多地了解它的词,因此我开始自己配置 jboss。

我在这段旅程中发现了一些有趣且有用的东西,比如 mobicents-dar.properties,它有助于我理解容器工作的主要部分。

我看到了这个答案,并且知道这很辛苦,但了解这一部分对我来说非常重要。

但我无法为 sip servlet 容器完全配置 jBoss。我这样做:

首先我在 RestComm jBoss 的模块目录中找到这两个目录并将它们插入我原来的 jBoss

然后我在独立/配置目录中找到这三个文件也复制它们

然后用这个命令启动jboss

但是当在 5080 上启动 jBoss 连接器时,.... 没有启动(consol 中没有它们的日志,但是当像这样启动 RestComm 二进制日志时)

在我原来的 Jboss 中没有看到这条线

0 投票
3 回答
455 浏览

restcomm - RestComm SIpServlet - Sip Servlet 作为 IMS 网络中的应用程序服务器

我正在尝试使用 RestComm SipServlet 开发 IMS 应用程序服务器。最初,我的目标只是将 AS 插入到呼叫流程中,而不做任何特别的事情。 在此处输入图像描述

应用程序服务器只需做事并转发初始邀请。问题是 RestComm 的 sip 堆栈没有从 Invite 中删除 Route 并将其添加到路由标头中,因此邀请再次路由到 AS 生成循环。当我尝试编辑 SipRequest 删除路由标头时,由于我无法修改系统标头,AS 的答案为 500。

这里是代码片段

}

我快疯了:/希望有人能给我一些建议......

0 投票
1 回答
106 浏览

jboss - 无法启用 jboss 安全性

我练习基于 mobicents sip servlet 的 sip 场景。我有 Restcomm-JBoss-AS7-8.2.0.1221 和我自己的 sip 应用程序部署在它上面(restcomm 应用程序被禁用)。我在启用 jboss 安全性时遇到了问题。我做了什么:

1.创建 sip-servlets-roles.properties

2.创建sip-servlets-users.properties(对于用户alice,域192.168.56.101,密码1234)

3.将以上文件放到../Restcomm-JBoss-AS7-8.2.0.1221/standalone/configuration

4.使用sip.xml部署sip应用

5.standalone-sip.xml不变

6.尝试用zoiper wireshark trace注册用户alice

7.启用跟踪级别并在jboss日志中出错

8.DAR 设置为我的 sip 应用

所以问题是这个配置有什么问题?

0 投票
0 回答
96 浏览

java - 如何在 sip servlet 中获取用户密码

我在restcomm sip servlet上工作。我使用restcomm web sdk 和restcomm tomcat 作为服务器。当我想在 doRegister 方法中获取密码时,它返回 null。

服务器代码是:

客户端代码是:

是否需要在 dar 文件中进行一些设置?

编辑

我找到了这个链接。它描述了如何为 sip servlet 启用安全性,但有些不正确,例如没有:

取消注释,但我将其插入如下:

第二个问题是在该教程中添加步骤 3 的位置(我使用“在 Tomcat 中启用安全性”部分)

这个配置对我也不起作用。

我发现的另一件事是您没有任何其他 SipUrI 类对象,除了用户名可能在库中有问题并且没有填充 SipUrl

0 投票
1 回答
124 浏览

tomcat - Restcomm Sipservlets docker 与 tomcat

我正在考虑在 docker 容器中运行 Tomcat 8 版本的 RestComm sipservlets。我主要关心的是将公共 IP 作为环境变量传递,以便在 sip 消息传递中使用。此外,我还想知道如何通过环境变量将内部 IP 传递给 server.xml 连接器定义。我目前正在使用 restcomm-sip-servlets-4.0.75

0 投票
0 回答
23 浏览

java - SipServlet 彩铃实现

您好我想使用 mobicents sipservlets 实现彩铃。

为此,我制作了一个 b2bua sipservlet,当它接到电话(第一站)时,它会进行第二站通话。当它收到来自第二条腿的 180 响铃时,它会再次呼叫配置为播放音乐的 ivr。当它从 ivr 收到 200 ok 时,它会向第一站发送一个正在进行的 183 会话,其中包含 ivr 200 ok sdp 内容。从这个阶段开始,第二条腿继续发送 180,但似乎 sipservlet 没有收到消息,即使我拿起第二部电话也没有收到 200 好。但如果我拒绝来电,它会收到 CANCEL 消息。谢谢你的建议。