Jan Janak wrote:
Here I'm
thinking about a loop in the ser config where I lookup the
location of the user part of the To-Header (if "^[0-9]+$"), and if not
found, just cut off the last digit and repeat the loop until the user id
under-runs a minimum length. If no appropriate user is found, I return
404. Otherwise I forward the original URI to the IP of the user I've found.
So, generally said, I assign base numbers and perform some kind of
wildcard matching on incoming URIs.
What do you think about this solution? Would this be appropriate, or do
there exist other approaches?
Maybe I do not understand your problem right, but why don't you just
look for a prefix ? Each number beginning with a certain prefix could
be routed to the ISDN gateway by ser.
Ok, I've attached a small picture.
I want to register some UAs as normal, and also some UAs that act as
SIP-to-ISDN-Gateways (e.a. the Callrunner of
www.i-p-tel.com), let's
call them PBX because they in fact are some kind of PBX (2x BRI).
A PBX registers itself with a base number, in our example 0345-8400. All
invites going to 0345-8400xx should be relayed to the PBX.
Now I could add 100 aliases for each PBX (0345-840000 to 0345-840099 in
this case) at SER, but when extending to three digit extension codes
we'd have to add 1000 aliases for each PBX. Quite bad.
So what I could also do is to chop off digits at the end of the number
in a loop (in an executed script for example) and do a lookup in
locations, or I could do a mysql query in the subscribers table to check
if the current called party number starts with a number found in the
subscribers (or locations) table.
My question now: is there an existing ready-to-run solution out there?
Some sort of module? Cause I think this situation might be quite common
for bigger SIP providers.
Andy
--
Andreas Granig | Software Development
Fon: +43 (0)59 999 2715 | Inode GmbH, Büro Graz
Fax: +43 (0)59 999 6715 | Business Center, Schmiedlstraße 1, 8042 Graz
Web:
http://www.inode.at | Raserei verbindet uns.