<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Untitled Document</TITLE><BASE 
href=file://C:\Sistemas\WebPages\Processa\>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>BODY {
        FONT-SIZE: small; COLOR: #0000ff; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
TD {
        FONT-SIZE: small; COLOR: #0000ff; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
TH {
        FONT-SIZE: small; COLOR: #0000ff; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
BODY {
        BACKGROUND-IMAGE: url(./Images/Marca.JPG)
}
</STYLE>

<META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<DIV>&nbsp;&nbsp;&nbsp; I´m has a problem that my openser sometimes not 
accounting bye method and this cause a call without pay.&nbsp;See 
the&nbsp;openser.cfg:</DIV>
<DIV>#<BR># $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $<BR>#<BR># 
simple quick-start config script<BR>#&nbsp;&nbsp;&nbsp;&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV># ----------- global configuration parameters 
------------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV>debug=4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd 
line: -dddddddddd)<BR>##--<BR>#<BR># Uncomment these lines to 
daemonize<BR>fork=yes<BR>log_stderror=no # (cmd line: -E)<BR>##--<BR>#<BR># 
Uncomment these lines to enter debugging 
mode<BR>#fork=no<BR>#log_stderror=yes<BR>##--</DIV>
<DIV>&nbsp;</DIV>
<DIV>alias=sip.processavoip.net<BR>listen=201.32.70.20<BR>#syn_branch=1<BR>memlog=3<BR>sip_warning=1<BR>server_signature=yes<BR>reply_to_via=0<BR>mhomed=0<BR>disable_dns_blacklist=yes</DIV>
<DIV>&nbsp;</DIV>
<DIV>unix_sock="/tmp/openser.sock"</DIV>
<DIV>&nbsp;</DIV>
<DIV>check_via=0&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: 
-v)<BR>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
(cmd. line: -r)<BR>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: 
-R)<BR>port=5060<BR>children=4<BR>mpath="/usr/local/lib/openser/modules/"</DIV>
<DIV>&nbsp;</DIV>
<DIV># ------------------ module loading 
----------------------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># Uncomment this if you want to use SQL database<BR>loadmodule 
"mysql.so"<BR>loadmodule "sl.so"<BR>loadmodule "tm.so"<BR>loadmodule 
"rr.so"<BR>loadmodule "maxfwd.so"<BR>loadmodule "usrloc.so"<BR>loadmodule 
"registrar.so"<BR>loadmodule "textops.so"</DIV>
<DIV>loadmodule "auth.so"&nbsp;&nbsp;&nbsp;&nbsp; <BR>loadmodule 
"auth_radius.so"<BR>loadmodule "uri.so"<BR>loadmodule "domain.so"<BR>loadmodule 
"permissions.so"<BR>loadmodule "mediaproxy.so" <BR>loadmodule 
"nathelper.so"&nbsp; <BR>loadmodule "acc.so"<BR>loadmodule 
"xlog.so"<BR>loadmodule "dbtext.so"<BR>loadmodule "uri_db.so"<BR>loadmodule 
"mi_fifo.so"<BR>loadmodule "group.so"&nbsp; <BR># ----------------- setting 
module-specific parameters ---------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- mi-fifo params --<BR>modparam("mi_fifo", "fifo_name", 
"/tmp/openser_fifo")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- usrloc params --<BR>modparam("usrloc", "db_mode", 
2)<BR>modparam("usrloc", "nat_bflag", 6)<BR>modparam("usrloc", "domain_column", 
"fk_domains")<BR>modparam("usrloc", "user_column", "fk_accounts") </DIV>
<DIV>&nbsp;</DIV>
<DIV># -- rr params --<BR># add value to ;lr param to make some broken UAs 
happy<BR>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV>&nbsp;</DIV>
<DIV>## -- database params 
--<BR>modparam("acc|usrloc|group|domain|uri_db|permissions", "db_url", 
"mysql://root:master@localhost/openser")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- radius params --<BR>modparam("acc|auth_radius", "radius_config", 
"/etc/radiusclient-ng/radiusclient.conf")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- radius permissions --<BR>modparam("permissions", "db_mode", 
1)<BR>modparam("permissions", "trusted_table", "trusted")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- group params --<BR>modparam("group", "table", 
"accounts_groups")<BR>modparam("group", "user_column", 
"fk_accounts")<BR>modparam("group", "domain_column", 
"fk_domains")<BR>modparam("group", "group_column", 
"pk_accounts_groups")<BR>modparam("group", "use_domain", 0)</DIV>
<DIV>&nbsp;</DIV>
<DIV>## -- acc params --<BR>modparam("acc", "radius_missed_flag", 
3)<BR>modparam("acc", "radius_flag", 2)<BR>#modparam("acc", "radius_extra", 
"via=$hdr(Via[*]); email=$avp(s:email)")<BR>modparam("acc", "log_level", 
2)<BR>modparam("acc", "log_extra", 
"src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd")</DIV>
<DIV>modparam("acc", "radius_extra", 
"User-Name=$fU;Suffix=$fd;Sip-Translated-Request-URI=$ru")<BR>modparam("acc", 
"service_type", 15)<BR>modparam("acc", "failed_transaction_flag", 
1)<BR>modparam("acc", "report_ack", 1)<BR>modparam("acc", "report_cancels", 
1)<BR>modparam("acc", "log_missed_flag", 2)<BR>modparam("acc", "log_flag", 
1)<BR>## -- acc params without radius --<BR>#modparam("acc", "db_missed_flag", 
3)<BR>#modparam("acc", "db_flag", 2)<BR>#modparam("acc", "db_table_acc", 
"call_history")<BR>#modparam("acc", "db_table_missed_calls", 
"call_history_missed")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- uri_db params --<BR>modparam("uri_db", "subscriber_table", 
"accounts")<BR>modparam("uri_db", "subscriber_domain_column", 
"fk_domains")<BR>modparam("uri_db", "subscriber_user_column", "pk_accounts") 
</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- domain params&nbsp; --<BR>modparam("domain", "domain_table", 
"domains")<BR>modparam("domain", "domain_col", "pk_domains")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- nathelper, mediaproxy nd registrar params --<BR>modparam("nathelper", 
"sipping_bflag", 7)<BR>modparam("nathelper", "sipping_from", 
"sip:pinger@openser.org")<BR>modparam("nathelper", "rtpproxy_disable", 
1)<BR>modparam("nathelper", "natping_interval", 30)<BR>modparam("nathelper", 
"ping_nated_only", 1)&nbsp;&nbsp; # Ping only clients behind 
NAT<BR>modparam("registrar|nathelper", "received_avp", "$avp(i:42)") # to 
configure nat at openser 1.2, 1.3 or 1.4<BR>modparam("mediaproxy", 
"mediaproxy_socket", "/var/run/mediaproxy.sock")<BR>modparam("mediaproxy", 
"natping_interval", 30)<BR>#modparam("mediaproxy", "sip_asymmetrics", 
"/etc/openser/sip-clients")<BR>#modparam("mediaproxy", "rtp_asymmetrics", 
"/etc/openser/rtp-clients")<BR>#modparam("registrar", "received_avp", 
"$avp(s:rcv)") # to configure nat at openser 1.2, 1.3 or 1.4</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR># -- tm params --<BR># set time for which ser will be waiting for a 
final response;<BR># fr_inv_timer sets value for INVITE transactions, 
fr_timer&nbsp;&nbsp; <BR># for all others<BR>#modparam("tm", "fr_inv_timer", 15 
) #Tempo maximo do ring antes de atender<BR>#modparam("tm", "fr_timer", 
1)<BR>#modparam("tm", "wt_timer", 1)</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR># -------------------------&nbsp; request routing logic 
-------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># main routing logic</DIV>
<DIV>&nbsp;</DIV>
<DIV>route {</DIV>
<DIV>&nbsp; # initial sanity checks -- messages with<BR>&nbsp; # 
max_forwards==0, or excessively long requests<BR>&nbsp; if 
(!mf_process_maxfwd_header("10")) {<BR>&nbsp;&nbsp;&nbsp; 
sl_send_reply("483","Muitos Hops"); <BR>&nbsp;&nbsp;&nbsp; log(1, "486: Muitos 
Hops\n");<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; if (msg:len 
&gt;=&nbsp; 2048 ) {<BR>&nbsp;&nbsp;&nbsp; sl_send_reply("513", "Message to 
big");<BR>&nbsp;&nbsp;&nbsp; log(1, "513: Message too bi 
\n");<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; ##--<BR>&nbsp; # Eh 
feita a gravacao de todas as mensagens para se certificar que todas as 
mensagens<BR>&nbsp; # passem pelo proxy o que eh importante particularmente se 
as entidades estao usando <BR>&nbsp; # um protocolo de transporte 
diferente<BR>&nbsp; ##--<BR>&nbsp; if (method!="REGISTER") 
{<BR>&nbsp;&nbsp;&nbsp; record_route();<BR>&nbsp; };<BR>&nbsp; 
route(6);<BR>&nbsp; ##--<BR>&nbsp; # Secao de finalizacao da chamada<BR>&nbsp; 
##--<BR>&nbsp; if (method=="BYE" || method=="CANCEL") {<BR>&nbsp;&nbsp;&nbsp; 
end_media_session();<BR>&nbsp; };<BR>&nbsp; ##--<BR>&nbsp; # mensagens 
subsequentes dentro de um dialogo deveriam tomar um caminho 
pre-determinado<BR>&nbsp; # pela gravacao das rotas (record route)<BR>&nbsp; 
##--<BR>&nbsp; if (loose_route()) {<BR>&nbsp;&nbsp;&nbsp; # marca a logica de 
roteamento no pedido<BR>&nbsp;&nbsp;&nbsp; append_hf("P-hint: 
rr_enforced\r\n");&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; if (has_totag() &amp;&amp; 
(method=="INVITE" || method=="ACK")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
xlog("L_ERR", "Main Route: Fixing SDP to $fu $rm (loose 
route)\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (client_nat_test("3") || 
isflagset(5)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
setbflag(6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
use_media_proxy();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>&nbsp;&nbsp;&nbsp; 
};&nbsp; <BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Main Route: Loose Route 
relaying\n");<BR>&nbsp;&nbsp;&nbsp; route(1);<BR>&nbsp;&nbsp;&nbsp; 
exit;<BR>&nbsp; };<BR>&nbsp; if (!uri==myself) {<BR>&nbsp;&nbsp;&nbsp; # marca a 
logica de roteamento no pedido<BR>&nbsp;&nbsp;&nbsp; append_hf("P-hint: 
rr_enforced\r\n");&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Main Route: 
Relaing mesage to proxy destination \n");<BR>&nbsp;&nbsp;&nbsp; 
route(4);<BR>&nbsp;&nbsp;&nbsp; route(1);</DIV>
<DIV>&nbsp; };<BR>&nbsp; ##--<BR>&nbsp; # Verifica baseado na tabela de dominios 
se a parte host da R-URI comtem um dos dominios<BR>&nbsp; # quais o proxy eh 
responsavel<BR>&nbsp; ##--<BR>&nbsp; if (!is_uri_host_local()) 
{<BR>&nbsp;&nbsp;&nbsp; if (is_from_local() || allow_trusted()) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
route(1);<BR>&nbsp;&nbsp;&nbsp; } else {&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply("403", 
"Forbinden...");<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; 
};<BR>&nbsp; ##--<BR>&nbsp; # A rotina abixo eh chamada para marcar o registro 
com NAT<BR>&nbsp; ##--<BR>&nbsp; if (method=="CANCEL") {<BR>&nbsp;&nbsp;&nbsp; 
route(1);<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; } else if (method=="REGISTER") 
{<BR>&nbsp;&nbsp;&nbsp; route(2);<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; } else 
if (method=="INVITE") {<BR>&nbsp;&nbsp;&nbsp; route(3);<BR>&nbsp;&nbsp;&nbsp; 
exit;<BR>&nbsp; };<BR>&nbsp; ##--<BR>&nbsp; # Verifica se existem aliases para 
este endereco e se eles nao pertencem<BR>&nbsp; # a teste dominio encaminhamos 
para frente<BR>&nbsp; ##--<BR>&nbsp; lookup("aliases");<BR>&nbsp; if 
(uri!=myself) {<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Main Route: aliases relayin 
to other domain proxy\n");<BR>&nbsp;&nbsp;&nbsp; route(4);<BR>&nbsp;&nbsp;&nbsp; 
route(1);<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; ##--<BR>&nbsp; # 
Verifica se encontra o usuario na base de localizacao<BR>&nbsp; ##--<BR>&nbsp; 
if (!lookup("location")) {<BR>&nbsp;&nbsp;&nbsp; sl_send_reply("404", "Usuario 
nao encontrado");<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; 
route(1);<BR>&nbsp; exit;<BR>}<BR>&nbsp;&nbsp;&nbsp; <BR>route[1] {<BR>&nbsp; 
##--</DIV>
<DIV>&nbsp; # Envie isto agora; use "statefull fowarding" pois funciona de forma 
confiavel de UDP para TCP<BR>&nbsp; # Ativa a contabilizacao das 
chamadas<BR>&nbsp; ##--<BR>&nbsp; xlog("L_ERR", "Route[1]: Relaying 
message\r\n");<BR>&nbsp; setflag(2);<BR>&nbsp; ##--<BR>&nbsp; # Ativa a 
contabilizacao das chamadas perdidas<BR>&nbsp; ##--<BR>&nbsp; 
setflag(3);<BR>&nbsp; t_on_reply("1");<BR>&nbsp; if (!t_relay()) 
{<BR>&nbsp;&nbsp;&nbsp; if (method=="INVITE" || method=="ACK") 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end_media_session();<BR>&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp; sl_reply_error();<BR>&nbsp; }; <BR>}&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>route[2] {<BR>&nbsp; ##--<BR>&nbsp; # 
Tratamento padrao para as mensagens de Register<BR>&nbsp; ##--<BR>&nbsp; 
sl_send_reply("100", "Registrando....");<BR>&nbsp; xlog("L_ERR", "Route[2]: 
Trying Auth: $fu $si\n");<BR>&nbsp; if (isflagset(5) &amp;&amp; 
client_nat_test("7")) {<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[2]: Client 
behind NAT - flag(6)\n");<BR>&nbsp;&nbsp;&nbsp; 
setbflag(6);<BR>&nbsp;&nbsp;&nbsp; fix_nated_register();<BR>&nbsp;&nbsp;&nbsp; 
force_rport();<BR>&nbsp;&nbsp;&nbsp; # se quiser usar natping options descomente 
a linha abaixo<BR>&nbsp;&nbsp;&nbsp; # setbflag(7);<BR>&nbsp; };<BR>&nbsp; if 
(!radius_www_authorize("")) {<BR>&nbsp;&nbsp;&nbsp; www_challenge("", 
"0");<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[2]: Client Unauthorized: $fu 
$si\r\n");<BR>&nbsp;&nbsp;&nbsp; sl_send_reply("401", 
"Unauthorized");<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; if 
(!check_to()) {<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[2]: Client 
Unauthorized: $fu $si\r\n");<BR>&nbsp;&nbsp;&nbsp; sl_send_reply("401", 
"Unauthorized");<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; } else 
{<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[2]: Authenticate: $fu 
$si\r\n");<BR>&nbsp; };<BR>&nbsp; consume_credentials();<BR>&nbsp; if 
(!save("location")) {<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[2]: Can't save 
register location\r\n");<BR>&nbsp;&nbsp;&nbsp; sl_reply_error();<BR>&nbsp; 
};<BR>}</DIV>
<DIV>route[3] {<BR>&nbsp; ##--<BR>&nbsp; # Tratamento padrao para as mensagens 
de INVITE<BR>&nbsp; ##--<BR>&nbsp; xlog("L_ERR", "Route[3]: INVITE: $fu -&gt; 
$tu $ci\r\n");<BR>#&nbsp; setflag(1);<BR>&nbsp; if (!allow_trusted()) 
{<BR>&nbsp;&nbsp;&nbsp; if (!radius_proxy_authorize("")) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy_challenge("", "0");&nbsp; # Realm will 
be autogenerated<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp;&nbsp;&nbsp; } 
else if (!check_from()) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply("403", 
"Usue from=ID");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Route[3]: 
Error 403 $fu -&gt; $tu\r\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
exit;<BR>&nbsp;&nbsp;&nbsp; };<BR>&nbsp; }<BR>&nbsp; 
consume_credentials();<BR>&nbsp; ##--<BR>&nbsp; # Verifica se existem aliases 
para este endereco e se eles nao pertencem<BR>&nbsp; # a teste dominio 
encaminhamos para frente<BR>&nbsp; ##--<BR>&nbsp; lookup("aliases");<BR>&nbsp; 
if (uri!=myself) {<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Main Route: aliases 
relayin to other domain proxy\n");<BR>&nbsp;&nbsp;&nbsp; 
route(4);<BR>&nbsp;&nbsp;&nbsp; route(1);<BR>&nbsp; };&nbsp; <BR>&nbsp; 
##--<BR>&nbsp; # VoIP Local<BR>&nbsp; ##--<BR>&nbsp; if 
(uri=~"sip:[1-9][0-9]+@.*") {<BR>&nbsp;&nbsp;&nbsp; xlog("L_NOTICE", "OpenSER: 
Ligacao VoIP local: $fU -&gt; $tu\n");<BR>&nbsp; } else {<BR>&nbsp;&nbsp;&nbsp; 
##--<BR>&nbsp;&nbsp;&nbsp; # Nacional<BR>&nbsp;&nbsp;&nbsp; 
##--<BR>&nbsp;&nbsp;&nbsp; if (uri=~"sip:0[1-9][0-9]+@.*") 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("L_NOTICE", "OpenSER: Ligacao Nacional: 
$fU -&gt; $tu\n");<BR>&nbsp;&nbsp;&nbsp; } else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##--<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
Internacional<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
##--<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uri=~"sip:00[1-9][0-9]+@.*") 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("L_NOTICE", "OpenSER: 
Ligacao Interacional: $fU -&gt; $tu\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp; };<BR>&nbsp;&nbsp;&nbsp; 
route(5);<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; if 
(!lookup("location")) {<BR>&nbsp;&nbsp;&nbsp; append_hf("P-hint: usuario nao 
encontrado\r\n");</DIV>
<DIV>&nbsp;&nbsp;&nbsp; sl_send_reply("404", "Usuario nao encontrado"); 
<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; append_hf("P_hint: usrloc 
applied\r\n");<BR>&nbsp; t_on_failure("1");<BR>&nbsp; route(4);<BR>&nbsp; 
route(1);<BR>}<BR>&nbsp;<BR>route[4] {<BR>&nbsp; ##--<BR>&nbsp; # Secao de 
travessia do nat<BR>&nbsp; ##--<BR>&nbsp; if (isflagset(5)) 
{<BR>&nbsp;&nbsp;&nbsp; setbflag(6);<BR>&nbsp; };<BR>&nbsp; if (isflagset(5) || 
isbflagset(6) || isbflagset(7)) {<BR>&nbsp;&nbsp;&nbsp; 
use_media_proxy();<BR>&nbsp;&nbsp;&nbsp; xlog("L_ERR", "Rota[4]: Travessia de 
NAT mediaproxy\n");<BR>&nbsp; };<BR>}&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; 
<BR>route[5] {<BR>&nbsp; ##--<BR>&nbsp; # Encaminhamento para a rede publica 
(PSTN)<BR>&nbsp; ##--<BR>&nbsp; xlog("L_ERR", "Route[5]: Relaying to 
PSTN\n");<BR>&nbsp; rewritehostport("201.32.70.21");<BR>&nbsp; 
route(4);<BR>&nbsp; route(1);<BR>}<BR>&nbsp;<BR>route[6] {<BR>&nbsp; 
force_rport();<BR>&nbsp; if (nat_uac_test("19")) {<BR>&nbsp;&nbsp;&nbsp; if 
(method=="REGISTER") {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
fix_nated_register();&nbsp; <BR>&nbsp;&nbsp;&nbsp; } else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_contact();<BR>&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp; setflag(5);<BR>&nbsp; };<BR>}&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp; <BR>failure_route[1] {<BR>&nbsp; if 
(t_check_status("487")) {<BR>&nbsp;&nbsp;&nbsp; exit;<BR>&nbsp; };<BR>&nbsp; if 
(isbflagset(6) || isflagset(5)) {<BR>&nbsp;&nbsp;&nbsp; 
end_media_session();</DIV>
<DIV>&nbsp;&nbsp;};</DIV>
<DIV>onreply_route[1] {<BR>&nbsp; ##--<BR>&nbsp; # Bloco de tratamento de 
respostas<BR>&nbsp; ##--<BR>&nbsp; if ((isflagset(5) || isbflagset(6)) 
&amp;&amp; status=~"(180)|(183)|(2[0-9][0-9])") {<BR>&nbsp;&nbsp;&nbsp; 
use_media_proxy();<BR>#&nbsp;&nbsp;&nbsp; 
search_append('Contact:.*sip:[^&gt;[:cntrl:]]*', ';nat=yes');<BR>&nbsp; 
}<BR>&nbsp; if (isbflagset(6)) {<BR>&nbsp;&nbsp;&nbsp; 
fix_nated_contact();<BR>&nbsp; }<BR>}</DIV>
<DIV>
<DIV class=Section1>
<DIV align=justify>
<TABLE border=0>
  <TBODY>
  <TR>
    <TD colSpan=4>
      <DIV align=justify>
      <HR>

      <DIV align=center><STRONG><FONT face="Arial, Helvetica, sans-serif" 
      size=2><SPAN lang=PT-BR 
      style="FONT-FAMILY: Arial; mso-ansi-language: PT-BR">Alcindo 
      Schleder</SPAN></FONT></STRONG></DIV></DIV></TD></TR>
  <TR>
    <TD colSpan=4>
      <DIV align=justify>
      <P align=center><FONT face="Arial, Helvetica, sans-serif" size=1><A 
      href="http://www.sistemaprocessa.com.br/" target=_blank>Sistema Processa 
      Acessoria e Comunicações Ltda. </A></FONT></P></DIV></TD></TR>
  <TR>
    <TD colSpan=4>
      <DIV class=style3 align=center>
      <UL>
        <LI>
        <DIV align=left>MSN: a_schleder@hotmail.com</DIV></LI>
        <LI>
        <DIV align=left>Skipe: alcindo_schleder</DIV></LI></UL></DIV></TD></TR>
  <TR>
    <TD colSpan=4><FONT face="Arial, Helvetica, sans-serif" size=1>Demétrio P. 
      dos Santos, 705 <?xml:namespace prefix = o /><o:p>- </o:p>95670-000 - 
      Gramado-RS-Brasil<o:p></o:p></FONT></TD></TR>
  <TR>
    <TD width=32><FONT face="Arial, Helvetica, sans-serif" 
      size=1>Celular</FONT></TD>
    <TD noWrap width=95><FONT face="Arial, Helvetica, sans-serif" size=1><SPAN 
      class=GramE>+</SPAN> <B style="mso-bidi-font-weight: normal">55 54 9966 
      7591 </B></FONT></TD>
    <TD width=145 colSpan=2><FONT face="Arial, Helvetica, sans-serif" 
      size=1><SPAN lang=PT-BR 
      style="FONT-FAMILY: Arial; mso-ansi-language: PT-BR"><A 
      href="mailto:alcindo@processa.org">alcindo@processa.org</A></SPAN></FONT><FONT 
      size=1><SPAN lang=PT-BR 
      style="FONT-FAMILY: Arial; mso-ansi-language: PT-BR"></SPAN></FONT></TD></TR>
  <TR><FONT face="Arial, Helvetica, sans-serif" size=1><SPAN lang=PT-BR 
    style="FONT-FAMILY: Arial; mso-ansi-language: PT-BR">
    <TD>Fone</TD>
    <TD noWrap>+55 54 3286-1738</TD>
    <TD colSpan=2><A 
      href="mailto:comercial@processa.org">comercial@processa.org</A></TD></SPAN></FONT></TR></TBODY></TABLE><FONT 
face="Arial, Helvetica, sans-serif" size=1></FONT></DIV>
<P class=MsoNormal align=justify></SPAN><SPAN lang=PT-BR 
style="mso-ansi-language: PT-BR"><o:p></o:p></SPAN></P></DIV></DIV></BODY></HTML>