I’m deploying Kamailio in an enterprise environment
and I’m looking for a better way to handle the mapping of external DIDs
to SIP usernames, number re-writing etc. I’m currently using ENUM in my
test setup but I’d prefer to go with SQL storage and have that data
written out to a faster database for lookups by Kamailio. I have a mix of users
that register directly to the proxy and also several PBXs that I need to route blocks
of numbers to through Cisco routers. For location A I would need to route any
four digit number that starts with a 3 (3759), EXCEPT ones specifically defined
in my database since they might be mapped directly to a user. Also for any
outbound call (9 prefix) I need to check the DB to see if it’s local.
If I move to DB storage how do I handle things like
parallel/sequential forking? ENUM makes it very easy – for example:
1.0.0.0.1
NAPTR 100 10 "u" "E2U+sip"
"!^.*$!sip:8700@172.20.152.132!" .
NAPTR 100 10 "u" "E2U+sip"
"!^.*$!sip:901191986701####@172.20.152.132!" .
NAPTR 100 10 "u" "E2U+sip"
"!^.*$!sip:901191996700####@172.20.152.132!" .
If I have a SIP user “bob@domain.com” a simple
location lookup works for that, but I also need to be able to map a e.164 did
to him, and a short form with just the last 4 digits for my internal dialing. I
would need a database schema that does the equivalent to this:
0.1.5.3.3.9.2.4.1.9.1 NAPTR 100 10 "u"
"E2U+sip" "!^.*$!sip:bobm@domain.com!" .
0.1.5.3
NAPTR 100 10 "u" "E2U+sip"
"!^.*$!sip:bobm@domain.com!" .
Any suggestions?
Thanks
Bob