[OpenSIPS-Users] drouting enhancement clarifications
Bogdan-Andrei Iancu
bogdan at opensips.org
Thu Apr 12 16:43:59 CEST 2012
Hi Brett,
I made a fix to "recover" this lost functionality of the DR module - to
be able to select only on gw from a carrier / set (former alg 2).
See:
http://opensips.svn.sourceforge.net/opensips/?rev=8940&view=rev
When defining the carriers, you just need to set flag 0x02 to tell that
only the first selected available GW is to be used.
Regards,
Bogdan
On 04/02/2012 07:51 PM, Brett Nemeroff wrote:
> Bogdan,
>
> So the typical requirement I see is that I'll put in a handful of
> termination gateways for a given carrier, but the carriers usually
> (sometimes?) ask that if the call fails on one of the gateways (like a
> 503) to NOT send it to all the other gateways as well. In fact a
> "next_carrier" function would be ideal. Else, if I'm reading this
> right,if I use the carriers capabilities as listed it'll try every
> single one of the carrier's gateways, right? Or is the weight based
> selection going to pick just one gateways of the carriers each time?
>
> I feel like a lot of my confusion stems from this:
>
> *
>
> list of GWs/carriers (string) - a comma separated list of
> gateways or carriers (defined by IDs) to be used for this rule;
> the carrier IDs are prefixed with “#” sign. For each ID (GW or
> carrier) you may specify a weight. For how this list will be
> interpreted (as order) see the rule selection section. Example
> of list: “gw1,gw4,#cr3”
>
> So this "gwX,#crX" notation is new and is specifically what I don't
> see documented other than in the paragraph listed above. So before
> we'd indicate a gwlist instead of a gateway by prefixing with a # like
> #5 is gwlist 5. But now we have gwX, which I can only assume is
> dr_gateways.gwid=X? and #cr3 which I'd assume is the list of gateways
> associated with carrier_id 3. but I'm not sure why one has a # and the
> other doesn't. Maybe I missed a documentation page? :)
>
>
> Also can the weight based sorting be used on both in the dr_rules
> table to select a carrier and in the dr_carriers table to select a
> gateways (ie carrier 1 weight is 75% and carrier 2 is 25%.. BUT then
> carrier 1's gateway 5 is weight 75% and carrier 1's gateway 7 is
> weight 25%)
>
> Sorry for all the questions. I'm looking forward to the new
> functionality, hope I'm not jumping the gun here. :)
>
> -Brett
>
>
>
>
>
> On Mon, Apr 2, 2012 at 11:26 AM, Bogdan-Andrei Iancu
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
> When doing weight-based selection, all the entries of a carrier
> will be used (of course, based on weight). To be honest I haven;t
> foreseen this case - IMO, I supposed that if one GW of the carrier
> is down, you will always want to try the rest of the GWs from the
> same carrier, rather than falling to another carrier.
>> Or does it already do that? If I don't specify weights, does it try them in serial order?
> yes, but this is not triggered by the lack of weights, but from
> the carrier definition (see the wright flag in the carrier;s flag)
> or the do_routing() "W" flag.
>> Is this documented somewhere that I'm missing? The regular module docs dont' seem to show it.
> Well, you need to read the entire doc in order to get the big
> picture. But if something is found to be missing, I will take care
> of it :)
>
>
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120412/affebc77/attachment.htm>
More information about the Users
mailing list