[OpenSIPS-Devel] ENUM lookups, q-value, and serialize_branches()
Phil Vandry
vandry at TZoNE.ORG
Sat Oct 18 21:39:24 CEST 2008
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)
- 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.
- 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