Here is simple way to check NAT devices:
if ( search_body('IN IP4 10.') ) { setflag(NAT); }
if ( search_body("IN IP4 192.168.") ) { setflag(NAT); }
if ( search_body("IN IP4 172.16.") ) { setflag(NAT); }2016-03-04 19:31 GMT+02:00 Rodrigo Pimenta Carvalho <[email protected]>: > Hi. > > > Nowadays I'm having problems to take right control of SIP messages, in a > situation with user agents present in the LAN and WAN (some of them are > behind NAT, to the point of view of OpenSIPS). > > To control everything, I'm using local domain and public domain registered > in the Domain table. In addiction I intend to implement the following > algorithm: > > > > If message == SIP INVITE > > { > > //Tries to guess if client's request originated behind a nat. The > parameter determines what heuristics is used > > // *2* - the "received" test is used: address in Via is compared > against source IP address of signaling . > > // *32* - address in Contact is compared against source IP address of > signaling. > > If ( ! nat_uac_test(2 + 32)) > > { > > //caller is in local network > > > If callee is behind a NAT from the point of view of opensips > > { > > avp_db_query("select domain from domain where attrs = public", > "$avp(DOMAIN)"); > > set_advertised_address ("$avp(DOMAIN)); > > } > > else > > { > > avp_db_query("select domain from domain where attrs = local", > "$avp(DOMAIN)"); > set_advertised_address ("$avp(DOMAIN)); > > } > > } > > else > > { > > avp_db_query("select domain from domain where attrs = public", > "$avp(DOMAIN)"); > set_advertised_address ("$avp(DOMAIN)); > > } > > } > > However, how can I know whether the callee is not in the same network area > as the caller, so the callee is behind a NAT? > > > Any hint will be very helpful! > > > RODRIGO PIMENTA CARVALHO > Inatel Competence Center > Software > Ph: +55 35 3471 9200 RAMAL 979 > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > >
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
