How To's

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Miscellaneous)
(SS7 Setups)
 
(82 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Yate has multiple routing modules and signalization modules. Here you can find some how to's for configuring Yate using different modules.
+
Yate has multiple routing modules and signalling modules. Here you can find some how to's for configuring Yate using different modules.
  
 
==Routing==
 
==Routing==
 
 
The most popular scenarios for routing:
 
The most popular scenarios for routing:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"| How To's
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[How to register users from regfile]]
 +
Example of register users in Regfile module.
 +
* [[Redirecting Calls to another User in the Regex Module]]
 +
Example of redirecting calls to another user.
 +
* [[How to do routing using javascript]]
 +
Examples of how to route calls from javascript module.
 +
* [[How to register users from register]]
 +
Example of how to register users from a database.
 +
* [[Round_Robin_Routing|How to do round-robin routing]]
 +
Round robin routing examples.
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to register users from regfile]]</font><br/>
+
* [[How to convert SIP headers into SIP parameters names in messages]]
<div class="yate-page-desc">Example of register users in Regfile module.</div>
+
Examples on how to convert SIP headers into SIP parameters.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Redirecting Calls to another User in the Regex Module]]</font><br/>
+
* [[How to add custom parameters in CDR from routing]]
<div class="yate-page-desc">Example of redirecting calls to another user.</div>
+
Example on how to use copyparams from routing in CDR.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to do routing using javascript]]</font><br/>
+
* [[IVR Setup]]
<div class="yate-page-desc">Examples of how to route calls from javascript module.</div>
+
Setting up an IVR.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to register users from register]]</font><br/>
+
* [[Routing tips from various users]]
<div class="yate-page-desc">Example of how to register users from a database.</div>
+
Useful information from various users about routing.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Round_Robin_Routing|How to do round-robin routing]]</font><br/>
+
<div class="yate-page-desc">Round robin routing examples.</div>
+
<!--<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Example using parameters in cluster route module|Configuring regexp and callto parameters in cluster route module]]</font><br/>
+
<div class="yate-page-desc">Example of configuring parameters in cluster route module.  </div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Example of forking a call using lateroute|Forking a call using lateroute]]</font><br/>
+
<div class="yate-page-desc">Examples for routing calls using lateroute.</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to use callcounters module to count incoming calls]]</font><br/>
+
<div class="yate-page-desc">Example of count incoming calls.</div>-->
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to convert SIP headers into SIP parameters names in messages]]</font><br/>
+
<div class="yate-page-desc">Examples on how to convert SIP headers into SIP parameters.</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to add custom parameters in CDR from routing]]</font><br/>
+
<div class="yate-page-desc">Example on how to use copyparams from routing in CDR.</div>
+
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[IVR Setup]]</font><br/>
+
<div class="yate-page-desc">Setting up an IVR.</div>
+
 
|}
 
|}
  
Line 38: Line 35:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"|How To's
 
|-
 
