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