Hi,
I'm trying to setup an inbound proxy (Proxy-1) using dispatcher to relay between 2 other proxies (proxy-2 & 3) depending on DID, but I need to force all signalling through Proxy-1. so #2 & 3 only communicate with #1 and #1 only communicates up and down stream.
My trouble is, the INVITES contain the original $ru $fu $tu & $ct info when passing down to Proxy-2 or 3. The result is, only partial signalling is being sent to Proxy-1. After the ACK it seems that Proxy-1 is removed from the communication path entirely as $ru becomes $rU@proxy-2 in the ACK from upstream so Proxy-1 is out of the picture from then on. This means BYE's are not working as Proxy-2 & 3 do not have authentication upstream.
I suspect that I need to re-write $ru $fu $tu & $ct info on the original INVITE to reflect Proxy-1 information before dispatching.
Is that what I'm missing? If so, how would I restore the original INVITE info to send upstream again on replies etc.?
Any help is greatly appreciated.
Tia, Skyler
This is where record_route() comes in - see 'rr' module docs.
Hi,
On Thu, 2011-10-20 at 17:58 -0400, Alex Balashov wrote:
This is where record_route() comes in - see 'rr' module docs.
Do you mean I need to store the original $ru $fu $tu & $ct info into rr and restore those within an on_reply_route?
or did I misunderstand?
Skyler
You really need to read RFC 3261 (see the loose-routing behaviour - Route and Record-Route headers).
Regards, Ovidiu Sas
On Thu, Oct 20, 2011 at 9:29 PM, Skyler skchopperguy@gmail.com wrote:
Hi,
On Thu, 2011-10-20 at 17:58 -0400, Alex Balashov wrote:
This is where record_route() comes in - see 'rr' module docs.
Do you mean I need to store the original $ru $fu $tu & $ct info into rr and restore those within an on_reply_route?
or did I misunderstand?
Skyler
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Wow, that should be named "SIP mechanics 101" (would be easier to find while searching). Seriously, I wish I had found this a year ago, I actually thought rfc's were only for developers.
Thanks for suggesting that.
On Thu, 2011-10-20 at 21:41 -0400, Ovidiu Sas wrote:
You really need to read RFC 3261 (see the loose-routing behaviour - Route and Record-Route headers).
Regards, Ovidiu Sas
On Thu, Oct 20, 2011 at 9:29 PM, Skyler skchopperguy@gmail.com wrote:
Hi,
On Thu, 2011-10-20 at 17:58 -0400, Alex Balashov wrote:
This is where record_route() comes in - see 'rr' module docs.
Do you mean I need to store the original $ru $fu $tu & $ct info into rr and restore those within an on_reply_route?
or did I misunderstand?
Skyler
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
On 10/20/2011 09:29 PM, Skyler wrote:
Hi,
On Thu, 2011-10-20 at 17:58 -0400, Alex Balashov wrote:
This is where record_route() comes in - see 'rr' module docs.
Do you mean I need to store the original $ru $fu $tu& $ct info into rr and restore those within an on_reply_route?
or did I misunderstand?
You misunderstood. You keep sequential, in-dialog requests routed through the proxy by using (and understanding) the Record-Route header, not by touching $ru, $fu, $tu & $ct anywhere, at any point.
Ah ok. I will play with rr to better understand how that works.
Thanks :)
On Thu, 2011-10-20 at 21:48 -0400, Alex Balashov wrote:
On 10/20/2011 09:29 PM, Skyler wrote:
Hi,
On Thu, 2011-10-20 at 17:58 -0400, Alex Balashov wrote:
This is where record_route() comes in - see 'rr' module docs.
Do you mean I need to store the original $ru $fu $tu& $ct info into rr and restore those within an on_reply_route?
or did I misunderstand?
You misunderstood. You keep sequential, in-dialog requests routed through the proxy by using (and understanding) the Record-Route header, not by touching $ru, $fu, $tu & $ct anywhere, at any point.