everything: shotgun attempt to put PROTO_WS and PROTO_WSS across core and in modules...
[sip-router] / README-MODULES
1
2
3 SIP-ROUTER modules
4 ==================
5
6 This is the first release of the combined project. In order to be able to support
7 an upgrade path for both Kamailio/OpenSER and SER current users, we have been forced to
8 provide some modules in two versions, which means that we have three set of modules:
9
10  - modules:     the SIP router modules
11  - modules_k:   Kamailio modules
12  - modules_s:   SER modules
13
14 All modules are compatible with the core, so regardless if you are a new user or 
15 an existing, you are free to make a choice between the three sets as well as
16 mix and match between them.
17
18 Note that if you are currently using one product, you want to select the module
19 that exists in the K/S directories first to get a smooth upgrade path.
20
21 As sip-router development progress, we will move as many modules as possible
22 into the core and only keep k/s modules for backwards compatibility when required.
23
24 What is a module?
25 =================
26 A module consists of a lot of functions that enhance the core. Some of the modules
27 depends on other modules. It's all properly documented in the README that belongs
28 to each module (available as web pages on the sip-router.org web site).
29
30 A module providers up to three different APIs:
31
32 - Enhancements to the core SIP-router routing script (functions)
33 - Commands for the management interface (MI)
34 - Development interface for other modules
35
36 A single module may provide a selection of this, maybe only one of them.
37
38 Why do we have two modules with the same name?
39 ==============================================
40 Some modules exists both in modules_k and modules_s - like xlog. If you are
41 upgrading from Kamailio, we recommend using the one in modules_k for backwards
42 compatibility, if you are using SER then select the one in modules_s.
43 In the future the development team will try to integrate modules that are
44 split like this into one integrated module.
45
46 Core modules
47 ------------
48 auth_identity           SIP Identity support (RFC 4474)
49 auth_radius             Radius authentication
50 avpops                  Attribute-value pair operations ("variables")
51 carrierroute            A telephony routing module
52 cfg_db                  Database driver for configuration API
53 cfg_rpc
54 ctl
55 db_berkeley             Database :: Berkeley DB (Oracle)
56 db_flatstore            Database :: Flatstore
57 db_mysql                Database :: Mysql
58 db_postgres             Database :: PostgreSQL
59 dialplan                Dialplan management
60 enum                    Enum support
61 iptrtpproxy             NAT traversal :: Kernel based RTP proxy
62 lcr                     Least cost routing
63 mediaproxy              Nat traversal :: Mediaproxy (AG projects)
64 mi_rpc                  Management Interface :: XML RPC support
65 misc_radius             Various Radius functions
66 pdb                     Number portabilityusing external server
67 peering                 SIP peering between service providers
68 tls                     SSL/TLS support
69 tm                      SIP transaction support (stateful proxy)
70 topoh                   Topology hinding
71 utils                   Various utilities (http query, xcap status)
72 xmlrpc
73
74 Kamailio modules
75 ----------------
76 acc                     Accounting
77 alias_db                Alias management in database modules
78 auth                    MD5 digest authentication support
79 auth_db                 Authentication using a database module
80 auth_diameter           Authentication based on Diameter
81 benchmark               Development benchmark module
82 call_control            Call timeouts and management (depends on Dialog module)
83 cfgutils                Various configuration utilities
84 cpl-c                   Implementation of SIP Call Processing Language (RFC 3880)
85 db_oracle               Database :: Oracle support
86 db_text                 Database :: Text support
87 db_unixodbc             Database :: Unix ODBC support
88 dialog                  Dialog ("call") state module
89 dispatcher              Load balancing and failover
90 diversion               Call redirect support (SIP Diversion: header)
91 domain                  Proxy :: Multiple domain support using databases
92 domainpolicy            Proxy :: Obsolete module - This module is no longer maintained
93 drouting                Proxy :: Dynamic routing
94 exec                    External exec module
95 group                   Utils :: Group membership checking
96 h350                    LDAP/ITU H.350 multimedia schema support
97 htable                  Utils :: Hash table support
98 imc                     IM :: Instant messaging conference
99 jabber                  IM :: Jabber gateway
100 kex                     Proxy :: Kamailio core functions (backwards compatibility)
101 ldap                    LDAP Directory access
102 maxfwd                  SIP loop detection prevention (max-forwards header - "ttl")
103 memcached               Utils :: In-memory caching support (memcached)
104 mi_datagram             Management interface :: UDP
105 mi_fifo                 Management Interface :: Unix FIFO
106 mi_xmlrpc               Management Interface :: XML-rpc
107 msilo                   Text message storage
108 nat_traversal           NAT :: NAT traversal module
109 nathelper               NAT :: NAT traversal module :: RTPproxy (SIPPY software)
110 osp                     Open Settlement Protocol support
111 path                    Path: header support
112 pdt                     Proxy :: Routing based on numeric prefix
113 perl                    Perl-based module interface
114 perlvdb                 Database :: Use perl database functions
115 permissions             Security :: TCP-wrapper-like ACL functions
116 pike                    Security :: DOS-attack prevention
117 presence                Presence :: Core presence module
118 presence_dialoginfo     Presence :: Dialog info
119 presence_mwi            Presence :: Message waiting indication
120 presence_xml            Presence :: XML handler
121 pua                     Presence :: Common module
122 pua_bla                 Presence :: BLA
123 pua_dialoginfo          Presence :: Dialog Info support
124 pua_mi                  Presence :: Management interface
125 pua_usrloc              Presence :: USRLOC integration
126 pua_xmpp                Presence :: XMPP/Jabber gateway
127 purple                  Presence :: Libpurple support
128 pv                      Pseudo-variable implementation
129 qos                     Dialogs :: SDP management 
130 ratelimit               Security :: Rate limit
131 regex                   Regular expression support
132 registrar               Registrar/location server support
133 rls                     Presence :: Resource list server
134 rr                      Proxy :: Record routing
135 rtimer                  Utils :: Timer based routing script processing
136 sanity                  Syntax checking for incoming SIP requests
137 seas                    Application server interface
138 siptrace                Store SIP messages in database
139 siputils                Various utilities for SIP call handling
140 sl                      Proxy :: Stateless handling of SIP messages
141 sms                     SMS gateway support
142 snmpstats               SNMP support (net-snmp agentx)
143 speeddial               Per-user speed-dial controller module
144 sqlops                  SQL operations
145 sst                     SIP Session Timers implementation
146 statistics              Script statistics support
147 textops                 Text operations
148 tmx                     Proxy :: Kamailio transaction extensions (TM module)
149 uac                     UAC functions (From: mangling and UAC auth)
150 uac_redirect            UAC redirection support
151 uri_db                  URI operation with database support
152 userblacklist           User-specific blacklists
153 usrloc                  Proxy :: Location server
154 xcap_client             Presence :: XCAP support
155 xlog                    Utils :: Extended logging support
156 xmpp                    Presence/IM :: XMPP/jabber gateway
157
158 SER modules
159 -----------
160 acc_db                  Authentication :: acc module is used to report on transactions to database
161 acc_radius              Authentication :: acc module is used to report on transactions to RADIUS.
162 acc_syslog              Authentication :: acc module is used to report on transactions to syslog
163 auth                    Authentication backend (needs additional modules)
164 auth_db                 Database authentication
165 avp                     functions used to manipulate the contents of Attribute-Value pairs
166 avp_db                  Attribute-value pairs in database
167 bdb                     Database :: Berkeley DB (Oracle)
168 blst                    Blacklist management
169 cpl-c                   CPL support in SIP-router
170 db_ops                  Database :: SQL operations from configurtion script
171 dbg                     Debugging support
172 dbtext                  Database :: Text
173 dialog
174 dispatcher              Load balancing ::  a dispatcher for destination addresses
175 diversion               Proxy :: Call redirection support (Diversion: header)
176 domain                  Proxy :: Multiple domain support
177 eval                    implements expression evaluation in route script
178 exec                    Proxy :: External script support (modify route set)
179 fifo                    Obsolete :: This module is replaced by the modules/ctl module
180 gflags                  Proxy :: Global flags
181 jabber                  IM :: Jabber gateway
182 ldap                    LDAP directory server support
183 mangler                 SDP mangling
184 maxfwd                  Proxy :: Loop prevention (max-forwards header)
185 msilo                   Offline message storage
186 nathelper               NAT traversal :: RTP proxy (SIPPY software)
187 options                 Proxy :: Support for SIP OPTION request
188 oracle                  Database :: Oracle
189 osp                     Open Settlement Protocol
190 pa                      Presence :: server
191 pdt                     Proxy :: Simple routing on number prefixes
192 permissions             Security :: ACL support like TCP wrappers
193 pike                    Security :: Rate limit control
194 prefix_route            Proxy :: Routing based on a set of prefixes from the database
195 presence_b2b            Presence :: Back2back UA
196 print                   Example module for developers
197 print_lib               Example module for developers
198 ratelimit               Security :: Rate limit of SIP requests
199 registrar               Registrar (for REGISTER requests)
200 rls                     Resource list server (for presence)
201 rr                      Proxy :: Record routing logic
202 sanity                  Implement several sanity checks on incoming requests
203 sl                      Proxy :: Stateless replies
204 sms                     SMS gateway
205 speeddial               Proxy :: Speed dialing for users
206 textops                 Text operations (search, replace)
207 timer                   triggering specific route block on timer
208 tls                     TLS module * DEPRECATED * Use the modules/tls module instead
209 uac                     User agent client
210 unixsock                Obsolete :: This module is replaced by the modules/ctl module
211 uri                     URI checks
212 uri_db                  URI checks with database support
213 usrloc                  Location server
214 xcap                    Presence :: XCAP integration
215 xlog                    Extended logging support