<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<meta name="Microsoft Theme 2.00" content="Aftrnoon 011">

<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
h1
        {mso-style-priority:9;
        mso-style-link:"Título 1 Car";
        margin-top:24.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:16.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
h2
        {mso-style-priority:9;
        mso-style-link:"Título 2 Car";
        margin-top:10.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:"Calibri","sans-serif";
        color:black;
        font-weight:normal;}
h3
        {mso-style-priority:9;
        mso-style-link:"Título 3 Car";
        margin-top:10.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:"Calibri","sans-serif";
        color:black;
        font-weight:normal;}
h4
        {mso-style-priority:9;
        mso-style-link:"Título 4 Car";
        margin-top:10.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:"Calibri","sans-serif";
        color:black;
        font-weight:normal;}
h5
        {mso-style-priority:9;
        mso-style-link:"Título 5 Car";
        margin-top:10.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:"Calibri","sans-serif";
        color:black;
        font-weight:normal;}
h6
        {mso-style-priority:9;
        mso-style-link:"Título 6 Car";
        margin-top:10.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;
        font-weight:normal;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#983738;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#703637;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texto de globo Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.EstiloCorreo17
        {mso-style-type:personal-compose;
        color:black;}
span.Ttulo1Car
        {mso-style-name:"Título 1 Car";
        mso-style-priority:9;
        mso-style-link:"Título 1";
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:bold;}
span.Ttulo2Car
        {mso-style-name:"Título 2 Car";
        mso-style-priority:9;
        mso-style-link:"Título 2";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Ttulo3Car
        {mso-style-name:"Título 3 Car";
        mso-style-priority:9;
        mso-style-link:"Título 3";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Ttulo4Car
        {mso-style-name:"Título 4 Car";
        mso-style-priority:9;
        mso-style-link:"Título 4";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Ttulo5Car
        {mso-style-name:"Título 5 Car";
        mso-style-priority:9;
        mso-style-link:"Título 5";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Ttulo6Car
        {mso-style-name:"Título 6 Car";
        mso-style-priority:9;
        mso-style-link:"Título 6";
        font-family:"Verdana","sans-serif";
        color:black;}
span.TextodegloboCar
        {mso-style-name:"Texto de globo Car";
        mso-style-priority:99;
        mso-style-link:"Texto de globo";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white background="cid:image001.gif@01CA35D2.C17A4320" lang=ES
link="#983738" vlink="#703637">
<img src="cid:image001.gif@01CA35D2.C17A4320"
v:src="cid:image001.gif@01CA35D2.C17A4320" v:shapes="_x0000_Mail" width=0
height=0 class=shape style='display:none;width:0;height:0'><!--[if gte mso 9]><xml>
 <v:background id="_x0000_s1025" o:bwmode="white" o:targetscreensize="1024,768">
  <v:fill src="cid:image001.gif@01CA35D2.C17A4320" o:title="background_aftrnoon" 
   type="frame" />
 </v:background></xml><![endif]-->

<div class=Section1>

<p class=MsoNormal><span lang=EN-US>Hi list,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>We have one Kamailio server with public ip
on Internet and two uac&#8217;s behind different nats.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>The problem is that sometimes rtp packets
flow normally in a call. Sometimes in other call there is no rtp, audio in both
ends same config. At this call, no rtp, we can get rtp packets with hold/unhold
events. <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Thanks in advance.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I am using Kamailio 1.5.2-tls on Lenny Linux
Srv1 2.6.26-2-686 #1 SMP i686 GNU/Linux with rtpproxy:<o:p></o:p></span></p>

<p class=MsoNormal>Srv1:/usr/local/etc/kamailio# rtpproxy -v<o:p></o:p></p>

<p class=MsoNormal><span lang=EN-US>Basic version: 20040107<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20050322: Support for multiple
RTP streams and MOH<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20060704: Support for extra
parameter in the V command<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20071116: Support for RTP
re-packetization<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20071218: Support for forking
(copying) RTP stream<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20080403: Support for RTP
statistics querying<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20081102: Support for setting
codecs in the update/lookup command<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20081224: Support for session
timeout notifications<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Extension 20090810: Support for automatic
bridging<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Rtpproxy is run as follow:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>/usr/local/bin/rtpproxy -u rtpproxy -l 200.XXX.XX.XXX
-s udp:localhost:7722<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>It Sometime works fine, ie rtp flows
normal:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>===RTP YES===<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25837_10 Uc18,4,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
186.66.71.118 21578 b309ba09;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: new session
YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk., tag b309ba09;1 requested, type
strong<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: new session on a port
38588 created, tag b309ba09;1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: pre-filling caller's
address with 186.66.71.118:21578<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25837_10
38588 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25839_6 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: lookup on ports
38588/58568, session timer restarted<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: pre-filling callee's
address with 190.152.165.48:20514<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25839_6
58568 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25839_7 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: lookup on ports
38588/58568, session timer restarted<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25839_7
58568 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25839_8 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: lookup on ports
38588/58568, session timer restarted<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25839_8
58568 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: caller's address filled
in: 186.66.71.118:1030 (RTP<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        ==TearDownRTPYES===<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        DBUG:handle_command: received
command &quot;25839_9 D YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk. b309ba09
0d4da661&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_delete: forcefully deleting
session 1 on ports 38588/58568<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: RTP stats: 1702 in
from callee, 1562 in from caller, 3264 relayed, 0 dropped<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: RTCP stats: 7 in from
callee, 7 in from caller, 14 relayed, 0 dropped<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: session on ports
38588/58568 is cleaned up<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25839_9 0<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Sometime rtp don&#8217;w flows.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>====No RTP====<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25840_5 Uc18,4,101 MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk.
186.66.71.118 21586 1e4c8b45;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: new session
MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk., tag 1e4c8b45;1 requested, type
strong<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: new session on a port
57504 created, tag 1e4c8b45;1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: pre-filling caller's
address with 186.66.71.118:21586<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25840_5
57504 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25838_10 Lc18,101 MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk.
190.152.165.48 20522 1e4c8b45;1 7d31770c;1&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: lookup on ports
57504/55194, session timer restarted<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_command: pre-filling callee's
address with 190.152.165.48:20522<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25838_10
55194 200.xxx.xx.xxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: caller's address filled
in: 186.66.71.118:1030 (RTP)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: callee's address filled
in: 192.168.50.30:20522 (RTP)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: guessing RTCP port for
callee to be 20523<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: callee's address filled
in: 190.152.165.48:20523 (RTCP)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:rxmit_packets: caller's address filled
in: 186.66.71.118:1030 (RTCP)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        ===TearDownNoRTP==<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:handle_command: received command
&quot;25839_10 D MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk. 1e4c8b45
7d31770c&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:handle_delete: forcefully deleting
session 1 on ports 57504/55194<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: RTP stats: 2 in from
callee, 7324 in from caller, 7326 relayed, 0 dropped<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: RTCP stats: 30 in from
callee, 31 in from caller, 61 relayed, 0 dropped<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>INFO:remove_session: session on ports
57504/55194 is cleaned up<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>DBUG:doreply: sending reply &quot;25839_10
0<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Kamailio config:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US># ----------- global configuration
parameters ------------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>debug=4            # debug level (cmd line:
-dddddddddd)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>fork=yes<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>log_stderror=no# (cmd line: -E)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>check_via=no    # (cmd. line: -v)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>dns=no          # (cmd. line: -r)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>rev_dns=no      # (cmd. line: -R)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>port=5060<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>children=6<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>listen=udp:200.xxx:5060<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>server_header = &quot;Server: SIP Proxy
V1.5.2-tls&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>user_agent_header = &quot;Server:  SIP
Proxy V1.5.2-tls&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>alias=xxxx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>/* uncomment the following lines to enable
TLS support  (default off) */<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>disable_tls = no<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>listen = tls:xxxx:5061<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_verify_server = 1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_verify_client = 1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_require_client_certificate = 0<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_method = TLSv1<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_certificate =
&quot;/usr/local/etc/kamailio/tls/user/user-cert.pem&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_private_key =
&quot;/usr/local/etc/kamailio/tls/user/user-privkey.pem&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>tls_ca_list     =
&quot;/usr/local/etc/kamailio/tls/user/user-calist.pem&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># --- module loading<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>mpath=&quot;/usr/local/lib/kamailio/modules/&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;mi_fifo.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;db_mysql.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;sl.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;tm.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;rr.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;maxfwd.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;usrloc.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;registrar.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;textops.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;nathelper.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;auth.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;auth_db.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;pv.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;siputils.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;avpops.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;xlog.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;uac.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;perl.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>loadmodule &quot;htable.so&quot;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># --- setting module parameters<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- mi_fifo params --<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;mi_fifo&quot;,
&quot;fifo_name&quot;, &quot;/tmp/kamailio_fifo&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;usrloc|auth_db&quot;,&quot;db_url&quot;,&quot;mysql://openser:xxx@localhost/openser&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- usrloc params --<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;usrloc&quot;,
&quot;db_mode&quot;, 2)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;usrloc&quot;,
&quot;nat_bflag&quot;, 6)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- registrar params --<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;registrar|nathelper&quot;,
&quot;received_avp&quot;, &quot;$avp(i:42)&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- auth params --<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;auth_db&quot;,
&quot;calculate_ha1&quot;, 0)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;auth_db&quot;,
&quot;password_column&quot;, &quot;ha1&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- rr params --<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;rr&quot;,
&quot;enable_full_lr&quot;, 1)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- nathelper<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;nathelper&quot;,
&quot;rtpproxy_sock&quot;, &quot;udp:localhost:7722&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;nathelper&quot;,
&quot;natping_interval&quot;, 30)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;nathelper&quot;,
&quot;ping_nated_only&quot;, 1)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;nathelper&quot;,
&quot;sipping_bflag&quot;, 7)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;nathelper&quot;,
&quot;sipping_from&quot;, &quot;sip:pinger@xxxxx&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># -- perl<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;perl&quot;,
&quot;modpath&quot;, &quot;/usr/local/lib/kamailio/perl&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;perl&quot;,
&quot;filename&quot;, &quot;/usr/local/etc/kamailio/voipprepago.pl&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>modparam(&quot;htable&quot;,
&quot;htable&quot;, &quot;intentoslogin=&gt;size=4;&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US># --- main routing logic<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>route{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if
(!mf_process_maxfwd_header(&quot;10&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                sl_send_reply(&quot;483&quot;,&quot;Too
Many Hops&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (msg:len &gt;=  2048 ) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                sl_send_reply(&quot;513&quot;,
&quot;Message too big&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (uri==myself) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if ((method==OPTIONS) &amp;&amp; (!
uri=~&quot;sip:.*[@]+.*&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                options_reply();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        # NAT detection<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        route(2);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (!method==&quot;REGISTER&quot;)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                record_route();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (loose_route()) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                append_hf(&quot;P-hint:
rr-enforced\r\n&quot;); <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                route(1);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (!uri==myself) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                append_hf(&quot;P-hint:
outbound\r\n&quot;); <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                route(1);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (uri==myself) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                if
(method==&quot;REGISTER&quot;) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        if
(!www_authorize(&quot;xxxx&quot;, &quot;subscriber&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               www_challenge(&quot;xxxx&quot;,
&quot;0&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        if (isflagset(5)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               setbflag(6);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               # if you
want OPTIONS natpings uncomment next<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                setbflag(7);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        save(&quot;location&quot;,&quot;0x04&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                if
(!lookup(&quot;location&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        sl_send_reply(&quot;404&quot;,
&quot;Not Found&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                append_hf(&quot;P-hint:
usrloc applied\r\n&quot;); <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        route(1);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>route[1] {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if
(subst_uri('/(sip:.*);nat=yes/\1/')){<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                setbflag(6);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (isflagset(5)||isbflagset(6)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                route(3);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (!t_relay()) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                sl_reply_error();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>route[2]{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        force_rport();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (nat_uac_test(&quot;19&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                if
(method==&quot;REGISTER&quot;) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        fix_nated_register();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                } else {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                        fix_nated_contact();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                setflag(5);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>route[3] <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if
(is_method(&quot;BYE|CANCEL&quot;)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                unforce_rtp_proxy();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        } else if
(is_method(&quot;INVITE&quot;)){<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        force_rtp_proxy(&quot;o&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                t_on_failure(&quot;1&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (isflagset(5))<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        search_append('Contact:.*sip:[^&gt;[:cntrl:]]*',
';nat=yes');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        t_on_reply(&quot;1&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>failure_route[1] {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (isbflagset(6) || isflagset(5))
{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                unforce_rtp_proxy();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>onreply_route[1] <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>{<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if ((isflagset(5) || isbflagset(6))
&amp;&amp; status=~&quot;(183)|(2[0-9][0-9])&quot;) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                log(2, &quot;Enabling
RTPProxy ONREPLY_ROUTE1&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                 xlog(&quot; dd:
$avp(i:450) srcip: $src_ip\n&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                force_rtp_proxy(&quot;o&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>       };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        search_append('Contact:.*sip:[^&gt;[:cntrl:]]*',
';nat=yes');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        if (isbflagset(6)) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                fix_nated_contact();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        }<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>Atentamente,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>Luis Guamán<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>República 396 y Diego de Almagro<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>Ph:+593.2.2526585<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>Cel:+593.9.4264354<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#C0504D'>Quito - Ecuador<o:p></o:p></span></p>

<p class=MsoNormal align=right style='text-align:right'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'><img width=366 height=98
id="Imagen_x0020_1" src="cid:image002.jpg@01CA35D2.C17A4320" alt=logoReducido><o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

 <BR><BR>__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4392 (20090903) __________<BR><BR>ESET NOD32 Antivirus ha comprobado este mensaje.<BR><BR><A HREF="http://www.eset.com">http://www.eset.com</A><BR> </body>

</html>