Modules

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(PBX Modules)
(46 intermediate revisions by 3 users not shown)
Line 12: Line 12:
 
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).  
 
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:
 
The default is specified by modload= in section [general] of the same file:
* if modload=yes (default) all modules are loaded if not disabled explicitely
+
* if modload=yes (default) all modules are loaded if not disabled explicitly
* if modload=no only explicitely enabled modules are loaded
+
* if modload=no only explicitly enabled modules are loaded
  
 
==Software Drivers==
 
==Software Drivers==
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[H323_channel_module|h323chan]]
 +
VoIP H.323 driver requiring the [http://yate.null.ro/tarballs/openh323/ OpenH323] Library
 +
* [[SIP Configuration File|ysipchan]]
 +
VoIP SIP driver based on our own [[YASS]] (Yet Another Sip Stack) library
 +
* [[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)
 +
* [[Signaling_module#Configuration|ysigchan]]
 +
SS7/ISDN protocol implementations based on our own signalling library (for Yate >= 2.0)
 +
* [[analog]]
 +
Analog channel (FXS/FXO) implementation based on our own signalling library  (for Yate >= 2.0)
 +
* [[alsachan]]
 +
This module supports almost any ALSA driven sound card
 +
* [[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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[H323_channel_module|h323chan]]</font><br/>
+
* [[wavefile]]
<div class="yate-page-desc">VoIP H.323 driver requiring the [http://yate.null.ro/tarballs/openh323/ OpenH323] Library</div>
+
This module can play or record on a certain channel
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[SIP Configuration File|ysipchan]] </font><br/>
+
* [[Fax Transfer Module|faxchan]]
<div class="yate-page-desc">VoIP SIP driver based on our own [[YASS]] (Yet Another Sip Stack) library</div>
+
This module can transmit or receive a fax, is based on [http://soft-switch.org/ spandsp]
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[IAX|yiaxchan]] </font><br/>
+
* [[RTP support channels|yrtpchan]]  
<div class="yate-page-desc">VoIP IAX2 driver using our own [[yiax]] (Yate IAX stack)</div>
+
Yate native RTP channel (for Yate >= 0.9)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[yjinglechan]] </font><br/>
+
* [[SIP_Features_Module|sipfeatures]]
<div class="yate-page-desc">VoIP Jingle external component driver using our own XMPP/Jingle (for Yate >= 1.2)</div>
+
Implements miscellaneous SIP features
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Signaling_module#Configuration|ysigchan]] </font><br/>
+
* [[dumbchan]]  
<div class="yate-page-desc">SS7/ISDN protocol implementations based on our own [[signalling]] library (for Yate >= 2.0)</div>
+
A "dumb" channel. most useful for channel-less entities like IVRs
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[analog]] </font><br/>
+
* [[dbwave]]  
<div class="yate-page-desc">Analog channel (FXS/FXO) implementation based on our own [[signalling]] library  (for Yate >= 2.0)</div>
+
Play or record to a binary database record
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[alsachan]]</font><br/>
+
* [[MGCP_call_agent_module|mgcpca]]  
<div class="yate-page-desc"> This module supports almost any ALSA driven sound card</div>
+
MGCP (Media Gateway Control Protocol) - Call Agent
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[osschan]] </font><br/>
+
* [[Jabber Server Module|jabberserver]]  
<div class="yate-page-desc"> This module supports almost any OSS driven sound card</div>
+
Jabber server
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[tonegen]] </font><br/>
+
* [[jbfeatures]]
<div class="yate-page-desc">This module supports the tones (dial,busy,congestion) for Yate</div>
+
Implements miscellaneous Jabber features
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[wavefile]] </font><br/>
+
* [[Jabber Client Module|jabberclient]]
<div class="yate-page-desc">This module can play or record on a certain channel</div>
+
Jabber client
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Fax Transfer Module|faxchan]] </font><br/>
+
<div class="yate-page-desc">This module can transmit or receive a fax, is based on [http://soft-switch.org/ spandsp]</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[RTP support channels|yrtpchan]] </font><br/>
+
<div class="yate-page-desc"> Yate native RTP channel (for Yate >= 0.9)</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[SIP_Features_Module|sipfeatures]] </font><br/>
+
<div class="yate-page-desc">Implements miscellaneous SIP features</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[dumbchan]] </font><br/>
+
<div class="yate-page-desc">A "dumb" channel. most useful for channel-less entities like IVRs</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[dbwave]] </font><br/>
+
<div class="yate-page-desc">Play or record to a binary database record</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[MGCP_call_agent_module|mgcpca]] </font><br/>
+
<div class="yate-page-desc"> MGCP (Media Gateway Control Protocol) - Call Agent</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Jabber Server Module|jabberserver]] </font><br/>
+
<div class="yate-page-desc"> Jabber server</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[jbfeatures]]</font><br/>
+
<div class="yate-page-desc">Implements miscellaneous Jabber features</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Jabber Client Module|jabberclient]] </font><br/>
+
<div class="yate-page-desc"> Jabber client</div>
+
 
