Jain-sip自动发送sip消息

时间:2011-11-14 12:08:54

标签: java android sip voip jain-sip

我写过一部可与PBX通信的软电话(由SIPp模拟)。为此,我使用jain-sip frameworkt for java。我的问题是,jain-sip会自动发送sip消息。例如,在收到RE-INVITE消息后,我的程序发回OK消息,但jain-sip会自动发回TRYING消息。为什么???

Jain-sip会自动发送一些OK消息。请参阅下面的呼叫流程(PBX正在将INVITE消息发送到我的软电话应用程序)

  • 邀请 - >
  • < - TRYING
  • < - RINGING
  • < - OK / SDP(端口号2000)
  • 确认 - >
  • 在端口2000上发送RTP

  • RE-INVITE - >

  • < - TRYING
  • < - OK / SDP(端口号2002)
  • 确认 - >
  • 在端口2002上发送RTP
  • < - OK / SDP(端口号2000) // jain-sip自动发送此消息!!!
  • 确认 - >
  • 在端口2000上发送RTP //现在rtp数据转到错误的端口
  • < - OK / SDP(端口号2000) //再次jain-sip自动发送确认消息
  • 确认 - >
  • 在端口2000上发送RTP // rtp数据转到错误的端口
  • BYE - >
  • < - 确定

为什么jain-sip会自动发送消息?我做错了什么,或者是否可以禁用自动发送sip消息?

2 个答案:

答案 0 :(得分:3)

我发现我可以通过将参数“javax.sip.AUTOMATIC_DIALOG_SUPPORT”设置为“off”来停止自动发送消息。我也知道,为什么jain-sip有时会自动发送一条TRYING消息。当我的软电话应用程序需要太长时间才能将OK消息发送回PBX时,会发生这种情况。我仍然不明白的是自动发送我在上面的调用流程中描述的OK消息。也许有人知道吗?

答案 1 :(得分:0)

对于200 OK,我不确定,但似乎远程方发送的ACK无法通过JAIN SIP&它将重新发送为第一个INVITE生成的OK。

您可以通过查看via标头中的交易ID进行检查。 否则,您可以查看JAIN-SIP堆栈的日志。