[SR-Users] Getting started with Kamailio

Markus universe at truemetal.org
Thu Aug 2 18:40:58 CEST 2012


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





More information about the sr-users mailing list