【问题标题】:Re-INVITE during call results with 481 Call Does Not Exist在呼叫结果期间重新邀请 481 呼叫不存在
【发布时间】:2016-06-08 14:10:19
【问题描述】:

我有一个 FreeSwitch 服务器(在 Ubuntu 上是 1.4.26)。 将传入呼叫重定向到外部服务器时,在呼叫连接 30 分钟后,我收到了来自目标服务器的 RE-INVITE 消息。我的 FreeSwitch 服务器响应“481 呼叫不存在”,然后呼叫被断开,尽管它进行得很好。

我假设 RE-INVITE 是在 "Session-Expires: 3600;refresher=uac" 的一半时间过去后发送的。

我试图告诉 FreeSwitch 忽略重新邀请,在桥接之前使用 set sip_ignore_reinvites=true。似乎没有任何效果。也试过在桥的起始弦上。没有帮助。

如何防止这种情况发生?

这里是 SIP 日志(1111 呼叫 9999):

send 1069 bytes to udp/[99.99.99.99]:5060 at 15:02:29.531004:
   ------------------------------------------------------------------------
   INVITE sip:12129999999@99.99.99.99:5060 SIP/2.0
   Via: SIP/2.0/UDP 55.55.55.55;rport;branch=z9hG4bKvjUSX912pUc9Q
   Max-Forwards: 67
   From: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   To: <sip:12129999999@99.99.99.99:5060>
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   CSeq: 92276610 INVITE
   Contact: <sip:mod_sofia@55.55.55.55:5060>
   User-Agent: FreeSWITCH-mod_sofia/1.4.26+git~20151215T154940Z~5579a4ba46~64bit
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
   Supported: timer, path, replaces
   Allow-Events: talk, hold, conference, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 223
   X-FS-Support: update_display,send_info
   Remote-Party-ID: "12121111111" <sip:12121111111@55.55.55.55>;party=calling;screen=yes;privacy=off

   v=0
   o=FreeSWITCH 1465208343 1465208344 IN IP4 55.55.55.55
   s=FreeSWITCH
   c=IN IP4 55.55.55.55
   t=0 0
   m=audio 17006 RTP/AVP 0 101 13
   a=rtpmap:0 PCMU/8000
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-16
   a=ptime:20
   ------------------------------------------------------------------------
recv 802 bytes from udp/[99.99.99.99]:5060 at 15:02:50.184437:
   ------------------------------------------------------------------------
   SIP/2.0 200 OK
   Via: SIP/2.0/UDP 55.55.55.55;received=55.55.55.55;branch=z9hG4bKvjUSX912pUc9Q;rport=5060
   From: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   To: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   CSeq: 92276610 INVITE
   Content-Type: application/sdp
   Session-Expires: 3600;refresher=uas
   Contact: <sip:12129999999@99.99.99.99:5060;user=phone;transport=udp>
   Supported: timer,100rel
   Content-Length: 288

   v=0
   o=MG4000|2.0 193121 196925 IN IP4 99.99.99.99
   s=-
   c=IN IP4 99.99.99.99
   t=0 0
   m=audio 61308 RTP/AVP 0 101
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-15
   a=ptime:20
   a=X-vrzcap:vbd Ver=0 Mode=FaxPr ModemRtpRed=0
   a=X-vrzcap:identification bin=DSR2883 Prot=mgcp App=MG
   ------------------------------------------------------------------------
recv 934 bytes from udp/[99.99.99.99]:5060 at 15:32:50.190171:
   ------------------------------------------------------------------------
   INVITE sip:mod_sofia@55.55.55.55:5060 SIP/2.0
   Via: SIP/2.0/UDP 99.99.99.99:5060;branch=z9hG4bKi8jups3010shhe7um2g0sb0000g00.1
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   From: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   To: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   Content-Type: application/sdp
   Min-SE: 90
   Session-Expires: 3600;refresher=uac
   CSeq: 1 INVITE
   Contact: <sip:12129999999@99.99.99.99:5060;user=phone;transport=udp>
   Allow: INVITE,CANCEL,BYE,ACK,REFER,UPDATE,INFO,PRACK
   Supported: timer,100rel
   Max-Forwards: 69
   User-Agent: VCS 5.10.2.10-02
   Content-Length: 288

   v=0
   o=MG4000|2.0 193121 196925 IN IP4 99.99.99.99
   s=-
   c=IN IP4 99.99.99.99
   t=0 0
   m=audio 61308 RTP/AVP 0 101
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-15
   a=ptime:20
   a=X-vrzcap:vbd Ver=0 Mode=FaxPr ModemRtpRed=0
   a=X-vrzcap:identification bin=DSR2883 Prot=mgcp App=MG
   ------------------------------------------------------------------------
