[OpenSER-Users] recover from previous strict routing triggered incorrectly in ALG scenario

Andrew Pogrebennyk andrew.pogrebennyk at portaone.com
Thu May 8 22:16:06 CEST 2008


Bogdan,

Thanks for clarifying, that's good to know the root cause.
But I rewrite the contact IP from INVITE for a reason. As stated 
earlier, on the public internet side OpenSER talks to b2bua. So from 
INVITE b2bua learns remote target URI of the client. And when it's time 
to send BYE to the it, b2bua follows RFC 3261 rules regarding Request-URI:

    The UAC uses the remote target and route set to build the Request-URI
    and Route header field of the request.

    If the route set is empty, the UAC MUST place the remote target URI
    into the Request-URI.  The UAC MUST NOT add a Route header field to
    the request.

    If the route set is not empty, and the first URI in the route set
    contains the lr parameter (see Section 19.1.1), the UAC MUST place
    the remote target URI into the Request-URI and MUST include a Route
    header field containing the route set values in order, including all
    parameters.

Since all URIs in route set from OpenSER do contain lr parameter b2bua 
behaves as described in the last paragraph of the extract above. 
Therefore as long as b2bua can not reach the internal network (it is 
many hops away) and uses the remote target URI to send request to and 
client puts private IP into Contact header (which is the right thing for 
him to do) I do have to rewrite Contact header - otherwise request will 
never reach the destination. Any recommendations?

Bogdan-Andrei Iancu wrote:
> Hi Andrew,
> 
> My question was about the BYE request - all the routing information 
> (Route+RURI) are pointing to your server - I find this a bit strange as 
> there is no information about the end device (where openser should send 
> further the request).
> 
> If I understand correctly your scenario, it seams you change the contact 
> IP from INVITE into the openser IP - this is not good as it will make 
> impossible to make difference between loose route and strict route.
> 
> So your problem is that you put in INVITE's contact the server IP.
> 
> Regards,
> Bogdan

-- 
Sincerely,
Andrew Pogrebennyk




More information about the Users mailing list