|}
 
|}
  
Line 64: Line 66:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[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)
 +
* [[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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[wpcard]]</font><br/>
+
* [[zapcard]]
<div class="yate-page-desc">ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate >= 2.0)</div>
+
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)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[wpcard|wpcardw]] </font><br/>
+
<!--* [[wpchan]]
<div class="yate-page-desc"> 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)</div>
+
ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate < 2.0)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[zapcard]]</font><br/>
+
* [[wpchanw]]  
<div class="yate-page-desc"> 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)</div>
+
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)
<!--<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[wpchan]] </font><br/>
+
* [[zapchan]]
<div class="yate-page-desc"> ISDN E1/T1 driver over Wanpipe for Linux. Supports [http://www.sangoma.com Sangoma] AFT voice series cards. Very efficient. (for Yate < 2.0)</div>
+
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)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[wpchanw]] </font><br/>
+
-->
<div class="yate-page-desc">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)</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[zapchan]] </font><br/>
+
<div class="yate-page-desc"> 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)</div>-->
+
 
|}
 
|}
  
==[[Signalling]] Modules==
+
==Signalling Modules==
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[MGCP_call_agent_module|mgcpca]] </font><br/>
+
* [[LkSCTP]]
<div class="yate-page-desc"> MGCP (Media Gateway Control Protocol) - Call Agent</div>
+
SCTP sockets provider using Linux Kernel
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[CiscoSM]] </font><br/>
+
* [[ISUP Mangler|isupmangler]]
<div class="yate-page-desc"> Cisco SLT (Signaling Link Transport) control (SS7 MTP2 backhaul over IP)</div>
+
Modifies parameters of ISUP messages passed through in STP mode
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[SigTransport]]</font><br/>
+
<div class="yate-page-desc"> SIGTRAN connection provider (SS7 over IP)</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[LkSCTP]] </font><br/>
+
<div class="yate-page-desc"> SCTP sockets provider using Linux Kernel</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[ISUP Mangler|isupmangler]] </font><br/>
+
<div class="yate-page-desc"> Modifies parameters of ISUP messages passed through in STP mode</div>
+
 
|}
 
|}
  
Line 102: Line 107:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Regular expressions|regexroute]]
 +
Route with regular expressions
 +
* [[register]]
 +
Route from a database
 +
* [[Javascript_module|javascript]]
 +
Routing using the embedded Javascript language
 +
