Hello,
On 1/4/10 2:52 PM, Antonio Goméz Soto wrote:
Hi Daniel.
Op 04-01-10 14:11, Daniel-Constantin Mierla schreef:
I would try to do:
- partition the users per asterisk instance - as much as possible host
the users talking to each other in same asterisk
- use kamailio as central registry server - if the destination user is
not on the same asterisk instance, forward it to kamailio and from there to the right asterisk instance
It's not clear to me what this means. The phones register to Kamailio as their registrar server.
you can do this way, too, scaling better.
But I thought you want to preserve as much as possible current architecture. So the phones register to asterisk -- this to be done by configuring each phone to use the proper asterisk.
Once you add a new phone, you add a routing info in kamailio binding the phone id to asterisk ip (you can do that with alias_db, pdt, htable, and other modules, just a matter of taste).
In asterisk dialplan, if the dialed number is not a local phone, forward it to kamailio which will forward to right asterisk.
I can think of various options to optimize and auto-provision, like automatically updating kamailio's routing rules based on user registration.
Cheers, Daniel
And they will send INVITE's to their proxy (i.e. the asterisk server?). So only Kamailio will know the ip address of a phone (except if asterisk accesses the same database using realtime - is that what you mean?)