问题标签 [jain-sip]

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 投票
2 回答
3640 浏览

java - JAIN SIP 和 MJSIP 有什么区别?

我一直在研究在 Java 中使用 SIP(​​会话启动协议)的各种 API 选项。

到目前为止,我已将其范围缩小到 JAIN SIP 和 MJSIP,但我无法弄清楚两者之间的区别。

有人可以解释为什么以及何时选择一个而不是另一个?

提前致谢。

0 投票
5 回答
4670 浏览

api - 研究 IVR 软件开发

我工作的公司正在寻找与任何潜在的 PBX/IVR 或 PBX 组合高度兼容的 IVR 实施,或者提供我们自己的托管解决方案。

因此,想法是创建一个与任何潜在平台交互的应用程序,并为 IVR 提供呼叫控制和语音对话/交互。

到目前为止,我看过的技术(我们想使用 Java)是 Java Telephony API (JTAPI)、JAIN-JCC(Java 呼叫控制)API 等。这些 API 的基本要点对我来说是有意义的,但我无法将我为呼叫控制和语音 IVR/VXML 创建的应用程序如何以独立于平台的方式与电话系统接口相结合。我究竟如何从电话系统接听电话?

这些 API 和库似乎没有回答这个问题,这让我相信独立于平台的解决方案是不可能的,而且它总是特定于实现的。还有 JAIN-SIP,如果我可以将所有呼叫转换为 SIP,那么也许我可以通过这种方式创建通用呼叫控制/IVR 应用程序。

如果我在这里表达了任何无知或误解,请原谅我,我对任何类型的电信技术都是全新的 - 有谁想要让我直截了当?我将非常感激,在这一点上,详细实现级别的联系非常模糊,有时我需要一点手。任何朝着正确方向的帮助或推动都会有所帮助。

上周我一直在讨论规范和 API。:)

编辑 - 我忘了提到,如果可能的话,我们更愿意在内部开发这个,并且在成本/收益方面很聪明 - 如果可能的话,我并不是真的想在集成平台上花钱 - 那是我的工作:)

0 投票
3 回答
972 浏览

java - Jain Sip - 如何在没有 @ 的情况下创建 SipUri?

我刚开始看 Jain Sip,我想知道如何创建一个只包含 IP 地址而不包含用户和 @ 符号的 SipUri。

所以目前我得到 sip:user@192.xxx.x.xxx 我想得到 sip:192.xxx.x.xxx

我的代码在下面,但是我可以删除用户,但我似乎无法摆脱 @ 符号,有没有人知道如何做到这一点?

0 投票
2 回答
5608 浏览

java - Android Jain Sip - Sip 注册?

我目前在 Android 上使用 Jain Sip,我正在尝试让 SIP 注册工作。

我可以将注册 SIP 消息放在一起,但是在发送消息之后,它似乎只是被发送回我的应用程序,并且我的应用程序 processRequest() 方法正在运行。

这是我正在使用的代码:

因此,消息构建正常,但是当 sendRequest() 运行时,它似乎没有发送到服务器,而是返回到我的应用程序,并且运行应用程序 processRequest 方法。

我应该对inviteTid 或对话框做一些额外的事情吗?

我需要创建一个套接字或其他东西来发送请求吗?

0 投票
3 回答
3092 浏览

java - 如何正确重新注册 sip 服务器?

我目前有一个与 Jain-SIP 合作的 SIP 注册。

我得到了挑战,在 nonce 等上使用 MD5 并发送我的回复。

然后我收到 200 OK 消息。

所以这一切都很好。

但是,我想根据到期时间每 X 秒自动重新注册一次。

为此,我尝试使用计时器每隔 X 秒重新运行一次代码。

然而,它会导致几个问题:

SipProvider 已附加,不会再次运行。或者我收到一条错误消息,说请求已经发送。

所以我想知道是否有人对如何最好地每 X 秒重新注册一次服务器有任何建议?如建议采取的步骤?


