[Serusers] No Communication between SER and rtpproxy, OR mediaproxy.

Amos Nungu iw03_amn at it.kth.se
Thu Feb 24 18:49:47 CET 2005


Hi.

Problem:
SER doesn't talk to rtpproxy or mediaproxy. Nothing even in the syslog
file.
I'm running SER 0.8.14 on debian 2.4.27-1-686  machine. For whatever NAT
support I choose, it seems that I can't get right. I have followed
Paul's post and the default config file without success.
My NAT is a Linux box.

Scernario I: rtpproxy

**ser.cfg snippet - (debug=9)***
if (nat_uac_test("3")) {
log(1, "src address different than via header->NAT detected\n");
log(1, "force_rport and fix_nated_contact and setflag(6)\n");
 if (method=="REGISTER" || ! search("^Record-Route:")) {
	log(1, " ....it is Register....\n");
    fix_nated_contact();# Rewrite contact with source IP of signalling
	log(1, ".....fix_nated_contact....\n");
    if (method=="INVITE") {
        fix_nated_sdp("1");# Add direction=active to SDP
    };
    force_rport();# Add rport parameter to topmost Via
    setflag(6);# Mark as NATed
  };
append_hf("P-hint: fixed NAT contact for request\r\n");
};

****Starting rtpproxy****
# ./rtpproxy -f
rtpproxy: rtpproxy started, pid 30483)

****Starting SER****snippet***
1(31771) DEBUG: init_mod_child (-1): nathelper
 1(31771) rtpp_test: RTP proxy found, support for it enabled
 1(31771) DEBUG: init_mod_child (-1): auth_db
 2(31772) DEBUG: init_mod_child (-2): group
 2(31772) DEBUG: init_mod_child (-2): uri
 2(31772) DEBUG: init_mod_child (-2): acc
 2(31772) DEBUG: init_mod_child (-2): nathelper
 2(31772) rtpp_test: RTP proxy found, support for it enabled

*****Registering client behind NAT*****snippet**
..............
 0(31769) entering main loop
 0(31769) DEBUG : is_maxfwd_present: max_forward header already found!
 0(31769) DEBUG: is_maxfwd_present: value = 70
 0(31769) check_via_address(130.2xx.2xx.xx, 10.0.0.17, 0)
 0(31769) src address different than via header->NAT detected
 0(31769) force_rport and fix_nated_contact and setflag(6)
 0(31769)  ....it is Register....
 0(31769) parse_headers: flags=64
 0(31769) .....fix_nated_contact....
 0(31769) parse_headers: flags=-1
 0(31769) DEBUG: get_hdr_body : content_length=0
 0(31769) found end of header
 0(31769) end of header reached, state=9
 0(31769) parse_headers: flags=256
 0(31769) find_first_route(): No Route headers found
 0(31769) loose_route(): There is no Route HF
 0(31769) check_self - checking if host==us: 16==14 &&  [mm.mml.mm.se]
== [192.16.xxx.xx]
 0(31769) check_self - checking if port 5060 matches port 5060
 0(31769) parse_headers: flags=4096

--------------------------------------------------------------------------
Scernario II: mediaproxy

**ser.cfg snippet - (debug=9)***
 # Mark as NAT'ed
            if (client_nat_test("3")) {
		log(1, "Is NAted\n");
                setflag(2);
		log(1, "----NAted flag set----\n");
                force_rport();
		log(1, "...rport forced....\n");
                fix_contact();
		log(1, "...contact fixed...\n");
		#break;
            };

****Starting mediaproxy****
Feb 24 16:45:17 voip mediaproxy[29715]: mediaproxy started.
Feb 24 16:45:17 voip mediaproxy[29715]: Listening for commands on local
socket `/var/run/mediaproxy.sock'
Feb 24 16:45:17 voip mediaproxy[29715]: Listening for remote commands is
disabled
Feb 24 16:45:17 voip mediaproxy[29715]: Using IP address `192.16.xxx.xx'
for the RTP/RTCP proxy
Feb 24 16:45:18 voip proxydispatcher[29718]: proxydispatcher started.
Feb 24 16:45:18 voip proxydispatcher[29718]: Listening for commands on
local socket `/var/run/proxydispatcher.sock'
Feb 24 16:45:18 voip proxydispatcher[29718]: Default mediaproxy server
is on `/var/run/mediaproxy.sock'

****Starting SER****snippet***
0(0) fixing /usr/local/lib/ser/modules/maxfwd.so
mf_process_maxfwd_header
 0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
 0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
 0(0) fixing /usr/local/lib/ser/modules/mediaproxy.so client_nat_test
 0(0) fixing /usr/local/lib/ser/modules/mediaproxy.so fix_contact
 0(0) fixing /usr/local/lib/ser/modules/registrar.so save

*****Registering client behind NAT*****snippet**
 1(32184) ..............
 1(32184) entering main loop
 1(32184) DEBUG : is_maxfwd_present: max_forward header already found!
 1(32184) DEBUG: is_maxfwd_present: value = 70
 1(32184) parse_headers: flags=64
 1(32184) Is NAted
 1(32184) ----NAted flag set----
 1(32184) ...rport forced....
 1(32184) parse_headers: flags=64
 1(32184) parse_headers: flags=33554432
 1(32184) ...contact fixed...
 1(32184) check_self - checking if host==us: 16==14 && 
[voip.ssvl.kth.se] == [192.16.xxx.xx]
 1(32184) check_self - checking if port 5060 matches port 5060
 1(32184) URI myself
 1(32184) Method Register
 1(32184) parse_headers: flags=-1
 1(32184) DEBUG: get_hdr_body : content_length=0
 1(32184) found end of header
 1(32184) parse_headers: flags=33554432
 1(32184) parse_headers: flags=-1
 1(32184) check_via_address(130.2xx.2xx.xx, 10.0.0.17, 0)
 1(32184) Success - Registration...

***END****

In both cases, tested separately:-
->UA get registered with the local IP, 
->Check points set indicate "fix_nated_contact()" passed

Where is the problem!!??





More information about the sr-users mailing list