[OpenSER-Users] Carrierroute... Do I almost have it???

Ovidiu Sas osas at voipembedded.com
Wed Mar 26 14:56:15 CET 2008


On Wed, Mar 26, 2008 at 2:31 AM, Douglas Garstang <dougmig33 at 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.




More information about the Users mailing list