问题标签 [sip-servlet]

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 回答
155 浏览

sip - 在两个或多个 SIP Servlet 服务器之间共享状态

我正在使用 Cipango 编写一个 SIP Servlet 应用程序。不可避免的问题是如何横向扩展这个东西。如果我在 SIP Servlet 盒集群前面使用负载平衡器,我如何确保所有服务器都可以访问 SIP 会话。是否可以存储在共享数据存储中,例如 Redis 或 BigCouch?

0 投票
1 回答
130 浏览

java - 在 Sailfin 中操作 VIA 标头

这可能是我在通过sailfin 应用程序与PSTN 网关集成期间面临的一个基本问题。从网关接收初始 INVITE 并在内部处理,然后将 100 尝试和 200 OK 响应发送回网关。但是网关从不回复 ACK。

初步调查显示,INVITE 已从远程端口 xxxxx(任何随机 UDP 端口)收到,而在 INVITE Header 中,via 报头包含端口为 5060,contact 报头也包含 5060。由于 via 报头具有端口信息 5060,Sailfin 总是将响应发送回端口 5060,而不是接收请求的端口 xxxxx。

Sailfin 中是否有任何方法可以忽略 via 标头信息并将响应发送回它收到请求的端口?还是我需要操纵通过头?

0 投票
1 回答
102 浏览

java - SIP servlet FORM 认证

我有一个基于 HTTP 的 java 客户端/服务器应用程序。现在我想添加一些 SIP 功能。服务器只能接受来自经过身份验证的用户的 SIP 消息,但身份验证是基于 HTTP 的。

有没有办法只为通过 HTTP 认证的用户授权 SIP 消息?

容器:JBoss 7 上的 mobicents 2

PS:我使用声明性安全性,因此容器必须知道用户身份。

更新

我需要的是一种身份验证跟踪系统,类似于 sip 消息的 cookie:添加到每个 sip 消息中的令牌,通知容器我已经通过 HTTP 进行了身份验证。

一种方法可能是通过自定义 SIP 标头传递令牌,而不是使用@SipApplicationKey加入 SipApplicationSession。在这种情况下,问题是我无法从 HttpSession 生成密钥。此外,我不确定加入 SipApplicationSession 是否能解决问题,因为 jsr289 表示 SipApplicationSession 可以有多个 HttpSession,因此可能有多个经过身份验证的用户。

0 投票
1 回答
1110 浏览

java - Java SIP Servlets,如何发送 REFER 消息

我需要使用 SIP servlet 实现下一个流程:

1)我的 SIP Servlet 应该捕获 INVITE 消息 2)查看 SIP TO 标头,如果它与某种模式匹配,我需要返回 REFER 消息。

我用谷歌搜索,找到了这本手册(Basic Transfer):www.dialogic.com/webhelp/IMG1010/10.5.1/WebHelp/sip_rfr_calltrans.htm

正如我正确理解的那样,此流程如下所示:1)用户A向SIP App发送INVITE消息2)SIP App应该发回200 OK 3)UserA发送ACK消息4)SIP App向UserA发送REFER消息5)UserA应该发回202Accepted 并且 than NOTIFY

我的环境:

1) mss-2.0.0.FINAL-jboss-as-7.1.2.Final 作为 SIP 代理服务器 127.0.0.1:5080

2) user3@127.0.0.1:5060 --- MicroSIP ( http://www.microsip.org/ )

3) user2@127.0.0.1:5090 --- Zoiper_Free_2.41

DAR 文件:

邀请:("org.call.forwarding.CallForward","DAR:From","ORIGINATING","","NO_ROUTE", "0")

注册:(“org.call.forwarding.CallForward”,“DAR:From”,“ORIGINATING”,“”,“NO_ROUTE”,“0”)

SUBSCRIBE:("org.call.forwarding.CallForward","DAR:From","ORIGINATING","","NO_ROUTE", "0")

选项:(“org.call.forwarding.CallForward”,“DAR:From”,“ORIGINATING”,“”,“NO_ROUTE”,“0”)

