[Serusers] Efficient config and routing of 100's of prefix's

Shaun Hofer shaun.hofer at voxpak.com
Fri Jun 29 09:30:51 CEST 2007


Hi,

To terminate a call to the PSTN, my SER box has to route between 
multiple PSTN gateways depending on the destination phone number/prefix.

For instance,
-Use gateway1 if the destination begins with any of these prefixes:
    07550[0-4] 075509 07551[0-2] 075514 075515[7-8] 0755187
    0755337 07553[7-9] 075551[0-1] 07555[2-8] 07556[0-4] etc..

-Use gateway2 if the destination begins with any of these prefixes:
    0730[0-2] 07303[0-6] 0731[0-2] 073131 07313[5-9] 073140
    07314[4-6] 0731[6-7] 0732[1-7] 07329[1-2] 07329[5-6] etc..

-Use gateway3 if etc...
-Use gatewayX if etc...

Obviously, one or a small number of regular expressions can't efficiently 
cover all of these prefixes. However, doing it like this isn't ideal 
because ser.cfg would be huge and cumbersome. Also, the prefixes for each 
gateway may change over time:

if ( (uri =~ "^sip:07550[0-4]") || (uri =~ "^sip:075509") || ... )
    { route to gateway1 }
if ( (uri =~ "^sip:0730[0-2]") || (uri =~ "^sip:07303[0-6]") || ... )
    { route to gateway2 }
if ( ... )
    { route to gatewayX }

What's the most efficient way of doing this with SER?

Thanks in advanced
-Shaun




More information about the sr-users mailing list