

SIP-ROUTER modules
==================

This is the first release of the combined project. In order to be able to support
an upgrade path for both Kamailio/OpenSER and SER current users, we have been forced to
provide some modules in two versions, which means that we have three set of modules:

 - modules: 	the SIP router modules
 - modules_k: 	Kamailio modules
 - modules_s: 	SER modules

All modules are compatible with the core, so regardless if you are a new user or 
an existing, you are free to make a choice between the three sets as well as
mix and match between them.

Note that if you are currently using one product, you want to select the module
that exists in the K/S directories first to get a smooth upgrade path.

As sip-router development progress, we will move as many modules as possible
into the core and only keep k/s modules for backwards compatibility when required.

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
to each module (available as web pages on the sip-router.org web site).

A module providers up to three different APIs:

- Enhancements to the core SIP-router routing script (functions)
- Commands for the management interface (MI)
- Development interface for other modules

A single module may provide a selection of this, maybe only one of them.

Why do we have two modules with the same name?
==============================================
Some modules exists both in modules_k and modules_s - like xlog. If you are
upgrading from Kamailio, we recommend using the one in modules_k for backwards
compatibility, if you are using SER then select the one in modules_s.
In the future the development team will try to integrate modules that are
split like this into one integrated module.

Core modules
------------
auth_identity		SIP Identity support (RFC 4474)
auth_radius		Radius authentication
avpops			Attribute-value pair operations ("variables")
carrierroute		A telephony routing module
cfg_db			Database driver for configuration API
cfg_rpc
ctl
db_berkeley		Database :: Berkeley DB (Oracle)
db_flatstore		Database :: Flatstore
db_mysql		Database :: Mysql
db_postgres		Database :: PostgreSQL
dialplan		Dialplan management
enum			Enum support
iptrtpproxy		NAT traversal :: Kernel based RTP proxy
lcr			Least cost routing
mediaproxy		Nat traversal :: Mediaproxy (AG projects)
mi_rpc			Management Interface :: XML RPC support
misc_radius		Various Radius functions
pdb			Number portabilityusing external server
peering			SIP peering between service providers
tls			SSL/TLS support
tm			SIP transaction support (stateful proxy)
topoh			Topology hinding
utils			Various utilities (http query, xcap status)
xmlrpc

Kamailio modules
----------------
acc			Accounting
alias_db		Alias management in database modules
auth			MD5 digest authentication support
auth_db			Authentication using a database module
auth_diameter		Authentication based on Diameter
benchmark		Development benchmark module
call_control		Call timeouts and management (depends on Dialog module)
cfgutils		Various configuration utilities
cpl-c			Implementation of SIP Call Processing Language (RFC 3880)
db_oracle		Database :: Oracle support
db_text			Database :: Text support
db_unixodbc		Database :: Unix ODBC support
dialog			Dialog ("call") state module
dispatcher		Load balancing and failover
diversion		Call redirect support (SIP Diversion: header)
domain			Proxy :: Multiple domain support using databases
domainpolicy		Proxy :: Obsolete module - This module is no longer maintained
drouting		Proxy :: Dynamic routing
exec			External exec module
group			Utils :: Group membership checking
h350			LDAP/ITU H.350 multimedia schema support
htable			Utils :: Hash table support
imc			IM :: Instant messaging conference
jabber			IM :: Jabber gateway
kex			Proxy :: Kamailio core functions (backwards compatibility)
ldap			LDAP Directory access
maxfwd			SIP loop detection prevention (max-forwards header - "ttl")
memcached		Utils :: In-memory caching support (memcached)
mi_datagram		Management interface :: UDP
mi_fifo			Management Interface :: Unix FIFO
mi_xmlrpc		Management Interface :: XML-rpc
msilo			Text message storage
nat_traversal		NAT :: NAT traversal module
nathelper		NAT :: NAT traversal module :: RTPproxy (SIPPY software)
osp			Open Settlement Protocol support
path			Path: header support
pdt			Proxy :: Routing based on numeric prefix
perl			Perl-based module interface
perlvdb			Database :: Use perl database functions
permissions		Security :: TCP-wrapper-like ACL functions
pike			Security :: DOS-attack prevention
presence		Presence :: Core presence module
presence_dialoginfo	Presence :: Dialog info
presence_mwi		Presence :: Message waiting indication
presence_xml		Presence :: XML handler
pua			Presence :: Common module
pua_bla			Presence :: BLA
pua_dialoginfo		Presence :: Dialog Info support
pua_mi			Presence :: Management interface
pua_usrloc		Presence :: USRLOC integration
pua_xmpp		Presence :: XMPP/Jabber gateway
purple			Presence :: Libpurple support
pv			Pseudo-variable implementation
qos			Dialogs :: SDP management 
ratelimit		Security :: Rate limit
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
sanity			Syntax checking for incoming SIP requests
seas			Application server interface
siptrace		Store SIP messages in database
siputils		Various utilities for SIP call handling
sl			Proxy :: Stateless handling of SIP messages
sms			SMS gateway support
snmpstats		SNMP support (net-snmp agentx)
speeddial		Per-user speed-dial controller module
sqlops			SQL operations
sst			SIP Session Timers implementation
statistics		Script statistics support
textops			Text operations
tmx			Proxy :: Kamailio transaction extensions (TM module)
uac			UAC functions (From: mangling and UAC auth)
uac_redirect		UAC redirection support
uri_db			URI operation with database support
userblacklist		User-specific blacklists
usrloc			Proxy :: Location server
xcap_client		Presence :: XCAP support
xlog			Utils :: Extended logging support
xmpp			Presence/IM :: XMPP/jabber gateway

