[Users] transparent SIP proxy behind NAT

Jerome Drouet jerome.drouet at inp-net.eu.org
Wed Apr 18 18:51:39 CEST 2007


Hello,

here is my network architecture :

user  (private IP )    -------   NAT(user)  -------        
(INTERNET)     -------    SIPserver
                                                                         
            |
                                                                         
            |
             
                                                              NAT(OpenSER)
             
                                                                        |
             
                                                                        |
                                                              OpenSER 
transparent proxy

or in a few words :
 - user is behind a NAT
 - OpenSER proxy is behind another NAT (public IP of the NAT : 82.x.x.x 
, private IP of the OpenSER proxy : 192.168.y.y)
 - the SIP server has a public IP address (51.z.z.z)

The user NAT redirects traffic destinated to SIPserver (protocol UDP, 
port 5060) to the public IP of the OpenSER NAT, which of course 
redirects it to the private OpenSER proxy address

I'd like to configure OpenSER as a transparent proxy server, just adding 
a field in the header of register messages during the forward to the 
SIPserver :

so here are the important parts of the openser.cfg :

****************************************

listen=192.168.y.y:5060

route {
...
    if (method=="REGISTER") {
                append_hf("Field : value");
                route(2)
                return;
    }
...
}

route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler

                if(!t_relay("udp:51.z.z.z:5060")) {
                        sl_reply_error();
                };
                exit;
}

***************************************

unfortunatly, the "Via" field added by OpenSER contains its private 
address : i'd like OpenSER to use the IP address of its NAT instead :

        Via: SIP/2.0/UDP 192.168.y.y;.... --->   Via: SIP/2.0/UDP 
82.x.x.x:5060;.....

so that the SIPserver will respond through my OpenSER proxy to the user


is there any way to do this ?
it that can help, i'm running openser 1.2.0 from debian packages 
available from openser.org

in the case openSER cannot do this, do you know any other software i 
don't know which could do the same things ?

Regards,

Jérôme




More information about the Users mailing list