[Serusers] denying call based on country codes

sip sip at arcdiv.com
Mon Oct 10 15:01:40 CEST 2005


Sure... it's possible and actually pretty easy, dependent on how things are set up. Assuming, for the sake of argument, that you have two servers that handle PSTN calls and one handles calls to anywhere and one handles calls to only 36 countries:

I'd use the grp table for this sort of thing (although some people would use AVPops).  I'd just add the users to a particular kind of group for all access.... 

In MySQL, you'd want to do something like:

insert into grp values('<username>','<domainname>','fullaccess',now());

Then, set a flag if the user is in that group...

if(is_user_in("Request-URI", "fullaccess"))
{
       setflag(19);
};

Then... somewhere in an INVITE check block (or wherever, really), check for the URI and the flag. 

if (uri =~ "^sip:00*") 
{
       if(isflagset(19))
       {
            log(1, "request for alternate 800 provider received\n");
            rewritehostport("10.1.1.1:5060");  # PSTN for ALL numbers
            forward(uri:host, uri:port);
            route(1);
            break;
        }
       else
       {
             log(1, "request for alternate 800 provider received\n");
            rewritehostport("10.1.1.2:5060");  # PSTN for only 36 countries
            forward(uri:host, uri:port);
            route(1);
            break;
       };

};

Now, the trick comes when you DON'T have PSTN server separate for different countries...  

THEN you might have to do some very in-depth rules based on the format of the URI to the 36 countries in question which really isn't THAT bad, but dependent on their numeric format for numbers, it could get annoying to specify each one (especially if they have differing formats for land line and mobile numbers).  It's not undoable, though. 

N.

On Mon, 10 Oct 2005 20:17:50 +0800, Nhadie wrote
> Hi All,
> 
> I'd like to setup to groups, one that can call only around 36countries and one that can call anywhere. Currently, when I see that the URIstarts with 00 i'll check if it belongs to the world-pstn group then it candial-out if not it's blocked. Is what I'm thinkingpossible?
> 
> TIA
> 
> Regards,
> Nhadie


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20051010/c0dd765e/attachment.htm>


More information about the sr-users mailing list