Modules
(→Transcoding Modules (codecs)) |
(→Private Modules) |
||
(43 intermediate revisions by 3 users not shown) | |||
Line 18: | Line 18: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[H323_channel_module|h323chan]] | * [[H323_channel_module|h323chan]] | ||
VoIP H.323 driver requiring the [http://yate.null.ro/tarballs/openh323/ OpenH323] Library | VoIP H.323 driver requiring the [http://yate.null.ro/tarballs/openh323/ OpenH323] Library | ||
Line 39: | Line 39: | ||
* [[tonegen]] | * [[tonegen]] | ||
This module supports the tones (dial,busy,congestion) for Yate | This module supports the tones (dial,busy,congestion) for Yate | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[wavefile]] | * [[wavefile]] | ||
This module can play or record on a certain channel | This module can play or record on a certain channel | ||
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- | + | |class="yate-content-left"| |
* [[wpcard]] | * [[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) | 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]] | * [[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) | 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]] | * [[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) | 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) | ||
Line 85: | Line 88: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[MGCP_call_agent_module|mgcpca]] | * [[MGCP_call_agent_module|mgcpca]] | ||
MGCP (Media Gateway Control Protocol) - Call Agent | MGCP (Media Gateway Control Protocol) - Call Agent | ||
Line 94: | Line 97: | ||
* [[SigTransport]] | * [[SigTransport]] | ||
SIGTRAN connection provider (SS7 over IP) | SIGTRAN connection provider (SS7 over IP) | ||
+ | |class="yate-content-right"| | ||
* [[LkSCTP]] | * [[LkSCTP]] | ||
SCTP sockets provider using Linux Kernel | SCTP sockets provider using Linux Kernel | ||
Line 103: | Line 107: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[Regular expressions|regexroute]] | * [[Regular expressions|regexroute]] | ||
Route with regular expressions | Route with regular expressions | ||
* [[register]] | * [[register]] | ||
Route from a database | Route from a database | ||
− | * [[ | + | * [[Javascript_module|javascript]] |
Routing using the embedded Javascript language | Routing using the embedded Javascript language | ||
* [[ENUM_Routing|enumroute]] | * [[ENUM_Routing|enumroute]] | ||
Line 118: | Line 122: | ||
* [[Call Forker|callfork]] | * [[Call Forker|callfork]] | ||
It can be used for fallback routing, executes a call in parallel or sequence to multiple targets | 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]] | * [[Late routing Module|lateroute]] | ||
Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0) | Makes a late routing decision, simplifies call forking and divert implementation (Yate >= 2.0) | ||
* [[YRadius]] | * [[YRadius]] | ||
Routing using a radius server | Routing using a radius server | ||
− | |||
− | |||
* [[Call Counters|callcounters]] | * [[Call Counters|callcounters]] | ||
Adds active call counters to be used in | Adds active call counters to be used in | ||
Line 132: | Line 138: | ||
* [[Cache module|cache]] | * [[Cache module|cache]] | ||
CNAM and LNP memory caches. Set caller name or routing number if found in 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. | ||
|} | |} | ||
Line 137: | Line 145: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[accfile]] | * [[accfile]] | ||
This module allows Yate to act as a SIP or H.323 client | This module allows Yate to act as a SIP or H.323 client | ||
* [[regfile]] | * [[regfile]] | ||
Registration and routing from a file | Registration and routing from a file | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[register]] | * [[register]] | ||
Register users in a database | Register users in a database | ||
Line 153: | Line 163: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[Music On Hold Module|moh]] | * [[Music On Hold Module|moh]] | ||
Music on hold | Music on hold | ||
Line 164: | Line 174: | ||
* [[Call Pickup|pickup]] | * [[Call Pickup|pickup]] | ||
Call pickup | Call pickup | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[pbxassist]] | * [[pbxassist]] | ||
Configurable PBX with hold, transfer and conference capabilities | Configurable PBX with hold, transfer and conference capabilities | ||
Line 177: | Line 189: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[CDR Build Module|cdrbuild]] module | * [[CDR Build Module|cdrbuild]] module | ||
Builds the cdr so other modules can use it | Builds the cdr so other modules can use it | ||
Line 186: | Line 198: | ||
* [[register]] | * [[register]] | ||
Writes the cdr in a database | Writes the cdr in a database | ||
+ | |class="yate-content-right"| | ||
* [[Call Counters|callcounters]] | * [[Call Counters|callcounters]] | ||
Count active calls per user specified context | Count active calls per user specified context | ||
Line 195: | Line 208: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |class="yate-header-right" colspan="2"|Modules |
|- | |- | ||
− | |class="yate-content- | + | |class="yate-content-left"| |
* [[gsmcodec]] | * [[gsmcodec]] | ||
GSM 06.10 codec | GSM 06.10 codec | ||
* [[speexcodec]] | * [[speexcodec]] | ||
Speex NB, WB and UWB codec | Speex NB, WB and UWB codec | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[ilbccodec]] | * [[ilbccodec]] | ||
iLBC codec | iLBC codec | ||
Line 211: | Line 226: | ||
{|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"| | ||
− | + | * [[Quality analyzer module|analyzer]] | |
− | + | Audio path quality analyzer | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
Line 225: | Line 242: | ||
{|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"| | ||
− | |||
− | |||
|} | |} | ||
Line 235: | Line 254: | ||
{|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"| | ||
− | + | * [[YRadius]] | |
− | + | RADIUS module | |
− | + | ||
− | + | ||
|} | |} | ||
Line 247: | Line 267: | ||
{|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"| | ||
− | |||
− | |||
|} | |} | ||
Line 257: | Line 279: | ||
{|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"| | ||
− | + | * [[MySQL|mysqldb]] | |
− | + | [http://www.mysql.com/ MySQL] database driver | |
− | + | ||
− | + | ||
|} | |} | ||
Line 269: | Line 293: | ||
{|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"| | ||
+ | * [[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"| | |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 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
Line 287: | Line 337: | ||
{|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"| | ||
− | + | * [[ccongestion]] | |
− | + | Reject calls based on CPU load (depends on [[cpuload]]) | |
− | + | * [[gvoice]] | |
− | + | Google Voice support module (Yate 4+) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
Line 305: | Line 357: | ||
{|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"| | ||
− | |||
− | |||
|} | |} | ||
Line 315: | Line 369: | ||
{|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"| | ||
− | + | * [[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. | ||
Line 334: | Line 403: | ||
* [[How To's]] | * [[How To's]] | ||
+ | |||
+ | [[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
[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