[prev in list] [next in list] [prev in thread] [next in thread]
List: openser-devel
Subject: [Devel] [ openser-Patches-1647045 ] record-route uri parameter for
From: "SourceForge.net" <noreply () sourceforge ! net>
Date: 2007-01-29 13:24:41
Message-ID: E1HBWUz-0003hu-Kq () sc8-sf-web9 ! sourceforge ! net
[Download RAW message or body]
Patches item #1647045, was opened at 2007-01-29 13:46
Message generated for change (Comment added) made by marcushunger
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=1647045&group_id=139143
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Marcus Hunger (marcushunger)
Assigned to: Nobody/Anonymous (nobody)
Summary: record-route uri parameter for stateless sip loadbalancing
Initial Comment:
Following andreas granigs proposal \
(http://www.openser.org/pipermail/users/2006-March/003289.html) for creating a \
loadbalanced/redundant sip-proxy-environment, it seems to me, that it is not possible \
to create a scenario with loadbalancers being stateless and clients being behind a \
nat. Establishing an INVITE-dialog went well until the callee's 200 OK had to be \
ACKed. At this point of the session, messages are not routed anymore using path's \
information but only relying on record-routing and record-routes lack information \
about natted clients. So the only out of the box solution I am aware of is keeping \
the loadbalancer stateful.
In order to circumvent this problem and enable the lb to be stateless, I introduced a \
record-route uri-parameter which stores the ip-address of the client's nat-gateway. \
These parameters are created by the outgoing lb, are kept when the loose-routing sets \
are created by the uac and the information there is then used to route the sip \
message to the client correctly by the lb.
I created a patch for openser 1.1.1 which implements the described functionality. It \
introduces a function for openser.cfg called add_rr_received_param, which adds \
";nat_recv=sip:[dst_ip:dst_port]" to current record-route header field. Also it \
includes a function which translates that nat_recv-parameter to "received", when it \
accures in a route header field so the packet can then be routed according to the \
included information. The function hooks via register_rrcb.
----------------------------------------------------------------------
> Comment By: Marcus Hunger (marcushunger)
Date: 2007-01-29 14:24
Message:
Logged In: YES
user_id=1704473
Originator: YES
As far as I understand sip, ACKs for 200 OK are routed to the contact
header field of the 200 OK. Fixing this contact should have to be done in a
reply-route, which does not exists on a stateless router, does it? That's
why I differentiate between stateless and stateful. Anyway, I remember
problems changing contacts/uri with some UACs, so I'd like to keep these.
----------------------------------------------------------------------
Comment By: Klaus Darilion (klaus_darilion)
Date: 2007-01-29 14:03
Message:
Logged In: YES
user_id=1318360
Originator: NO
Hi!
I do not understand correctly the problem. IMO it is unrelated if the
forwarding is stateless or statefull. What is the problem when the load
balancer does record_routing and fix_nated_contact? Or do you want to avoid
fix_nated_contact?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=1647045&group_id=139143
_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic