Modules
(→Routing Modules) |
(→Private Modules) |
||
(26 intermediate revisions by 3 users not shown) | |||
Line 114: | Line 114: | ||
* [[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 122: | 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"| | |class="yate-content-right"| | ||
Line 128: | Line 130: | ||
* [[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 138: | 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 143: | 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 159: | 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 170: | 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 183: | 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 192: | 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 201: | 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 217: | Line 226: | ||
{|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"| |
* [[Debugging and, or Investigation of messages|msgsniff]] | * [[Debugging and, or Investigation of messages|msgsniff]] | ||
Message sniffer | Message sniffer | ||
* [[Call generator|callgen]] | * [[Call generator|callgen]] | ||
Call generator | Call generator | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[Quality analyzer module|analyzer]] | * [[Quality analyzer module|analyzer]] | ||
Audio path quality analyzer | Audio path quality analyzer | ||
Line 231: | Line 242: | ||
{|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"| |
* [[rmanager]] | * [[rmanager]] | ||
Remote manager accessible from telnet | Remote manager accessible from telnet | ||
+ | |||
+ | |class="yate-content-right"| | ||
|} | |} | ||
Line 241: | 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]] | * [[YRadius]] | ||
RADIUS module | RADIUS module | ||
− | |||
− | |||
|} | |} | ||
Line 253: | Line 267: | ||
{|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"| |
* [[External Module|extmodule]] | * [[External Module|extmodule]] | ||
External module allows you to use a channel or global scripts in Yate. | External module allows you to use a channel or global scripts in Yate. | ||
+ | |||
+ | |class="yate-content-right"| | ||
|} | |} | ||
Line 263: | Line 279: | ||
{|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"| |
* [[PostgreSQL|pgsqldb]] | * [[PostgreSQL|pgsqldb]] | ||
[http://www.postgresql.org/ PostgreSQL] database driver | [http://www.postgresql.org/ PostgreSQL] database driver | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[MySQL|mysqldb]] | * [[MySQL|mysqldb]] | ||
[http://www.mysql.com/ MySQL] database driver | [http://www.mysql.com/ MySQL] database driver | ||
Line 275: | Line 293: | ||
{|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"| |
* [[SIP Features Module|sipfeatures]] | * [[SIP Features Module|sipfeatures]] | ||
Handle sip.subscribe and resource.notify messages | Handle sip.subscribe and resource.notify messages | ||
Line 284: | Line 302: | ||
* [[Queues Notify Module|queuesnotify]] | * [[Queues Notify Module|queuesnotify]] | ||
Notify changes in the status of queued calls | Notify changes in the status of queued calls | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[presence]] | * [[presence]] | ||
Implements presence service for SIP clients | Implements presence service for SIP clients | ||
Line 290: | Line 310: | ||
|} | |} | ||
− | == | + | ==SS7== |
{|class="yate-table" | {|class="yate-table" | ||
− | |class="yate-header-right"|Modules | + | |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 | ||
+ | |} | ||
+ | |||
+ | ==Miscellaneous support modules== | ||
+ | |||
+ | {|class="yate-table" | ||
+ | |class="yate-header-right" colspan="2"|Modules | ||
+ | |- | ||
+ | |class="yate-content-left"| | ||
* [[Tone detector|tonedetect]] | * [[Tone detector|tonedetect]] | ||
Inband DTMF and Fax tone detector | Inband DTMF and Fax tone detector | ||
Line 302: | Line 346: | ||
* [[LkSCTP]] | * [[LkSCTP]] | ||
SCTP sockets provider using Linux Kernel | SCTP sockets provider using Linux Kernel | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[ccongestion]] | * [[ccongestion]] | ||
Reject calls based on CPU load (depends on [[cpuload]]) | Reject calls based on CPU load (depends on [[cpuload]]) | ||
Line 311: | Line 357: | ||
{|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"| |
* [http://yateclient.yate.ro/ YateClient] | * [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 | A skinnable Qt4 user interface allowing the use of Yate as an universal [http://www.fcc.gov/voip/ VoIP] client | ||
+ | |||
+ | |class="yate-content-right"| | ||
|} | |} | ||
Line 321: | Line 369: | ||
{|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"| |
* [[SNMP Agent|ysnmpagent]] | * [[SNMP Agent|ysnmpagent]] | ||
The SNMP agent | The SNMP agent | ||
* [[cpuload]] | * [[cpuload]] | ||
Monitors CPU load | Monitors CPU load | ||
+ | |||
+ | |class="yate-content-right"| | ||
* [[monitoring]] | * [[monitoring]] | ||
Monitors database accounts, QoS, routing, RTP, SIP, etc. | Monitors database accounts, QoS, routing, RTP, SIP, etc. | ||
Line 334: | Line 384: | ||
|} | |} | ||
+ | ==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. | Note: Some modules appear in more than one category because they may implement multiple functions on top of the same protocol or connection. | ||
Line 341: | 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