Hello! I'm new to this list and Kamailio.
First, thanks to all the programmers that developed this software.
I'd like to ask several questions on how to get started with Kamailio and the basic understanding of it. I'm trying to figure out Kamailio only since yesterday. Right now I have a single Asterisk server that handles signaling and media. For accounting and user administration I'm using a2billing with MySQL on it. For redundancy and scalability I would like to create the following setup:
France: BGP anycast 195.5.5.0/24 2 nodes with Kamailio (IP 195.5.5.5) active + standby 2 nodes with Asterisk + a2billing + DRBD for active-active MySQL cluster.
Spain: BGP anycast 195.5.5.0/24 2 nodes with Kamailio (IP 195.5.5.5) active + standby 2 nodes with Asterisk + a2billing + DRBD for active-active MySQL cluster.
(a2billing MySQL DB will be always synchronous over all nodes in Spain and France)
This will give me:
- Network redundancy (data center burns down in France, I stay online in Spain). This will be handled by BGP anycast.
- Signaling redundancy (Kamailio active + standby). This will be handled by Linux-HA or something like that.
- Media redundancy (2x Asterisk per country). This will be handled by Kamailio dispatcher.
- Application/database redundancy (2x a2billing per country + synchronous MySQL DB everyhwere). This will be handled by DRBD and MySQL.
= High redundancy, I can sleep and it can scale.
What I would like to achieve besides the above:
- Give only a single IP address to all customers and termination providers (the same IP address), 195.5.5.5.
I'm a SIP noob, so I have to ask:
- How do I do the Kamailio part? ;-) ... I have seen this how-to for Kamailio/Asterisk realtime: http://kb.asipto.com/asterisk:realtime:kamailio-3.1.x-asterisk-1.6.2-astdb But it feels like "overkill". If I would not have any users that actually REGISTER (e.g. in a pure wholesale termination environment), I would not need Kamailio/Asterisk realtime integration. Correct?
- Is there no way around changing the Asterisk side (activating realtime, new MySQL DB) when I have users that do need to REGISTER? If I would not be using a2billing I could probably handle all the registrations in Kamailio only?
- Since Kamailio and Asterisk will not be on the same box, what is the recommended way for Kamailio securely communicating with the MySQL database on the Asterisk server? Does Kamailio support SSL with MySQL?
- If I use RTPproxy on the Kamailio server, every customer and termination provider would connect to 1 single IP address, because both media and signaling comes from that IP. Correct?
- If I don't use RTPproxy, and have canreinvite=yes on my Asterisk servers, customers would get the media, when placing PSTN calls, directly from my termination providers (I would like to avoid that). Correct?
- If I don't use RTPproxy, and have canreinvite=no on my Asterisk servers, customers will get the media directly from my Asterisk servers, but termination providers that filter based on IP addresses they would have to allow all Asterisk IP addresses in their filters (same for customers, actually). Correct?
Right now I didn't have to worry about such things because media and signaling were handled by a single Asterisk box with canreinvite=no everywhere.
- Last question for now: why does it seem like important developers of SIP software such as Kamailio and yate are originating from Romania and are female? Just a coincidence? :-)
Regards Markus