问题标签 [mjsip]
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.
java - JAIN SIP 和 MJSIP 有什么区别?
我一直在研究在 Java 中使用 SIP(会话启动协议)的各种 API 选项。
到目前为止,我已将其范围缩小到 JAIN SIP 和 MJSIP,但我无法弄清楚两者之间的区别。
有人可以解释为什么以及何时选择一个而不是另一个?
提前致谢。
sip - 使用 mjsip/jmf 时本地 RTP 端口无法访问
我使用 mjsip 创建一个与外部 voip 提供商的 sip 会话。然后我使用 RtpManager 通过 rtp 向提供者传输一个测试 wav 文件。
程序运行没有错误,我接听了 sip 电话。但是,不传输音频。当我使用wireshark 诊断网络流量时,我看到一堆RTP 流量从我的本地主机(在某种nat 后面)到voip 提供商,没有任何返回。
过了一会儿,我从提供商收到 ICMP 错误“无法访问目标(无法访问端口)”到我的本地主机。
软件 linphone 使用相同的 localhost 和 voip 提供程序工作 - 尽管它使用不同的 sip 堆栈。
有什么建议么?
谢谢
java - mjsip无法发送消息
我已经实现了一个可以使用 MJSIP 接收简单消息的 android 程序,问题是我也希望能够发送消息,我的课程是:
}
此类能够接收从 sip 客户端发送的消息并做出响应。但我想使用发送消息方法启动即时消息会话。我正在初始化一个事务客户端,然后调用请求方法,但没有任何反应,没有错误,没有异常,也没有发送消息。有人能告诉我我做错了什么吗?
java - “mjsip”是怎么回事?
我必须在 j2me 平台上构建一个 SIP 软电话。我找到了 mjsip2me 项目并尝试下载它,但我尝试访问http://mjsip.org和http://mjsipme.googlecode.com。这行不通。为什么这个项目从互联网上消失了?
java - MJSIP 和编解码器接口
使用 Mjsip 作为我的软电话项目的 sip 堆栈。有类 RtpSender.java 有方法
在另一个文件 AudioSender.java (这是一个纯 Java 音频流发送器)中,我使用 RtpSender 方法如下...
我的问题是 SIPCodec,我有一个为编解码器命名的接口,我应该传递什么值 r 我应该如何传递?我正在调用编解码器,但它显示方法不适合此。这是编解码器接口...
这是我调用各个编解码器的 codecs.java 类。
codec - 如何解决 mjsip 编解码器不匹配的 488 错误?
我正在使用 Mjsip 构建一个软件电话。我已经集成了多个编解码器。出于测试目的,当我打电话给 Portsip 2.0(G729、ULAW、ALAW、GSM、ILBC)的另一个客户端时,我收到 488 错误(此处不接受)。我已将 G729、ULAW、ALAW、ILBC 与我的项目集成,编解码器优先级为 g729:ulaw:alaw:ilbc。但是在编译项目之后,如果我从portsip 向我的手机发起呼叫。它响了。然后,如果我从手机回电,它不会显示任何错误。如果我在编译后尝试从我的软电话呼叫,它总是显示错误。
java - 没有使用 mjsip 发送或接收 RTP 数据包
我正在使用 mjsip sip 堆栈开发一个软件电话项目。Mjsip 仅支持 g711 或 PCMA/PCMU 编解码器。我已将 G729 添加到我的项目中。当我构建项目时,它没有显示错误。但是当电话连接起来时,呼叫就建立起来了,没有语音传输,实际上我的应用程序不会生成任何 rtp 数据包。并且在日志中显示了一个错误,例如
我没能找到错误。
这是我的 RtpStreamReceiver.java 类。
第 171 行是:output_stream.write(codedBuffer,offset,length);
如果您有兴趣,这里是完整的项目源代码。
codec - 如何更改 MjSip 中的编解码器解析系统?
我正在开发一个软件电话项目并使用 MjSip 堆栈来创建开发它。核心 MjSip 仅支持 PCMA/PCMU 编解码器。但我想用它添加更多编解码器,如 G729、GSM、iLBC 等。
在 MjSip 中,AudioSender.java 类是纯 Java 音频流发送器。它使用 javax.sound 包。在该类中, javax.sound.sampled.AudioFormat用于格式化具有 PCM 签名、无符号或浮点类型的音频流。它已经在 MjSip 中完成,如下所示。
但是我创建了自己的包org.mine.codec包括这些类
所以我想用这个而不是那个AudioFormat.Encoding。我应该如何构造我的AudioSender.java类以及 RtpStreamSender.java类中需要更改的内容?是否可以忽略该AudioFormat类?如果我必须使用它,那么RtpStreamSender.java的构造函数是什么?
sockets - 使用 MjSip 监听传入的 SIP 消息
我正在做一个大学项目,我必须使用 SIP 消息与现有服务器进行通信。我已经完成了发送消息的部分,并且我通过wireshark看到服务器响应了,但我不知道如何接收该消息并对其进行解释。
我创建了一个编写 sip 消息的类,然后创建一个 UdpTransport 来发送消息。在此之前,我手动填写所有邮件标题。
现在我想知道如何接收服务器发回的消息。
MjSip SipProvider 类的声明(我模仿我的,它们都调用 UDPTransport)实现了 TransportListener 并有一个回调方法 onReceivedMessage()
但我不知道如何让它听。我需要侦听用户之前在 UI 中输入的特定端口。不确定这个回调是如何工作的。
所以,我只需要一些东西来监听响应消息,它会调用我的 processReceivedMessage() 方法,以便我可以提取信息。