[Serusers] strict_routing() function in rr module, where has it gone?

reticent tavis.lists at galaxytelecom.net
Fri Apr 29 23:15:30 CEST 2005


Jan Janak wrote:

>On 27-04-2005 15:59, reticent wrote:
>  
>
>>I have several different UAC's that insist on doing strict routing and
>>this is causing me some moderate issues as i can find no way to deal
>>with the situation on SER.
>>    
>>
>
>  What exactly is the isssue ? loose_routing is backwards compatible in
>  vast majority of cases (it is not backwards compatible when user
>  agents use pre-loaded route sets).
>  
>  
>
According to the rr module documentation:
--
1.4.2. strict_route() -- deprecated

   If there are any Route HFs in the message, the function takes
   the first one, rewrites Request-URI with it's value and
   removes the first URI from Route HFs.
--

This is all in relation to the message looping problem i reported
previously where an ACK comes to ser with an RURI of SER and a route
pointing to a nexthop, but instead of routing to the nexthop
(loose_route does not match because the UAC does not properly use the
Record-Route header, and generates a "Route" header using the
information from the contact) SER sends the message to itself over and
over again.

With the "strict_route()" function (according to the documentation for
it), i should be able to detect this situation and route the message
properly, the reason i mentioned the bit inside the source code was
because it mentions "if you really need strict routing then you can
replace the last zeroes with REQUEST_ROUTE to enable strict_route ...",
adding REQUEST_ROUTE properly enables record_route_strict (which i do
not need) but cannot (from what i can tell look at the code) enable
strict_route because the function is simply gone.



>>According to the documentation that comes with the "rr" module there is
>>supposed to be a function called "strict_route()" that does exactly what
>>i want (move the value from the "Route:" header into the RURI), however
>>the module does not provide this function. I'm curious if this
>>functionality has been folded into loose_route or if it has simply
>>dissappeared?
>>    
>>
>
>  It has not dissappeared, it is in loose_route. The function can detect
>  whether the next hop is strict or loose router and behave accordingly.
>
>  
>
>>There is a section in the source code of rr_mod.c that allows you to
>>enable the function "record_route_strict()" and it also talks about
>>enabling "strict_route()" however i have had no success with it.
>>    
>>
>
>  The function is called record_route_strict and it is a replacement for
>  record_route. If you want SER to be a strict router, then replace the
>  last zero in record_route_strict row of cmds[] in rr_mod.c with
>  REQUEST_ROUTE. That would enable the function and you can use it in
>  the script. In the script you then need to replace record_route with
>  record_route_strict.
>
>  The difference is that record_route_strict will not add ;lr parameter
>  to the Record-Route haader fields generated by SER.
>
>    Jan.
>
>
>  
>




More information about the sr-users mailing list