* [[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]] (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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Regular expressions|regexroute]] </font><br/>
+
* [[Late routing Module|lateroute]]
<div class="yate-page-desc"> Route with regular expressions</div>
+
Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[register]] </font><br/>
+
* [[YRadius]]
<div class="yate-page-desc">Route from a database</div>
+
Routing using a radius server
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Javascript_routing|javascript]] </font><br/>
+
* [[Call Counters|callcounters]]  
<div class="yate-page-desc">Routing using the embedded Javascript language</div>
+
Adds active call counters to be used in
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[ENUM_Routing|enumroute]] </font><br/>
+
* [[ISUP Mangler|isupmangler]]
<div class="yate-page-desc"> [http://www.ietf.org/html.charters/enum-charter.html ENUM] based routing</div>
+
Modifies parameters of ISUP messages passed through in STP mode
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[clustering]] </font><br/>
+
* [[SIP query for CNAM and LNP|sip_cnam_lnp]]
<div class="yate-page-desc">Forwards calls to other servers in a cluster based on [[Node Name]] (Yate >= 2.0)</div>
+
Perform CNAM and LNP queries via SIP INVITE / 3xx
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Call Forker|callfork]] </font><br/>
+
* [[Cache module|cache]]  
<div class="yate-page-desc">It can be used for fallback routing, executes a call in parallel or sequence to multiple targets</div>
+
CNAM and LNP memory caches. Set caller name or routing number if found in cache
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Late routing Module|lateroute]] </font><br/>
+
<div class="yate-page-desc">Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0)</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[YRadius]] </font><br/>
+
<div class="yate-page-desc">Routing using a radius server</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[regfile]] </font><br/>
+
<div class="yate-page-desc">Registration and routing from a file</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Call Counters|callcounters]] </font><br/>
+
<div class="yate-page-desc">Adds active call counters to be used in</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[ISUP Mangler|isupmangler]] </font><br/>
+
<div class="yate-page-desc"> Modifies parameters of ISUP messages passed through in STP mode</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[SIP query for CNAM and LNP|sip_cnam_lnp]] </font><br/>
+
<div class="yate-page-desc"> Perform CNAM and LNP queries via SIP INVITE / 3xx</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Cache module|cache]] </font><br/>
+
<div class="yate-page-desc"> CNAM and LNP memory caches. Set caller name or routing number if found in cache</div>
+
 
|}
 
|}
  
Line 136: Line 143:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[accfile]] </font><br/>
+
* [[register]]
<div class="yate-page-desc">This module allows Yate to act as a SIP or H.323 client</div>
+
Register users in a database
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[regfile]] </font><br/>
+
* [[clustering]]
<div class="yate-page-desc">Registration and routing from a file</div>
+
Adds [[Node Name]] information to routes registered with other modules (for Yate 2)
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[register]]</font><br/>
+
<div class="yate-page-desc">Register users in a database</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[clustering]]</font><br/>
+
<div class="yate-page-desc">Adds [[Node Name]] information to routes registered with other modules (for Yate 2)</div>
+
 
|}
 
|}
  
Line 152: Line 161:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Music On Hold Module|moh]]
 +
Music on hold
 +
* [[Conference room module|conference]]
 +
Conference room with arbitrary number of seats
 +
* [[Park Module|park]]
 +
Call parking
 +
* [[Call Pickup|pickup]]
 +
Call pickup
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Music On Hold Module|moh]] </font><br/>
+
* [[pbxassist]]  
<div class="yate-page-desc">Music on hold</div>
+
Configurable PBX with hold, transfer and conference capabilities
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Conference room module|conference]] </font><br/>
+
* [[PBX Module|pbx]]
<div class="yate-page-desc">Conference room with arbitrary number of seats</div>
+
Miscellaneous script-usable PBX features
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Park Module|park]] </font><br/>
+
* [[Queues Module|queues]]
<div class="yate-page-desc">Call parking</div>
+
Queues and distributes incoming calls to operators
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Call Pickup|pickup]]</font><br/>
+
* [[dbpbx]]
<div class="yate-page-desc">Call pickup</div>
+
PBX, IVR and multi routing from a database
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[pbxassist]] </font><br/>
+
<div class="yate-page-desc">Configurable PBX with hold, transfer and conference capabilities</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[PBX Module|pbx]] </font><br/>
+
<div class="yate-page-desc">Miscellaneous script-usable PBX features</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Queues Module|queues]] </font><br/>
+
<div class="yate-page-desc">Queues and distributes incoming calls to operators</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[dbpbx]] </font><br/>
+
<div class="yate-page-desc">PBX, IVR and multi routing from a database</div>
+
 
