README-MODULES
1b228e49
 
95d1ae89
 
910cbb41
 Kamailio  modules
a7aaf4d4
 ==================
 
910cbb41
 This is a major release of the merged SIP Server - Kamailio and SER. 
 
 In  previous releases (v3.x) some modules where provided in two versions, in Kamailio
32e73f99
 and SER flavours. These are now merged. In some cases, the functionality has 
 changed. You can still do the same operation, but how you do it may be different.
a7aaf4d4
 
910cbb41
 Modules are found in the "modules" directory. After installation that can
 be /usr/local/lib/kamailio/modules or /usr/lib/kamailio/modules.
 
41fab9cb
 In previous releases there was a "modules_k" and "modules_s" directory, but in
 this release these directories are empty.
a7aaf4d4
 
 What is a module?
 =================
 A module consists of a lot of functions that enhance the core. Some of the modules
 depends on other modules. It's all properly documented in the README that belongs
910cbb41
 to each module (available as web pages on the kamailio.org web site).
a7aaf4d4
 
910cbb41
 A module providers up to six different APIs:
a7aaf4d4
 
910cbb41
 - Enhancements to the core Kamailio routing script (functions)
 - Commands for the management interfaces (MI and RPC)
a7aaf4d4
 - Development interface for other modules
32e73f99
 - Pseudo-variables
 - Selects and config framework variables
910cbb41
 - Event-Routes
a7aaf4d4
 
 A single module may provide a selection of this, maybe only one of them.
 
41fab9cb
 Kamailio Modules
 ----------------
 acc			Accounting
 acc_radius		Accounting with RADIUS backend
 alias_db		Alias management in database modules
910cbb41
 app_java		Lang :: Execute embedded Java applications
