使用mjsip/jmf时无法访问本地RTP端口
我使用mjsip创建一个sip会话,以连接到外部voip提供商。然后,我使用RtpManager通过rtp将测试wav文件传输到提供者 程序运行时没有错误,我接听sip呼叫。但是,不传输音频。当我用wireshark诊断网络流量时,我看到一堆RTP流量从我的本地主机(在某种nat后面)到voip提供商,而没有返回 过了一会儿,我从本地主机的提供程序收到ICMP错误“Destination unreachable(Port unreachable)” linphone软件使用相同的本地主机和voip提供商工作——尽管它使用的是不同的sip堆栈 有什么建议吗 谢谢D'oh 问题是,当我的呼叫在我的呼叫侦听器类中被接受时,我没有向SIP 200消息发送ACK。因此,voip客户端忽略了相应的rtp请求使用mjsip/jmf时无法访问本地RTP端口,sip,jmf,nat,rtp,mjsip,Sip,Jmf,Nat,Rtp,Mjsip,我使用mjsip创建一个sip会话,以连接到外部voip提供商。然后,我使用RtpManager通过rtp将测试wav文件传输到提供者 程序运行时没有错误,我接听sip呼叫。但是,不传输音频。当我用wireshark诊断网络流量时,我看到一堆RTP流量从我的本地主机(在某种nat后面)到voip提供商,而没有返回 过了一会儿,我从本地主机的提供程序收到ICMP错误“Destination unreachable(Port unreachable)” linphone软件使用相同的本地主机和voi
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);
}
希望这能帮助任何有类似问题的人您已经回答了自己的问题,但是是的,您是对的:被呼叫方/UAS在一段时间后,如果没有收到ACK,就会认为连接无法建立 通知我们UAS的服务器邀请事务将在发送200 OK时进入完成状态。收到ACK将其发送到已确认状态
但是,如果UAS在发送200 OK时出现传输错误或未能及时接收ACK(定时器H触发(默认情况下64*T1=64*500m=32秒),UAS将移动到终止状态。Hi,我真的很关心你的项目。你能告诉我你是如何使用mjsip进行呼叫的吗?你如何流式传输测试wav文件?