Hi,
I am trying to figure out how to use branch route for nat traversal. If a subscriber registers from multiple locations, a branch route is called after lookup. For example, if locations include UAs behind same NAT and different NAT, i'd like to invoke any rtp/media-proxy accordingly in branch_route[], . However they can't be called inside a branch_route. What's the best way to do this?
Thanks, Richard
Hi Richard,
to implement per branch NAT traversal, you need several thing, additional to branch route: - per branch flags - these are available in the current testing/developing branch (cvs head) - see http://www.openser.org/pipermail/devel/2005-September/000515.html - nathelper/mediaproxy functions to be allowed to be called from branch route - for the moment I see no problem with doing this, but I will have to double check before setting proper function allowances.
regards, bogdan
Richard Z wrote:
Hi,
I am trying to figure out how to use branch route for nat traversal. If a subscriber registers from multiple locations, a branch route is called after lookup. For example, if locations include UAs behind same NAT and different NAT, i'd like to invoke any rtp/media-proxy accordingly in branch_route[], . However they can't be called inside a branch_route. What's the best way to do this?
Thanks, Richard
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Hi Bogdan,
Can add_rr_param be called from branch_route? It is needed for later processing of re-INVITE.
If SDP is different for each branch, what would it be for the failure route in a serial forking senario? Is the message reverted back to its original content? That brings another question... can these functions be called from failure_route?
Thanks, Richard
On 9/26/05, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Richard,
to implement per branch NAT traversal, you need several thing, additional to branch route:
- per branch flags - these are available in the current
testing/developing branch (cvs head) - see http://www.openser.org/pipermail/devel/2005-September/000515.html
- nathelper/mediaproxy functions to be allowed to be called from
branch route - for the moment I see no problem with doing this, but I will have to double check before setting proper function allowances.
regards, bogdan
Richard Z wrote:
Hi,
I am trying to figure out how to use branch route for nat traversal. If a subscriber registers from multiple locations, a branch route is called after lookup. For example, if locations include UAs behind same NAT and different NAT, i'd like to invoke any rtp/media-proxy accordingly in branch_route[], . However they can't be called inside a branch_route. What's the best way to do this?
Thanks, Richard
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Hi Richard,
if it's safe or not call add_rr_param() from branch_route is an already debated subject. See: http://www.openser.org/pipermail/devel/2005-September/000573.html
Shortly you may not call it from failure route or from branch route triggered from a failure route(so no serial forking. But you can safely use it from a branch_route triggered by a request route.
This problem will be fixed as soon as the cvs is forked for the new upcoming release.
regarding the future behaviour in failure route - if you do add_rr_param() in branch route, this change will not be visible in the failure_route - actually any change from branch route will not be visible in failure route.
regards, bogdan
Richard Z wrote:
Hi Bogdan,
Can add_rr_param be called from branch_route? It is needed for later processing of re-INVITE.
If SDP is different for each branch, what would it be for the failure route in a serial forking senario? Is the message reverted back to its original content? That brings another question... can these functions be called from failure_route?
Thanks, Richard
On 9/26/05, *Bogdan-Andrei Iancu* <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Richard, to implement per branch NAT traversal, you need several thing, additional to branch route: - per branch flags - these are available in the current testing/developing branch (cvs head) - see http://www.openser.org/pipermail/devel/2005-September/000515.html - nathelper/mediaproxy functions to be allowed to be called from branch route - for the moment I see no problem with doing this, but I will have to double check before setting proper function allowances. regards, bogdan Richard Z wrote: > Hi, > > I am trying to figure out how to use branch route for nat traversal. > If a subscriber registers from multiple locations, a branch route is > called after lookup. For example, if locations include UAs behind same > NAT and different NAT, i'd like to invoke any rtp/media-proxy > accordingly in branch_route[], . However they can't be called inside a > branch_route. What's the best way to do this? > > Thanks, > Richard > >------------------------------------------------------------------------ > >_______________________________________________ >Users mailing list > Users@openser.org <mailto:Users@openser.org> >http://openser.org/cgi-bin/mailman/listinfo/users > >
Regarding the reINVITE - I've seen a number of UAs that dont return all rr parms in the subsequent Route. If your configuration depends on this feature you will have problems with these UAs. FYI - Asterisk prior to about 4 weeks ago has this problem. Also some WiFi SIP phones. If you want to use the UA to save proprietary dialog/call stateful info this way (in rr params) you will need to carefully test the UAs used in your network. Mark On 9/26/05, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Richard,
if it's safe or not call add_rr_param() from branch_route is an already debated subject. See: http://www.openser.org/pipermail/devel/2005-September/000573.html
Shortly you may not call it from failure route or from branch route triggered from a failure route(so no serial forking. But you can safely use it from a branch_route triggered by a request route.
This problem will be fixed as soon as the cvs is forked for the new upcoming release.
regarding the future behaviour in failure route - if you do add_rr_param() in branch route, this change will not be visible in the failure_route - actually any change from branch route will not be visible in failure route.
regards, bogdan
Richard Z wrote:
Hi Bogdan,
Can add_rr_param be called from branch_route? It is needed for later processing of re-INVITE.
If SDP is different for each branch, what would it be for the failure route in a serial forking senario? Is the message reverted back to its original content? That brings another question... can these functions be called from failure_route?
Thanks, Richard
On 9/26/05, *Bogdan-Andrei Iancu* <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Richard,
to implement per branch NAT traversal, you need several thing, additional to branch route:
- per branch flags - these are available in the current
testing/developing branch (cvs head) - see http://www.openser.org/pipermail/devel/2005-September/000515.html
- nathelper/mediaproxy functions to be allowed to be called from
branch route - for the moment I see no problem with doing this, but I will have to double check before setting proper function allowances.
regards, bogdan
Richard Z wrote:
Hi,
I am trying to figure out how to use branch route for nat traversal. If a subscriber registers from multiple locations, a branch route is called after lookup. For example, if locations include UAs
behind same
NAT and different NAT, i'd like to invoke any rtp/media-proxy accordingly in branch_route[], . However they can't be called
inside a
branch_route. What's the best way to do this?
Thanks, Richard
Users mailing list Users@openser.org mailto:Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Serusers mailing list Serusers@iptel.org http://mail.iptel.org/mailman/listinfo/serusers
Mark Aiken writes:
If you want to use the UA to save proprietary dialog/call stateful info this way (in rr params) you will need to carefully test the UAs used in your network.
or simply don't care such UAs, because they are not SIP UAs.
-- juha
For me that was not an option. Especially when the same UAs work with other commercial SBC used for far-end NAT solutions. If you can chose your UAs then thats great. Liberal in what you accept, conservative in what you send - work for everyone. Mark
On 9/26/05, Juha Heinanen jh@tutpro.com wrote:
Mark Aiken writes:
If you want to use the UA to save proprietary dialog/call stateful info this way (in rr params) you will need to carefully test the UAs used in
your
network.
or simply don't care such UAs, because they are not SIP UAs.
-- juha
Mark Aiken writes:
For me that was not an option. Especially when the same UAs work with other commercial SBC used for far-end NAT solutions. If you can chose your UAs then thats great. Liberal in what you accept, conservative in what you send
- work for everyone.
it is ok for ser to be liberal and accept invalid stuff. this is something else, i.e., it is the UA does not process correctly rr headers and violates rfc3261 where it is VERY explicitly said that any rr parameters MUST be preserved. such UAs are therefore welcome to shoot themselves.
-- juha
i'm sorry, this is off topic but that was excellent.
i've not been able to laugh about this type of problem for far too long =P
"
it is the UA does not process correctly rr headers and violates rfc3261 where it is VERY explicitly said that any rr parameters MUST be preserved. such UAs are therefore welcome to shoot themselves.
-- juha
"
I am using a variant of asterisk based in 1.0.7. I haven't had any problem calling between polycom and it. Was there any bug fix 4 weeks ago?
On 9/26/05, Mark Aiken aiken.mark@gmail.com wrote:
Regarding the reINVITE - I've seen a number of UAs that dont return all rr parms in the subsequent Route. If your configuration depends on this feature you will have problems with these UAs. FYI - Asterisk prior to about 4 weeks ago has this problem. Also some WiFi SIP phones.
It looks like a lot of troubles to do it, at least for now. I will just set the nat flag if any one destination requires nat travesal processing.
Thanks, Richard
On 9/26/05, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Richard,
if it's safe or not call add_rr_param() from branch_route is an already debated subject. See: http://www.openser.org/pipermail/devel/2005-September/000573.html
Shortly you may not call it from failure route or from branch route triggered from a failure route(so no serial forking. But you can safely use it from a branch_route triggered by a request route.
This problem will be fixed as soon as the cvs is forked for the new upcoming release.
regarding the future behaviour in failure route - if you do add_rr_param() in branch route, this change will not be visible in the failure_route - actually any change from branch route will not be visible in failure route.
regards, bogdan
Richard Z wrote:
Hi Bogdan,
Can add_rr_param be called from branch_route? It is needed for later processing of re-INVITE.
If SDP is different for each branch, what would it be for the failure route in a serial forking senario? Is the message reverted back to its original content? That brings another question... can these functions be called from failure_route?
Thanks, Richard
On 9/26/05, *Bogdan-Andrei Iancu* <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Richard,
to implement per branch NAT traversal, you need several thing, additional to branch route:
- per branch flags - these are available in the current
testing/developing branch (cvs head) - see http://www.openser.org/pipermail/devel/2005-September/000515.html
- nathelper/mediaproxy functions to be allowed to be called from
branch route - for the moment I see no problem with doing this, but I will have to double check before setting proper function allowances.
regards, bogdan
Richard Z wrote:
Hi,
I am trying to figure out how to use branch route for nat traversal. If a subscriber registers from multiple locations, a branch route is called after lookup. For example, if locations include UAs
behind same
NAT and different NAT, i'd like to invoke any rtp/media-proxy accordingly in branch_route[], . However they can't be called
inside a
branch_route. What's the best way to do this?
Thanks, Richard
Users mailing list Users@openser.org mailto:Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users