41fab9cb
 app_lua			Lang :: Execute embedded LUA scripts
 app_mono		Lang :: Execute embedded MONO scripts (like C#, Java, javascript)
 app_perl		Lang :: Embedded perl script support
 app_python		Lang :: Execute embedded Python scripts
5b6231d2
 async			Asynchronus SIP request handling functions
 auth			MD5 digest authentication support
41fab9cb
 auth_db			Authentication using a database module
 auth_diameter		Authentication based on Diameter
910cbb41
 auth_ephemeral		User authentication with ephemeral credentials
97a6bef7
 auth_identity		SIP Identity support (RFC 4474)
a7aaf4d4
 auth_radius		Radius authentication
910cbb41
 avp			Collection of functions for handling AVP's (from SER)
a7aaf4d4
 avpops			Attribute-value pair operations ("variables")
41fab9cb
 benchmark		Development benchmark module
5b6231d2
 blst			Blacklisting API for configuration scripts
41fab9cb
 call_control		Call timeouts and management (depends on Dialog module)
 carrierroute		A telephony routing module
5b6231d2
 cdp			C Diameter Peer - core communication engine
 cdp_avp			C Diameter Peer - application extensions
be51b750
 cfg_db			Database driver for configuration API
5b6231d2
 cfg_rpc			Update core and module parameters from RPC
41fab9cb
 cfgutils		Various configuration utilities
5b6231d2
 corex			Core extensions
 counters		Internal counter API for configuration
41fab9cb
 cpl-c			Implementation of SIP Call Processing Language (RFC 3880)
5b6231d2
 ctl			Control connector for RPC interface (fifo, unixsock, tcp, udp)
a7aaf4d4
 db_berkeley		Database :: Berkeley DB (Oracle)
41fab9cb
 db_cluster		Generic database connectors clustering and failover
 db_cassandra		Database :: Cassandra database server connector
a7aaf4d4
 db_flatstore		Database :: Flatstore
910cbb41
 db_mongodb		Database :: MongoDB
a7aaf4d4
 db_mysql		Database :: Mysql
41fab9cb
 db_oracle		Database :: Oracle support
 db_perlvdb		Database :: Use perl database functions
a7aaf4d4
 db_postgres		Database :: PostgreSQL
41fab9cb
 db_text			Database :: Text support
 db_unixodbc		Database :: Unix ODBC support
910cbb41
 db2_ldap		DB2 :: Database connector to LDAP using the DB2 API
 db2_ops			DB2 :: Database operations for DB API v2
5b6231d2
 debugger		Interactive configuration processing debugger
41fab9cb
 dialog			Dialog ("call") state module
a7aaf4d4
 dialplan		Dialplan management
5b6231d2
 dialog_ng		Dialog tracking module - next generation
41fab9cb
 dispatcher		Load balancing and failover
 diversion		Call redirect support (SIP Diversion: header)
910cbb41
 dmq			Distributed message queue system using SIP
 dnssec			DNSsec support in the DNS resolver
41fab9cb
 domain			Proxy :: Multiple domain support using databases
 domainpolicy		Proxy :: Obsolete module - This module is no longer maintained
 drouting		Proxy :: Dynamic routing
a7aaf4d4
 enum			Enum support
41fab9cb
 exec			External exec module
910cbb41
 evapi			Network event broadcast API
5b6231d2
 geoip			GeoIP API to configuration file
41fab9cb
 group			Utils :: Group membership checking
910cbb41
 gzcompress		Compress and decompress SIP message body with zlib
41fab9cb
 h350			LDAP/ITU H.350 multimedia schema support
 htable			Utils :: Hash table support
 imc			IM :: Instant messaging conference
5b6231d2
 ims_auth		IMS authentication module
910cbb41
 ims_charging		IMS charging component module
5b6231d2
 ims_icscf		IMS ICSCF component module
 ims_isc			IMS ISC component module
 ims_qos			IMS Diameter Rx interface
 ims_registrar_pcscf	IMS PCSCF registrar module
 ims_registrar_scscf	IMS SCSCF registrar module
910cbb41
 ims_usrloc_pcscf	IMS PCSCF usrloc module
 ims_usrloc_scscf	IMS SCSCF usrloc module
5b6231d2
 ipops			IP and DNS related operations
93c921b8
 iptrtpproxy		NAT traversal :: Kernel based RTP proxy
41fab9cb
 jabber			IM :: Jabber gateway
5b6231d2
 json			Access to JSON document attributes
 jsonrpc-c		JSON-RPC client over netstrings protocol
910cbb41
 jsonrpc-s		JSON-RPC interface to the Kamailio RPC API
 kazoo			Middle layer connector for Kazoo VoIP platform
41fab9cb
 kex			Proxy :: Kamailio core functions (backwards compatibility)
a7aaf4d4
 lcr			Least cost routing
41fab9cb
 ldap			LDAP Directory access
5b6231d2
 malloc_test		Functions for stress-testing memory manager (from SER)
 mangler			SIP message mangling functions (from SER)
 matrix			Matrix operations
a7aaf4d4
 maxfwd			SIP loop detection prevention (max-forwards header - "ttl")
41fab9cb
 mediaproxy		Nat traversal :: Mediaproxy (AG projects)
a7aaf4d4
 memcached		Utils :: In-memory caching support (memcached)
 mi_datagram		Management interface :: UDP
 mi_fifo			Management Interface :: Unix FIFO
41fab9cb
 mi_rpc			Management Interface :: RPC support
a7aaf4d4
 mi_xmlrpc		Management Interface :: XML-rpc
41fab9cb
 misc_radius		Various Radius functions
a7aaf4d4
 msilo			Text message storage
41fab9cb
 msrp			Embedded MSRP relay (RFC 4975 and RFC 4976)
910cbb41
 mohqueue		Music on hold queuing system
41fab9cb
 mqueue			Message queue system for configuration file
a7aaf4d4
 nat_traversal		NAT :: NAT traversal module
 nathelper		NAT :: NAT traversal module :: RTPproxy (SIPPY software)
992ca112
 ndb_cassandra		Connector to Apache Cassandra
910cbb41
 ndb_mongodb		Connector to MongoDB
 ndb_redis		Connector to REDIS NoSQL Database engine
 nosip			Handle non-sip messages received by SIP workers via event_route
a7aaf4d4
 osp			Open Settlement Protocol support
5b6231d2
 outbound		SIP Outbound Implementation
 p_usrloc		Partitioned and distributed user location services
a7aaf4d4
 path			Path: header support
41fab9cb
 pdb			Number portability using external server
a7aaf4d4
 pdt			Proxy :: Routing based on numeric prefix
41fab9cb
 peering			SIP peering between service providers
a7aaf4d4
 permissions		Security :: TCP-wrapper-like ACL functions
 pike			Security :: DOS-attack prevention
41fab9cb
 pipelimit		Traffic shaping policies
 prefix_route		Execute config file route blocks based on prefix
a7aaf4d4
 presence		Presence :: Core presence module
5b6231d2
 presence_conference	Presence :: Conference events handling
a7aaf4d4
 presence_dialoginfo	Presence :: Dialog info
 presence_mwi		Presence :: Message waiting indication
5b6231d2
 presence_profile	Presence :: User profile extensions (RFC 6080)
 presence_reginfo	Presence :: Registration info (RFC 3680)
a7aaf4d4
 presence_xml		Presence :: XML handler
41fab9cb
 print			DEVEL :: Basic sample of a module
 print_lib		DEVEL :: Basic sample of a module with dependency on other modules
97a6bef7
 pua			Presence :: Common module
 pua_bla			Presence :: BLA
 pua_dialoginfo		Presence :: Dialog Info support
a7aaf4d4
 pua_mi			Presence :: Management interface
5b6231d2
 pua_reginfo		Presence :: Registration information (RFC 3680)
97a6bef7
 pua_usrloc		Presence :: USRLOC integration
a7aaf4d4
 pua_xmpp		Presence :: XMPP/Jabber gateway
 purple			Presence :: Libpurple support
97a6bef7
 pv			Pseudo-variable implementation
a7aaf4d4
 qos			Dialogs :: SDP management 
41fab9cb
 ratelimit		Traffic shaping module
a7aaf4d4
 regex			Regular expression support
 registrar		Registrar/location server support
 rls			Presence :: Resource list server
 rr			Proxy :: Record routing
 rtimer			Utils :: Timer based routing script processing
910cbb41
 rtpengine		NAT :: RTPEngine media relay control functions
41fab9cb
 rtpproxy		NAT :: Nat traversal module for RTPproxy control
 sanity			Syntax checking for incoming SIP requests
 sca			PRESENCE :: Shared call appearances
 sdpops			SDP operations
a7aaf4d4
 seas			Application server interface
41fab9cb
 sipcapture		SIP Capture Server module (used in the Homer project)
910cbb41
 sipt			SIP-T and SIP-I operations
a7aaf4d4
 siptrace		Store SIP messages in database
 siputils		Various utilities for SIP call handling
41fab9cb
 sl			Proxy :: Stateless handling of SIP messages
 sms			SMS gateway support
a7aaf4d4
 snmpstats		SNMP support (net-snmp agentx)
97a6bef7
 speeddial		Per-user speed-dial controller module
 sqlops			SQL operations
 sst			SIP Session Timers implementation
 statistics		Script statistics support
910cbb41
 statsd			Connector for statsd application
a7aaf4d4
 textops			Text operations
41fab9cb
 textopsx		Extra Text operations
 timer			Execute routing blocks on core timers (From SER)
 tls			SSL/TLS support
 tm			Proxy :: SIP transaction support (stateful)
a7aaf4d4
 tmx			Proxy :: Kamailio transaction extensions (TM module)
41fab9cb
 topoh			Topology hinding
97a6bef7
 uac			UAC functions (From: mangling and UAC auth)
 uac_redirect		UAC redirection support
41fab9cb
 uid_auth_db		Authentication module using unique IDs (from SER)
 uid_avp_db		AVP Database operations using unique IDs (from SER)
 uid_domain		Domain management using unique IDs (from SER)
 uid_gflags		Global attributes and flags using Unique IDs (from SER)
 uid_uri_db		Database URI operations using unique IDs (from SER)
97a6bef7
 uri_db			URI operation with database support
 userblacklist		User-specific blacklists
a7aaf4d4
 usrloc			Proxy :: Location server
41fab9cb
 utils			Various utilities (http query, xcap status)
910cbb41
 uuid			Unique string value generator using libuuid
41fab9cb
 websocket		HTTP :: Websocket transport layer for proxy
a7aaf4d4
 xcap_client		Presence :: XCAP support
5b6231d2
 xcap_server		Presence :: XCAP server implementation
41fab9cb
 xhttp			HTTP :: The server
 xhttp_pi		HTTP :: Provisioning interface for Kamailio
 xhttp_rpc		HTTP :: RPC Command support
 xlog			Utils :: Extended logging support
 xmlops			XML operations using XPath
 xmlrpc			HTTP :: XMLrpc support
a7aaf4d4
 xmpp			Presence/IM :: XMPP/jabber gateway
41fab9cb
 xprint			Functions for printing messages with specifiers (from SER)