# $Id$

The content here is quite obsolete. Please refer to
	http://www.opensips.org/Resources/DocsModules16
for a actual list.


'Use' tells how deployable a module is. Regular indicates
we deploy and use this feature in our infrastructure.
Experimental tells we are still gaining operation experience.

'Maturity' is label as stable if a module has been deployed
for longer time, alpha if it is still being developed and
beta if it is under test.

'Depends on' field tells which modules the module needs.


List of currently available opensips modules:

Name:       aaa_radius
Use:        regular
Maturity:   beta
Depends on:
Purpose:    RADIUS implementation for AAA API

Name:       acc
Use:        regular
Maturity:   stable
Depends on: tm, rr, mysql|postgres|unixodbc|dbtext|flatstore
Purpose:    Transaction accounting

Name:       alias_db
Use:        regular
Maturity:   stable
Depends on: mysql|postgres|unixodbc|dbtext
Purpose:    Alias with DB support (no caching).

Name:       auth
Use:        regular
Maturity:   stable
Depends on: sl
Purpose:    Common functions for digest authentication

Name:       auth_aaa
Use:        regular
Maturity:   stable
Depends on: auth
Purpose:    AAA support for digest authentication

Name:       auth_db
Use:        regular
Maturity:   stable
Depends on: mysql auth
Purpose:    Database support for digest authentication

Name:       auth_diameter
Use:        experimental
Maturity:   alpha
Depends on: auth
Purpose:    Diameter support for digest authentication

Name:       avpops
Use:        regular
Maturity:   stable
Depends on:
Purpose:    avp operations, pseudo-variable support

Name:       b2b_entities
Use:        regular
Maturity:   beta
Depends on:
Purpose:    B2BUA framework

Name:       b2b_logic
Use:        regular
Maturity:   beta
Depends on: b2b_entities
Purpose:    B2BUA controller via XML based scenarios

Name:       benchmark
Use:        experimental
Maturity:   beta
Depends on:
Purpose:    Support for script benchmarking

Name:       call_control
Use:        experimental
Maturity:   alpha
Depends on: dialog
Purpose:    Prepaid like functionality

Name:       carrierroute
Use:        experimental
Maturity:   beta
Depends on: db-module
Purpose:    LCR

Name:       cfgutils
Use:        experimental
Maturity:   beta
Depends on:
Purpose:    Script functions for randomization and others.

Name:       closeddial
Use:        experimental
Maturity:   alpha
Depends on: db-module
Purpose:    Group dialing (PBX like).

Name:       cpl_c
Use:        regular
Maturity:   stable
Depends on: tm, sl, usrloc
Purpose:    Call Processing Language interpreter

Name:       db_berkeley
Use:        regular
Maturity:   beta
Depends on:
Purpose:    Interface to Berkeley database.

Name:       db_flatstore
Use:        regular
Maturity:   beta
Depends on:
Purpose:    Very fast accounting in flat text files

Name:       db_http
Use:        experimental
Maturity:   alpha
Depends on:
Purpose:    DB interaction via HTTP

Name:       db_mysql
Use:        regular
Maturity:   stable
Depends on:
Purpose:    MySQL database support

Name:       db_oracle
Use:        regular
Maturity:   beta
Depends on:
Purpose:    Interface to Oracle database.

Name:       db_postgres
Use:        regular
Maturity:   stable
Depends on:
Purpose:    Postgress DB support

Name:       db_text
Use:        regular
Maturity:   stable
Depends on:
Purpose:    Database emulation in plaintext files

Name:       db_unixodbc
Use:        regular
Maturity:   beta
Depends on:
Purpose:    Unixodbc DB support

Name:       db_virtual
Use:        regular
Maturity:   beta
Depends on:
Purpose:    Virtual DB URLs based on existing real URL connections

Name:       dialog
Use:        regular
Maturity:   stable
Depends on: tm, rr, db-module
Purpose:    Dialog support, call tracking

Name:       dialplan
Use:        regular
Maturity:   stable
Depends on: db-module
Purpose:    Dialplan implementation based on translation rules

Name:       dispatcher
Use:        regular
Maturity:   stable
Depends on:
Purpose:    Implements a dispatcher for incoming requests using hashes

Name:       diversion
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Support for the Diversion extensions (draft-levy-sip-diversion-08)

Name:       domain
Use:        regular
Maturity:   stable
Depends on: db-module
Purpose:    support for maintenance of multiple domains and related functions