send 513 bytes to udp/[99.99.99.99]:5060 at 15:32:50.190379:
   ------------------------------------------------------------------------
   SIP/2.0 481 Call Does Not Exist
   Via: SIP/2.0/UDP 99.99.99.99:5060;branch=z9hG4bKi8jups3010shhe7um2g0sb0000g00.1
   From: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   To: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   CSeq: 1 INVITE
   User-Agent:FreeSWITCH-mod_sofia/1.4.26+git~20151215T154940Z~5579a4ba46~64bit
   Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY
   k:timer,path,replaces
   l:0

   ------------------------------------------------------------------------
recv 374 bytes from udp/[99.99.99.99]:5060 at 15:32:50.276999:
   ------------------------------------------------------------------------
   ACK sip:mod_sofia@55.55.55.55:5060 SIP/2.0
   Via: SIP/2.0/UDP 99.99.99.99:5060;branch=z9hG4bKi8jups3010shhe7um2g0sb0000g00.1
   CSeq: 1 ACK
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   From: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   To: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   Max-Forwards: 69
   Content-Length: 0

   ------------------------------------------------------------------------
recv 477 bytes from udp/[99.99.99.99]:5060 at 15:32:50.290275:
   ------------------------------------------------------------------------
   BYE sip:mod_sofia@55.55.55.55:5060 SIP/2.0
   Via: SIP/2.0/UDP 99.99.99.99:5060;branch=z9hG4bKi8jups3010shhe7um2g0sd0000010.1
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   From: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   To: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   CSeq: 2 BYE
   Supported: timer,100rel
   Max-Forwards: 69
   Reason: SIP;cause=0;iintcode=516;isubsystem=0
   User-Agent: VCS 5.10.2.10-02
   Content-Length: 0

   ------------------------------------------------------------------------
send 510 bytes to udp/[99.99.99.99]:5060 at 15:32:50.290421:
   ------------------------------------------------------------------------
   SIP/2.0 481 Call Does Not Exist
   Via: SIP/2.0/UDP 99.99.99.99:5060;branch=z9hG4bKi8jups3010shhe7um2g0sd0000010.1
   From: <sip:12129999999@99.99.99.99:5060>;tag=9307555045152742154
   To: "12121111111" <sip:12121111111@55.55.55.55>;tag=p02B1veKSg0tS
   Call-ID: ATUCMSOAWBAMZGOJMMLEQ7CU74@11.11.11.48_01
   CSeq: 2 BYE
   User-Agent:FreeSWITCH-mod_sofia/1.4.26+git~20151215T154940Z~5579a4ba46~64bit
   Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY
   k:timer,path,replaces
   l:0 

【问题讨论】:

    标签: sip voip telephony freeswitch sip-server


    【解决方案1】:

    如果以上是整个跟踪,那么奇怪的是,现在 ACK 在 200 之后从 FS 发送。重新邀请就像您所说的会话刷新,它发生在同一个对话框上,但它是不同的事务。

    查看呼叫 ID from-tag / to-tag 重新邀请看起来是正确的。

    制作一个 tcpdump / wireshark 并确保重新邀请被发送到正确的端口,并且在 200 ok 之后有一个 ACK​​ 用于初始邀请

    【讨论】:

      【解决方案2】:

      您是否尝试过在 Freeswitch 上启用 RFC 4028 支持?

      https://wiki.freeswitch.org/wiki/Sofia.conf.xml#SIP_Related_options

      在您的 sip 个人资料中:

      <param name="enable-timer" value="true"/>
      

      【讨论】:

      • 我的印象是这个参数的默认值是“true”,因为我确实看到 INVITE 支持“timers”。我确实尝试禁用它,这在某些情况下实际上有所帮助。 “计时器”不再存在。另一个似乎有帮助的技巧:我设置了 ,这比我从远程站点获取时要短。这会导致我的服务器发送一个 RE-INVITE 并且我从远程获得 OK 并且呼叫继续。
      • 当你设置 那么它可能将 enable-timer 从“false”更改为“true”,因为没有计时器的意义如果功能被禁用。
      【解决方案3】:

      您应该删除重新邀请中的 to 标记 (tag=p02B1veKSg0tS),因为这是一笔新交易。

      【讨论】:

      • 重新邀请从远程服务器发送到我的服务器。如果我不是发送此 SIP 消息的人,如何删除标签?此外,这是相同的交易,具有相同的标签。为什么FS服务器声称它不存在?
      • 我以为是你自己的客户。否则,它不是同一个事务,并且对于新事务(由 reINVITE 发起),不应设置 to 标签。用其他一些软电话检查相同,如果有效,那么您可以确认这是导致问题的原因。
      猜你喜欢
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 2019-12-30
      • 2012-01-31
      相关资源
      最近更新 更多