User Tools

Site Tools


tutorials:getting-started:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
tutorials:getting-started:main [2015/07/23 19:13]
miconda [Debian]
tutorials:getting-started:main [2015/07/23 19:34]
miconda
Line 136: 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**, located in the same folder with **kamailio.cfg**. You have to edit it to set your SIP domain, the database engine, username/password/... to connect to database, etc.
 +
 +This is the tool to manage kamailio from command line, providing lots of operations, such as adding/removing/updating SIP users, controlling the ACL for users, managing the records for LCR or load balancing, viewing registered users and internal statistics, etc.
 +
 +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, in case you plan to run Kamailio with a database backend.
 +
 +It is not used for managing the records inside the database tables, just for database structure and access to the database (e.g., granting/revoking access to database server). For managing the records inside database table, **kamctl** is the tool.
  
 ==== 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://www.siremis.org
  
 ==== kamcli ==== ==== kamcli ====
 +
 +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 more at:
 +
 +  * https://github.com/asipto/kamcli
  
 ===== 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
 +</code>
  
 ==== 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://kamailio.org/docs/modules/stable/modules/dispatcher.html
  
 ==== Least Cost Routing ==== ==== Least Cost Routing ====
 +
 +See the modules:
 +
 +  * http://kamailio.org/docs/modules/stable/modules/lcr.html
 +  * http://kamailio.org/docs/modules/stable/modules/carrierroute.html
 +  * http://kamailio.org/docs/modules/stable/modules/drouting.html
  
 ==== IMS/VoLTE ==== ==== IMS/VoLTE ====
Line 169: Line 236:
   * [[http://www.asipto.com/pub/kamailio-devel-guide/|Kamailio Devel Tutorial]]   * [[http://www.asipto.com/pub/kamailio-devel-guide/|Kamailio Devel Tutorial]]
   * [[http://kamailio.org/docs/ser-getting-started/SER-GettingStarted.pdf|SER Getting Started]]   * [[http://kamailio.org/docs/ser-getting-started/SER-GettingStarted.pdf|SER Getting Started]]
- 
- 
tutorials/getting-started/main.txt ยท Last modified: 2019/08/28 05:44 by ali