Name:       domainpolicy
Use:        experimental
Maturity:   alpha
Depends on: db-module
Purpose:    Federation membership based on DNS records.

Name:       drouting
Use:        regular
Maturity:   stable
Depends on: db-module
Purpose:    Scalable and performant LCR.

Name:       enum
Use:        regular
Maturity:   stable
Depends on:
Purpose:    Enum lookup support

Name:       exec
Use:        regular
Maturity:   beta
Depends on: -
Purpose:    Execution of external URI processing logic

Name:       gflags
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    global flags that can be changed by fifo commands

Name:       group
Use:        regular
Maturity:   stable
Depends on: database
Purpose:    Group membership checking using database and AAA

Name:       h350
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Access to data stored in an LDAP dir containing H.350 commObjects

Name:       identity
Use:        experimental
Maturity:   alpha
Depends on: -
Purpose:    Support for SIP Identity (see RFC 4474)

Name:       imc
Use:        experimental
Maturity:   beta
Depends on: database
Purpose:    Instance Messaging Chat support

Name:       jabber
Use:        experimental
Maturity:   beta
Depends on: database tm
Purpose:    SIMPLE 2 Jabber gateway

Name:       json
Use:        experimental
Maturity:   beta
Depends on:
Purpose:    JSON encoder / decoder

Name:       ldap
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    LDAP search interfac (search ops)

Name:       load_blancer
Use:        experimental
Maturity:   beta
Depends on: dialog, database
Purpose:    Load Balancer routing engine

Name:       localcache
Use:        experimental
Maturity:   stable
Depends on: -
Purpose:    Implementation of Cache interface (local storage in hash table)

Name:       mangler
Use:        experimental
Maturity:   alpha
Depends on: -
Purpose:    Helper with SDP mangling

Name:       maxfwd
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Max-Forwards check

Name:       mediaproxy
Use:        regular
Maturity:   stable
Depends on: mediaproxy media relay
Purpose:    nat traversal

Name:       memcached
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Implementation of Cache interface via memcached servers

Name:       mi_datagram
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Datagram (UDP and unixsock) communication for Mangement Interface.

Name:       mi_fifo
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    FIFO file communication for Mangement Interface.

Name:       mi_xmlrpc
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    XMLRPC communication for Mangement Interface.

Name:       mmgeoip
Use:        experimental
Maturity:   alpha
Depends on: -
Purpose:    IP address-to-location lookup capability.

Name:       msilo
Use:        regular
Maturity:   stable
Depends on: database tm
Purpose:    Message store

Name:       nathelper
Use:        regular
Maturity:   stable
Depends on: rtpproxy
Purpose:    nat traversal

Name:       nat_traversal
Use:        regular
Maturity:   beta
Depends on: dialog, tm, sl
Purpose:    nat traversal (signalling only)

Name:       options
Use:        experimental
Maturity:   stable
Depends on: -
Purpose:    Answers server options requests

Name:       osp
Use:        experimental
Maturity:   alpha
Depends on: textops, OSP Toolkit
Purpose:    Secure, multi-lateral peering using the OSP standard

Name:       path
Use:        experimental
Maturity:   beta
Depends on: rr
Purpose:    PATH support for complex routing

Name:       peering
Use:        experimental
Maturity:   alpha
Depends on: -
Purpose:    Tusted peer relationship management

Name:       perl
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Perl script execution

Name:       perlvdb
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Perl vistual DB

Name:       permissions
Use:        experimental
Maturity:   stable
Depends on: database
Purpose:    hosts.allow-like ACLs

Name:       pike
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Excessive load detection

Name:       presence
Use:        regular
Maturity:   stable
Depends on: database, signaling
Purpose:    Handles PUBLISH and SUBSCRIBE messages (SIMPLE engine)

Name:       presence_callinfo
Use:        experimental
Maturity:   alpha
Depends on: presence
Purpose:    Event CALLINFO implementation

Name:       presence_dialoginfo
Use:        experimental
Maturity:   alpha
Depends on: dialog, presence
Purpose:    Event DIALOG implementation

Name:       presence_mwi
Use:        experimental
Maturity:   alpha
Depends on: presence
Purpose:    Event MWI implementation

Name:       presence_xcapdiff
Use:        experimental
Maturity:   alpha
Depends on: presence
Purpose:    Event XCAPDIFF implementation

Name:       presence_xml
Use:        regular
Maturity:   stable
Depends on: presence,signaling,xcap_client,database
Purpose:    Handling for notify-subscribe events using xml bodies