SER modules
-----------
acc_db			Authentication :: acc module is used to report on transactions to database
acc_radius		Authentication :: acc module is used to report on transactions to RADIUS.
acc_syslog		Authentication :: acc module is used to report on transactions to syslog
auth			Authentication backend (needs additional modules)
auth_db			Database authentication
avp			functions used to manipulate the contents of Attribute-Value pairs
avp_db			Attribute-value pairs in database
bdb			Database :: Berkeley DB (Oracle)
blst			Blacklist management
cpl-c			CPL support in SIP-router
db_ops			Database :: SQL operations from configurtion script
dbg			Debugging support
dbtext			Database :: Text
dialog
dispatcher		Load balancing ::  a dispatcher for destination addresses
diversion		Proxy :: Call redirection support (Diversion: header)
domain			Proxy :: Multiple domain support
eval			implements expression evaluation in route script
exec			Proxy :: External script support (modify route set)
fifo			Obsolete :: This module is replaced by the modules/ctl module
gflags			Proxy :: Global flags
jabber			IM :: Jabber gateway
ldap			LDAP directory server support
mangler			SDP mangling
maxfwd			Proxy :: Loop prevention (max-forwards header)
msilo			Offline message storage
nathelper		NAT traversal :: RTP proxy (SIPPY software)
options			Proxy :: Support for SIP OPTION request
oracle			Database :: Oracle
osp			Open Settlement Protocol
pa			Presence :: server
pdt			Proxy :: Simple routing on number prefixes
permissions		Security :: ACL support like TCP wrappers
pike			Security :: Rate limit control
prefix_route		Proxy :: Routing based on a set of prefixes from the database
presence_b2b		Presence :: Back2back UA
print			Example module for developers
print_lib		Example module for developers
ratelimit		Security :: Rate limit of SIP requests
registrar		Registrar (for REGISTER requests)
rls			Resource list server (for presence)
rr			Proxy :: Record routing logic
sanity			Implement several sanity checks on incoming requests
sl			Proxy :: Stateless replies
sms			SMS gateway
speeddial		Proxy :: Speed dialing for users
textops			Text operations (search, replace)
timer			triggering specific route block on timer
tls			TLS module * DEPRECATED * Use the modules/tls module instead
uac			User agent client
unixsock		Obsolete :: This module is replaced by the modules/ctl module
uri			URI checks
uri_db			URI checks with database support
usrloc			Location server
xcap			Presence :: XCAP integration
xlog			Extended logging support