|-
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to configure Yate as IAX server|Yate as IAX server and YateClient as IAX client]]</font><br/>
+
* [[How to configure Yate as IAX server|Yate as IAX server and YateClient as IAX client]]
<div class="yate-page-desc">Yate can be used as IAX Server and YateClient as IAX Client.</div>
+
Yate can be used as IAX Server and YateClient as IAX Client.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Yate as H323 GateKeeper and YateClient as H323 client]]</font><br/>
+
* [[Yate as H323 GateKeeper and YateClient as H323 client]]
<div class="yate-page-desc">Yate used as a H323 Gatekeeper and YateClient as a H323 Client.</div>
+
Yate used as a H323 Gatekeeper and YateClient as a H323 Client.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Yate as SIP server]]</font><br/>
+
* [[Yate as SIP server]]
<div class="yate-page-desc"> Configuring Yate as a SIP server.</div>
+
Configuring Yate as a SIP server.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Jabber Client With Jingle Yate Server]]</font><br/>
+
* [[Jabber Client With Jingle Yate Server]]
<div class="yate-page-desc">Configuring Yate Server to use Jingle and YateClient to use a Jabber client.</div>
+
Configuring Yate Server to use Jingle and YateClient to use a Jabber client.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[H323 To SIP Signalling Proxy]]</font><br/>
+
* [[Yate as a PBX]]
<div class="yate-page-desc">Configuring Yate Server to be a H323 to SIP Signalling Proxy</div>
+
How to set up Yate as a PBX depending on the features you need.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Connecting To Google Voice|Connecting To Google Voice using your SIP account]]</font><br/>
+
* [[H323 To SIP Signalling Proxy]]
<div class="yate-page-desc">Use Yate server to handle all your Google Voice calls. </div>
+
Configuring Yate Server to be a H323 to SIP Signalling Proxy.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Connecting To IAXTEL]]</font><br/>
+
* [[Connecting To Google Voice|Connecting To Google Voice using your SIP account]]
<div class="yate-page-desc">IAXTEL - [http://www.iaxtel.com/setup.html IAXtel.com]</div>
+
Use Yate server to handle all your Google Voice calls.
 +
 
 +
|class="yate-content-left"|
 +
* [[Using YateClient with SIPsocial]]
 +
How to use YateClient with SIPsocial
 +
* [[Connecting to FWD-FreeWorldDialUp]]
 +
How to connect to FreeWorldDialUp
 +
* [[Connecting to InPhoneX]]
 +
How to connect to InPhoneX
 +
* [[Connecting to SAPO]]
 +
How to connect to SAPO
 +
* [[Connecting to IAXtel]]
 +
How to connect to IAXtel
 +
* [[Using SIP MESSAGE or how to enable chat messages in SIP]]
 +
How to enable SIP MESSAGE request in yate5 to allow chat messages between registered users.
 +
* [[SIP Flood Protection]]
 +
Yate provides a protection mechanism against several types of SIP flood attacks.
 
|}
 
|}
  
 
==Call detail records==
 
==Call detail records==
Below are the modules and some tips you can use when writing call logs.
+
Below are the modules and some tips you can use when writing call logs. You use this modules to obtain billing information.
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"|How To's
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Register]]
 +
How to write call logs to a database
 +
* [[How to route and bill from a database]]
 +
Some things to take into account when wanting to bill from a database
 +
* [[CDR File Module]]
 +
How to write call logs to a file
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Register]]</font><br/>
+
* [[How to add custom parameters in CDR from routing]]
<div class="yate-page-desc">How to write call logs to a database</div>
+
Example of how to add custom parameters in CDR
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to route and bill from a database]]</font><br/>
+
* [[CDRcombine_Module|Cdrcombine]]
<div class="yate-page-desc">Some things to take into account when wanting to bill from a database</div>
+
For basic setups configure yate to write single cdr entry per call, instead of entry for each call leg
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[CDR File Module]]</font><br/>
+
* [[Starting CDR Ring Timer on call.progress]]
<div class="yate-page-desc">How to write call logs to a file</div>
+
Example on how to start CDR Ring Timer on call.progress message.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to add custom parameters in CDR from routing]]</font><br/>
+
<div class="yate-page-desc">Example of how to add custom parameters in CDR</div>
+
 
|}
 
|}
  
==Yate debug==
+
==Monitoring and debugging Yate==
  
Some examples on how to enable debugging in Yate, the module involved in this action, the output of the debugging.
+
Some examples on how to monitor and enable debugging in Yate and the modules involved in this actions.
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"|How To's
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Monitoring Yate]]
 +
Overview on how to monitor yate using SNMP and rmanager.
 +
* [[Debug Output | How to set debug levels in Yate]]
 +
Yate provides Debugging info on console.
 +
* [[How to find which external modules are loaded from rmanager]]
 +