Name:       pua
Use:        regular
Maturity:   stable
Depends on: tm
Purpose:    Presence user agent client, sending Subscribe and Publish messages

Name:       pua_bla
Use:        experimental
Maturity:   alpha
Depends on: pua
Purpose:    Presence user agent client for BLA events

Name:       pua_dialoginfo
Use:        experimental
Maturity:   alpha
Depends on: pua, dialog
Purpose:    PUA Publisher for Event DIALOG

Name:       pua_mi
Use:        regular
Maturity:   stable
Depends on: pua
Purpose:    PUA Publisher via Management Interface

Name:       pua_usrloc
Use:        regular
Maturity:   stable
Depends on: pua, usrloc
Purpose:    PUA Publisher based on user location (registrations)

Name:       pua_xmpp
Use:        regular
Maturity:   stable
Depends on: presence, pua, xmpp
Purpose:    SIP 2 XMPP transaltion for presence

Name:       python
Use:        experimental
Maturity:   alpha
Depends on: dialog
Purpose:    Track of per dialog SDP session(s)


Name:       qos
Use:        experimental
Maturity:   alpha
Depends on: dialog
Purpose:    Track of per dialog SDP session(s)

Name:       ratelimit
Use:        experimental
Maturity:   beta
Depends on: -
Purpose:    Rate limiting for SIP requests.

Name:       regex
Use:        experimental
Maturity:   alpha
Depends on: 
Purpose:    PERL like (PCRE) regexp support.

Name:       registrar
Use:        regular
Maturity:   stable
Depends on: usrloc, siganling
Purpose:    SIP Registrar

Name:       rls
Use:        experimental
Maturity:   beta
Depends on: database, siganling, tm, presence, pua
Purpose:    Resource List Server implementation (RFC 4826)

Name:       rr
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Routing and Record-Routing

Name:       rtpproxy
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    NAT Traversal using RTPProxy

Name:       seas
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Connector to weSIP (SIP Servlet Java server)

Name:       signaling
Use:        regular
Maturity:   stable
Depends on:
Purpose:    Signalling wrapper (stateless and stateful)

Name:       tracer
Use:        experimental
Maturity:   stable
Depends on: tm, sl, dialog
Purpose:    Traffic logging

Name:       sl
Use:        regular
Maturity:   stable
Depends on: tm, sl
Purpose:    Stateless replies

Name:       sms
Use:        regular
Maturity:   stable
Depends on: tm
Purpose:    SMS gateway

Name:       snmpstats
Use:        regular
Maturity:   stable
Depends on:
Purpose:    SNMP interface for OpenSIPS

Name:       speeddial
Use:        regular
Maturity:   stable
Depends on: database
Purpose:    On-server speed dial facilities

Name:       sst
Use:        regular
Maturity:   stable
Depends on: dialog
Purpose:    SIP Session Timer implementation

Name:       statistics
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Routing script statistics

Name:       stun
Use:        regular
Maturity:   alpha
Depends on: -
Purpose:    STUN server

Name:       textops
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Message Textual Operations

Name:       tlsops
Use:        experimental
Maturity:   alpha
Depends on: -
Purpose:    Helper TLS information and control

Name:       tm
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    Transaction Management

Name:       uac
Use:        regular
Maturity:   stable
Depends on: tm, rr
Purpose:    User Agent Client functionalities

Name:       uac_auth
Use:        regular
Maturity:   stable
Depends on: -
Purpose:    User Agent Client authentification functionalities

Name:       uac_redirect
Use:        regular
Maturity:   stable
Depends on: tm, acc
Purpose:    Redirect reply processing on server

Name:       uac_registrant
Use:        regular
Maturity:   alpha
Depends on: uac_auth
Purpose:    Registers OpenSIPS to a remote SIP registrar

Name:       uri
Use:        regular
Maturity:   stable
Depends on: database
Purpose:    Various URI checks, including DB and AAA

Name:       userblacklist
Use:        experimental
Maturity:   beta
Depends on: database
Purpose:    Blacklists on a per user basis

Name:       usrloc
Use:        regular
Maturity:   stable
Depends on: database
Purpose:    User location support

Name:       xcap_client
Use:        regular
Maturity:   beta
Depends on: -
Purpose:    XCAP client for fetching XCAP elements/docs via HTTP GET.

Name:       xmpp
Use:        experimental
Maturity:   beta
Depends on: tm
Purpose:    Gateway between OpenSIPS and a jabber server (SIP2XMPP)