NOTIFY:("org.call.forwarding.CallForward", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")

REFER:("org.call.forwarding.CallForward", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")

从 user3@127.0.0.1 我打电话给拒绝者@127.0.0.1

所以我的源代码如下所示: 1)捕获 INVITE 包并做出 200 OK 响应:

我的回复:200 OK 回复如下:

然后我尝试处理 ACK 包并生成 REFER 包:

还有我的 REFER 包:

然后我在日志文件中看到 TRYING 消息:

大约 30 秒后,我看到 Microsip 显示“不可接受”消息:

任何人都可以解释一下:这家伙怎么了???还有一点让我大吃一惊:在某些情况下,在发送 200 OK 消息后(当我处理 INVITE 时),我会在 ACK 之前立即收到 BYE 消息……为什么会这样?

0 投票
1 回答
95 浏览

java - 来自 SipSessionKey 中的标头参数标记为 `null`

我正在开发一个应用程序,其中SIPSessionMobicents生成的其中一个属性为null. 翻阅源码后发现,该SipSession#getId()方法返回的值只不过是SessionKey.

内部SessionKey使用 4 个不同的参数来生成密钥的字符串表示。其中,属性之一是:fromTag。你可以看看源代码SipSessionKey这里的源代码。现在,我无法理解,那到底是什么fromTag。当我看到正在发送的请求时, .From头文件中肯定有一个值SipRequest。标From头采用以下形式:

而已。什么是fromTag?为什么我得到它null

0 投票
1 回答
594 浏览

java - Stopwatch in Java with a resetting function

I have implemented a SIP Servlet, where I receive two types of messages from the clients. I can receive either a high priority message and low priority message, which I separate when I'm reading the URIs of the messages as shown in the code below. I have to implement a basic stopwatch, which increments the "count" integer declared in code below. How do I make such a stopwatch and resetting it ?.

0 投票
2 回答
138 浏览

jboss7.x - Sip Servlet - 控制未传递给链中的下一个 Servlet

我正在使用 Mobicents Sip Servlets 3.0.0-SNAPSHOT。我在 DAR 中配置了两个 servlet;一是检查是否正在尝试第三方注册,二是执行实际注册。我发现当 REGISTER 到达时,它被传递给第一个 servlet(BlockerApp);但是当那个 servlet 完成并代理到下一个时,第二个 servlet (RegApp) 不会被调用。而是再次调用第一个 servlet,并将路由指令设置为 NEW。

有任何想法吗?我错过了什么吗?

DAR 配置:

REGISTER=("RegApp","DAR\:From","ORIGINATING","","NO_ROUTE","1"),("BlockerApp","DAR\:From","ORIGINATING",""," NO_ROUTE","0")

第一个小服务程序:

第二个小服务程序:

日志:

0 投票
1 回答
549 浏览

glassfish - SIP servlet 容器

GlassFish 4.0 服务器是否充当 SIP servlet 容器?我用谷歌搜索但找不到答案。这可能很明显,但我无法弄清楚。我是 Java EE 的新手。

我有一个遗留原型实现可以使用。它使用 Java SIP servlet。这是一个 Netbeans 项目。它没有任何设置文档。所以我不知道我应该使用哪个服务器。

我使用 Java EE 7 和 GlassFish server 4.0 安装了 Netbeans IDE 8.0。我想我会按照Oracle 的 SIP Servlet 教程开始学习使用 SIP servlet 。在该教程中,“所需软件”部分建议使用“通信服务器”。当我用谷歌搜索下载这个时,我发现Oracle Communications Converged Application Server不是免费的。

0 投票
1 回答
452 浏览

java - 如何使用 Java SIP Servlet 开发 SIP/VOIP 服务器端应用程序

如何使用 Java SIP Servlet 开发 SIP/VOIP 服务器端应用程序,该应用程序在性能、可伸缩性、可用性、可维护性等方面有很高的要求。 java sip servlets 是否足够好或其他可用的东西是这样做的更好选择.

除此之外,是否有任何可重用的框架/库可以提高服务器端 sip 应用程序的开发速度?

非常感谢任何帮助。

0 投票
1 回答
1039 浏览

sip - JAIN API 和 JAIN SLEE API 之间的区别

我正在阅读有关 SIP 的信息,发现有一个 java API JAIN SIP 可以开发基于 SIP 的应用程序。然后我还发现有 JAIN SLEE 和 SIP servlet。

我相信 JSLEE 和 SIP Servlet 是分别基于 JAIN 和 SIP servlet 部署应用程序的容器。

可以请一些解释。另外,请告诉我从哪个开始学习更好。

谢谢