This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorials:getting-started:main [2015/07/22 20:24] miconda |
tutorials:getting-started:main [2015/07/23 19:34] miconda |
||
---|---|---|---|
Line 101: | Line 101: | ||
==== Debian ==== | ==== Debian ==== | ||
+ | Kamailio is part of latest official stable Debian distribution (and its Ubuntu cousin), but might be an older version. | ||
+ | |||
+ | To use most recent Kamailio release, you can use the APT repositories hosted by Kamailio project, see details at: | ||
+ | |||
+ | * [[packages: | ||
+ | |||
+ | Then, the typical way of installing packages can be used: | ||
+ | |||
+ | < | ||
+ | apt-get update | ||
+ | apt-get install kamailio | ||
+ | </ | ||
+ | |||
+ | Various modules are packaged separately, you can search the repository to see what is available: | ||
+ | |||
+ | < | ||
+ | apt-cache search kamailio | ||
+ | </ | ||
+ | |||
+ | Install the other packages of the modules you may need, like mysql or tls modules -- they can be installed with: | ||
+ | |||
+ | < | ||
+ | apt-get install kamailio-mysql-modules kamailio-tls-modules | ||
+ | </ | ||
==== CentoOS ==== | ==== CentoOS ==== | ||
Line 112: | Line 136: | ||
==== kamctl ==== | ==== kamctl ==== | ||
+ | |||
+ | Kamctl is part of Kamailio project (in the same source tree) and installed by default. | ||
+ | |||
+ | It has a configuration file named **kamctlrc**, | ||
+ | |||
+ | This is the tool to manage kamailio from command line, providing lots of operations, such as adding/ | ||
+ | |||
+ | When needed to interact with Kamailio, it does it via FIFO file created by **mi_fifo** module. Operations to the database are done by connecting directly to the database server. | ||
+ | |||
+ | ==== kamdbctl ==== | ||
+ | |||
+ | Kamctl is part of Kamailio project (in the same source tree) and installed by default. | ||
+ | |||
+ | It uses the same configuration file like **kamctl**, respectively the **kamctlrc**. | ||
+ | |||
+ | The tool can be used to create and manage the database structure needed by Kamailio, therefore it should be immediately after Kamailio installation, | ||
+ | |||
+ | It is not used for managing the records inside the database tables, just for database structure and access to the database (e.g., granting/ | ||
==== kamcmd ==== | ==== kamcmd ==== | ||
+ | |||
+ | Kamctl is part of Kamailio project (in the same source tree) and installed by default. | ||
+ | |||
+ | This is an application that can send RPC commands to Kamailio from command line. It requires that the **ctl** module is loaded by Kamailio. | ||
==== siremis ==== | ==== siremis ==== | ||
+ | |||
+ | It is a web management interface for Kamailio, written in PHP -- more at: | ||
+ | |||
+ | * http:// | ||
==== kamcli ==== | ==== kamcli ==== | ||
+ | |||
+ | It is a command line application write in Python, more or less an alternative to **kamctl**. It has a modular architecture, | ||
+ | |||
+ | See more at: | ||
+ | |||
+ | * https:// | ||
===== Typical Use Cases ===== | ===== Typical Use Cases ===== | ||
==== NAT Traversal ==== | ==== NAT Traversal ==== | ||
+ | |||
+ | The default **kamailio.cfg** comes with NAT traversal support, relying on RTPProxy for RTP relaying. The NAT traversal support has to be enabled by defining WITH_NAT: | ||
+ | |||
+ | <code c> | ||
+ | #!define WITH_NAT | ||
+ | </ | ||
==== VoIP Provider ==== | ==== VoIP Provider ==== | ||
+ | |||
+ | The default **kamailio.cfg** is practically an implementation of simple SIP operator services: | ||
+ | |||
+ | * user authentication | ||
+ | * IP authorization | ||
+ | * accounting | ||
+ | * registrar and location services | ||
+ | * attacks detection and blocking (anti-flood protection) | ||
+ | * NAT travesal | ||
+ | * short dialing on server | ||
+ | * multiple identities (aliases) for subscribers | ||
+ | * multi-domain support | ||
+ | * routing to a PSTN gateway | ||
+ | * routing to a voicemail server | ||
+ | * TLS encryption | ||
+ | * instant messaging (pager mode with MESSAGE requests) | ||
+ | * presence services | ||
+ | |||
+ | Not all the above features are enabled by default -- read the comments at the top of **kamailio.cfg** in order to find what tokens must be defined. | ||
==== Load Balancing ==== | ==== Load Balancing ==== | ||
+ | |||
+ | See dispatcher module: | ||
+ | |||
+ | * http:// | ||
==== Least Cost Routing ==== | ==== Least Cost Routing ==== | ||
+ | |||
+ | See the modules: | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
==== IMS/VoLTE ==== | ==== IMS/VoLTE ==== | ||
Line 145: | Line 236: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | |||
- |