[OpenSER-Users] The best way to allow just a few destinations based on prefix?
Henning Westerholt
henning.westerholt at 1und1.de
Wed Feb 20 10:24:50 CET 2008
On Tuesday 19 February 2008, Phil D'Amore wrote:
> It looks like you may have settled on a solution already but I'd like
> to add that carrierroute will do what you are looking for as well with
> a little work, as I do exactly this already. I have some customers
> that are only allowed to call certain prefixes (more specific than
> entire countries, but same principle).
>
> What you do is create a route tree for every unique situation you
> have, and then add the allowed routes to each tree. For your example
> it would look something like this (requires openser 1.3):
>
> route_tree table:
> [...]
> # HEre's a cheap way to do a blackhole route using this stuff.
> # You create a carrierroute entry and instead of a gateway host in the
> rewrite_host
> # column, just us ethe string "blackhole". Then you can do something like
> this: if($rd == "blackhole") {
> acc_db_request("403 Blackhole route", "acc");
> sl_send_reply("403", "Forbidden");
> }
Hi Phil,
just to give a little bit more informations, the solution you use if of course
also valid.. If you want to blacklist some prefixes on a global level then
you could also use something like this approaches:
1.
- use a sufficient long strip value
- add a prefix, e.g. "blacklist"
- set rewrite_host to some asterisk box
This way the the resulting URI will transformed like this:
4912 at proxy.domain -> blacklist at asterisk.domain
The call will be routed to a asterisk box, where you could play some user
information matching to the prefix.
2.
- use a empty rewrite_host string
This way the resulting URI will be invalid, and not routed.
Cheers,
Henning
More information about the Users
mailing list