|
List Info
Thread: record_route_preset("x.x.x.x:5060; nat=yes"); and search("^Route:.*; nat=yes")
|
|
| record_route_preset("x.x.x.x:5060;
nat=yes"); and
search("^Route:.*; nat=yes") |

|
2007-09-12 00:51:51 |
|
Dear All
I don't understand why in the Openser+MediaProxy i need record_route_preset("x.x.x.x:5060;nat=yes"); and search("^Route:.*;nat=yes") What is the purpose while I can do client_nat_test to see if the request is come from a nat-ed client.
If I remove search("^Route:.*;nat=yes") from below statement, I can do re-INVITE without any problem because it still have client_nat_test to find out the nat in between.
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
setbflag(6); use_media_proxy(); };
Hope someone can give me a clue.
Thank you.
Regards,
Halomoan
|
| Re:
record_route_preset("x.x.x.x:5060;
nat=yes"); and
search("^Route:.*; nat=yes |
  Romania |
2007-09-12 02:37:45 |
Hi Halomoan,
Mainly because the NAT detection on SIP replied is very poor
- you can
check only if the contact address is a private one or not.
The other nat
test are not applicable for replies (but only for
requests).
Anthow, when you process the request, you learn that the
calee is behind
NAT, so you can simple remember this (in RR) than detecting
it each time
when receiving a reply.
regards,
bogdan
Halomoan Chow wrote:
> Dear All
>
> I don't understand why in the Openser+MediaProxy i
need
> record_route_preset("x.x.x.x:5060;nat=yes");
and
> search("^Route:.*;nat=yes")
> What is the purpose while I can do client_nat_test to
see if the
> request is come from a nat-ed client.
>
> If I remove search("^Route:.*;nat=yes") from
below statement, I can do
> re-INVITE without any problem because it still have
client_nat_test to
> find out the nat in between.
>
> if (client_nat_test("3") ||
search("^Route:.*;nat=yes")) {
> setbflag(6);
> use_media_proxy();
> };
>
>
> Hope someone can give me a clue.
>
> Thank you.
>
> Regards,
>
> Halomoan
>
------------------------------------------------------------
------------
>
> _______________________________________________
> Users mailing list
> Users openser.org
> htt
p://openser.org/cgi-bin/mailman/listinfo/users
>
_______________________________________________
Users mailing list
Users openser.org
htt
p://openser.org/cgi-bin/mailman/listinfo/users
|
|
| Re:
record_route_preset("x.x.x.x:5060;
nat=yes"); and
search("^Route:.*; nat=yes |
  Romania |
2007-09-14 03:47:51 |
Hi Halomoan,
loose_route() only marks the Route hdr to be deleted when
the message is
sent out (it does not actually delete the hdr). So, the
search after
loose_route() should work, but it look a bit broken to me,
as it will
check all the Route hdrs and not only the one belonging to
the server.
regards,
bogdan
Halomoan Chow wrote:
> I copy and paste the logic example generated from
sipwise below.
> I can see for first request, it marked the sender is
behind nat with
> record_route(";nat=yes")
>
> In the loose route block, it tries to identify sender
if they are
> behind nat with search("^Route:.*;nat=yes").
>
> In one sip proxy architecture, after you enter
loose_route() function,
> the Via with ;nat has gone, right? and the
search("^Route:.*;nat=yes")
> test would always return false.
> Please correct me if i'm wrong. Thank you.
>
>
> if(!is_method("REGISTER"))
> {
> if(nat_uac_test("19"))
> {
>
record_route(";nat=yes");
> }
> else
> {
> record_route();
> }
> }
> if(is_method("CANCEL") ||
is_method("BYE"))
> {
> end_media_session();
> }
>
> if(loose_route())
> {
> if(!has_totag())
> {
>
> xlog("L_INFO",
"Initial loose-routing rejected
> - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$cin");
> sl_send_reply("403",
"Initial Loose-Routing
> Rejected");
> exit;
> }
> if(nat_uac_test("19") ||
search("^Route:.*;nat=yes"))
> {
> fix_nated_contact();
> setbflag(6);
> }
>
> route(3);
> }
>
>
> On 9/12/07, *Bogdan-Andrei Iancu* <bogdan voice-system.ro
> <mailto:bogdan voice-system.ro>> wrote:
>
> Hi Halomoan,
>
> Mainly because the NAT detection on SIP replied is
very poor - you can
> check only if the contact address is a private one
or not. The
> other nat
> test are not applicable for replies (but only for
requests).
>
> Anthow, when you process the request, you learn
that the calee is
> behind
> NAT, so you can simple remember this (in RR) than
detecting it
> each time
> when receiving a reply.
>
> regards,
> bogdan
>
> Halomoan Chow wrote:
> > Dear All
> >
> > I don't understand why in the
Openser+MediaProxy i need
> >
record_route_preset("x.x.x.x:5060;nat=yes"); and
> > search("^Route:.*;nat=yes")
> > What is the purpose while I can do
client_nat_test to see if the
> > request is come from a nat-ed client.
> >
> > If I remove
search("^Route:.*;nat=yes") from below statement,
I
> can do
> > re-INVITE without any problem because it still
have
> client_nat_test to
> > find out the nat in between.
> >
> > if (client_nat_test("3") ||
search("^Route:.*;nat=yes")) {
> > setbflag(6);
> > use_media_proxy();
> > };
> >
> >
> > Hope someone can give me a clue.
> >
> > Thank you.
> >
> > Regards,
> >
> > Halomoan
> >
>
------------------------------------------------------------
------------
> >
> >
_______________________________________________
> > Users mailing list
> > Users openser.org <mailto:Users openser.org>
> > htt
p://openser.org/cgi-bin/mailman/listinfo/users
> >
>
>
_______________________________________________
Users mailing list
Users openser.org
htt
p://openser.org/cgi-bin/mailman/listinfo/users
|
|
| Re:
record_route_preset("x.x.x.x:5060;
nat=yes"); and
search("^Route:.*; nat=yes |

|
2007-09-14 04:09:29 |
Hi Bodan
I understand your explaination for loose_route(). but you
said it will
check all Route hdrs? I thought it should only check 1 line
at a time,
so remove only the Route hdrs that belong to it, right?
I think to fully understand openser, you got to have a
complete sample
message of SIP in different dialog/session and in different
condition
Halomoan
On 9/14/07, Bogdan-Andrei Iancu <bogdan voice-system.ro> wrote:
> Hi Halomoan,
>
> loose_route() only marks the Route hdr to be deleted
when the message is
> sent out (it does not actually delete the hdr). So, the
search after
> loose_route() should work, but it look a bit broken to
me, as it will
> check all the Route hdrs and not only the one belonging
to the server.
>
> regards,
> bogdan
>
> Halomoan Chow wrote:
> > I copy and paste the logic example generated from
sipwise below.
> > I can see for first request, it marked the sender
is behind nat with
> > record_route(";nat=yes")
> >
> > In the loose route block, it tries to identify
sender if they are
> > behind nat with
search("^Route:.*;nat=yes").
> >
> > In one sip proxy architecture, after you enter
loose_route() function,
> > the Via with ;nat has gone, right? and the
search("^Route:.*;nat=yes")
> > test would always return false.
> > Please correct me if i'm wrong. Thank you.
> >
> >
> > if(!is_method("REGISTER"))
> > {
> > if(nat_uac_test("19"))
> > {
> >
record_route(";nat=yes");
> > }
> > else
> > {
> > record_route();
> > }
> > }
> > if(is_method("CANCEL") ||
is_method("BYE"))
> > {
> > end_media_session();
> > }
> >
> > if(loose_route())
> > {
> > if(!has_totag())
> > {
> >
> > xlog("L_INFO",
"Initial loose-routing rejected
> > - M=$rm RURI=$ru F=$fu T=$tu IP=$si
ID=$cin");
> >
sl_send_reply("403", "Initial Loose-Routing
> > Rejected");
> > exit;
> > }
> > if(nat_uac_test("19") ||
search("^Route:.*;nat=yes"))
> > {
> > fix_nated_contact();
> > setbflag(6);
> > }
> >
> > route(3);
> > }
> >
> >
> > On 9/12/07, *Bogdan-Andrei Iancu* <bogdan voice-system.ro
> > <mailto:bogdan voice-system.ro>>
wrote:
> >
> > Hi Halomoan,
> >
> > Mainly because the NAT detection on SIP
replied is very poor - you can
> > check only if the contact address is a private
one or not. The
> > other nat
> > test are not applicable for replies (but only
for requests).
> >
> > Anthow, when you process the request, you
learn that the calee is
> > behind
> > NAT, so you can simple remember this (in RR)
than detecting it
> > each time
> > when receiving a reply.
> >
> > regards,
> > bogdan
> >
> > Halomoan Chow wrote:
> > > Dear All
> > >
> > > I don't understand why in the
Openser+MediaProxy i need
> > >
record_route_preset("x.x.x.x:5060;nat=yes"); and
> > > search("^Route:.*;nat=yes")
> > > What is the purpose while I can do
client_nat_test to see if the
> > > request is come from a nat-ed client.
> > >
> > > If I remove
search("^Route:.*;nat=yes") from below statement,
I
> > can do
> > > re-INVITE without any problem because it
still have
> > client_nat_test to
> > > find out the nat in between.
> > >
> > > if (client_nat_test("3") ||
search("^Route:.*;nat=yes")) {
> > > setbflag(6);
> > > use_media_proxy();
> > > };
> > >
> > >
> > > Hope someone can give me a clue.
> > >
> > > Thank you.
> > >
> > > Regards,
> > >
> > > Halomoan
> > >
> >
------------------------------------------------------------
------------
> > >
> > >
_______________________________________________
> > > Users mailing list
> > > Users openser.org
<mailto:Users openser.org>
> > > htt
p://openser.org/cgi-bin/mailman/listinfo/users
> > >
> >
> >
>
>
_______________________________________________
Users mailing list
Users openser.org
htt
p://openser.org/cgi-bin/mailman/listinfo/users
|
|
[1-4]
|
|