<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    the src_ip is not a local IP, so do not match it with INT_IP or
    EXT_IP. The dst_ip is local ip, but the one on which the interface
    was received.<br>
    <br>
    You can test the $fs to see what socket is going to be used for
    sending out.<br>
    <br>
    Or set some branch flag for each interface when the registration is
    processed and check that in branch route<br>
    <br>
    if(is_method("REGISTER")) {<br>
    if(dst_ip==INT_IP){<br>
       setbflag(20);<br>
    }else{<br>
       setbflag(21);<br>
    }<br>
    }<br>
    <br>
    then in route[NATMANGE] have conditions like:<br>
    <br>
    if(src_ip==INT_IP && isflagset(20)) {<br>
       # internal to internal<br>
    } else if(src_ip==INT_IP && isflagset(21)) {<br>
       # internal to external<br>
    } else if ...<br>
    <br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 08/10/15 11:14, <a class="moz-txt-link-abbreviated" href="mailto:kai.ohnacker@cbc.de">kai.ohnacker@cbc.de</a>
      wrote:<br>
    </div>
    <blockquote
      cite="mid:5A4C35A70604964FBD46890CC952D95433920673@MANA1.netrtlsrv.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <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]-->
      <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 moz-do-not-send="true"
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 style="color:#00B050" lang="EN-US">#!define
            INT_IP 10.96.0.0/14<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" lang="EN-US">#!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 style="color:red" lang="EN-US">#      
            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 style="color:#00B050" lang="EN-US">       
            if((src_ip==INT_IP && dst_ip==EXT_IP)){<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" lang="EN-US">                       
            rtpproxy_manage("cowie");<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" lang="EN-US">                       
            }<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" lang="EN-US">       
            if((src_ip==EXT_IP && dst_ip==INT_IP)){<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" lang="EN-US">                       
            rtpproxy_manage("cowei");<o:p></o:p></span></p>
        <p class="MsoPlainText"><span style="color:#00B050" 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_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>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a></pre>
  </body>
</html>