1. You can replicate REGISTER messages, than every proxy has a complete view of all registered proxy.
2. You could also use a special dial planes and user names: e.g. all clients registered at SER start with 1, e.g. 12345. clients that register at ser 2 begin with 2 in their usernames, e.g. 22345.
If SER1 receives a request for 2xxxx, it forwards the request to proxy 2.
btw: please always cc: to the list! (reply all)
regards, Klaus
simple wrote:
Ok, maybe I did not express my question very clearly, what I want is like this:
------ registered --------- | C1 |-----in---->| SER1 |\ ------ --------- \ ----------- / | Internet | ------ registered ---------/ ----------- | C2 |-----in---->| SER2 |
SER1 and SER2 are in different places, now, I want C1 can call C2. Do I need a exclusive public server to store user information database, and act like a redirect server, then, SER1 can forward C1's INVITE to SER2.
Do you think there are other better solutions to support my demand? Thanks for your help.
Regards!
Simple Li
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "simple" simple@vlichina.com; "Serusers" serusers@lists.iptel.org Sent: Tuesday, February 10, 2004 3:34 PM Subject: Re: [Serusers] about distributed SER
Details: ser caches user lcoations, that means, if it lookup() a user, ser does not query the database as the user lcoations are stored in RAM. New REGISTER are stored by save(). The writeback into the database can be done immediately (safe, but slower) or delayed (not so safe, but faster). more info on this can be found in the README of the userloc module.
So, now you know the basics to build up your system, e.g:
- 2 proxies + data bases
--------------+ replicated REGISTER +------------+ | active proxy| -------------------------> |backup proxy| --------------+ +------------+ | | | | | | |data |data |base |base |write |write |through |through | | V V ----------------+ +---------------+ |active database| |backup database| ----------------+ +---------------+
if the active proxy or database fails, you have to switch over to the bakup combination (manually or autmatically).
You could also use only one database, but than only the active proxy is allowed to save() to the database.
You could also make the database failover transparent to the SIP proxy: 2 databases with replication enabled, and if the main one fails, the backup db takes the IP address of the failed one.
So, these are some theoretical solutions. I hope the guys which uses ser in production environments have some comments on this.
regards, Klaus
PS: always CC to the list
simple wrote:
Thanks for your so quick reply, I still have a question, can you give a detail of the synchronization of several proxies? thanks!
Simple Li
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "simple" simple@vlichina.com Cc: serusers@lists.iptel.org Sent: Monday, February 09, 2004 6:30 PM Subject: Re: [Serusers] about distributed SER
Hi can use the several proxies and every proxy uses its own database for uerlocation. The keep the userlocation consistent, you can use the register() function to synchronize the several proxies.
klaus
simple wrote:
Dear sir, I have an idea to use SER as SIP proxy in many different places, different clients register in defferent SER, there may be a centralized user information of all these clients, may be not, and all these clients can make a call to each other. So, my question is if there has an example used like this, otherwise, how can we make some changes to make this happen.
Thanks!
Simple Li
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers