我写了一个可以与PBX通信的软电话(由SIPp模拟).为此,我使用jain-sip frameworkt for java.我的问题是,jain-sip会自动发送sip消息.例如,在收到RE-INVITE消息后,我的程序发回OK消息,但jain-sip会自动发回TRYING消息.为什么???
Jain-sip会自动发送一些OK消息.请参阅下面的呼叫流程(PBX正在向我的软电话应用程序发送INVITE消息):
>邀请 – >
>< - 尝试
>< - RINGING
>< - OK / SDP(端口号2000)
> ACK – >
>在端口2000上发送RTP
> RE-INVITE – >
>< - 尝试
>< - OK / SDP(端口号2002)
> ACK – >
>在端口2002上发送RTP
>< - OK / SDP(端口号2000)// jain-sip自动发送此消息!
> ACK – >
>在端口2000上发送RTP //现在rtp数据转到错误的端口
>< - OK / SDP(端口号2000)//再次jain-sip自动发送ok消息
> ACK – >
>在端口2000上发送RTP // rtp数据转到错误的端口
> BYE – >
>< - 好的
为什么jain-sip会自动发送消息?我做错了什么,或者是否可以禁用自动发送sip消息?
解决方法:
我发现我可以通过将参数“javax.sip.AUTOMATIC_DIALOG_SUPPORT”设置为“off”来停止自动发送消息.我也知道,为什么jain-sip有时会自动发送一条TRYING消息.当我的软电话应用程序需要太长时间才能将OK消息发送回PBX时,会发生这种情况.我仍然不明白的是自动发送我在上面的调用流程中描述的OK消息.也许有人知道吗?