sip端点收到直接sip呼叫,但不会收到来自注册服务商的redirect

我有一个SIP端点,我写的,它接受SIP邀请,处理它们,回复,并设置rtp会话时,直接联系就好了。

sip:user @ [terminal的实际IP地址]

但是,如果我尝试通过注册商路由,它从不回复。 如果确实回复,则回复错误请求。 我已经看了这个请求,一切正常,所以它不是格式错误(至less在发送时)。

然而,如果问题的终点来自呼叫,那么一切都是完美的。

我正在testingekiga,只是把我的代码从等式的至less一半。

这是请求:

INVITE sip:[email protected] SIP/2.0 Date: Mon, 21 May 2012 15:42:26 GMT CSeq: 1 INVITE Via: SIP/2.0/UDP 192.168.0.22:5060;branch=z9hG4bK21b00fb7-1707-1910-92f3-0025b360b492;rport User-Agent: Ekiga/3.2.7 From: "Jonathan" <sip:[email protected]>;tag=c9ad0fb7-1707-1910-92f1-0025b360b492 Call-ID: c9ad0fb7-1707-1910-92f2-0025b360b492@HOWIE To: <sip:[email protected]> Contact: <sip:[email protected]> Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING Content-Type: application/sdp Content-Length: 566 Max-Forwards: 70 v=0 o=- 1337614946 1 IN IP4 192.168.0.22 s=Opal SIP Session c=IN IP4 192.168.0.22 t=0 0 m=audio 5084 RTP/AVP 0 8 101 a=sendrecv a=rtpmap:0 PCMU/8000/1 a=rtpmap:8 PCMA/8000/1 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16,32,36 m=video 5086 RTP/AVP 109 108 34 b=AS:4096 b=TIAS:4096000 a=sendrecv a=rtpmap:109 h264/90000 a=fmtp:109 packetization-mode=1;profile-level-id=42C01E a=rtpmap:108 h263-1998/90000 a=fmtp:108 D=1;F=1;I=1;J=1;CIF=1;CIF4=1;QCIF=1;CUSTOM=320,240,1;CUSTOM=640,480,1 a=rtpmap:34 h263/90000 a=fmtp:34 F=1;CIF=1;CIF4=1;QCIF=1 

终点注册就好了,因为我可以从注册服务商那里注册。

此外,terminal的软件正在运行,因为我已经在我的桌面上运行了,而且一切都按我期望的那样工作。

另外,netstat -lvuwp显示我的应用程序正在侦听端口5060。

更新我刚刚注意到,注册商没有将请求翻译成最后的部分。 我发现它收到wireshark的请求,比如说192.168.0.22 – > 192.168.0.200(注册服务器的地址),但我从来没有看到192.168.0.200 – > 192.168.2.5(问题的终点),就像它在其他端点上一样。

这里是从注册商到终点的尝试

 INVITE sip:[email protected];q=1, <sip SIP/2.0 Via: SIP/2.0/UDP 192.168.0.200:5060;branch=z9hG4bK-5bbc7711b807109;rport Via: SIP/2.0/UDP 192.168.0.22:5060;branch=z9hG4bK5bb8b0c7-1707-1910-9366-0025b360b492;received=192.168.0.22;rport=5060 Date: Mon, 21 May 2012 16:28:56 GMT CSeq: 1 INVITE From: "Jonathan" <sip:[email protected]>;tag=03b6b0c7-1707-1910-9364-0025b360b492 Call-ID: 03b6b0c7-1707-1910-9365-0025b360b492@HOWIE To: <sip:[email protected]> Contact: <sip:[email protected]> Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING Max-Forwards: 69 Record-Route: <sip:192.168.0.200;lr> User-Agent: Ekiga/3.2.7 Content-Type: application/sdp Content-Length: 566 v=0 o=- 1337617736 1 IN IP4 192.168.0.22 s=Opal SIP Session c=IN IP4 192.168.0.22 t=0 0 m=audio 5066 RTP/AVP 0 8 101 a=sendrecv a=rtpmap:0 PCMU/8000/1 a=rtpmap:8 PCMA/8000/1 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16,32,36 m=video 5068 RTP/AVP 109 108 34 b=AS:4096 b=TIAS:4096000 a=sendrecv a=rtpmap:109 h264/90000 a=fmtp:109 packetization-mode=1;profile-level-id=42C01E a=rtpmap:108 h263-1998/90000 a=fmtp:108 D=1;F=1;I=1;J=1;CIF=1;CIF4=1;QCIF=1;CUSTOM=320,240,1;CUSTOM=640,480,1 a=rtpmap:34 h263/90000 a=fmtp:34 F=1;CIF=1;CIF4=1;QCIF=1 

任何人看到这个问题? 我的怀疑是问题出在那个看起来不属于它的;q1, <sip上。

更新

我注意到这一行

 [Contact] = <sip:[email protected]:5060>;q=1, <sip:vs005@[fe80::230:18ff:feab:100e]:5060>;q=0.500 

从注册我的端点的;q=1, <sip文本让我觉得sip服务器在parsingipv6时遇到了麻烦。 所以,我closures了terminal上的ipv6,瞧! 一切安好。