----- Original Message ----
From: Ovidiu Sas <osas@voipembedded.com>
To: Douglas Garstang <dougmig33@yahoo.com>
Cc: Henning Westerholt <henning.westerholt@1und1.de>; users@lists.openser.org
Sent: Wednesday, March 26, 2008 6:56:15 AM
Subject: Re: [OpenSER-Users] Carrierroute... Do I almost have it???
On Wed, Mar 26, 2008 at 2:31 AM, Douglas Garstang <
dougmig33@yahoo.com> wrote:
>
> >I am using this module in production with more then 400k routes loaded
> >for 8 different providers and it is working like a charm.
> >As Henning mentioned, the interface is a little bit cumbersome but usable.
> >You can put all the carriers under the same table and prioritize the
> >gateway based on domains. Like tis you don't need to hardcode
> >anything in the config file.
> >
> >Carrierroute was designed to deal with a big amount of routing rules
> >and it is doing an amazing job.
> >LCR was designed to deal with a limited number of routes/gateways but
> >it has a different level of flexibility and a more mature interface.
> >
> >Carrierroute is a brand new
module and for sure it will improve in
> >flexibility as times go by (just like the lcr did along releases).
>
> Ovidiu (or anyone else....)
>
> I think I may almost have it..... If I treat all routes as being in the same
> carrier, I can just use cr_rewrite_uri("1","call_id"), and then
> cr_rewrite_uri("2","call_id") in failure_route[1] and
> cr_rewrite_uri("2","call_id") in failure_route[2], correct? I tested this
> and it seems to work. I guess it's up to me then to populate the
> rewrite_host column with a gateway belonging to the cheapest carrier for
> domain 1, the a gateway from the next cheapest carrier for domain 2 and so
> on. Still sound right?
finally you got it ;)
> Here's where it gets a bit tricky. We have OpenSER running in 6 different
> locations. The gateways we use will differ for each location (we always want
> to use the
closest gateway belonging to a carrier). So, I figured I could
> use the 'user' functionality in carrierroute to do this. I could simply put
> the domain (IP address) in the domain column, leave the user blank (we don't
> have users... calls are forwarded from asterisk), and then associate a
> carrier in the cr_preferred_carrier column. You can see all that in my
> subscriber table below.
>
> Doesn't seem to work though. When routing a call, OpenSER complains that it
> can't find a default carrier, and then because it seems not to match the
> incoming call against an entry in the subscriber table, it can't find a
> carrier to use, and fails the call.
add a 'default' carrier into the route_tree table
> So... how would I be able to use the source IP address of the asterisk box
> that sends the calls to OpenSER in the subscriber table so that I could have
> different
routing entries for each OpenSER system???
>
> Here's my db tables...
>
>
> mysql> select * from route_tree;
> +----+-----------+
> | id | carrier |
> +----+-----------+
> | 1 | Hong Kong |
> | 0 | San Jose |
> +----+-----------+
>
> mysql> select * from carrierroute order by carrier, scan_prefix, domain;
> +----+---------+-------------+--------+------+-------+--------------+----------------+----------------+---------+
> | id | carrier | scan_prefix | domain | prob | strip | rewrite_host |
> rewrite_prefix | rewrite_suffix | comment |
> +----+---------+-------------+--------+------+-------+--------------+----------------+----------------+---------+
> | 1 | 0 | | 1 | 1 | 0 | 200.1.1.1
|
> | | NULL |
> | 4 | 0 | | 2 | 1 | 0 | 200.1.1.2 |
> | | NULL |
> | 5 | 0 | | 3 | 1 | 0 | 200.1.1.3 |
> | | NULL |
> | 9 | 1 | | 1 | 1 | 0 | 100.1.1.1 |
> | | NULL |
> | 10 | 1 | | 2
| 1 | 0 | 100.1.1.2 |
> | | NULL |
> | 11 | 1 | | 3 | 1 | 0 | 100.1.1.3 |
> | | NULL |
> +----+---------+-------------+--------+------+-------+--------------+----------------+----------------+---------+
>
> mysql> select id, username, domain, cr_preferred_carrier from subscriber;
> +----+----------+----------------+----------------------+
> | id | username | domain | cr_preferred_carrier |
> +----+----------+----------------+----------------------+
> | 1 | | 192.168.255.53 |
0 |
> | 2 | | 192.168.255.54 | 1 |
> +----+----------+----------------+----------------------+
>
>
>
>
>
>
> ________________________________
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it
> now.