[prev in list] [next in list] [prev in thread] [next in thread]
List: serusers
Subject: Re: [SR-Users] Kamailio behind NAT
From: ZZ Wave <zzwave () gmail ! com>
Date: 2022-07-29 16:16:33
Message-ID: CAM1SSGYopoRkMuTMmaKV3EnaTw2WWwxmtSX4RbiahLjiyBvuJQ () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Grats :)
пт, 8 июл. 2022 г. в 15:33, Алексей Якимкин <ayakimkin@gmail.com>:
> I`ve solved this issue. The condition if ($Ru == *udp*:10.130.0.23:5070 )
> was wrong.
>
> Here is the correct code:
>
> if ($Ru eq "sip:10.130.0.23:5070") {
> $fs = "udp:10.130.0.23:5060";
> } else {
> $fs = "udp:10.130.0.23:5070";
> }
>
>
> пт, 1 июл. 2022 г. в 15:17, Алексей Якимкин <ayakimkin@gmail.com>:
>
>> Hello,
>>
>> Are you ips (LAN_IP and WAN_IP) on sepparate interfaces?
>>
>> I use add_path for Register requests. It insert header Path:
>> <sip:10.130.0.23:5070;lr>
>>
>> My pbx calls to User-Agent throught 10.130.0.23:5070. INVITE(from
>> kamailio) go out to internet from 10.130.0.23:5070
>>
>> This line "$fs = udp:10.130.0.23:5060 ;" don`t work, It produces an
>> error:
>> (pv [pv_branch.c:62]: pv_get_branchx_helper(): error accessing branch [0])
>>
>>
>> ср, 29 июн. 2022 г. в 18:55, ZZ Wave <zzwave@gmail.com>:
>>
>>> I use this with NATed Kamailio and Asterisk for "transparent"
>>> registrations:
>>>
>>> if (is_method("REGISTER")) {
>>> add_path();
>>> }
>>> if ($Ri=="LAN_IP") {
>>> $fs="udp:WAN_IP:5060";
>>> } else {
>>> $fs="udp:LAN_IP:5060";
>>> }
>>>
>>> AFAIK FreeSwitch supports Path as well but Yate doesn't
>>>
>>> ср, 29 июн. 2022 г. в 12:25, Алексей Якимкин <ayakimkin@gmail.com>:
>>>
>>>> Hello,
>>>>
>>>> I have kamailio in local network behind NAT. Kamailio have one
>>>> interface eth1 with ip 10.130.0.23
>>>>
>>>> UserAgent - (internet) - (178.0.0.169)router_with_NAT - (LAN) -
>>>> kamailio+rtpproxy - pbx
>>>>
>>>> I made two listeners:
>>>> listen=udp:10.130.0.23:5070 #to pbx in lan (I don`t want to put via
>>>> header with 178.0.0.169)
>>>> listen=udp:10.130.0.23:5060 advertise 178.0.0.169:5060 #to internet
>>>> (UserAgent need to get via header with 178.0.0.169 )
>>>>
>>>>
>>>> mhomed = 1 # I think It not useful for my case
>>>>
>>>> UserAgent send Register and Invite to 178.0.0.169:5060, Kamailio get
>>>> it on udp:10.130.0.23:5060
>>>>
>>>> Kamailio Relay it to udp:10.130.0.23:5070
>>>>
>>>> My pbx get requests from udp:10.130.0.23:5070 with via header
>>>> 10.130.0.23
>>>>
>>>> Responses to UserAgent go from udp:10.130.0.23:5060 with
>>>> via 178.0.0.169
>>>>
>>>>
>>>> In RELAY block:
>>>> if ($Ru == udp:10.130.0.23:5070 ) {
>>>> #set_send_socket( udp:10.130.0.23:5060 );
>>>> $fs = udp:10.130.0.23:5060 ;
>>>> #force_send_socket( udp:10.130.0.23:5060 );
>>>> } else {
>>>> #set_send_socket( udp:10.130.0.23:5070 );
>>>> $fs = udp:10.130.0.23:5070 ;
>>>> }
>>>> #$fs = udp:10.130.0.23:5070 ;
>>>> if (!t_relay()) {
>>>> sl_reply_error();
>>>> }
>>>>
>>>> route[REGISTRAR] {
>>>>
>>>> if ($rd == "mydomain.ru" || $rd == "mydomain2.ru") {
>>>>
>>>> set_send_socket("udp:10.130.0.23:5070");
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>>
>>>> It works for requests from UserAgent to PBX. But INVITE from my pbx to
>>>> UserAgent goes only through udp:10.130.0.23:5070 , Kamailio realy it
>>>> to internet from udp:10.130.0.23:5070
>>>>
>>>> I get error in syslog: (pv [pv_branch.c:62]: pv_get_branchx_helper():
>>>> error accessing branch [0])
>>>>
>>>> I tried set_send_socket( udp:10.130.0.23:5070 ); and $fs =
>>>> udp:10.130.0.23:5070 ;
>>>>
>>>> Why I can`t relay outgoing requests to internet through another socket?
>>>>
>>>>
>>>> --
>>>>
>>>> Best regards,
>>>> Alex
>>>>
>>>> __________________________________________________________
>>>> Kamailio - Users Mailing List - Non Commercial Discussions
>>>> * sr-users@lists.kamailio.org
>>>> Important: keep the mailing list in the recipients, do not reply only
>>>> to the sender!
>>>> Edit mailing list options or unsubscribe:
>>>> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>> __________________________________________________________
>>> Kamailio - Users Mailing List - Non Commercial Discussions
>>> * sr-users@lists.kamailio.org
>>> Important: keep the mailing list in the recipients, do not reply only to
>>> the sender!
>>> Edit mailing list options or unsubscribe:
>>> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>
>>
>> --
>> С уважением,
>> Якимкин Алексей
>>
>
>
> --
> С уважением,
> Якимкин Алексей
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> * sr-users@lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to
> the sender!
> Edit mailing list options or unsubscribe:
> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
[Attachment #5 (text/html)]
<div dir="ltr">Grats :)<br></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">пт, 8 июл. 2022 г. в 15:33, Алексей Якимкин \
<<a href="mailto:ayakimkin@gmail.com">ayakimkin@gmail.com</a>>:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I`ve solved this issue. The \
condition <font size="2">if ($Ru == <b>udp</b>:10.130.0.23:5070 ) was \
wrong.<br></font></div><div><br></div><div>Here is the correct \
code:</div><div><br></div><div> if ($Ru eq "sip:<a \
href="http://10.130.0.23:5070" target="_blank">10.130.0.23:5070</a>") {<br> \
$fs = "udp:<a href="http://10.130.0.23:5060" \
target="_blank">10.130.0.23:5060</a>";<br> } else {<br> \
$fs = "udp:<a href="http://10.130.0.23:5070" \
target="_blank">10.130.0.23:5070</a>";<br> \
}</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">пт, 1 июл. 2022 г. в 15:17, Алексей Якимкин \
<<a href="mailto:ayakimkin@gmail.com" \
target="_blank">ayakimkin@gmail.com</a>>:<br></div><blockquote class="gmail_quote" \
style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div \
dir="ltr"><div>Hello,</div><div><br></div><div>Are you ips (LAN_IP and WAN_IP) on \
sepparate interfaces?<br></div><div><br></div><div>I use add_path for Register \
requests. It insert header Path: \
<sip:10.130.0.23:5070;lr></div><div><br></div><div>My pbx calls to User-Agent \
throught <a href="http://10.130.0.23:5070" target="_blank">10.130.0.23:5070</a>. \
INVITE(from kamailio) go out to internet from <a href="http://10.130.0.23:5070" \
target="_blank">10.130.0.23:5070</a></div><div><br></div><div>This line <font \
size="2">"$fs = udp:10.130.0.23:5060 ;" <span \
lang="en"><span><span>don`t work, It produces an \
error:</span></span></span></font></div><div><font size="2"><font size="2">(pv \
[pv_branch.c:62]: pv_get_branchx_helper(): error accessing branch \
[0])</font></font></div><div><font size="2"><br></font></div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 29 июн. 2022 г. в \
18:55, ZZ Wave <<a href="mailto:zzwave@gmail.com" \
target="_blank">zzwave@gmail.com</a>>:<br></div><blockquote class="gmail_quote" \
style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr">I use this with NATed Kamailio and \
Asterisk for "transparent" registrations:<div><br></div><div> if \
(is_method("REGISTER")) {<br> add_path();<br> \
}<br> if ($Ri=="LAN_IP") {<br> \
$fs="udp:WAN_IP:5060";<br> } else {<br> \
$fs="udp:LAN_IP:5060";<br> }</div><div><br></div><div>AFAIK \
FreeSwitch supports Path as well but Yate doesn't<br></div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 29 июн. 2022 г. в \
12:25, Алексей Якимкин <<a href="mailto:ayakimkin@gmail.com" \
target="_blank">ayakimkin@gmail.com</a>>:<br></div><blockquote class="gmail_quote" \
style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div \
dir="ltr"><div>Hello,</div><div><br></div><div>I have kamailio in local network \
behind NAT. Kamailio have one interface eth1 with ip <font \
size="2">10.130.0.23</font></div><div><font size="2"><br></font></div><div><font \
size="2">UserAgent - (internet) - (<font size="2">178.0.0.169)</font>router_with_NAT \
- (LAN) - kamailio+rtpproxy - pbx</font></div><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2">I made two \
listeners:<br>listen=udp:<a href="http://10.130.0.23:5070" \
target="_blank">10.130.0.23:5070</a> #to pbx in lan (I don`t want to put via header \
with <font size="2">178.0.0.169</font>)<br>listen=udp:<a \
href="http://10.130.0.23:5060" target="_blank">10.130.0.23:5060</a> advertise <a \
href="http://178.0.0.169:5060" target="_blank">178.0.0.169:5060</a> #to internet \
(UserAgent need to get via header with <font size="2">178.0.0.169</font> \
)</font><br></p><p style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2"><br>mhomed = 1 # I \
think It not useful for my case<br></font></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left">UserAgent send Register and Invite \
to <font size="2"><a href="http://178.0.0.169:5060" \
target="_blank">178.0.0.169:5060</a>, Kamailio get it on </font><font size="2">udp:<a \
href="http://10.130.0.23:5060" target="_blank">10.130.0.23:5060</a></font></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2">Kamailio Relay it \
to udp:<a href="http://10.130.0.23:5070" target="_blank">10.130.0.23:5070</a> \
</font><br></p><p style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2">My pbx get requests \
from udp:<a href="http://10.130.0.23:5070" target="_blank">10.130.0.23:5070</a> \
with via header 10.130.0.23</font><br></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left">Responses to UserAgent go from \
<font size="2"> udp:<a href="http://10.130.0.23:5060" \
target="_blank">10.130.0.23:5060</a> with via 178.0.0.169</font> <br></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2"></font><br></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2">In RELAY \
block:<br>if ($Ru == udp:10.130.0.23:5070 ) {<br>#set_send_socket( \
udp:10.130.0.23:5060 );<br>$fs = udp:10.130.0.23:5060 ;<br>#force_send_socket( \
udp:10.130.0.23:5060 );<br>} else {<br>#set_send_socket( udp:10.130.0.23:5070 \
);<br>$fs = udp:10.130.0.23:5070 ;<br>}<br>#$fs = udp:10.130.0.23:5070 ;<br>if \
(!t_relay()) {<br>sl_reply_error();<br>}</font></p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2"></font></p><font \
size="2"></font><p><span>route</span><span>[REGISTRAR]</span><span> \
{</span><br></p><p><span><span> </span>if ($rd == "<a \
href="http://mydomain.ru" target="_blank">mydomain.ru</a>" || $rd == "<a \
href="http://mydomain2.ru" target="_blank">mydomain2.ru</a>") \
{</span></p><p><span><span> </span>set_send_socket("udp:<a \
href="http://10.130.0.23:5070" \
target="_blank">10.130.0.23:5070</a>")</span><span>;</span></p><p><span> \
}</span><br></p><p><span>}</span><br></p><p><br><span></span></p><p>It works for \
requests from UserAgent to PBX. But INVITE from my pbx to UserAgent goes only through \
<font size="2">udp:<a href="http://10.130.0.23:5070" \
target="_blank">10.130.0.23:5070</a> , Kamailio realy it to internet from <font \
size="2">udp:<a href="http://10.130.0.23:5070" target="_blank">10.130.0.23:5070</a> \
</font> </font></p><p style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><font size="2">I get error in \
syslog: (pv [pv_branch.c:62]: pv_get_branchx_helper(): error accessing branch \
[0])</font></p><p style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left">I tried <font \
size="2">set_send_socket( udp:10.130.0.23:5070 ); and $fs = udp:10.130.0.23:5070 \
;</font></p><p style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left">Why I can`t relay outgoing \
requests to internet through another socket? </p><p \
style="background-color:rgb(255,255,255);border:medium \
none;color:rgb(0,0,0);padding:0px;text-align:left"><br></p><div>-- <br><div \
dir="ltr"><pre style="font-family:courier,"courier \
new",monospace;font-size:14px;white-space:pre-wrap;margin:0px;color:rgb(0,0,0);fo \
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400 \
;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spaci \
ng:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">Best \
regards, Alex</pre></div></div></div>
__________________________________________________________<br>
Kamailio - Users Mailing List - Non Commercial Discussions<br>
* <a href="mailto:sr-users@lists.kamailio.org" \
target="_blank">sr-users@lists.kamailio.org</a><br>
Important: keep the mailing list in the recipients, do not reply only to the \
sender!<br> Edit mailing list options or unsubscribe:<br>
* <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" \
rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>
__________________________________________________________<br>
Kamailio - Users Mailing List - Non Commercial Discussions<br>
* <a href="mailto:sr-users@lists.kamailio.org" \
target="_blank">sr-users@lists.kamailio.org</a><br>
Important: keep the mailing list in the recipients, do not reply only to the \
sender!<br> Edit mailing list options or unsubscribe:<br>
* <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" \
rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr">С \
уважением,<br>Якимкин Алексей</div> </blockquote></div><br \
clear="all"><br>-- <br><div dir="ltr">С уважением,<br>Якимкин \
Алексей</div> __________________________________________________________<br>
Kamailio - Users Mailing List - Non Commercial Discussions<br>
* <a href="mailto:sr-users@lists.kamailio.org" \
target="_blank">sr-users@lists.kamailio.org</a><br>
Important: keep the mailing list in the recipients, do not reply only to the \
sender!<br> Edit mailing list options or unsubscribe:<br>
* <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" \
rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
* sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
* https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic