Hi Sun Zongjun,
fix_natted_sdp() is used only for fixing the SDP (like direction=active line, force proxy's IP in media, etc) without using RTPProxy. You should use force_rtp_proxy() instead.
Best regards, Marian
szj wrote:
Hi,
My testing environment is as follows. SER+RTPProxy's ip: 111.122.133.100 NAT device's ip: 111.122.133.4 SIP UA A's IP: 192.168.0.62:9000 SIP UA B's IP: 111.122.133.100:5000 If I use the SiP UA A to call UA B outside the NAT clouds, I think the SER should communicate with RTPProxy and modify the INVITE message's SDP message's media IP and Port. But I checked the UA B's log and found that the ser only changed the SDP''s IP, not the media port. Here is the UA B's log:
INVITE sip:861111@111.122.133.100:5000 SIP/2.0^M Record-Route: sip:111.122.133.100;ftag=1509219066;lr^M Via: SIP/2.0/UDP 111.122.133.100;branch=z9hG4bKb6f1.9cf45a65.0^M Via: SIP/2.0/UDP 192.168.0.62:9000;rport=12072;received=111.122.133.4;branch=z9hG4bK1145650245^M
From: sip:862222@sip.suntest.com;tag=1509219066^M To: sip:861111@sip.suntest.com^M Call-ID: 638544678@192.168.0.62^M CSeq: 20 INVITE^M Contact: sip:862222@111.122.133.4:12072^M Max-Forwards: ^M User-Agent: User Agent0.1^M Subject: This is my first SIP call^M Expires: 120^M P-Info: VQem2WySucv0oaiOqT7HAmtlPhMYPd3Kn58o4xX9o5tL^M P-Need-Security: Yes^M Require: P-Need-Security^M Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, REFER, SUBSCRIBE, NOTIFY, MESSAGE^M Content-Type: application/sdp^M P-Security-Nobody: abnPtllQ4gF5deL2u5UfUnfzUcJhomFI+yj1mYR374s=^M Content-Length: 310^M P-hint: usrloc applied^M ^M v=0^M o=nobody 20041028 20000001 IN IP4 192.168.0.62^M s=A call^M c=IN IP4 111.122.133.4^M t=1112000912 1112004512^M m=audio 9500 RTP/AVP 0 8^M a=rtpmap:0 PCMU/8000^M a=rtpmap:8 PCMA/8000^M m=video 10000 RTP/AVP 98 31^M a=rtpmap:98 H263/90000^M a=rtpmap:31 vf=4/CIF/1/768^M a=direction:active^M a=oldmediaip:192.168.0.62^M the UA A's original audio port is 9500, you see it is unmodified through the SER.
Next is the part of my SER.cfg config:
if(method == "INVITE") { fix_nated_sdp("3"); }; I thinks the SER should relaced the SDP media IP and port with the return valued by RTPProxy. That is, media ip is not the NAT device's IP, but RTPProxy's IP, 111.122.133.100, and the audio port is the port returned by RTPProxy. Now I can't see the modification of the media port by RTPPProxy.
Am I right??
Thanks for your help! Best Regards.
Sun Zongjun