Hi Alex, Thanks for your help. I think t_replicate is the best option for me. I expect about 300,000 to 400,000 end points and maybe 10% of them will send simultanoues requests per second, so will one instance still be enough? And what is the ratio between shared memory and available RAM if my machine is only dedicated to kamailio?
Thanks again for your quick and direct responses. Ahmed
On Sat, Dec 13, 2014 at 7:43 PM, Alex Balashov abalashov@evaristesys.com wrote:
On 12/13/2014 12:33 PM, Ahmed Salem wrote:
Is there any other way other than t_suspend/t_continue that I can use to
scale kamailio and still support push notifications.
Well, one factor is that Kamailio is very high-performant and scales very well in just one instance. Just how many clients do you have registered and how many messages per second do you want to process? Unless you're building an astronomically high-volume, national-scale service and realistically expect to have millions of endpoints, one Kamailio instance should probably be fine.
Failing that, there are a variety of ways to push messages to other Kamailio instances. The easiest generic way to send a message is using a synthetic request through uac_req_send():
http://kamailio.org/docs/modules/4.2.x/modules/uac. html#uac.f.uac_req_send()
You can receive it (and the arbitrary payload you have put in it) on the other server and do something with it.
You can also replicate requests using TM, if appropriate:
http://kamailio.org/docs/modules/4.2.x/modules/tm.html#tm.f.t_replicate
Also, some modules have started to use DMQ for distributing state:
http://kamailio.org/docs/modules/4.2.x/modules/dmq.html
-- Alex
-- Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 United States
Tel: +1-678-954-0670 Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users