【问题标题】:Jain-sip sends sip messages automaticallyJain-sip 自动发送 sip 消息
【发布时间】:2011-12-28 14:41:07
【问题描述】:

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

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

  • 邀请 -->
  • 确认 -->
  • 在 2000 端口发送 RTP

  • 重新邀请 -->

  • 确认 -->
  • 在 2002 端口发送 RTP
  • // jain-sip 自动发送此消息!!!
  • 确认 -->
  • 在 2000 端口发送 RTP // 现在 rtp 数据转到错误的端口
  • // 再次 jain-sip 自动发送 ok 消息
  • 确认 -->
  • 在 2000 端口发送 RTP // rtp 数据到错误的端口
  • 再见 -->

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

【问题讨论】:

  • 您应该将此解决方案作为答案发布(您可以稍后接受)。

标签: java android sip voip jain-sip


【解决方案1】:

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

【讨论】:

  • 100 次尝试 - 根据 RFC,如果您的应用需要 200 毫秒以上的时间来响应 INVITE,则堆栈必须发送 100 次尝试停止远程方重新传输 INVITE 请求。
【解决方案2】:

对于 200 OK 我不确定,但似乎 JAIN SIP 无法理解远程方发送的 ACK 并且它将重新传输为第一次 INVITE 生成的 OK。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多