<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>