我已经写了一个软电话,它可以与PBX通信(用SIPp模拟)。为此,我为java使用了jain框架。我的问题是jain自动发送sip消息。例如,在收到RE-INVITE消息后,我的程序会发送回一条OK消息,而jain会自动发送一条尝试消息回来。为什么?
Jain还会自动发送一些OK消息。参见下面的呼叫流程( PBX正在向我的软电话应用程序发送邀请消息)
2000
H 19ACK-><
H 220><>代码H 121/<>发送端口代码>
>代码<>
>发送此消息automatically!!!
ACK ->
在端口2000 //上发送rtp,现在RTP数据转到错误的port
<-- OK/SDP (端口号2000) //,jain再次发送ok消息automatically
ACK ->
在端口2000 // rtp数据上发送RTP到错误的port
BYE ->
<-OKh<246/code><>f 247
为什么jain会自动发送消息?我做错什么了吗,还是有可能禁用sip消息的自动发送?
发布于 2011-11-30 10:13:00
我发现可以通过将参数"javax.sip.AUTOMATIC_DIALOG_SUPPORT“设置为"off”来停止消息的自动发送。我也知道,为什么jain有时会自动发送一个尝试信息。当我的软电话应用程序需要太长时间才能将OK消息发送回PBX时,就会发生这种情况。我仍然不明白的是自动发送我在上面的调用流中描述的OK消息。也许有人知道?
发布于 2012-02-07 07:22:35
对于200 OK,我不确定,但似乎JAIN不理解远程方发送的ACK &它将重传OK,这是为第一次邀请生成的。
您可以通过查看via报头中的事务ID来检查。否则,您可以检查JAIN堆栈的日志。
https://stackoverflow.com/questions/8121345
复制相似问题