Hello,
I'm using Kamailio 4.2 as proxy with nathelper enabled. Yet , the ACK packet sent from the proxy to the origination's private IP. The ACK is sent as reply on the following 200 OK sent from the origination : 8m2EJN41BN/6WSIP/2.0 200 OK From: <sip:+4444331234567@X.X.X.X;user=phone>;tag=XQBQNjvjgp4Ze To: <sip:+905362695933@172.16.45.65;user=phone>;tag=12033368836000 Via: SIP/2.0/UDP X.X.X.X:5065;branch=z9hG4bK2959.233ecbc5eff949f946d8763ce25e5e6d.0;received= X.X.X.X,SIP/2.0/UDP X.X.X.X;received=X.X.X.X;rport=5060;branch=z9hG4bKN93cXvv26vDDN Record-Route: <sip:X.X.X.X:5065;lr;ftag=XQBQNjvjgp4Ze> Call-ID: CbeX8453909200habfGhEfElPce@BC00.XXXXXXXXXXXXXX CSeq: 125698370 INVITE Accept: application/sdp Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,UPDATE P-Charging-Vector: icid-value=B0912C3D70-0720-09394507;icid-generated-at=BC00.XXXXXXXXXXXXXX.XX ;orig-ioi=MXXXXXXXXXXXXXX Content-Type: application/sdp Contact: <sip:172.16.45.65:5060;transport=UDP> Content-Length: 268 v=0 o=- 5838243 5838244 IN IP4 BC00.XXXXXXXXXXXXXX s=- c=IN IP4 172.16.45.144 t=0 0 a=sendrecv m=audio 47588 RTP/AVP 18 96 c=IN IP4 172.16.45.144 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=yes a=rtpmap:96 telephone-event/8000 a=fmtp:96 0-15 a=maxptime:20 Following is the header of the sent ACK packet: Request-Line: ACK sip:172.16.45.65:5060;transport=UDP SIP/2.0 Record-Route: <sip:X.X.X.X:5065;lr;ftag=XQBQNjvjgp4Ze> Via: SIP/2.0/UDP X.X.X.X:5065;branch=z9hG4bK2959.871535fd341bbe3099d0bf60d6460e18.0 Via: SIP/2.0/UDP X.X.X.X;received=X.X.X.X;rport=5060;branch=z9hG4bKQUpy0jy90etjc Max-Forwards: 69 From: <sip:+4444331234567@X.X.X.X;user=phone>;tag=XQBQNjvjgp4Ze To: <sip:+905362695933@172.16.45.65;user=phone>;tag=12033368836000 Call-ID: CbeX8453909200habfGhEfElPce@BC00.XXXXXXXXXXXXXX CSeq: 125698370 ACK Content-Length: 0 Where X.X.X.X is Kamailio server public IP. Following is part of my config file : route { route(NATDETECT); record_route(); if(!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); exit; } # Maybe some sanity_check() here. if(has_totag()) { if(loose_route()) { route(DLGURI); if(!t_relay()) sl_reply_error(); exit; } else { if(is_method("ACK")) { route(DLGURI); if(t_check_trans()) { t_relay(); } } else sl_send_reply("403", "Forbidden"); } exit; } ..... } route[NATDETECT] { #!ifdef WITH_NAT force_rport(); if (nat_uac_test("19")) { if (is_method("REGISTER")) { fix_nated_register(); } else { add_contact_alias(); } setflag(FLT_NATS); } #!endif return; } route[DLGURI] { #!ifdef WITH_NAT if(!isdsturiset()) { handle_ruri_alias(); } #!endif return; } Can you please check why the ACK is still sent on private IP ? Thanks Ali Taher
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users