首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mjsip/jmf时无法访问本地RTP端口

使用mjsip/jmf时无法访问本地RTP端口
EN

Stack Overflow用户
提问于 2010-04-21 04:19:05
回答 2查看 2.6K关注 0票数 2

我使用mjsip创建到外部voip提供商的sip会话。然后,我使用RtpManager将测试wav文件通过rtp传输到提供商。

程序运行时没有错误,我接听了sip呼叫。但是,不会传输任何音频。当我使用wireshark诊断网络流量时,我看到从我的本地主机(在某种nat之后)到voip提供商的一堆RTP流量,并且没有任何返回。

过了一段时间后,我收到从提供者到我的本地主机的ICMP错误"Destination unreachable (Port unreachable)“。

软件linphone使用相同的本地主机和voip提供商工作-尽管它使用不同的sip堆栈。

有什么建议吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-22 21:37:39

您已经回答了自己的问题,但是,是的,您是对的:在一段时间之后,如果没有收到ACK,Callee/UAS将认为连接建立失败。

SIP RFC告诉我们,当发送200OK时,UAS的服务器INVITE事务将进入已完成状态。收到ACK会将其发送到已确认状态。

然而,如果UAS在发送200OK时出现传输错误或未能及时接收ACK (定时器H触发(默认情况下64_T1= 64_500m = 32秒)),则UAS将进入终止状态。

票数 3
EN

Stack Overflow用户

发布于 2010-04-21 05:48:59

哦!

发现问题是,当我的呼叫在呼叫侦听器类中被接受时,我没有向SIP 200消息发送ACK。因此voip客户端忽略了相应的rtp请求。

代码语言:javascript
复制
public void onCallAccepted(Call call, String sdp, Message resp){
    System.out.println("call accepted");
    call.ackWithAnswer(sdp); //this was the missing line I needed
    this.setupRtpSession(call);
}

希望这篇文章能帮助任何有类似问题的人

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2678331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档