[OpenSIPS-Devel] ENUM lookups, q-value, and serialize_branches()

Klaus Darilion klaus.mailinglists at pernau.at
Mon Oct 20 00:54:48 CEST 2008


Phil Vandry wrote:
> On Sat, 18 Oct 2008 15:18:59 +0200, Klaus Darilion wrote:
>> The difference is recognizable if you use multiple service types. The 
> [...]
>> In this case the client must use SIP to setup the call.
> 
> Good point.
> 
>> Probably we can't tell of serial/parallel forking based on ENUM NAPTRs 
>> is against the RFC. Nevertheless, as people use it, the proxy should 
>> support both methods.
> 
> Then I suggest the following:
> 
> - Discard all NAPTR records with higher Order once we find one with
>   matching flags & service (the RFC is pretty clear about that)

and matching regexp?
> 
> - Add an optional parameter to control how to handle Preference:
> 
>   - (the default and the current behaviour) assign equal q-values to
>     equal Preference, lower q-values to less preferred records.

I think if you discard higher order NAPTRs you can not have the current 
behavior anymore.

klaus


> 
>   - assign lower q-values to all other records, even when the Preference
>     is the same
> 
>   - consider only one result (no branches)
> 
> Another possibility is a weighted randomizer. If p[x] is the Preference
> of record x then the probability that record x is selected is
> 1 / ( p[x] Σ(1/p[i]) ). I don't know if anyone really wants that :-)
> 
> If you agree with this then I will implement it.
> 
> -Phil




More information about the Devel mailing list