loadmodule "lcr.so" # (obviously) route[6] { t_on_reply( "6" ); t_on_failure( "6" ); xlog( "L_NOTICE", "*INVITE ROUTE INITIALIZED\n" ); xlog( "L_NOTICE", " -pre-lookup request is $ru\n" ); if( uri =~ "^sip:011" ) { xlog( "L_NOTICE", "Stripping INTL Prefix\n" ); strip(3); } if( uri =~ "^sip:\+" ) { xlog( "L_NOTICE", "already looks e.164'ish\n" ); } else { xlog( "L_NOTICE", "e.164'izing uri\n" ); prefix( "+" ); } xlog( "L_NOTICE", " -uri now is $ru" ); if( enum_query( "e164.org" ) ) { xlog( "L_NOTICE", "**** YAY, ENUM MATCHED ONE ****$ru\n" ); route( 1 ); exit; } strip(1); if( !load_gws() ) { xlog( "L_NOTICE", " -Unable To Find A Route\n" ); sl_send_reply( "503", "No Route To Destination - gws" ); exit; } else { xlog( "L_NOTICE", " -Loaded Gateways\n" ); } if( !next_gw() ) { xlog( "L_NOTICE", " -Unable To Progress To First Route\n" ); sl_send_reply( "503", "No Route To Destination" ); exit; } else { xlog( "L_NOTICE", " -Following First Route to $ru\n" ); } failure_route[6] { t_on_failure( "6" ); t_on_reply( "6" ); xlog( "L_NOTICE", "*INVITE FAILURE ROUTE INITIALIZED\n" ); if( !next_gw() ) { xlog( "L_NOTICE", " -No More GateWays To Try\n" ); return(-1); } xlog( "L_NOTICE", " -Trying Next GateWay\n" ); if( !t_relay() ) { xlog( "L_NOTICE", "Unable To Relay\n" ); } exit; }