<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> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>We have one Kamailio server with public ip
on Internet and two uac’s behind different nats.<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>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> </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> </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
"25837_10 Uc18,4,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
186.66.71.118 21578 b309ba09;1"<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 "25837_10
38588 200.xxx.xx.xxx<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
"25839_6 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1"<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 "25839_6
58568 200.xxx.xx.xxx<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
"25839_7 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1"<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 "25839_7
58568 200.xxx.xx.xxx<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
"25839_8 Lc18,101 YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk.
190.152.165.48 20514 b309ba09;1 0d4da661;1"<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 "25839_8
58568 200.xxx.xx.xxx<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>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> </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 "25839_9 D YmRjZmE5NWM5MmRkMjQ3YmJjNWI5YWFlNGNhZTU1NDk. b309ba09
0d4da661"<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 "25839_9 0<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>Sometime rtp don’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
"25840_5 Uc18,4,101 MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk.
186.66.71.118 21586 1e4c8b45;1"<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 "25840_5
57504 200.xxx.xx.xxx<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
"25838_10 Lc18,101 MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk.
190.152.165.48 20522 1e4c8b45;1 7d31770c;1"<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 "25838_10
55194 200.xxx.xx.xxx<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>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
"25839_10 D MGZjYTk4Yjc0YTZkNzI4YTdhZDUxZGZkMzE0ZDA5Yzk. 1e4c8b45
7d31770c"<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 "25839_10
0<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>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> </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> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </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 = "Server: SIP Proxy
V1.5.2-tls"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>user_agent_header = "Server: SIP
Proxy V1.5.2-tls"<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> </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 =
"/usr/local/etc/kamailio/tls/user/user-cert.pem"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>tls_private_key =
"/usr/local/etc/kamailio/tls/user/user-privkey.pem"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>tls_ca_list =
"/usr/local/etc/kamailio/tls/user/user-calist.pem"<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># --- module loading<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>mpath="/usr/local/lib/kamailio/modules/"<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>loadmodule "mi_fifo.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "db_mysql.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "sl.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "tm.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "rr.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "maxfwd.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "usrloc.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "registrar.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "textops.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "nathelper.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "auth.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "auth_db.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "pv.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "siputils.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "avpops.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "xlog.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "uac.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "perl.so"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>loadmodule "htable.so"<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># --- setting module parameters<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># -- mi_fifo params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("mi_fifo",
"fifo_name", "/tmp/kamailio_fifo")<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>modparam("usrloc|auth_db","db_url","mysql://openser:xxx@localhost/openser")<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># -- usrloc params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("usrloc",
"db_mode", 2)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("usrloc",
"nat_bflag", 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># -- registrar params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("registrar|nathelper",
"received_avp", "$avp(i:42)")<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># -- auth params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("auth_db",
"calculate_ha1", 0)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("auth_db",
"password_column", "ha1")<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># -- rr params --<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("rr",
"enable_full_lr", 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># -- nathelper<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("nathelper",
"rtpproxy_sock", "udp:localhost:7722")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("nathelper",
"natping_interval", 30)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("nathelper",
"ping_nated_only", 1)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("nathelper",
"sipping_bflag", 7)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("nathelper",
"sipping_from", "sip:pinger@xxxxx")<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># -- perl<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("perl",
"modpath", "/usr/local/lib/kamailio/perl")<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>modparam("perl",
"filename", "/usr/local/etc/kamailio/voipprepago.pl")<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>modparam("htable",
"htable", "intentoslogin=>size=4;")<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># --- 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("10")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> sl_send_reply("483","Too
Many Hops");<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 >= 2048 ) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> sl_send_reply("513",
"Message too big");<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) && (!
uri=~"sip:.*[@]+.*")) {<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> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if (!method=="REGISTER")<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> </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("P-hint:
rr-enforced\r\n"); <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> </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("P-hint:
outbound\r\n"); <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> </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=="REGISTER") {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(!www_authorize("xxxx", "subscriber")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> www_challenge("xxxx",
"0");<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> </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("location","0x04");<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> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(!lookup("location")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> sl_send_reply("404",
"Not Found");<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> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US> append_hf("P-hint:
usrloc applied\r\n"); <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> 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> </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> </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> </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("19")) {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> if
(method=="REGISTER") {<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> </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("BYE|CANCEL")) {<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("INVITE")){<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> force_rtp_proxy("o");<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> t_on_failure("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))<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> search_append('Contact:.*sip:[^>[:cntrl:]]*',
';nat=yes');<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> t_on_reply("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> </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> </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))
&& status=~"(183)|(2[0-9][0-9])") {<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> log(2, "Enabling
RTPProxy ONREPLY_ROUTE1");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> xlog(" dd:
$avp(i:450) srcip: $src_ip\n");<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US> force_rtp_proxy("o");<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> search_append('Contact:.*sip:[^>[:cntrl:]]*',
';nat=yes');<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 (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> </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> </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> </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>