Best way to do DID based sip routing for thousands of DIDs

Discuss any topic about Brekeke SIP Server.

Moderator: Brekeke Support Team

Post Reply
dannyca
Posts: 2
Joined: Tue Sep 22, 2015 4:15 pm
Location: irvine, ca

Best way to do DID based sip routing for thousands of DIDs

Post by dannyca »

1. Brekeke Product Name and Version: Brekeke SIP Server VERSION 3

2. Java version: openjdk 1.7

3. OS type and the version: CentOS 6

Is there a efficient way to do sip routing for thousands of DIDs (phone numbers) in a efficient manner?

We're doing routing for about 10,000 DIDs and are looking for the best way to do routing to various hosts based on the DID.

We are trying to avoid making a dialplan for each did or patterns of DID blocks and trying to avoid database lookups for every call.

A ideal solution would be one similar to the Kamailio Dispatcher module (http://kamailio.org/docs/modules/3.4.x/ ... tcher.html) which reads the config from a database into memory to avoid db lookups for every call.

Is there something obvious I'm missing or a 3rd party plugin I would love to know?

If we had to write our own java plugin for this, is there a way to have the brekeke load data into memory so we're not doing constant db queries for each call?
lakeview
Posts: 319
Joined: Thu Nov 15, 2007 11:54 am
Location: Florida

Post by lakeview »

It is an interesting.

I supposed Alias database meets the requirement.
You can add records with SQL from 3rd application, or CSV file.
http://wiki.brekeke.com/wiki/How-to-use-Alias-function
But it causes a database lookup for each call.


DialPlan table is loaded on memory so it doesn't cause any file access and database lookups.
If you find some rules from 10,000 DID numbers (e.g. prefix), you might reduce the number of total DialPlan rules.


If you write own DialPlan plugin, you can implement what you want.
http://www.brekeke.com/doc/sip/sip_tuto ... plugin.txt
For example, the plugin loads data into memory once and use them for each call.



I know there are similar projects which use Brekeke and some are using VoltDB for DID database with custom plugins.
dannyca
Posts: 2
Joined: Tue Sep 22, 2015 4:15 pm
Location: irvine, ca

Post by dannyca »

Cool thanks for the info.
Post Reply