源代码 public void register() throws Exception{

更新:

所以我想如果我继续创建与 register() 方法相同的新方法并保持相同的调用 ID 并硬编码端口号的设置,我可以发送一些这样的消息(不在循环中)。

所以我必须更改我的注册码中的某些内容,以确保每次都发送一个新请求或类似的东西?

有没有人有任何想法?

0 投票
1 回答
559 浏览

java - Sip 错误 - 响应不属于此事务

我想知道以前有没有人遇到过 SIP 中的错误?

我收到邀请后就收到了,然后我发回 100 次尝试,然后 180 次响铃。

然后用户可以在屏幕上按拒绝或接受。

如果他们按下拒绝,我会发送一个可以正常工作的拒绝。

但是,当我发送带有 SDP 数据的 OK 以接受呼叫时,我收到上述错误。

这里有一些代码片段:




任何人都知道为什么会发生这种情况以及我做错了什么?

0 投票
1 回答
591 浏览

java - 发起 SIP 会话的问题/getClientTransaction(request) 引发 NullPointerException

我有一个小问题,我的 SIP 客户端正常工作,我更改了代码的结构。SIP对象的创建过程我保持了以前的样子,但是现在不行了。

我不断得到:

java.lang.NullPointerException 在 gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:285)

并且文档中没有提到此类错误……这是什么意思?

这是 sip 的实例化代码:

请问有什么帮助吗??

亚当。

0 投票
2 回答
1141 浏览

filter - 检测重复 SIP 消息的最佳实现是什么?

我写了一个 SIP UAC,我尝试了几种方法来检测和忽略来自 UAS 的重复传入消息,但是在我尝试的每一种方法中,都出现了问题,我的问题是所有与相同的调用具有相同的签名,并且比较所有消息文本太多了,所以我想知道,在尝试检测这些重复消息时,我应该查看构成消息的哪个参数。

更新:

我遇到了传入选项的问题,我通过向服务器发送一个空的 Ok 响应来处理这个问题。(更新:经过一段时间的测试,我注意到,我仍然时不时地收到另一个选项请求,每隔几秒就很少,所以我尝试用错误的请求进行响应,现在我只收到一次/两次选项请求每次注册/重新注册)

目前我有重复的 SessionInPogress 消息,以及不同的错误消息,例如这里很忙,不可用,我收到了很多这样的消息,它弄乱了我的日志,我想过滤它们。

知道如何实现吗?

更新:

我会在回复之前尝试您的技术,也许这会解决我的问题

这是我使用的,效果很好:

谢谢,亚当。

0 投票
1 回答
2232 浏览

voip - SIP Callee 没有收到呼叫结束的通知

我已经删除了我之前的问题并发布了这个更新:

我的 SIP UAC 出现问题,一旦我收到来自 B2BUA 的呼叫者和被呼叫者的振铃,并且呼叫者在呼叫响铃时挂断了呼叫(我发送取消请求并在呼叫方),被呼叫方不会收到呼叫已被呼叫方终止的任何通知。

但是当被呼叫者拒绝呼叫时,呼叫者会在这里忙。

这是被调用方:

我必须在被调用者端拒绝,因为如果我不响应请求,被调用者帐户会陷入循环,然后客户端永远返回忙碌,并且请求不会到达该客户端,或者至少直到帐户被删除。

And there is another thing, the B2BUA does not send anything back to the decline response, shouldn't I get an ACK from the server?

And here is the Caller side:

Frank, I tried to pay attention to your details, perhaps I missed something, since the other side still does not receives notification on an early hang up.

Any idea why?

Thanks in advance,

Adam.

0 投票
1 回答
578 浏览

java - 我如何将 mobicents 部署到 glassfish v3

有人用 Mobicents 和 Glassfish 代替 JBoss 吗?如何将 mobicents 部署到 glassfish v3?