Debug an external module in Telnet
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Debug Output | How to set debug levels in Yate]]</font><br/>
+
* [[Debugging and, or Investigation of messages]]
<div class="yate-page-desc">Yate provides Debugging info on console.</div>
+
Yate offers the msgsniff module to allow the investigation of messages at runtime.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to find which external modules are loaded from rmanager]]</font><br/>
+
* [[Monitoring Yate with Munin]]
<div class="yate-page-desc">Debug an external module in Telnet.</div>
+
Yate can be monitored using Munin.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Debugging and, or Investigation of messages]]</font><br/>
+
<div class="yate-page-desc">Yate offers the msgsniff module to allow the investigation of messages at runtime.</div>
+
 
|}
 
|}
  
Line 92: Line 117:
  
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"|How To's
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[Yate and VMWare]]
 +
Tips on what you should pay attention to when running Yate in VMWare.
 +
* [[How to setup chat and short file transfer using MESSAGE Request Method]]
 +
This example allows chat and short files transfer between Twinkle clients using SIP MESSAGE Request Method.
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to setup chat and short file transfer using MESSAGE Request Method]]</font><br/>
+
* [[Handling many simultaneous calls]]
<div class="yate-page-desc">This example allows chat and short files transfer between Twinkle clients using SIP MESSAGE Request Method.</div>
+
Notes on various protocols when you wish to handle many simultaneous calls.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Handling many simultaneous calls]]</font><br/>
+
* [[Altering release cause]]
<div class="yate-page-desc">Notes on various protocols when you wish to handle many simultaneous calls.</div>
+
How to modify call release cause codes.
 
|}
 
|}
  
 
==VoIP to PSTN gateway==
 
==VoIP to PSTN gateway==
 
{|class="yate-table"
 
{|class="yate-table"
|class="yate-header-right"|How To's
+
|class="yate-header-right" colspan="2"|How To's
 
|-
 
|-
 +
|class="yate-content-left"|
 +
* [[VoIP PSTN Gateway]]
 +
Example on how to use Yate as VoIP-PSTN gateway
 +
* [[Installing Sangoma cards under Linux]]
 +
Guide to install Sangoma cards under Linux.
 +
 
|class="yate-content-right"|
 
|class="yate-content-right"|
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[VoIP_PSTN_Gateway]]</font><br/>
+
* [[Installing Sangoma cards under Windows]]
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Installing Sangoma cards under Linux]]</font><br/>
+
Guide to install Sangoma cards under Windows.
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Installing Sangoma cards under Windows]]</font><br/>
+
* [[Setting up Yate with ISDN BRI]]
 +
Guide to use Yate with ISDN BRI.
 +
|}
 +
 
 +
==SS7 Setups==
 +
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|How To's
 +
|-
 +
|class="yate-content-left"|
 +
* [[Configuring MTP2]]
 +
