<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: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=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Nur Text Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.NurTextZchn
        {mso-style-name:"Nur Text Zchn";
        mso-style-priority:99;
        mso-style-link:"Nur Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</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 lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText"><span lang="EN-US">Hello community,<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">I work with Kamailio 4.2.0 which is placed between two networks (with two interfaces) and RTPproxy in bridge mode.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">The task from Kamailio is to handle the calls from internal networks to internal networks only on the internal Interface without bridging. For external networks vice versa. If the call comes from external to internal,
 then the RTPproxy should work in bridge mode and vice versa. I adapt the example with IPv4 and IPv6 routing, but this is not working for internal to external calls and vice versa (<a href="http://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6">http://kb.asipto.com/kamailio:kamailio-mixed-ipv4-ipv6</a>).
 Only external calls and only internal calls works. I think the cause of this behavior is the routing which I implemented to the RTPmanage part in the Kamailio config.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">The error message is given by the internal device. (call from external to internal)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">If I make a call from internal to external, the RTP stream is only in one direction.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Internal Interface IP: 203.207.111.58<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">External Interface IP: 193.16.163.58<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">The RTPproxy config is:<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">CONTROL_SOCK=udp:127.0.0.1:9000<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">EXTRA_OPTS="-l 203.207.111.58/193.16.163.58 -d WARN:LOG_LOCAL1"<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">Kamailio.cfg:<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">#!define INT_IP 10.96.0.0/14<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">#!define EXT_IP 193.0.0.0/8<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"># RTPProxy control and singaling updates for NAT traversal<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">route[NATMANAGE] {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">#!ifdef WITH_NAT<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        if (is_request()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                if(has_totag()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                        if(check_route_param("nat=yes")) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                                setbflag(FLB_NATB);<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                return;<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:red">#       rtpproxy_manage("co");<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"># Start Test routing<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">        if((src_ip==INT_IP && dst_ip==EXT_IP)){<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">                        rtpproxy_manage("cowie");<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">                        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">        if((src_ip==EXT_IP && dst_ip==INT_IP)){<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">                        rtpproxy_manage("cowei");<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US" style="color:#00B050">                        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        if (is_request()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                if (!has_totag()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                        if(t_is_branch_route()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                                add_rr_param(";nat=yes");<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        if (is_reply()) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                if(isbflagset(FLB_NATB)) {<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                        if(is_first_hop())<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                                set_contact_alias();<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">                }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        }<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">#!endif<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">        return;<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Can someone help me with the right routing? Do you need some more debugging information?<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">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Kai<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>