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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users