The [http://en.wikipedia.org/wiki/Message_Transfer_Part#Signalling_Link_Functional_Level MTP2] links are the classic way of interconnecting SS7 over [http://en.wikipedia.org/wiki/Time-division_multiplexing TDM].
 +
* [[Configuring SCTP]]
 +
This [http://en.wikipedia.org/wiki/SCTP SCTP/IP] protocol is used as network transport by all forms of SIGTRAN to replace classic TDM links.
 +
* [[Configure Cisco MGCP]]
 +
The voice channels on Cisco Universal Gateways (AS 53xx and 54xx series) can be controlled using the [http://en.wikipedia.org/wiki/MGCP Media Gateway Control Protocol]. This usually complements the Signalling Link Transport so both signaling and voice can be provided on the same set of trunks.
 +
* [[Configure Mediant MGCP]]
 +
Voice circuits on Mediant gateways can be controlled on MGCP. Specific [[Configure Mediant MGCP|instructions]] for configuring [[Configure Mediant MGCP#Yate_configuration|Yate]] and [[Configure Mediant MGCP#Mediant configuration|Mediant]] are provided.
 +
* [[VoIP_PSTN_Gateway | Configure Wanpipe]]
 +
[[VoIP_PSTN_Gateway|Configuration instructions]] for [http://sangoma.com/products/hardware_products.html Sangoma cards] using the Wanpipe kernel mode drivers.
 +
* [[SCCP decoder ]]
 +
The SCCP can be used as a SCCP message decoder. This case can be found if SCCP is used with M3UA-GW.
 +
* [[STP SCCP configuration ]]
 +
A STP represents a Service Transfer Point in SS7 network.
 +
* [[Configuring DAHDI (Zaptel) TDM cards ]]
 +
[[Configuring_DAHDI_(Zaptel)_TDM_cards|Configuration instructions]] for cards using the [http://www.asterisk.org/dahdi/ DAHDI] (former Zaptel) kernel mode drivers.
 +
 
 +
 
 +
|class="yate-content-right"|
 +
* [[Configure MTP3]]
 +
The configuration of [http://en.wikipedia.org/wiki/Message_Transfer_Part#Signalling_Network_Functional_Level MTP3] in Yate describes the type and Point Codes of each attached linkset.
 +
* [[Configure Cisco SLT]]
 +
Cisco Signalling Link Transport is a [http://en.wikipedia.org/wiki/Backhaul_(telecommunications) backhauling] protocol that transports remotely MTP2 links on a Cisco Access Server. The transport protocol is [http://en.wikipedia.org/wiki/RUDP Reliable UDP (RUDP)].
 +
* [[How to configure ISUP in Yate]]
 +
We will setup a ISUP configuration in Yate to make calls.
 +
* [[Configure SCCP and GTT]]
 +
The [http://en.wikipedia.org/wiki/Signalling_Connection_Control_Part SCCP] protocol provides additional signaling commonly used by mobile networks. In most cases the [http://en.wikipedia.org/wiki/Global_Title_Translation Global Title Translation] needs also to be configured.
 +
* [[Configure Mediant M2UA]]
 +
The [http://www.audiocodes.com/products/mediant-2000 Mediant 2000] and [http://www.audiocodes.com/products/mediant-3000 Mediant 3000] series from [http://www.audiocodes.com/ Audiocodes] support standard [http://en.wikipedia.org/wiki/SIGTRAN SIGTRAN] M2UA backhaul for SS7 links.
 +
* [[SEP SCCP configuration]]
 +
When using SCCP in a SEP, the SCCP must have a SCCP application above it to process the messages. This is usually a TCAP application.
 +
* [[SCCP address translation]]
 +
SCCP can be used to change the network type of the messages. An example for this is passing from an international to a national network.
 +
* [[Miscellaneous configurations]]
 +
Miscellaneous configurations (M2UA Gateway, M3UA Gateway, Camel, ISUP)
 +
|}
 +
 
 +
==Troubleshooting==
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-right" colspan="2"|Issue
 +
|-
 +
|class="yate-content-left"|
 +
* [[Database Connection Problems]]
 +
What to do if you suspect Yate is not connected to the database
 +
* [[Debugging with tcpdump]]
 +
You can use tcmpdump to follow VoIP traffic
 +
 
 +
|class="yate-content-right"|
 +
* [[YateAdmin Headers Sent Fix]]
 +
How to solve 'Headers already sent' warning for YateAdmin
 +
* [[Miscellaneous problems]]
 +
Various issues: STUN, kdoc, YateClient on Ubuntu 11.10
 
|}
 
|}
  
Line 114: Line 212:
  
 
* [[Telephony]]
 
* [[Telephony]]
 +
 +
[[Category:Routing]] [[Category:Debug]] [[Category:Monitoring]] [[Category:Server]]

Latest revision as of 12:01, 27 October 2017

Yate has multiple routing modules and signalling modules. Here you can find some how to's for configuring Yate using different modules.

Contents

[edit] Routing

The most popular scenarios for routing:

How To's

Example of register users in Regfile module.

Example of redirecting calls to another user.

Examples of how to route calls from javascript module.

Example of how to register users from a database.

Round robin routing examples.

Examples on how to convert SIP headers into SIP parameters.

Example on how to use copyparams from routing in CDR.

Setting up an IVR.

Useful information from various users about routing.

[edit] Yate configuration as Server and / or Client

Various configuration for Yate to act as a Server and as a Client using different protocols.

How To's

Yate can be used as IAX Server and YateClient as IAX Client.

Yate used as a H323 Gatekeeper and YateClient as a H323 Client.

Configuring Yate as a SIP server.

Configuring Yate Server to use Jingle and YateClient to use a Jabber client.

How to set up Yate as a PBX depending on the features you need.

Configuring Yate Server to be a H323 to SIP Signalling Proxy.

Use Yate server to handle all your Google Voice calls.

How to use YateClient with SIPsocial

How to connect to FreeWorldDialUp

How to connect to InPhoneX

How to connect to SAPO

How to connect to IAXtel

How to enable SIP MESSAGE request in yate5 to allow chat messages between registered users.

Yate provides a protection mechanism against several types of SIP flood attacks.

[edit] Call detail records

Below are the modules and some tips you can use when writing call logs. You use this modules to obtain billing information.

How To's

How to write call logs to a database

Some things to take into account when wanting to bill from a database

How to write call logs to a file

Example of how to add custom parameters in CDR

For basic setups configure yate to write single cdr entry per call, instead of entry for each call leg

Example on how to start CDR Ring Timer on call.progress message.

[edit] Monitoring and debugging Yate

Some examples on how to monitor and enable debugging in Yate and the modules involved in this actions.

How To's

Overview on how to monitor yate using SNMP and rmanager.

Yate provides Debugging info on console.

Debug an external module in Telnet

Yate offers the msgsniff module to allow the investigation of messages at runtime.

Yate can be monitored using Munin.

[edit] Miscellaneous

How To's

Tips on what you should pay attention to when running Yate in VMWare.

This example allows chat and short files transfer between Twinkle clients using SIP MESSAGE Request Method.

Notes on various protocols when you wish to handle many simultaneous calls.

How to modify call release cause codes.

[edit] VoIP to PSTN gateway

How To's

Example on how to use Yate as VoIP-PSTN gateway

Guide to install Sangoma cards under Linux.

Guide to install Sangoma cards under Windows.

Guide to use Yate with ISDN BRI.

[edit] SS7 Setups

How To's

The MTP2 links are the classic way of interconnecting SS7 over TDM.

This SCTP/IP protocol is used as network transport by all forms of SIGTRAN to replace classic TDM links.

The voice channels on Cisco Universal Gateways (AS 53xx and 54xx series) can be controlled using the Media Gateway Control Protocol. This usually complements the Signalling Link Transport so both signaling and voice can be provided on the same set of trunks.

Voice circuits on Mediant gateways can be controlled on MGCP. Specific instructions for configuring Yate and Mediant are provided.

Configuration instructions for Sangoma cards using the Wanpipe kernel mode drivers.

The SCCP can be used as a SCCP message decoder. This case can be found if SCCP is used with M3UA-GW.

A STP represents a Service Transfer Point in SS7 network.

Configuration instructions for cards using the DAHDI (former Zaptel) kernel mode drivers.


The configuration of MTP3 in Yate describes the type and Point Codes of each attached linkset.

Cisco Signalling Link Transport is a backhauling protocol that transports remotely MTP2 links on a Cisco Access Server. The transport protocol is Reliable UDP (RUDP).

We will setup a ISUP configuration in Yate to make calls.

The SCCP protocol provides additional signaling commonly used by mobile networks. In most cases the Global Title Translation needs also to be configured.

The Mediant 2000 and Mediant 3000 series from Audiocodes support standard SIGTRAN M2UA backhaul for SS7 links.

When using SCCP in a SEP, the SCCP must have a SCCP application above it to process the messages. This is usually a TCAP application.

SCCP can be used to change the network type of the messages. An example for this is passing from an international to a national network.

Miscellaneous configurations (M2UA Gateway, M3UA Gateway, Camel, ISUP)

[edit] Troubleshooting

Issue

What to do if you suspect Yate is not connected to the database

You can use tcmpdump to follow VoIP traffic

How to solve 'Headers already sent' warning for YateAdmin

Various issues: STUN, kdoc, YateClient on Ubuntu 11.10

See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers