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:
On 10/20/2011 09:29 PM, Skyler wrote:
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.