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/