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

Reply via email to