Hello,
I am beginning to front my Asterisk cluster with Kamailio and so far my biggest issue is the complete lack of quick-start-like documentation for this. Is there any place I can get a very simple HA configuration (telling me where the config files are, for starters, is a good thing) for Kamailio with the following features:
(a) Support an arbitrarily large number of Asterisk servers (say, upto 10). (b) Offload SIP registration to a realtime/mysql DB used by the PBXs.
Please also let me know if I should have to change my Asterisk PBX config in any way for this to happen.
On a very related note, while I appreciate the fact that you need to _really_ understand SIP to configure Kamailio, it should be possible to get this setup by just running a script or GUI. It is difficult to find information on how to load balance multiple PBXs behind Kamailio.
Thanks!
I think you need to radically readjust your expectations. What you're asking for, once all of the requirements are tallied up ...
- Load balancing across Asterisk servers - SIP registration to RealTime DB - HA configuration
... is not simple, and doesn't lend itself to a "quick start" guide.
You'll want to start with the 'dispatcher' module, which provides the load distribution part, and go from there. There are plenty of examples of how to use it online, including the dispatcher module docs themselves:
http://www.kamailio.org/docs/modules/4.4.x/modules/dispatcher.html#dispatche...
Also, this is a rather broad question that demands a lot from your audience, and certainly cannot be accommodated in a "quick start" guide:
Please also let me know if I should have to change my Asterisk PBX config
The answer there is "know how to administer Asterisk", and there are no shortcuts around that.
Speaking of shortcuts: Kamailio is a fairly low-level tool designed for situations in which fine-grained message-level control is needed over SIP scenarios. When you say "it should be possible to get this setup by just running a script or GUI", you are speaking from a very presumptuous position.
Unless you're willing to put in the time and learn how to use all the pieces you've chosen to use, it sounds like you may be best served by a turn-key load balancer product or appliance of some sort, which would allow you point-and-click your way to happiness--at the expense of the integration paths you're after (RealTime et al).
-- Alex
Thanks for your note, Alex, but asking for a reasonable admin is hardly presumptuous; indeed saying that it is presumptuous is very questionable. I have had to do that myself having designed telco architecture and products in painful (SW) detail for over a decade now, and I have seen boxes far more complex and less complex all of which need OAM (invariably GUI based) which the customer won't touch without. We all have different ways by which we use products...
That said, you are saying "dammit, spend some time with this thing."
Point taken.
Your other comment re: turn-key LB is something I will investigate. Thanks for your time though.
On Tue, Jul 5, 2016 at 1:54 PM, Alex Balashov abalashov@evaristesys.com wrote:
I think you need to radically readjust your expectations. What you're asking for, once all of the requirements are tallied up ...
- Load balancing across Asterisk servers
- SIP registration to RealTime DB
- HA configuration
... is not simple, and doesn't lend itself to a "quick start" guide.
You'll want to start with the 'dispatcher' module, which provides the load distribution part, and go from there. There are plenty of examples of how to use it online, including the dispatcher module docs themselves:
http://www.kamailio.org/docs/modules/4.4.x/modules/dispatcher.html#dispatche...
Also, this is a rather broad question that demands a lot from your audience, and certainly cannot be accommodated in a "quick start" guide:
Please also let me know if I should have to change my Asterisk PBX config
The answer there is "know how to administer Asterisk", and there are no shortcuts around that.
Speaking of shortcuts: Kamailio is a fairly low-level tool designed for situations in which fine-grained message-level control is needed over SIP scenarios. When you say "it should be possible to get this setup by just running a script or GUI", you are speaking from a very presumptuous position.
Unless you're willing to put in the time and learn how to use all the pieces you've chosen to use, it sounds like you may be best served by a turn-key load balancer product or appliance of some sort, which would allow you point-and-click your way to happiness--at the expense of the integration paths you're after (RealTime et al).
-- Alex
-- Alex Balashov | Principal | Evariste Systems LLC 1447 Peachtree Street NE, Suite 700 Atlanta, GA 30309 United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.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
On 07/05/2016 04:57 PM, Tickling Contest wrote:
Thanks for your note, Alex, but asking for a reasonable admin is hardly presumptuous; indeed saying that it is presumptuous is very questionable. I have had to do that myself having designed telco architecture and products in painful (SW) detail for over a decade now, and I have seen boxes far more complex and less complex all of which need OAM (invariably GUI based) which the customer won't touch without. We all have different ways by which we use products...
Right. The presumption here is precisely in the fact that Kamailio is that kind of product.
Kamailio is not a finished application like Asterisk or Freeswitch where, if you just enable the right option and configure it real quick, you'll get canned functionality. I always say it's more akin to an SDK; it's got some building blocks, but it's up to you to wire them together. Above all else, it's an intra-industrial toolkit for communications specialists; it's not designed for end-customers or even ordinary operations departments, so your point about the necessity of a GUI for those people doesn't apply.
For obvious reasons related to mindshare and "market share", there are efforts to make Kamailio more accessible to a larger audience of people with relatively pedestrian needs. For that, there exists, for example, the SIREMIS GUI:
This UI can edit the underlying database tables that back modules like dispatcher and usrloc/registrar, and can also expose some Kamailio operational stats.
However, SIREMIS will certainly not write the logic so that you can build large-scale HA infrastructure without having to learn anything. :-)
-- Alex
PS.
As with many open-source projects with some reach, there's no shortage of commercial products and options that will allow you to do exactly what you're asking for.
For example, it can be seen that ASIPTO put out a Kamailio-based load balancing solution:
https://www.asipto.com/sw/solutions/
And likewise, there are many other companies involved in the Kamailio space that either have a finished load-balancer built on top of Kamailio, or can provide you with one on a consulting basis:
https://www.kamailio.org/w/business-directory/
My initial response - that you were being presumptuous - was to your coming in here and telling everyone what the project is and how it should work. :-) I am telling you, in so many words, that the project is what it is, and probably doesn't have the same use-cases in mind as you do.
-- Alex
On 05 Jul 2016, at 19:36, Tickling Contest tickling.contest@gmail.com wrote:
Hello,
I am beginning to front my Asterisk cluster with Kamailio and so far my biggest issue is the complete lack of quick-start-like documentation for this. Is there any place I can get a very simple HA configuration (telling me where the config files are, for starters, is a good thing) for Kamailio with the following features:
(a) Support an arbitrarily large number of Asterisk servers (say, upto 10). (b) Offload SIP registration to a realtime/mysql DB used by the PBXs.
Please also let me know if I should have to change my Asterisk PBX config in any way for this to happen.
On a very related note, while I appreciate the fact that you need to _really_ understand SIP to configure Kamailio, it should be possible to get this setup by just running a script or GUI. It is difficult to find information on how to load balance multiple PBXs behind Kamailio.
While I haven’t got full configurations - I do have some notes published on things you need to consider when doing this - especially the offloading of registrations.
An old but still valid presentation (from 2010): http://www.slideshare.net/oej/astricon-2010-scaling-asterisk-installations
General presentations: http://www.slideshare.net/oej/why-is-kamailio-so-different-an-introduction http://www.slideshare.net/oej/why-is-kamailio-so-different-an-introduction http://www.slideshare.net/oej/kamailio-a-quick-introduction http://www.slideshare.net/oej/kamailio-a-quick-introduction
You have a lot of examples in the dispatcher module README that will help you.
Regards, /O