|}
 
|}
  
Line 176: Line 187:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[CDR Build Module|cdrbuild]] module </font><br/>
+
* [[Call Counters|callcounters]]
<div class="yate-page-desc">Builds the cdr so other modules can use it</div>
+
Count active calls per user specified context
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[CDR File Module|cdrfile]] module </font><br/>
+
* [[CDRcombine_Module|cdrcombine]]
<div class="yate-page-desc">Writes the cdr in a file</div>
+
Transforms mutliple cdr entries(per each call leg) to single cdr entry(per call).
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[register]] </font><br/>
+
<div class="yate-page-desc">Writes the cdr in a database</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Call Counters|callcounters]] </font><br/>
+
<div class="yate-page-desc">Count active calls per user specified context</div>
+
 
|}
 
|}
  
Line 192: Line 206:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[gsmcodec]]
 +
GSM 06.10 codec
 +
* [[speexcodec]]
 +
Speex NB, WB and UWB codec
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[gsmcodec]] </font><br/>
+
* [[ilbccodec]]
<div class="yate-page-desc"> GSM 06.10 codec</div>
+
iLBC codec
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[speexcodec]]</font><br/>
+
* [[amrnbcodec]]
<div class="yate-page-desc"> Speex NB, WB and UWB codec</div>
+
AMR-NB codec
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[ilbccodec]] </font><br/>
+
<div class="yate-page-desc"> iLBC codec</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[amrnbcodec]] </font><br/>
+
<div class="yate-page-desc"> AMR-NB codec</div>
+
 
|}
 
|}
  
Line 208: Line 224:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Debugging and, or Investigation of messages|msgsniff]]
 +
Message sniffer
 +
* [[Call generator|callgen]]
 +
Call generator
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Debugging and, or Investigation of messages|msgsniff]] </font><br/>
+
* [[Quality analyzer module|analyzer]]
<div class="yate-page-desc">Message sniffer</div>
+
Audio path quality analyzer
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Call generator|callgen]] </font><br/>
+
<div class="yate-page-desc">Call generator</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[Quality analyzer module|analyzer]] </font><br/>
+
<div class="yate-page-desc">Audio path quality analyzer</div>
+
 
|}
 
|}
  
Line 222: Line 240:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[rmanager]]
 +
Remote manager accessible from telnet
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[rmanager]] </font><br/>
 
<div class="yate-page-desc">Remote manager accessible from telnet</div>
 
 
|}
 
|}
  
Line 232: Line 252:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[register]]
 +
Billing in a database
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[YRadius]] </font><br/>
+
* [[YRadius]]
<div class="yate-page-desc"> RADIUS module</div>
+
RADIUS module
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[register]] </font><br/>
+
<div class="yate-page-desc">Billing in a database</div>
+
 
|}
 
|}
  
Line 244: Line 265:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[External Module|extmodule]] </font><br/>
 
<div class="yate-page-desc">External module allows you to use a channel or global scripts in Yate. </div>
 
 
|}
 
|}
  
Line 254: Line 277:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[PostgreSQL|pgsqldb]]
 +
[http://www.postgresql.org/ PostgreSQL] database driver
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title"> [[PostgreSQL|pgsqldb]] </font><br/>
+
* [[MySQL|mysqldb]]
<div class="yate-page-desc"> [http://www.postgresql.org/ PostgreSQL] database driver</div>
+
[http://www.mysql.com/ MySQL] database driver
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[MySQL|mysqldb]] </font><br/>
+
<div class="yate-page-desc"> [http://www.mysql.com/ MySQL] database driver</div>
+
 
|}
 
|}
  
Line 266: Line 291:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[SIP Features Module|sipfeatures]] </font><br/>
+
* [[presence]]
<div class="yate-page-desc">Handle sip.subscribe and resource.notify messages</div>
+
Implements presence service for SIP clients
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[register]] </font><br/>
+
* [[subscriptions]]
<div class="yate-page-desc">Writes the subscriptions in the database and notify the subscribers</div>
+
Manages rosters
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Queues Notify Module|queuesnotify]] </font><br/>
+
<div class="yate-page-desc">Notify changes in the status of queued calls</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[presence]] </font><br/>
+
<div class="yate-page-desc">Implements presence service for SIP clients</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[subscriptions]] </font><br/>
+
<div class="yate-page-desc">Manages rosters</div>
+
 
