[Serusers] Multihomed SER & NAT

Sebastian Gabris Sebastian.Gabris at web.de
Thu Aug 10 12:06:23 CEST 2006


Hi everybody,

need some help on nattraversal.

i use a multihomed SER, one private IP & one public IP.

MyUA(privateIP) <-> (privateIP)SER(publicIP) <-> UA-(VoIP - Provider, pubicIP)

If i try to make a call from private net to public net, SER doesnt change the contact address. He changes the sdp - connection field but he, puts in the wrong IP - address.
Instead o writing down his public IP, SER writes his private IP.
Then SER forwards the call on his public interface to the provider, which will get wrong Contact & SDP information.

After reviewing my logs i saw that SER does the nat_uac_test, but the fix_nat_contact & fix_sdp dont work dont do what they should do :)

  Here are the important bits of my config:
  
fork=yes
log_stderror=no 

mhomed=1
listen=10.x.x.x
listen=193.x.x.x

loadmodule "/usr/lib/ser/modules/nathelper.so"
modparam("usrloc", "db_mode",   0)

modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30) # Ping interval 30 s
modparam("nathelper", "ping_nated_only", 1)   # Ping only clients behind NAT

 if (nat_uac_test("3")) {

                if (method == "REGISTER" || ! search("^Record-Route:")) {
                    log(2,"LOG: Someone trying to register from private IP, rewriting\n");             

                    fix_nated_contact(); # Rewrite contact with source IP of signalling
                    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
                };
        };

... and so on.



______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193




More information about the sr-users mailing list