Modules

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Signalling Modules)
(Private Modules)
 
(122 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
 +
By default Yate loads modules relevant to its current running mode:
 +
 +
* all modules from the base module directory
 +
* in client mode modules from the client subdirectory
 +
** and all modules from the qt4 subdirectory in the Qt based client
 +
* in server mode modules from the server subdirectory
 +
** if yjinglechan is loaded also all modules from the jabber subdirectory
 +
 +
You just need to list all .yate files in those directories.
 +
 +
Loading of each module is controlled by the base name of each module in the [modules] section of the relevant main config file (yate.conf or yate-qt4.conf).
 +
The default is specified by modload= in section [general] of the same file:
 +
* if modload=yes (default) all modules are loaded if not disabled explicitly
 +
* if modload=no only explicitly enabled modules are loaded
  
 
==Software Drivers==
 
==Software Drivers==
  
:* [[H323_channel_module|h323chan]] - VoIP H.323 driver requiring the [http://www.voxgratia.org/modules/news/ OpenH323] Library
+
{|class="yate-table"
:* [[SIP_channel_module|ysipchan]] - VoIP SIP driver based on Yass (Yet Another Sip Stack)
+
|class="yate-header-right" colspan="2"|Modules
:* [[IAX|yiaxchan]] - VoIP IAX2 driver using our own [[yiax]] (Yate IAX stack)
+
|-
:* [[yjinglechan]] - VoIP Jingle external component driver using our own XMPP/Jingle (for Yate >= 1.2)
+
|class="yate-content-left"|
:* [[Signaling_module#Configuration|ysigchan]] - SS7/ISDN protocol implementations based on our own [[signalling]] library (for Yate >= 2.0)
+
* [[H323_channel_module|h323chan]]
:* [[analog]] - Analog channel (FXS/FXO) implementation based on our own [[signalling]] library  (for Yate >= 2.0)
+
VoIP H.323 driver requiring the [http://yate.null.ro/tarballs/openh323/ OpenH323] Library
:* [[alsachan]] - this module supports almost any ALSA driven sound card
+
* [[SIP Configuration File|ysipchan]]
:* [[osschan]] - this module supports almost any OSS driven sound card
+
VoIP SIP driver based on our own [[YASS]] (Yet Another Sip Stack) library
:* [[tonegen]] - this module supports the tones (dial,busy,congestion) for Yate
+
* [[IAX|yiaxchan]]  
:* [[wavefile]] - this module can play or record on a certain channel
+
VoIP IAX2 driver using our own [[yiax]] (Yate IAX stack)
:* [[Fax Transfer Module|faxchan]] - this module can transmit or receive a fax, is based on [http://soft-switch.org/ spandsp]
+
* [[yjinglechan]]  
:* [[RTP support channels|yrtpchan]] - Yate native rtp channel (for Yate >= 0.9)
+
VoIP Jingle external component driver using our own XMPP/Jingle (for Yate >= 1.2)
:* [[SIP_Features_Module|sipfeatures]] - implements miscellaneous SIP features
+
* [[Signaling_module#Configuration|ysigchan]]
:* [[dumbchan]] - a "dumb" channel. most useful for channel-less entities like IVRs
+
SS7/ISDN protocol implementations based on our own signalling library (for Yate >= 2.0)
:* [[dbwave]] - play or record to a binary database record
+
* [[analog]]  
:* [[MGCP_call_agent_module|mgcpca]] - MGCP (Media Gateway Control Protocol) - Call Agent
+
Analog channel (FXS/FXO) implementation based on our own signalling library  (for Yate >= 2.0)
:* [[Jabber Server Module|jabberserver]] - Jabber server
+
* [[alsachan]]
:* [[jbfeatures]] - implements miscellaneous Jabber features
+
This module supports almost any ALSA driven sound card
:* [[Jabber Client Module|jabberclient]] - Jabber client
+
* [[osschan]]  
 +
This module supports almost any OSS driven sound card
 +
* [[tonegen]]
 +
This module supports the tones (dial,busy,congestion) for Yate
 +
 
 +
|class="yate-content-right"|
 +
* [[wavefile]]
 +
This module can play or record on a certain channel
 +
* [[Fax Transfer Module|faxchan]]
 +
This module can transmit or receive a fax, is based on [http://soft-switch.org/ spandsp]
 +
* [[RTP support channels|yrtpchan]]  
 +
Yate native RTP channel (for Yate >= 0.9)
 +
* [[SIP_Features_Module|sipfeatures]]
 +
Implements miscellaneous SIP features
 +
* [[dumbchan]]  
 +
A "dumb" channel. most useful for channel-less entities like IVRs
 +
* [[dbwave]]  
 +
Play or record to a binary database record
 +
* [[MGCP_call_agent_module|mgcpca]]  
 +
MGCP (Media Gateway Control Protocol) - Call Agent
 +
* [[Jabber Server Module|jabberserver]]  
 +
Jabber server
 +
* [[jbfeatures]]
 +
Implements miscellaneous Jabber features
 +
* [[Jabber Client Module|jabberclient]]
 +
Jabber client
 +
|}
  
 
==Hardware Drivers==
 
==Hardware Drivers==
  
:* [[wpcard]] - ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate >= 2.0)
+
{|class="yate-table"
:* [[wpcard|wpcardw]] - ISDN E1/T1 driver over Wanpipe for Windows. Wanpipe drivers for windows are really different from the Linux version including the API. (for Yate >= 2.0)
+
|class="yate-header-right" colspan="2"|Modules
:* [[zapcard]] - ISDN E1/T1 TDM/FXO/FXS [http://www.asterisk.org/downloads Zaptel] driver. It supports some of the cards made by [http://www.digium.com Digium] - [http://www.digium.com/index.php?menu=wildcard_e100p E100P], [http://www.digium.com/index.php?menu=wildcard_t100p T100P], [http://www.digium.com/en/products/digital/te405p.php TE405P], [http://www.digium.com/en/products/digital/te410p.php TE410P]. (for Yate >= 2.0)
+
|-
:* [[wpchan]] - ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate < 2.0)
+
|class="yate-content-left"|
:* [[wpchanw]] - ISDN E1/T1 driver over Wanpipe for Windows. Wanpipe drivers for windows are really different from the Linux version including the API. (for Yate < 2.0)
+
* [[wpcard]]
:* [[zapchan]] - ISDN E1/T1/BRI driver, requires [http://www.asterisk.org/index.php?menu=download Zaptel] and [http://www.asterisk.org/index.php?menu=download libpri] .It supports some of the cards made by [http://www.digium.com Digium] - [http://www.digium.com/index.php?menu=wildcard_e100p E100P], [http://www.digium.com/index.php?menu=wildcard_t100p T100P], [http://www.digium.com/index.php?menu=wildcard_te405p TE405P], [http://www.digium.com/index.php?menu=wildcard_te410p TE410P] or you can use [http://www.voip-info.org/tiki-index.php?page=Asterisk+TDMoE ethernet] emulation and [http://www.voip-info.org/wiki-Asterisk+timer+ztdummy ztdummy] , and also all ISDN BRI cards based on the Cologne chip - [[zaphfc]]. (for Yate < 2.0)
+
ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate >= 2.0)
 +
* [[wpcard|wpcardw]]
 +
ISDN E1/T1 driver over Wanpipe for Windows. Wanpipe drivers for windows are really different from the Linux version including the API. (for Yate >= 2.0)
 +
|class="yate-content-right"|
 +
* [[zapcard]]
 +
ISDN E1/T1 TDM/FXO/FXS [http://www.asterisk.org/downloads Zaptel] driver. It supports some of the cards made by [http://www.digium.com Digium] - [http://www.digium.com/index.php?menu=wildcard_e100p E100P], [http://www.digium.com/index.php?menu=wildcard_t100p T100P], [http://www.digium.com/en/products/digital/te405p.php TE405P], [http://www.digium.com/en/products/digital/te410p.php TE410P]. (for Yate >= 2.0)
 +
<!--* [[wpchan]]
 +
ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate < 2.0)
 +
* [[wpchanw]]  
 +
ISDN E1/T1 driver over Wanpipe for Windows. Wanpipe drivers for windows are really different from the Linux version including the API. (for Yate < 2.0)
 +
* [[zapchan]]
 +
ISDN E1/T1/BRI driver, requires [http://www.asterisk.org/index.php?menu=download Zaptel] and [http://www.asterisk.org/index.php?menu=download libpri] .It supports some of the cards made by [http://www.digium.com Digium] - [http://www.digium.com/index.php?menu=wildcard_e100p E100P], [http://www.digium.com/index.php?menu=wildcard_t100p T100P], [http://www.digium.com/index.php?menu=wildcard_te405p TE405P], [http://www.digium.com/index.php?menu=wildcard_te410p TE410P] or you can use [http://www.voip-info.org/tiki-index.php?page=Asterisk+TDMoE ethernet] emulation and [http://www.voip-info.org/wiki-Asterisk+timer+ztdummy ztdummy] , and also all ISDN BRI cards based on the Cologne chip - [[zaphfc]]. (for Yate < 2.0)
 +
-->
 +
|}
  
==[[Signalling]] Modules==
+
==Signalling Modules==
  
:* [[MGCP_call_agent_module|mgcpca]] - MGCP (Media Gateway Control Protocol) - Call Agent
+
{|class="yate-table"
:* [[CiscoSM]] - Cisco SLT (Signaling Link Transport) control (SS7 MTP2 backhaul over IP)
+
|class="yate-header-right" colspan="2"|Modules
:* [[SigTransport]] - SIGTRAN connection provider (SS7 over IP)
+
|-
:* [[LkSCTP]] - SCTP sockets provider using Linux Kernel
+
|class="yate-content-left"|
:* [[isupmangler]] - Modifies parameters of ISUP messages passed through in STP mode
+
* [[MGCP_call_agent_module|mgcpca]]
 +
MGCP (Media Gateway Control Protocol) - Call Agent
 +
* [[CiscoSM]]
 +
Cisco SLT (Signaling Link Transport) control (SS7 MTP2 backhaul over IP)
 +
* [[SigTransport]]
 +
SIGTRAN connection provider (SS7 over IP)
 +
|class="yate-content-right"|
 +
* [[LkSCTP]]
 +
SCTP sockets provider using Linux Kernel
 +
* [[ISUP Mangler|isupmangler]]
 +
Modifies parameters of ISUP messages passed through in STP mode
 +
|}
  
 
==[[Routing]] Modules==
 
==[[Routing]] Modules==
:* [[Regular expressions|regexroute]] - route with regular expressions
+
 
:* [[register]] - route from a database
+
{|class="yate-table"
:* [[Javascript_routing|javascript]] - routing using the embedded Javascript language
+
|class="yate-header-right" colspan="2"|Modules
:* [[ENUM_Routing|enumroute]] - [http://www.ietf.org/html.charters/enum-charter.html ENUM] based routing
+
|-
:* [[clustering]] - forwards calls to other servers in a cluster based on [[node name]] (for Yate 2)
+
|class="yate-content-left"|
:* [[Call Forker|callfork]] - it can be used for fallback routing, executes a call in parallel or sequence to multiple targets
+
* [[Regular expressions|regexroute]]  
:* [[lateroute]] - makes a late routing decision, simplifies call forking and divert implementation (for Yate 2)
+
Route with regular expressions
:* [[YRadius]] - routing using a radius server
+
* [[register]]  
:* [[regfile]] - registration and routing from a file
+
Route from a database
:* [[callcounters]] - adds active call counters to be used in
+
* [[Javascript_module|javascript]]
:* [[isupmangler]] - Modifies parameters of ISUP messages passed through in STP mode
+
Routing using the embedded Javascript language
:* [[sip_cnam_lnp]] - Perform CNAM and LNP queries via SIP INVITE / 3xx
+
* [[ENUM_Routing|enumroute]]  
:* [[cache]] - CNAM and LNP memory caches. Set caller name or routing number if found in cache
+
[http://www.ietf.org/html.charters/enum-charter.html ENUM] based routing
 +
* [[clustering]]
 +
Forwards calls to other servers in a cluster based on [[Node Name]] (Yate >= 2.0)
 +
* [[Call Forker|callfork]]  
 +
It can be used for fallback routing, executes a call in parallel or sequence to multiple targets
 +
* [[regfile]]
 +
Registration and routing from a file
 +
 
 +
|class="yate-content-right"|
 +
* [[Late routing Module|lateroute]]
 +
Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0)
 +
* [[YRadius]]
 +
Routing using a radius server
 +
* [[Call Counters|callcounters]]  
 +
Adds active call counters to be used in
 +
* [[ISUP Mangler|isupmangler]]
 +
Modifies parameters of ISUP messages passed through in STP mode
 +
* [[SIP query for CNAM and LNP|sip_cnam_lnp]]
 +
Perform CNAM and LNP queries via SIP INVITE / 3xx
 +
* [[Cache module|cache]]  
 +
CNAM and LNP memory caches. Set caller name or routing number if found in cache
 +
* [[Ysigchan]]
 +
This module is based on the signalling library and uses driver module(s) (e.g. zapcard, wpcard) to create interfaces and circuits used to transfer signalling packets and audio data.
 +
|}
  
 
==Registering Modules==
 
==Registering Modules==
  
:* [[accfile]] - this module allows Yate to act as a SIP or H.323 client
+
{|class="yate-table"
:* [[regfile]] - registration and routing from a file
+
|class="yate-header-right" colspan="2"|Modules
:* [[register]] - register users in a database
+
|-
:* [[clustering]] - adds [[Node Name]] information to routes registered with other modules (for Yate 2)
+
|class="yate-content-left"|
 +
* [[accfile]]
 +
This module allows Yate to act as a SIP or H.323 client
 +
* [[regfile]]  
 +
Registration and routing from a file
 +
 
 +
|class="yate-content-right"|
 +
* [[register]]
 +
Register users in a database
 +
* [[clustering]]
 +
Adds [[Node Name]] information to routes registered with other modules (for Yate 2)
 +
|}
  
 
==PBX Modules==
 
==PBX Modules==
  
:* [[moh]] - music on hold
+
{|class="yate-table"
:* [[conference]] - conference room with arbitrary number of seats
+
|class="yate-header-right" colspan="2"|Modules
:* [[park]] - call parking
+
|-
:* [[pbxassist]] - configurable PBX with hold, transfer and conference capabilities
+
|class="yate-content-left"|
:* [[pbx]] - miscellaneous script-usable PBX features
+
* [[Music On Hold Module|moh]]
:* [[queues]] - queues and distributes incoming calls to operators
+
Music on hold
:* [[dbpbx]] - PBX, IVR and multi routing from a database
+
* [[Conference room module|conference]]
 +
Conference room with arbitrary number of seats
 +
* [[Park Module|park]]
 +
Call parking
 +
* [[Call Pickup|pickup]]
 +
Call pickup
  
==Cdr Modules==
+
|class="yate-content-right"|
 +
* [[pbxassist]]
 +
Configurable PBX with hold, transfer and conference capabilities
 +
* [[PBX Module|pbx]]
 +
Miscellaneous script-usable PBX features
 +
* [[Queues Module|queues]]
 +
Queues and distributes incoming calls to operators
 +
* [[dbpbx]]
 +
PBX, IVR and multi routing from a database
 +
|}
  
:* [[cdrbuild]] module - builds the cdr so other modules can use it
+
==[[Call Detail Records Modules|CDR]] Modules==
:* [[cdrfile]] module - writes the cdr in a file
+
 
:* [[register]] - writes the cdr in a database
+
{|class="yate-table"
:* [[callcounters]] - count active calls per user specified context
+
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[CDR Build Module|cdrbuild]] module
 +
Builds the cdr so other modules can use it
 +
* [[CDR File Module|cdrfile]] module
 +
Writes the cdr in a file
 +
* [[register]]
 +
Writes the cdr in a database
 +
|class="yate-content-right"|
 +
* [[Call Counters|callcounters]]
 +
Count active calls per user specified context
 +
* [[CDRcombine_Module|cdrcombine]]
 +
Transforms mutliple cdr entries(per each call leg) to single cdr entry(per call).
 +
|}
  
 
==[[Transcoding]] Modules (codecs)==
 
==[[Transcoding]] Modules (codecs)==
  
:* [[gsmcodec]] - GSM 06.10 codec
+
{|class="yate-table"
:* [[speexcodec]] - Speex NB, WB and UWB codec
+
|class="yate-header-right" colspan="2"|Modules
:* [[ilbccodec]] - iLBC codec
+
|-
:* [[amrnbcodec]] - AMR-NB codec
+
|class="yate-content-left"|
 +
* [[gsmcodec]]
 +
GSM 06.10 codec
 +
* [[speexcodec]]
 +
Speex NB, WB and UWB codec
 +
 
 +
|class="yate-content-right"|
 +
* [[ilbccodec]]
 +
iLBC codec
 +
* [[amrnbcodec]]
 +
AMR-NB codec
 +
|}
  
 
==Test Modules==
 
==Test Modules==
  
:* [[msgsniff]] - message sniffer
+
{|class="yate-table"
:* [[callgen]] - call generator
+
|class="yate-header-right" colspan="2"|Modules
:* [[analyzer]] - audio path quality analyzer
+
|-
 +
|class="yate-content-left"|
 +
* [[Debugging and, or Investigation of messages|msgsniff]]
 +
Message sniffer
 +
* [[Call generator|callgen]]  
 +
Call generator
 +
 
 +
|class="yate-content-right"|
 +
* [[Quality analyzer module|analyzer]]
 +
Audio path quality analyzer
 +
|}
  
 
==Remote Control==
 
==Remote Control==
  
:* [[rmanager]] - remote manager accessible from telnet
+
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[rmanager]]
 +
Remote manager accessible from telnet
 +
 
 +
|class="yate-content-right"|
 +
|}
  
 
==Billing Modules==
 
==Billing Modules==
  
:* [[YRadius]] - RADIUS module
+
{|class="yate-table"
:* [[register]] - billing in a database
+
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[register]]
 +
Billing in a database
 +
|class="yate-content-right"|
 +
* [[YRadius]]
 +
RADIUS module
 +
|}
  
 
==External Module==
 
==External Module==
  
:* [[extmodule]] - for Linux
+
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[External Module|extmodule]]
 +
External module allows you to use a channel or global scripts in Yate.
 +
 
 +
|class="yate-content-right"|
 +
|}
  
 
==Database Drivers==
 
==Database Drivers==
  
:* [[PostgreSQL|pgsqldb]] - [http://www.postgresql.org/ PostgreSQL] database driver
+
{|class="yate-table"
:* [[MySQL|mysqldb]] - [http://www.mysql.com/ MySQL] database driver
+
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[PostgreSQL|pgsqldb]]
 +
[http://www.postgresql.org/ PostgreSQL] database driver
 +
 
 +
|class="yate-content-right"|
 +
* [[MySQL|mysqldb]]
 +
[http://www.mysql.com/ MySQL] database driver
 +
|}
  
 
==Resource subscribe/notify modules==
 
==Resource subscribe/notify modules==
  
:* [[SIP Features Module|sipfeatures]] - handle sip.subscribe and resource.notify messages
+
{|class="yate-table"
:* [[register]] - writes the subscriptions in the database and notify the subscribers
+
|class="yate-header-right" colspan="2"|Modules
:* [[queuesnotify]] - notify changes in the status of queued calls
+
|-
:* [[presence]] - implements presence service for SIP clients
+
|class="yate-content-left"|
:* [[subscriptions]] - manages rosters
+
* [[SIP Features Module|sipfeatures]]
 +
Handle sip.subscribe and resource.notify messages
 +
* [[register]]  
 +
Writes the subscriptions in the database and notify the subscribers
 +
* [[Queues Notify Module|queuesnotify]]
 +
Notify changes in the status of queued calls
 +
 
 +
|class="yate-content-right"|
 +
* [[presence]]
 +
Implements presence service for SIP clients
 +
* [[subscriptions]]
 +
Manages rosters
 +
|}
 +
 
 +
==SS7==
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
*[[Signalling|Signalling]]
 +
Introduction on how the PSTN signalling modules are working together in Yate
 +
*[[MGCP call agent module|MGCP call agent module]]
 +
Allows Yate to control analog or digital Media Gateways
 +
* [[LkSCTP|LkSCTP]]
 +
Provides support for SCTP sockets based on the Linux kernel implementation
 +
*[[Ysigchan|Ysigchan]]
 +
Signalling module
 +
 
 +
|class="yate-content-right"|
 +
*[[ISUP Mangler|ISUP Mangler]]
 +
Allows intercepting and mangling ISUP messages that pass through the STP.
 +
*[[SigTransport|SigTransport]]
 +
Standard factory for the common lower layer of SIGTRAN protocols
 +
*[[CiscoSM]]
 +
Implements signal link backhauling using the Cisco Signaling Link Terminal protocol
 +
|}
  
 
==Miscellaneous support modules==
 
==Miscellaneous support modules==
  
:* [[tonedetect]] - inband DTMF and Fax tone detector
+
{|class="yate-table"
:* [[OpenSSL]] - SSL/TLS sockets provider using the [http://www.openssl.org/ OpenSSL] library
+
|class="yate-header-right" colspan="2"|Modules
:* [[lksctp]] - SCTP sockets provider using Linux Kernel
+
|-
:* [[ccongestion]] - Reject calls based on CPU load (depends on [[cpuload]])
+
|class="yate-content-left"|
 +
* [[Tone detector|tonedetect]]
 +
Inband DTMF and Fax tone detector
 +
* [[OpenSSL]]  
 +
SSL/TLS sockets provider using the [http://www.openssl.org/ OpenSSL] library
 +
* [[LkSCTP]]  
 +
SCTP sockets provider using Linux Kernel
 +
 
 +
|class="yate-content-right"|
 +
* [[ccongestion]]
 +
Reject calls based on CPU load (depends on [[cpuload]])
 +
* [[gvoice]]
 +
Google Voice support module (Yate 4+)
 +
|}
  
 
==GUI Modules==
 
==GUI Modules==
  
:* [http://yateclient.yate.ro/ YateClient] - a skinnable Qt4 user interface allowing the use of Yate as an universal [http://www.fcc.gov/voip/ VoIP] client
+
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [http://yateclient.yate.ro/ YateClient]  
 +
A skinnable Qt4 user interface allowing the use of Yate as an universal [http://www.fcc.gov/voip/ VoIP] client
 +
 
 +
|class="yate-content-right"|
 +
|}
  
 
==Monitoring==
 
==Monitoring==
  
:* [[ysnmpagent]] - the SNMP agent
+
{|class="yate-table"
:* [[cpuload]] - monitors CPU load
+
|class="yate-header-right" colspan="2"|Modules
:* [[monitoring]] - monitors database accounts, QoS, routing, RTP, SIP, etc.
+
|-
:* [[eventlogs]] - write events and alarms to log files
+
|class="yate-content-left"|
 +
* [[SNMP Agent|ysnmpagent]]
 +
The SNMP agent
 +
* [[cpuload]]
 +
Monitors CPU load
 +
 
 +
|class="yate-content-right"|
 +
* [[monitoring]]
 +
Monitors database accounts, QoS, routing, RTP, SIP, etc.
 +
* [[eventlogs]]
 +
Write events and alarms to log files.
 +
|}
 +
 
 +
==Private Modules==
 +
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[ydiameter]]
 +
Diameter protocol support.
 +
 
 +
|class="yate-content-right"|
 +
* [[HTTP Client]]
 +
Provides HTTP client connections
 +
|}
 +
 
 +
Note: Some modules appear in more than one category because they may implement multiple functions on top of the same protocol or connection.
 +
 
 +
 
 +
'''See also'''
 +
 
 +
* [[How To's]]
  
You will note that some modules appear in more than one category because they may implement multiple functions on top of the same protocol or connection.
+
[[Category:Administrate]]

Latest revision as of 15:25, 1 October 2019

By default Yate loads modules relevant to its current running mode:

  • all modules from the base module directory
  • in client mode modules from the client subdirectory
    • and all modules from the qt4 subdirectory in the Qt based client
  • in server mode modules from the server subdirectory
    • if yjinglechan is loaded also all modules from the jabber subdirectory

You just need to list all .yate files in those directories.

Loading of each module is controlled by the base name of each module in the [modules] section of the relevant main config file (yate.conf or yate-qt4.conf). The default is specified by modload= in section [general] of the same file:

  • if modload=yes (default) all modules are loaded if not disabled explicitly
  • if modload=no only explicitly enabled modules are loaded

Contents

[edit] Software Drivers

Modules

VoIP H.323 driver requiring the OpenH323 Library

VoIP SIP driver based on our own YASS (Yet Another Sip Stack) library

VoIP IAX2 driver using our own yiax (Yate IAX stack)

VoIP Jingle external component driver using our own XMPP/Jingle (for Yate >= 1.2)

SS7/ISDN protocol implementations based on our own signalling library (for Yate >= 2.0)

Analog channel (FXS/FXO) implementation based on our own signalling library (for Yate >= 2.0)

This module supports almost any ALSA driven sound card

This module supports almost any OSS driven sound card

This module supports the tones (dial,busy,congestion) for Yate

This module can play or record on a certain channel

This module can transmit or receive a fax, is based on spandsp

Yate native RTP channel (for Yate >= 0.9)

Implements miscellaneous SIP features

A "dumb" channel. most useful for channel-less entities like IVRs

Play or record to a binary database record

MGCP (Media Gateway Control Protocol) - Call Agent

Jabber server

Implements miscellaneous Jabber features

Jabber client

[edit] Hardware Drivers

Modules

ISDN E1/T1 driver over Wanpipe for Linux. Supports Sangoma AFT voice series cards. Very efficient. (for Yate >= 2.0)

ISDN E1/T1 driver over Wanpipe for Windows. Wanpipe drivers for windows are really different from the Linux version including the API. (for Yate >= 2.0)

ISDN E1/T1 TDM/FXO/FXS Zaptel driver. It supports some of the cards made by Digium - E100P, T100P, TE405P, TE410P. (for Yate >= 2.0)

[edit] Signalling Modules

Modules

MGCP (Media Gateway Control Protocol) - Call Agent

Cisco SLT (Signaling Link Transport) control (SS7 MTP2 backhaul over IP)

SIGTRAN connection provider (SS7 over IP)

SCTP sockets provider using Linux Kernel

Modifies parameters of ISUP messages passed through in STP mode

[edit] Routing Modules

Modules

Route with regular expressions

Route from a database

Routing using the embedded Javascript language

ENUM based routing

Forwards calls to other servers in a cluster based on Node Name (Yate >= 2.0)

It can be used for fallback routing, executes a call in parallel or sequence to multiple targets

Registration and routing from a file

Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0)

Routing using a radius server

Adds active call counters to be used in

Modifies parameters of ISUP messages passed through in STP mode

Perform CNAM and LNP queries via SIP INVITE / 3xx

CNAM and LNP memory caches. Set caller name or routing number if found in cache

This module is based on the signalling library and uses driver module(s) (e.g. zapcard, wpcard) to create interfaces and circuits used to transfer signalling packets and audio data.

[edit] Registering Modules

Modules

This module allows Yate to act as a SIP or H.323 client

Registration and routing from a file

Register users in a database

Adds Node Name information to routes registered with other modules (for Yate 2)

[edit] PBX Modules

Modules

Music on hold

Conference room with arbitrary number of seats

Call parking

Call pickup

Configurable PBX with hold, transfer and conference capabilities

Miscellaneous script-usable PBX features

Queues and distributes incoming calls to operators

PBX, IVR and multi routing from a database

[edit] CDR Modules

Modules

Builds the cdr so other modules can use it

Writes the cdr in a file

Writes the cdr in a database

Count active calls per user specified context

Transforms mutliple cdr entries(per each call leg) to single cdr entry(per call).

[edit] Transcoding Modules (codecs)

Modules

GSM 06.10 codec

Speex NB, WB and UWB codec

iLBC codec

AMR-NB codec

[edit] Test Modules

Modules

Message sniffer

Call generator

Audio path quality analyzer

[edit] Remote Control

Modules

Remote manager accessible from telnet

[edit] Billing Modules

Modules

Billing in a database

RADIUS module

[edit] External Module

Modules

External module allows you to use a channel or global scripts in Yate.

[edit] Database Drivers

Modules

PostgreSQL database driver

MySQL database driver

[edit] Resource subscribe/notify modules

Modules

Handle sip.subscribe and resource.notify messages

Writes the subscriptions in the database and notify the subscribers

Notify changes in the status of queued calls

Implements presence service for SIP clients

Manages rosters

[edit] SS7

Modules

Introduction on how the PSTN signalling modules are working together in Yate

Allows Yate to control analog or digital Media Gateways

Provides support for SCTP sockets based on the Linux kernel implementation

Signalling module

Allows intercepting and mangling ISUP messages that pass through the STP.

Standard factory for the common lower layer of SIGTRAN protocols

Implements signal link backhauling using the Cisco Signaling Link Terminal protocol

[edit] Miscellaneous support modules

Modules

Inband DTMF and Fax tone detector

SSL/TLS sockets provider using the OpenSSL library

SCTP sockets provider using Linux Kernel

Reject calls based on CPU load (depends on cpuload)

Google Voice support module (Yate 4+)

[edit] GUI Modules

Modules

A skinnable Qt4 user interface allowing the use of Yate as an universal VoIP client

[edit] Monitoring

Modules

The SNMP agent

Monitors CPU load

Monitors database accounts, QoS, routing, RTP, SIP, etc.

Write events and alarms to log files.

[edit] Private Modules

Modules

Diameter protocol support.

Provides HTTP client connections

Note: Some modules appear in more than one category because they may implement multiple functions on top of the same protocol or connection.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers