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

Ovidiu Sas osas at voipembedded.com
Thu May 8 22:24:03 CEST 2008


You shouldn't re-write the Contact header.  Leave it as is (with the
private IP address).
If your B2BUA is rfc complaint, it will send the in-dilaog request to
the public IP of OpenSER with the target being
the private IP and then OpenSER will properly route the request.  The
B2BUA doesn't need to be able to route to the remote target, it needs
to be able to route to the top SIP hop in the record-route header
list.


Regards,
Ovidiu Sas

On Thu, May 8, 2008 at 4:16 PM, Andrew Pogrebennyk
<andrew.pogrebennyk at portaone.com> wrote:
> 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
>
>
>
>  _______________________________________________
>  Users mailing list
>  Users at lists.openser.org
>  http://lists.openser.org/cgi-bin/mailman/listinfo/users
>




More information about the Users mailing list