With this tutorial I am showing how to do it by using SIP (Session Initiation Kamailio SIP server is developed to run on Linux/Unix servers and Jitsi is a cross . The purpose of this article is to show a simple example of using Kamailio SIP proxy with Asterisk, and thus to help beginners start working with. Kamailio is the leading Open Source SIP Server – a SIP proxy, registrar, location server, presence server, IMS server and much more. Find out.

Author: Dohn Kajik
Country: Ethiopia
Language: English (Spanish)
Genre: Sex
Published (Last): 27 April 2015
Pages: 400
PDF File Size: 15.89 Mb
ePub File Size: 18.57 Mb
ISBN: 361-1-60993-155-8
Downloads: 52823
Price: Free* [*Free Regsitration Required]
Uploader: Samujind

A collection of guidelines and useful links to smoothen the understanding and deploying kamailko Kamailio for newbies. It is recommended that you read first all the content of this tutorial and then start installing Kamailio, because some more relevant information might be found later for specific use cases.

Kamailio is a SIP router at the core. It means that it works at the lower layer of SIP packets, routing each and every SIP message that it receives based on the policies specified in the configuration file.

It is turorial to understand that it is not a telephony engine at its core, a VoIP call is seen as a tutoroal of SIP messages sharing the same attributes for caller, tutkrial and signaling tokens such as Call-ID, From tag and To tag. Given the above, a good understanding of SIP is critical to get faster familiar with Kamailio, especially with its configuration file routing rules.

Fortunately there are plenty of free online resources, tutorials or blogs, as well as books, that can help understanding SIP faster. It is docbook xml format, the html version can be read online at:.

Kamailio – Getting Started Guide

It has active components for runtime, named routing blocks. A routing block is a group of actions that kamaikio what should be done for each SIP message. The actions are exported by Kamailio core or modules and are like functions exported by a library.


Modularity is provided by the ability to execute a routing block from another routing block. Therefore, understanding logical programming is important as well. Be sure you are familiar with concepts such as functions, variables, conditions or loops.

Troubleshooting Kamailio and SIP requires knowledge of various tools for reading and searching log files e. Of course, knowing to work with text editor, especially the ones for terminal if the server is remote, is quite obvious e. Kamailio is part of kamailoo official stable Debian distributions and its Ubuntu cousinbut might be an older version. To use most recent Kamailio release, you can use the APT repositories hosted by Kamailio project, see details at:.

Various modules are packaged separately, you can search the repository to see what is available:. Install the other packages of the modules you may need, like mysql or tls kamaipio — they can be installed with:.

For more details, see:. Kamailio uses its own configuration file language. Its structure is described in the Core Cookbook:. The default configuration file is trying to provide the features for a simple VoIP telephony provider. Not all the above features are enabled by default — read the comments at the top of kamailio.

What’s the best way to learn how to use Kamailio / OpenSIPs ? : VOIP

Initial installation doesn’t ask users for authentication. Obviously, for the above to really work, you need to install MySQL server and create the database required by Kamailio see kamdbctl tool. You can use kamctl tool for managing subscriber records. Initial installation doesn’t have persistent location enabled, meaning that if you restart Kamailio, the registration records are lost.

If you enable it, registration records are saved to database and reload at restart. You have to install RTPProxy applicationand configure it to use the same control socket as in kamailio. It has a configuration file named kamctlrclocated in the same folder with kamailio. Operations to kamwilio database are done by connecting directly to the database server. It uses the same configuration file like kamctlrespectively 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, in case you uttorial to run Kamailio with a database backend.


Ksmailio is not used for managing the records inside the database tables, just for database structure and access to the database e. For managing the records inside database table, kamctl is the tool that has to be used.

This is an application that can send RPC commands to Kamailio from command line. It requires that the ctl module is loaded by Kamailio.

It is a command line application write in Python, more or less an alternative to kamctl. It has a modular architecture, allowing to extend it by writing new plugins. See the section above dedicated to default configuration file for more details.

Example of configuration files for different IMS roles eg. Look at the modules that have the name prefixed with presence presence server or pua presence user agent:.

User Tools Register Log In. Feel free to add new content here. The first version of the tutorial was written for Kamailio v4. Understanding the Session Initiation Protocol. Install current stable version: To use most recent Kamailio release, you can use the APT repositories hosted by Kamailio project, see details at: For more details, see: If tutorjal installed from sources, then the configuration file is located at: Its structure is described in the Core Cookbook: Kamctl is part of Kamailio project in the same source tree and installed by default.

It is a web management interface for Akmailio, written in PHP — more at: Look at the modules that have the name prefixed with presence presence server or pua presence user agent: SIP Routing with Kamailio. Open source projects embedding Kamailio that can help rolling out specific use cases.