On 08/13/2013 03:25 PM, Daniel-Constantin Mierla wrote: > Can you get a ngrep trace for a registration as well (for the phone using > tcp)?
Ok! I'll use pjsua from my local machine connecting in the same way as the TCP client was doing. The TCP client it's an iPhone using the same pjlib library. > > Daniel > > On 8/13/13 3:23 PM, Roberto Fichera wrote: >> On 08/13/2013 03:15 PM, Roberto Fichera wrote: >>> On 08/13/2013 02:33 PM, Daniel-Constantin Mierla wrote: >>>> Hello, >>>> >>>> On 8/13/13 1:10 PM, Roberto Fichera wrote: >>>>> On 08/13/2013 12:03 PM, Daniel-Constantin Mierla wrote: >>>>>> Hello, >>>>>> >>>>>> you should grab the ngrep for such call to understand better what >>>>>> happens. Also, dumping the location records >>>>>> will be >>>>>> useful (kamctl ul show). >>>>>> >>>>>> Also, be sure that tcp connection lifetime is long enough to survive >>>>>> re-registration. To avoid trying to open >>>>>> connections behind nat, use set_forward_no_connect() for calls involving >>>>>> nat traversal. >>>>> I'm using the default conf coming from fedora rpm. So, mainly the problem >>>>> seems related to kamailio >>>>> which doesn't reuse the TCP port used by NATed clients. I've also notice >>>>> that the received >>>>> field isn't set at all, so this means that the contact will not get >>>>> aliased at all. >>>>> >>>>> I would really like to have a look to a working cfg file for TCP NATed >>>>> clients that reuse the TCP port. >>>>> Even better if the configuration is based on the fedora default rpm. >>>> if received is not set, then means the register was not detected as coming >>>> from behind nat. Is the phone using stun? >>> I'm testing with a normal rtpproxy configuration. BTW udp -> udp work >>> perfectly. >>> >>>> Again, put here the ngrep for registration and a call to see if something >>>> is wrong with signaling. There is no help >>>> that we can provide otherwise. The default config works fine for tcp and >>>> natted clients, I use it everywhere for this >>>> case without issues. >>> I tried the default cfg enabling both NAT and RTPproxy, but seems that >>> kamailio doesn't reuse TCP ports. >>> Anyway, this is a call from UDP (512) -> TCP (526) both behind the same >>> NAT, from kamailio point of view >> I forgot to say that the received field is now present because I've changed >> the >> route[NATDETECT] in the default configuration as >> >> route[NATDETECT] { >> #!ifdef WITH_NAT >> force_rport(); >> >> -->>> if (nat_uac_test("19") || proto != UDP) { >> if (is_method("REGISTER")) { >> fix_nated_register(); >> } else { >> fix_nated_contact(); >> } >> setflag(FLT_NATS); >> } >> #!endif >> return; >> } >> >> >>> [root@proxy ~]# kamctl ul show 526 >>> Contact:: >>> <sip:526@94.94.X.X:1238;transport=TCP;ob>;q=;expires=537;flags=0x0;cflags=0x40;state=0;socket=<tcp:178.79.x.x:5060>;methods=0x1FDF;received=<sip:94.94.X.X:61922;transport=TCP>;user_agent=<DICE >>> >>> Smartphone 1.0/iPhone>;reg-id=0 >>> [root@proxy ~]# kamctl ul show 512 >>> Contact:: >>> <sip:512@94.94.X.X:5060>;q=;expires=32;flags=0x0;cflags=0x40;state=0;socket=<udp:178.79.x.x:5060>;methods=0xFFFFFFFF;received=<sip:94.94.X.X:1025>;user_agent=<DICE >>> >>> 1.8.20.1>;reg-id=0 >>> [root@proxy ~]# >>> >>> >>> U 94.94.X.X:1025 -> 178.79.x.x:5060 >>> INVITE sip:526@test.domain:5060 SIP/2.0. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport. >>> Max-Forwards: 70. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>. >>> Contact: <sip:512@94.94.X.X:5060>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 INVITE. >>> User-Agent: DICE 1.8.20.1. >>> Date: Tue, 13 Aug 2013 13:04:30 GMT. >>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, >>> PUBLISH. >>> Supported: replaces, timer. >>> Content-Type: application/sdp. >>> Content-Length: 264. >>> . >>> v=0. >>> o=root 1263161426 1263161426 IN IP4 94.94.X.X. >>> s=Asterisk PBX 11.3.0. >>> c=IN IP4 94.94.X.X. >>> t=0 0. >>> m=audio 10782 RTP/AVP 0 110 101. >>> a=rtpmap:0 PCMU/8000. >>> a=rtpmap:110 speex/8000. >>> a=rtpmap:101 telephone-event/8000. >>> a=fmtp:101 0-16. >>> a=ptime:20. >>> a=sendrecv. >>> >>> # >>> U 178.79.x.x:5060 -> 94.94.X.X:1025 >>> SIP/2.0 407 Proxy Authentication Required. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport=1025. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>;tag=333a0370df4a40d5d5a0c21bb156e2a6.4a00. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 INVITE. >>> Proxy-Authenticate: Digest realm="test.domain", >>> nonce="UgowYFIKLzQXDSUWUpy4xlhdXZ7WNjPt". >>> Server: kamailio (4.0.2 (x86_64/linux)). >>> Content-Length: 0. >>> . >>> >>> # >>> U 94.94.X.X:1025 -> 178.79.x.x:5060 >>> INVITE sip:526@test.domain:5060 SIP/2.0. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport. >>> Max-Forwards: 70. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>. >>> Contact: <sip:512@94.94.X.X:5060>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 INVITE. >>> User-Agent: DICE 1.8.20.1. >>> Date: Tue, 13 Aug 2013 13:04:30 GMT. >>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, >>> PUBLISH. >>> Supported: replaces, timer. >>> Content-Type: application/sdp. >>> Content-Length: 264. >>> . >>> v=0. >>> o=root 1263161426 1263161426 IN IP4 94.94.X.X. >>> s=Asterisk PBX 11.3.0. >>> c=IN IP4 94.94.X.X. >>> t=0 0. >>> m=audio 10782 RTP/AVP 0 110 101. >>> a=rtpmap:0 PCMU/8000. >>> a=rtpmap:110 speex/8000. >>> a=rtpmap:101 telephone-event/8000. >>> a=fmtp:101 0-16. >>> a=ptime:20. >>> a=sendrecv. >>> >>> # >>> U 178.79.x.x:5060 -> 94.94.X.X:1025 >>> SIP/2.0 407 Proxy Authentication Required. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport=1025. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>;tag=333a0370df4a40d5d5a0c21bb156e2a6.4a00. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 INVITE. >>> Proxy-Authenticate: Digest realm="test.domain", >>> nonce="UgowYFIKLzQXDSUWUpy4xlhdXZ7WNjPt". >>> Server: kamailio (4.0.2 (x86_64/linux)). >>> Content-Length: 0. >>> . >>> >>> # >>> U 94.94.X.X:1025 -> 178.79.x.x:5060 >>> ACK sip:526@test.domain:5060 SIP/2.0. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport. >>> Max-Forwards: 70. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>;tag=333a0370df4a40d5d5a0c21bb156e2a6.4a00. >>> Contact: <sip:512@94.94.X.X:5060>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 ACK. >>> User-Agent: DICE 1.8.20.1. >>> Content-Length: 0. >>> . >>> >>> # >>> U 94.94.X.X:1025 -> 178.79.x.x:5060 >>> ACK sip:526@test.domain:5060 SIP/2.0. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport. >>> Max-Forwards: 70. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>. >>> Contact: <sip:512@94.94.X.X:5060>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 ACK. >>> User-Agent: DICE 1.8.20.1. >>> Content-Length: 0. >>> . >>> >>> # >>> T 178.79.x.x:5060 -> 94.94.X.X:61922 [AP] >>> ACK sip:526@94.94.X.X:1238;transport=TCP;ob SIP/2.0. >>> Via: SIP/2.0/TCP 178.79.x.x;branch=z9hG4bKcydzigwkX. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport=1025. >>> Max-Forwards: 16. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>. >>> Contact: <sip:512@94.94.X.X:1025>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 ACK. >>> User-Agent: DICE 1.8.20.1. >>> Content-Length: 0. >>> . >>> >>> # >>> T 178.79.x.x:5060 -> 94.94.X.X:61922 [AP] >>> ACK sip:526@94.94.X.X:1238;transport=TCP;ob SIP/2.0. >>> Via: SIP/2.0/TCP 178.79.x.x;branch=z9hG4bKcydzigwkX. >>> Via: SIP/2.0/UDP 94.94.X.X:5060;branch=z9hG4bK4a420cee;rport=1025. >>> Max-Forwards: 16. >>> From: "asterisk" <sip:512@test.domain>;tag=as76007db0. >>> To: <sip:526@test.domain:5060>. >>> Contact: <sip:512@94.94.X.X:1025>. >>> Call-ID: 068a5a23639785a7583d952d6f9bca84@test.domain. >>> CSeq: 102 ACK. >>> User-Agent: DICE 1.8.20.1. >>> Content-Length: 0. >>> . >>> >>> >>>> Cheers, >>>> Daniel >>>>> Cheers, >>>>> Roberto Fichera. >>>>> >>>>>> Cheers, >>>>>> Daniel >>>>>> >>>>>> On 7/30/13 6:44 PM, Roberto Fichera wrote: >>>>>>> Hi All, >>>>>>> >>>>>>> Sorry for cross-posting this email to PJLIB, but maybe there are some >>>>>>> things related. >>>>>>> Anyhow! I'm having problems on kamailio v4.0.2 under Fedora 18 64bit >>>>>>> and TCP client like iPhone using PJSIP as SIP >>>>>>> library. >>>>>>> Basically once the iPhone side in close the call (TCP->UDP) I'm getting >>>>>>> the error below. Kamailio is running under >>>>>>> a VPS >>>>>>> without >>>>>>> NATed network so it uses a real public address. Furthermore, note that >>>>>>> tcp_main is answering to a 192.168.2.98 ip >>>>>>> address >>>>>>> which is the iPhone client. This looks really strange to me since it >>>>>>> should answer directly to the public/port used >>>>>>> for >>>>>>> the registration >>>>>>> and not to a such kind of reserved address. The kamilio configuration >>>>>>> is basically the default with a very few >>>>>>> changes >>>>>>> like NAT, rtpproxy and postgresql backend. >>>>>>> >>>>>>> This problems doesn't happen at all when using UDP->UDP calls. But I >>>>>>> cannot use it because as you certain know UDP >>>>>>> connection under iPhone will not work when the application run in >>>>>>> background mode. >>>>>>> >>>>>>> Can someone suggest how to solve this issue or maybe suggest a TCP >>>>>>> working solution for iPhone? >>>>>>> >>>>>>> Thanks in advance. >>>>>>> Roberto Fichera. >>>>>>> >>>>>>> Jul 30 16:21:53 proxy /usr/sbin/kamailio[9502]: ERROR: <core> >>>>>>> [tcp_main.c:4432]: tcpconn_main_timeout(): connect >>>>>>> 192.168.2.98:5060 failed (timeout) >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: DBUG:get_command: received >>>>>>> command "9483_9 D >>>>>>> 12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060 as74e0c388 >>>>>>> GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj" >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:handle_delete: forcefully >>>>>>> deleting session 1 on ports 15604/17354 >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: RTP stats: >>>>>>> 354 in from callee, 603 in from caller, 957 >>>>>>> relayed, 0 dropped >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: RTCP stats: >>>>>>> 5 in from callee, 2 in from caller, 7 >>>>>>> relayed, 0 >>>>>>> dropped >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: INFO:remove_session: session on >>>>>>> ports 15604/17354 is cleaned up >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: DBUG:doreply: sending reply >>>>>>> "9483_9 0 >>>>>>> Jul 30 16:21:55 proxy rtpproxy[2262]: " >>>>>>> Jul 30 16:22:04 proxy /usr/sbin/kamailio[9502]: ERROR: <core> >>>>>>> [tcp_main.c:4432]: tcpconn_main_timeout(): connect >>>>>>> 192.168.2.98:5060 failed (timeout) >>>>>>> Jul 30 16:22:14 proxy rtpproxy[2262]: DBUG:get_command: received >>>>>>> command "9496_16 D >>>>>>> 12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060 >>>>>>> GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj as74e0c388" >>>>>>> Jul 30 16:22:14 proxy rtpproxy[2262]: INFO:handle_command: delete >>>>>>> request failed: session >>>>>>> 12d1d19926c4ff742a52f0c855b1bb83@94.94.x.x:5060, tags >>>>>>> GROahimCK6KTrl5CkYEg7nuoPIIXZ8cj/as74e0c388 not found >>>>>>> Jul 30 16:22:14 proxy rtpproxy[2262]: DBUG:doreply: sending reply >>>>>>> "9496_16 E8 >>>>>>> Jul 30 16:22:14 proxy rtpproxy[2262]: " >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>>>>>> sr-users@lists.sip-router.org >>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>> _______________________________________________ >>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>> sr-users@lists.sip-router.org >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>> > _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users