[Spce-user] Error on ROUTE_OUTBOUND, REPLY_ROUTE_STD and REPLY_ROUTE_NAT

Andrew Pogrebennyk apogrebennyk at sipwise.com
Wed Nov 5 07:21:08 EST 2014


Hi all,

you should receive templates version mr3.5.1.16 shortly.

Cheers,
Andrew

On 11/05/2014 12:04 PM, Andrew Pogrebennyk wrote:
> Summarizing for the list: the problem happens if the request contains
> pre-loaded Route header with a domain name. If there is an IP address in
> Route it works fine.
> 
> Apparently kamailio's loose_route function returns TRUE if the request
> contains pre-loaded Route header with a domain name while in
> documentation it says:
> http://kamailio.org/docs/modules/4.2.x/modules/rr.html#loose-route-id
> 
> 5.1. loose_route()
> ...
> of RFC 3261. There is only one exception: If the request is
> out-of-dialog (no to-tag) and there is only one Route: header indicating
> the local proxy, then the Route: header is removed and the function
> returns FALSE.
> 
> "indicating the local proxy" apparently means - if the Route has the IP
> of our proxy, but it's not able to detect if the Route has the FQDN
> which is in the domains table.
> 
> Currently we call record_route() if loose_route() returns TRUE,
> somewhere later we call msg_apply_changes() which produces lump errors
> and then we call record_route() again. There is no problem in calling
> msg_apply_changes()  before record_route().
> 
> The solution would be to move the record_route lower:
> 
> --- a/kamailio/proxy/proxy.cfg
> +++ b/kamailio/proxy/proxy.cfg
> @@ -101,7 +101,6 @@ route[ROUTE_PRX_REQUEST]
> 
>         if(loose_route())
>         {
> -               record_route();
>                 if(check_route_param("rtpprx=yes"))
>                 {
>                         # force rtpproxy
> @@ -135,6 +134,7 @@ route[ROUTE_PRX_REQUEST]
>                 }
>                 else
>                 {
> +                       record_route();
>                         # Work around sems-sbc sending a Route header
>                         # also for non-200 ACK.
>                         if(is_method("ACK") && $oU == "proxylu_callee")
> 
> I will test and push this fix to mr3.4.2 and mr3.5.1 soon.
> 
> Thanks for the bugreport.
> 
> Andrew
> _______________________________________________
> Spce-user mailing list
> Spce-user at lists.sipwise.com
> https://lists.sipwise.com/listinfo/spce-user
> 




More information about the Spce-user mailing list