|}
 
|}
  
Line 284: Line 311:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Tone detector|tonedetect]] </font><br/>
+
* [[ccongestion]]
<div class="yate-page-desc">Inband DTMF and Fax tone detector</div>
+
Reject calls based on CPU load (depends on [[cpuload]])
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[OpenSSL]] </font><br/>
+
* [[gvoice]]
<div class="yate-page-desc">SSL/TLS sockets provider using the [http://www.openssl.org/ OpenSSL] library</div>
+
Google Voice support module (Yate 4+)
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[LkSCTP]] </font><br/>
+
<div class="yate-page-desc">SCTP sockets provider using Linux Kernel</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[ccongestion]] </font><br/>
+
<div class="yate-page-desc">Reject calls based on CPU load (depends on [[cpuload]])</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[gvoice]] </font><br/>
+
<div class="yate-page-desc">Google Voice support module (Yate 4+)</div>
+
 
|}
 
|}
  
Line 302: Line 331:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|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"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[http://yateclient.yate.ro/ YateClient] </font><br/>
 
<div class="yate-page-desc">A skinnable Qt4 user interface allowing the use of Yate as an universal [http://www.fcc.gov/voip/ VoIP] client</div>
 
 
|}
 
|}
  
Line 312: Line 343:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|Modules
+
|class="yate-header-right" colspan="2"|Modules
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[SNMP Agent|ysnmpagent]]
 +
The SNMP agent
 +
* [[cpuload]]
 +
Monitors CPU load
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[SNMP Agent|ysnmpagent]]</font><br/>
+
* [[monitoring]]
<div class="yate-page-desc">The SNMP agent</div>
+
Monitors database accounts, QoS, routing, RTP, SIP, etc.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[cpuload]] </font><br/>
+
* [[eventlogs]]
<div class="yate-page-desc">Monitors CPU load</div>
+
Write events and alarms to log files.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[monitoring]] </font><br/>
+
<div class="yate-page-desc">Monitors database accounts, QoS, routing, RTP, SIP, etc.</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[eventlogs]] </font><br/>
+
<div class="yate-page-desc">Write events and alarms to log files.</div>
+
 
|}
 
|}
  
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.
+
==Private Modules==
 +
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Modules
 +
|-
 +
|class="yate-content-left"|
 +
* [[ydiameter]]
 +
Diameter protocol support.
 +
 
 +
|class="yate-content-right"|
 +
|}
 +
 
 +
Note: Some modules appear in more than one category because they may implement multiple functions on top of the same protocol or connection.
  
  
Line 331: Line 375:
  
 
* [[How To's]]
 
* [[How To's]]
 +
 +
[[Category:Administrate]]

Revision as of 17:59, 27 January 2017

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

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

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)

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

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

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)

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

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).

Transcoding Modules (codecs)

Modules

GSM 06.10 codec

Speex NB, WB and UWB codec

iLBC codec

AMR-NB codec

Test Modules

Modules

Message sniffer

Call generator

Audio path quality analyzer

Remote Control

Modules

Remote manager accessible from telnet

Billing Modules

Modules

Billing in a database

RADIUS module

External Module

Modules

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

Database Drivers

Modules

PostgreSQL database driver

MySQL database driver

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

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+)

GUI Modules

Modules

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

Monitoring

Modules

The SNMP agent

Monitors CPU load

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

Write events and alarms to log files.

Private Modules

Modules

Diameter protocol support.

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