SIP客户端应在何处向邀请发送回复?

SIP客户端应在何处向邀请发送回复?,sip,Sip,假设有一个SIP客户端在100.0.0.100:5059监听 它从10.0.0.101:5060接收一个UDP数据包,其中包含INVITE INDER和某些标头。例如: 联系人: 记录路线:(此类标题的第一个) 路线: Via:(此类标题中的第一个) 它应该在哪里发送“确认”、“尝试”、“建立对话”、“再见”等信息?100.0.0.什么 (背景:尝试编写“单个TCP连接中的整个SIP”包装,将SIP中看到的所有地址转换为自身,但得到“请求超时”、“检测到循环”、“中继Frobiden”错误使

假设有一个SIP客户端在100.0.0.100:5059监听

它从10.0.0.101:5060接收一个UDP数据包,其中包含INVITE INDER和某些标头。例如:

  • 联系人:
  • 记录路线:
    (此类标题的第一个)
  • 路线:
  • Via:
    (此类标题中的第一个)
它应该在哪里发送“确认”、“尝试”、“建立对话”、“再见”等信息?100.0.0.什么

(背景:尝试编写“单个TCP连接中的整个SIP”包装,将SIP中看到的所有地址转换为自身,但得到“请求超时”、“检测到循环”、“中继Frobiden”错误使对话仅持续15秒…可能是因为包装器做错了什么…为什么在标头和应用程序/sdp中有这么多令人困惑的IP地址?)。

告诉您该怎么做。算法的第三步适用于:

  o  Otherwise (for unreliable unicast transports), if the top Via
     has a "received" parameter, the response MUST be sent to the
     address in the "received" parameter, using the port indicated
     in the "sent-by" value, or using port 5060 if none is specified
     explicitly.  If this fails, for example, elicits an ICMP "port
     unreachable" response, the procedures of Section 5 of [4]
     SHOULD be used to determine where to send the response.
  o  Otherwise, if it is not receiver-tagged, the response MUST be
     sent to the address indicated by the "sent-by" value, using the
     procedures in Section 5 of [4].
其中引用了
[4]

通过TCP接收请求是一种更简单的情况:如果可以,可以通过开放连接发送请求。否则,您可以通过打开到最顶端的
接收的
参数中的IP地址的TCP连接(如果存在),或者如果不存在,则通过
令牌发送该头的
。如果尝试失败,您必须退回到上面提到的RFC 3263中的算法。

哪些客户端能够向域发送邀请?