<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<BR>Hola,&nbsp;<BR>&nbsp;<BR>La razón por la que escribo esta vez es para ver si me pueden ayudar adirigir llamas hacia un voicemail configurado en Asterisk.<BR>&nbsp;<BR>El escenario es el siguiente: hasta este punto tengo usuarios que se encuentran en LDAP, estos se autentican a través de un servidor Radius con OpenSER, una vez que tengo los usuarios en Openser estos&nbsp;pueden hacer llamadas SIP&nbsp;entre usuarios registrados asé como tambien&nbsp;realizar llamadas a la pstn utilizando para ello Asterisk como gateway, por otro lado los usuarios de OpenSER pueden consultar su buzón de voz al presionar *98, el buzón esta vacío porque no se como hacer que OpenSer redireccione la llamada a Asterisk en caso de que el cliente este ocupado o no disponible.<BR>&nbsp;<BR>Se que tengo que usar el failure_route pero no se como aplicarlo,<BR>&nbsp;<BR>Gracias en adelanto por la ayuda,<BR>&nbsp;<BR>Mario F.<BR>&nbsp;<BR>Mi openser.cfg es el siguiente:<BR>&nbsp;<BR><BR>
<P class=ecxMsoPlainText><SPAN style="FONT-FAMILY: 'Courier New'">debug=3<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># debug level (cmd line: -dddddddddd)<BR>fork=no<BR>log_stderror=yes<SPAN>&nbsp;&nbsp;&nbsp; </SPAN># (cmd line: -E)<BR><BR>/* Uncomment these lines to enter debugging mode <BR>fork=no<BR>log_stderror=yes<BR>*/<BR><BR>check_via=no<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># (cmd. line: -v)<BR>dns=no<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># (cmd. line: -r)<BR>rev_dns=no<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># (cmd. line: -R)<BR>port=5060<BR>children=4<BR></SPAN><SPAN style="FONT-FAMILY: 'Courier New'" lang=ES-VE>listen=udp:192.168.1.11<BR>alias="tesis.com"<BR></SPAN><SPAN style="FONT-FAMILY: 'Courier New'">#<BR># uncomment the following lines for TLS support<BR>#disable_tls = 0<BR>#listen = tls:your_IP:5061<BR>#tls_verify = 1<BR>#tls_require_certificate = 0<BR>#tls_method = TLSv1<BR>#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"<BR>#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"<BR>#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"<BR><BR># ------------------ module loading ----------------------------------<BR><BR># Uncomment this if you want to use SQL database<BR><BR>loadmodule "/usr/local/lib/openser/modules/mysql.so"<BR><BR>loadmodule "/usr/local/lib/openser/modules/sl.so"<BR>loadmodule "/usr/local/lib/openser/modules/tm.so"<BR>loadmodule "/usr/local/lib/openser/modules/rr.so"<BR>loadmodule "/usr/local/lib/openser/modules/maxfwd.so"<BR>loadmodule "/usr/local/lib/openser/modules/usrloc.so"<BR>loadmodule "/usr/local/lib/openser/modules/registrar.so"<BR>loadmodule "/usr/local/lib/openser/modules/textops.so"<BR>loadmodule "/usr/local/lib/openser/modules/avpops.so"<BR>loadmodule "/usr/local/lib/openser/modules/xlog.so"<BR>loadmodule "/usr/local/lib/openser/modules/uri.so"<BR>loadmodule "/usr/local/lib/openser/modules/acc.so"<BR>loadmodule "/usr/local/lib/openser/modules/auth_radius.so"<BR>loadmodule "/usr/local/lib/openser/modules/group_radius.so"<BR>loadmodule "/usr/local/lib/openser/modules/avp_radius.so"<BR><BR><BR># Uncomment this if you want digest authentication<BR># mysql.so must be loaded !<BR>loadmodule "/usr/local/lib/openser/modules/auth.so"<BR>#loadmodule "/usr/local/lib/openser/modules/auth_db.so"<BR><BR># ----------------- setting module-specific parameters ---------------<BR><BR># -- usrloc params --<BR><BR>#modparam("usrloc", "db_mode",<SPAN>&nbsp;&nbsp; </SPAN>0)<BR><BR># Uncomment this if you want to use SQL database <BR># for persistent storage and comment the previous line<BR></SPAN><SPAN style="FONT-FAMILY: 'Courier New'" lang=ES-VE>modparam("usrloc", "db_mode", 2)<BR><BR>###############PARAMETROS RADIUS<BR></SPAN><SPAN style="FONT-FAMILY: 'Courier New'"># -- acc params --<BR><BR>modparam("acc", "radius_flag", 1)<BR>modparam("acc", "radius_missed_flag", 2)<BR>modparam("acc", "log_flag", 1)<BR>modparam("acc", "log_missed_flag", 1)<BR>modparam("auth_radius", "service_type", 15)<BR>modparam("acc", "radius_extra", "Sip-Src-IP=$si;Sip-Src-Port=$sp")<BR>modparam("acc|auth_radius|group_radius|avp_radius", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")<BR><BR># -- group_radius params --<BR>modparam("group_radius", "use_domain", 1)<BR><BR># -- avpops params --<BR>modparam("avpops", "avp_aliases", "day=i:101;time=i:102")<BR><BR># -- auth params --<BR># Uncomment if you are using auth module<BR>#<BR>#modparam("auth_db", "calculate_ha1", yes)<BR>#<BR># If you set "calculate_ha1" parameter to yes (which true in this config), <BR># uncomment also the following parameter)<BR>#<BR>#modparam("auth_db", "password_column", "password")<BR><BR># -- rr params --<BR># add value to ;lr param to make some broken UAs happy<BR>modparam("rr", "enable_full_lr", 1)<BR><BR># ------------------------- <SPAN>&nbsp;</SPAN>request routing logic -------------------<BR><BR># main routing logic<BR><BR>route{<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># initial sanity checks -- messages with<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># max_forwards==0, or excessively long requests<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!mf_process_maxfwd_header("10")) {<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>sl_send_reply("483","Too Many Hops");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (msg:len &gt;=<SPAN>&nbsp; </SPAN>2048 ) {<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>sl_send_reply("513", "Message too big");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># we record-route all messages -- to make sure that<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># subsequent messages will go through our proxy; that's<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># particularly good if upstream and downstream entities<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># use different transport protocol<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!method=="REGISTER")<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>record_route();<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># subsequent messages withing a dialog should take the<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># path determined by record-routing<BR><BR><SPAN>&nbsp;&nbsp;</SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (loose_route()) <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>append_hf("P-hint: rr-enforced\r\n"); <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if(is_method("BYE"))<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{ # log it all the time<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>acc_rad_request("200 ok");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>acc_log_request("200 ok");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>route(1);<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if(is_method("INVITE") &amp;&amp; !has_totag())<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp; </SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;</SPAN><SPAN>&nbsp;&nbsp; </SPAN>{<SPAN>&nbsp;&nbsp; </SPAN># set the acc flags<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>log(1,"-----&gt; LLAMADA SIP &lt;----- \n");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>setflag(1);<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>setflag(2);<SPAN>&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp; </SPAN>}<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (uri==myself) <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (method=="REGISTER") <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!radius_www_authorize("tesis.com")) <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 'Courier New'" lang=ES-VE>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>www_challenge("tesis.com", "0");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 'Courier New'">};<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>save("location");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if(uri=~"sip:\*98@.*")<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>#authorize if a call is going to PSTN<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>xlog("L_INFO", "CALL: Call to check voicemail\n");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>rewritehostport("192.168.1.10:5060");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><SPAN></SPAN></SPAN></P>
<P class=ecxMsoPlainText><SPAN style="FONT-FAMILY: 'Courier New'"><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if(uri=~"sip:041[2-6][0-9][0-9][0-9][0-9][0-9][0-9]+@") <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 'Courier New'" lang=ES-VE>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>#xlog("L_ERR", "LLAMANDO A PSTN\n");<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 'Courier New'"># set gateway address "ASTERISK"<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>log(1, "LLAMANDO A PSTN -----&gt; Forwarding to Asterisk &lt;----- \n");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>rewritehostport("192.168.1.10:5060");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>route(1);<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>lookup("aliases");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!uri==myself)<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;</SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>append_hf("P-hint: outbound alias\r\n"); <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>route(1);<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;</SPAN>};<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># native SIP destinations are handled using our USRLOC DB<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!lookup("location")) <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>acc_rad_request("404 Not Found");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>acc_log_request("404 Not Found");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>sl_send_reply("404", "Not Found");<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>append_hf("P-hint: usrloc applied\r\n"); <BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>route(1);<BR>}<BR><BR><BR>route[1] <BR>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># send it out now; use stateful forwarding as it works reliably<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN># even for UDP2TCP<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>if (!t_relay()) <SPAN>&nbsp; </SPAN><BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>sl_reply_error();<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>};<BR><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>exit;<BR>}<BR></P></SPAN><BR>
<HR>
Get news, entertainment and everything you care about at Live.com. <A href="http://www.live.com/getstarted.aspx">Check it out!</A>                                               <br /><hr />Connect to the next generation of MSN Messenger   <a href='http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline' target='_new'>Get it now! </a></body>
</html>