Telephony

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(JABBER or XMPP(Extensible Messaging and Presence Protocol))
(SS7 Protocol suite)
 
(134 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Yate is a telephony engine who's main function is to connect together call legs to external devices or to internal server resources. It uses a variety of VoIP protocols(as SIP, H.323, IAX2 or Jingle) that can be used without the need of special hardware. In the next chapters you will find more informations about configuring each telephony protocol and the features supported by Yate.
 
 
<!--{|class="wikitable"
 
|colspan="12" style="text-align:center;font-weight:bold;" |Telephony modules in Yate
 
|-
 
|colspan="2" style="text-align:center;"|SIP
 
|colspan="2" style="text-align:center;"|H323
 
|colspan="2" style="text-align:center;"|MGCP
 
|colspan="2" style="text-align:center;"|IAX2(IAX1)
 
|colspan="2" style="text-align:center;"|JINGLE
 
|colspan="2" style="text-align:center;"|JABBER
 
|-
 
|About SIP||SIP Features||About H323|| H323 Features||About MGCP||MGCP Features||About IAX||IAX Features||About JINGLE||JINGLE Features||About JABBER||JABBER Features
 
|-
 
|[[SIP in Yate]]
 
|[[SIP Client]]
 
|[[H323 channel module]]
 
|[[H323 Gatekeeper And Multiple Endpoint Server]]
 
|[[MGCP call agent module]]
 
|[[Configuring Mediant MGCP]]
 
|[[IAX|IAX channel]]
 
|[[Yate as IAX server and YateClient as IAX client]]
 
|[[Yjinglechan]]
 
|[[Jabber Client With Jingle Yate Server]]
 
|[[Jabber Client Module]]
 
|[[Building Jabber server using Yate]]
 
|-
 
| [[SIP Listeners in Yate]]
 
| [[SIP Features Module]]
 
|
 
|[[H323 To SIP Signalling Proxy]]
 
|
 
|[[Configuration for a Mediant MP-114 FXS analog gateway]]
 
|
 
|[[Connecting To IAXTEL]]
 
|
 
|[[Connecting to GMail]]
 
|[[Jabber Server Module]]
 
|[[Jbfeatures|Jbfeatures Module]]
 
|-
 
|[[SIP Messages]]
 
|[[SIP Send DTMFs]]
 
|
 
|[[H323 Send DTMFs]]
 
|colspan="8" rowspan="8"|
 
|-
 
|[[SIP Routing in Yate]]
 
|[[SIP Attended Call Transfer In Cluster]]
 
|
 
|[[Compiling Yate with H323plus support]]
 
|-
 
|[[SIP Configuration File]]
 
|[[SIP Flood Protection]]
 
|colspan="10" rowspan="6"|
 
|-
 
|rowspan="5"|
 
|[[SIP Generic Message]]
 
|-
 
|[[SIP SBC]]
 
|-
 
|[[xsip.generate]]
 
|-
 
|[[SIP query for CNAM and LNP]]
 
|-
 
|[[SIP NAT]]
 
|-
 
|}
 
 
-->
 
 
 
 
==Session Initiation Protocol(SIP)==
 
==Session Initiation Protocol(SIP)==
  
 
The Session Initiation Protocol(SIP) is an signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol(IP).
 
The Session Initiation Protocol(SIP) is an signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol(IP).
  
{| style="background:transparent;"
+
{|class="yate-table"
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
|class="yate-header-left"|'''About'''
;About SIP
+
|class="yate-header-right"|'''Features'''
;[[SIP in Yate]]
+
|-
:Describes the implementation of the SIP protocol in Yate and some SIP features.
+
|class="yate-content-left"|
;[[SIP Listeners in Yate]]  
+
* [[SIP in Yate]]
:Listeners (TCP, UDP, TLS) specify on which network interfaces to listen. 
+
SIP protocol in Yate
;[[SIP Features Module]]  
+
* [[SIP Security in Yate]]
:Describes SIP features that are implemented in Sip Features Module and not in ysipchan
+
TLS and SRTP in Yate
;[[SIP Methods]]
+
* [[SIP Configuration File]]
:How Yate process SIP request methods and how to enable methods that are not handled by default.
+
Main configuration file for SIP module in Yate.
;[[SIP Routing in Yate]]  
+
* [[SIP Methods]]
:Configure a SIP channel or a SIP line.  
+
How Yate processes SIP request methods and how to enable methods that are not handled by default.
;[[SIP Configuration File]]
+
* [[SIP Features Module]]
:Main configuration file for SIP module in Yate.
+
SIP features module that implements SUBSCRIBE and NOTIFY Methods.
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
* [[SIP Routing in Yate]]
;SIP Features
+
Route to a SIP channel and a SIP Line.
;[[SIP Features Module]]  
+
* [[SIP Client]]
:Describes SIP features that are implemented in Sip Features Module and not in ysipchan
+
Implementation and SIP Client features in Yate
;[[SIP Send DTMFs]]  
+
 
: This page describes DTMFs send related configuration of SIP channel.
+
|class="yate-content-right"|
;[[SIP Attended Call Transfer In Cluster]]  
+
* [[SIP Features Module]]
: Describes how to configure Yate to handle a SIP attended call transfer for an unknown call leg.
+
SIP features module that implements SUBSCRIBE and NOTIFY methods.
;[[SIP Flood Protection]]  
+
* [[SIP Send DTMFs]]
: Shows how Yate provides a protection mechanism against several types of SIP flood attacks.
+
How to do configurations related to DTMFs in SIP channel.
;[[SIP SBC]]  
+
* [[SIP Attended Call Transfer In Cluster]]
: Describes how Yate can be used as a SIP session border controller providing security for the internal network of the carrier.
+
How to configure Yate to handle a SIP attended call transfer for an unknown call leg in the cluster node.
;[[SIP Client]]
+
* [[SIP Flood Protection]]
: How to build a SIP Client in Yate used as a Client
+
Yate provides a protection mechanism against several types of SIP flood attacks.
;[[SIP Generic Message]]
+
* [[SIP SBC]]
:The message and his syntax generated by the ysipchan module on receiving the specified requests.
+
Describes how Yate can be used as a SIP session border controller.
;[[xsip.generate]]  
+
* [[xsip.generate]]
: Another SIP message sent by the ysipchan module requesting the transmission of a SIP request.
+
Use this message to initiate the transmission of a SIP request.
;[[SIP query for CNAM and LNP]]  
+
* [[SIP query for CNAM and LNP]]
: Another SIP feature used in a routing module that allows Yate to query [http://en.wikipedia.org/wiki/Caller_id|Caller Name] and [http://en.wikipedia.org/wiki/Local_number_portability Local Number Portability] databases over the SIP protocol.
+
Feature used in a routing module that allows Yate to query CNAM and LNP databases over the SIP protocol.
;[[SIP NAT]]  
+
* [[SIP NAT|SIP with NAT]]
: Describes how Yate as a SIP Server can pass the voice (RTP) as a NAT.
+
Resolving SIP traversal problem by Yate.
 +
* [[How_to_setup_chat_and_short_file_transfer_using_MESSAGE_Request_Method|How to use MESSAGE and PUBLISH requests]]
 +
Example on how to handle custom SIP requests.
 
|}
 
|}
  
== H323 ==
+
== H323 Protocol==
  
 
H.323 is a standard that specifies the components, protocols and procedures that provide multimedia communication services - real-time audio, video, and data communications - over packet-based networks.
 
H.323 is a standard that specifies the components, protocols and procedures that provide multimedia communication services - real-time audio, video, and data communications - over packet-based networks.
  
{| style="background:transparent;"
+
{|class="yate-table"
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
|class="yate-header-left"|'''About'''
; About H323
+
|class="yate-header-right"|'''Features'''
;[[H323 channel module]]
+
|-
:Configuration file used to configure H323 protocol in Yate
+
|class="yate-content-left"|
; [[OpenH323|Compiling OpenH323]]
+
* [[H323 channel module]]
:Installing and compiling OpenH323 - stable version to use with Yate
+
Configuration file used to configure H323 protocol in Yate
; [[Compiling Yate with H323plus support]]
+
* [[OpenH323|Compiling Yate with OpenH323 support]]
: How to compile Yate with H323plus support - unstable version to use with Yate
+
Installing and compiling OpenH323 - stable version to use with Yate
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
* [[Compiling Yate with H323plus support]]
; H323 Features
+
How to compile Yate with H323plus support - <font color="red">unstable version</font> to use with Yate
;[[H323 Gatekeeper And Multiple Endpoint Server]]  
+
 
: Configure H323 Gatekeeper And Multiple Endpoint Server
+
|class="yate-content-right"|
; [[H323 To SIP Signalling Proxy]]
+
* [[Yate as H323 GateKeeper and YateClient as H323 client]]
: Configure in Yate H323 To SIP Signalling Proxy
+
Configure H323 Gatekeeper And Multiple Endpoint Server
; [[H323 Send DTMFs]]
+
* [[H323 To SIP Signalling Proxy]]
:Describes DTMFs send related to h323 channel.
+
Configure in Yate H323 To SIP Signalling Proxy
 +
* [[H323 Send DTMFs]]
 +
Describes DTMFs send related to h323 channel.
 +
 
 
|}
 
|}
  
Line 140: Line 74:
 
Media Gateway Control Protocol is a signalling and call control protocol used within Voice over IP (VoIP) systems that typically inter-operate with the public switched telephone network (PSTN).
 
Media Gateway Control Protocol is a signalling and call control protocol used within Voice over IP (VoIP) systems that typically inter-operate with the public switched telephone network (PSTN).
  
{| style="background:transparent;"
+
{|class="yate-table"
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
|class="yate-header-left"|'''About'''
; About MGCP
+
|class="yate-header-right"|'''Features'''
; [[MGCP call agent module]]
+
|-
: This module implements the Call Agent part of MGCP allowing Yate to control analog or digital Media Gateways
+
|class="yate-content-left"|
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
* [[MGCP call agent module]]
; MGCP Features
+
This module implements the Call Agent part of MGCP allowing Yate to control analog or digital Media Gateways
; [[Configuring Mediant MGCP]]
+
 
: How to configure Yate with Mediant MGCP
+
|class="yate-content-right"|
; [[Configuration for a Mediant MP-114 FXS analog gateway]]
+
: How to configure Yate to use a Mediant MP-114 FXS analog gateway
+
 
|}
 
|}
  
Line 156: Line 88:
  
 
IAX2 is a VoIP protocol that carries both signaling and media on the same port.
 
IAX2 is a VoIP protocol that carries both signaling and media on the same port.
 +
{|class="yate-table"
 +
|class="yate-header-left"|'''About'''
 +
|class="yate-header-right"|'''Features'''
 +
|-
 +
|class="yate-content-left"|
 +
* [[IAX]]
 +
Main configuration file for IAX channel module in Yate.
  
{| style="background:transparent;"
+
|class="yate-content-right"|
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
* [[How to configure Yate as IAX server|Yate as IAX server and YateClient as IAX client]]
; About IAX
+
Setup to configure Yate as a IAX Server and YateClient as a IAX client
; [[IAX]]
+
: Explanation how the connection works with trunked packets
+
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
; IAX Features
+
; [[Yate as IAX server and YateClient as IAX client]]  
+
: Setup to configure Yate as a IAX Server and YateClient as a IAX client
+
;[[Connecting To IAXTEL]]
+
: Setup for connecting to IAXTEL
+
 
|}
 
|}
  
== JINGLE ==
+
== JINGLE Protocol==
  
<!--This module supports the Jingle protocol by implementing XMPP as an external component of another server.-->
+
Jingle - Google talk/Google voice.
Jingle is an extension to the Extensible Messaging and Presence Protocol (XMPP) which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications.
+
<!--Jingle is an extension to the Extensible Messaging and Presence Protocol (XMPP) which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications.-->
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-left"|'''About'''
 +
|class="yate-header-right"|'''Features'''
 +
|-
 +
|class="yate-content-left"|
 +
* [[Yjinglechan| JINGLE Module]]
 +
How to configure JINGLE module in Yate
  
{| style="background:transparent;"
+
|class="yate-content-right"|
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
* [[Jabber Client With Jingle Yate Server]]
; About JINGLE
+
How to configure a Jabber Client with Jingle Yate Server
; [[Yjinglechan| JINGLE Module]]
+
* [[Connecting to GMail]]
: How to configure JINGLE module in Yate
+
Learn how to route calls to contacts using Gmail account in accfile.conf
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
+
; JINGLE Features
+
; [[Jabber Client With Jingle Yate Server]]
+
:How to configure a Jabber Client with Jingle Yate Server
+
; [[Connecting to GMail]]  
+
:Learn how to route calls to contacts using Gmail account in accfile.conf
+
 
|}
 
|}
  
==JABBER or XMPP(Extensible Messaging and Presence Protocol) ==
+
==JABBER or XMPP(Extensible Messaging and Presence Protocol)==
  
 
Extensible Messaging and Presence Protocol(XMPP) is a communications protocol for message-oriented middleware based on XML(Extensible Markup Language).
 
Extensible Messaging and Presence Protocol(XMPP) is a communications protocol for message-oriented middleware based on XML(Extensible Markup Language).
{| style="background:transparent;"
 
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
 
; About Jabber
 
; [[Jabber Client Module]]
 
: Configuring Yate as a Jabber Client
 
; [[Jabber Server Module]]
 
: Configuring Yate as a Jabber Server
 
| style="width:50%; vertical-align:top; border:1px solid #aaa;" |
 
; Jabber Features
 
;[[Jbfeatures|Features for Jabber Server]]
 
: The features for Jabber Server
 
; [[Building Jabber server using Yate]]
 
:Describes the steps to follow to build a Jabber server using Yate.
 
  
 +
{|class="yate-table"
 +
|class="yate-header-left"|'''About'''
 +
|class="yate-header-right"|'''Features'''
 +
|-
 +
|class="yate-content-left"|
 +
* [[Jabber Client Module]]
 +
Configuring Yate as a Jabber Client
 +
* [[Jabber Server Module]]
 +
Configuring Yate as a Jabber Server
 +
 +
|class="yate-content-right"|
 +
* [[Jbfeatures|Features for Jabber Server]]
 +
The features for Jabber Server
 +
* [[Building Jabber server using Yate]]
 +
Describes the steps to follow to build a Jabber server using Yate.
 
|}
 
|}
<!--
 
  
{|class="wikitable"
+
==SS7 Protocol suite==
!Telephony modules
+
 
! Features
+
[http://en.wikipedia.org/wiki/Signaling_System_7 Signaling System #7] (also known as C7) is a suite of communication protocols used in national and international telephony networks to provide signaling of calls and additional services.
 +
 
 +
Please read our [[Introduction|Introduction to SS7]] to get the basic concepts. This can help you find out what components exist in a SS7 network, how they interact and which ones you need.
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-left"|'''About'''
 +
|class="yate-header-right"|'''Features'''
 
|-
 
|-
|[[SIP channel module|SIP]]
+
|class="yate-content-left"|
|[[SIP features]]
+
* [[Introduction]]
|-
+
SS7 Introduction
|[[H323_channel_module|H323]]
+
* [[Terminology_for_Yate_implementation_of_SS7 | Terminology]]
|[[H323 features]]
+
Terminology for Yate implementation of SS7
|-
+
* [[SS7 Implementation]]
|[[MGCP_call_agent_module|MGCP]]
+
List on SS7 components inplemented in Yate.
|[[MGCP features]]
+
* [[Interconnecting on SS7]]
|-
+
To connect to another SS7 network you will need to configure some parameters so the two sides speak the same language.
|[[IAX|IAX2 (IAX1)]]
+
* [[Signalling]]
|[[IAX features]]
+
This is a brief introduction on how the PSTN signalling modules are working together in Yate.
|-
+
 
|[[Yjinglechan|JINGLE]]
+
|class="yate-content-right"|
|[[JINGLE features]]
+
* [[How_To's#SS7_Setups | Usage Scenarios]]
|-
+
Miscellaneous setups with various features: MTP2, MTP3, ISUP, CAMEL MAP, M3UA etc.
|[[JABBER]]
+
* [[M2PA VS M2UA]]
|[[JABBER features]]
+
A comparison between M2UA and M2PA
 +
* [[SCCP_Introduction | SCCP]]
 +
SCCP represents a layer 4 protocol from SS7 signaling stack. It runs over a SS7 layer 3 protocol like MTP3 or M3UA
 +
* [[SS7 MTP2 in Yate | MTP2]]
 +
MTP2 links are the classic way of interconnecting SS7 over TDM.
 +
* [[Configure M3UA | M3UA]]
 +
This is a SIGTRAN protocol and it was designed for remote processing of SS7 messages above MTP3 protocol, mostly ISUP and SCCP.
 +
* [[Configuring_M2PA | M2PA]]
 +
M2PA is a peer to peer SS7 layer 2 protocol. It was designed to replace MTP2 protocol in the IP scenarios.
 +
* [[Configure_M2UA | M2UA]]
 +
This is a SIGTRAN protocol allowing to access a remote MTP2 implementation on a Signaling Gateway.
 +
|}
 +
 
 +
==Miscellaneous==
 +
Various articles that apply to more than one protocol
 +
 
 +
{|class="yate-table"
 +
|class="yate-header-right"|'''Articles'''
 
|-
 
|-
 +
|class="yate-content-right"|
 +
* [[Call End Causes]]
 +
Description of call end causes and errors in various protocols
 
|}
 
|}
-->
+
 
[[Mobile_networks|Mobile Networks]]
+
 
 +
 
 +
'''See also'''
 +
 
 +
*[[About VoIP]]
 +
*[[About PSTN]]
 +
*[[About ISDN]]
 +
*[[Mobile_networks|Mobile Networks]]
 +
 
 +
[[Category:SIP]] [[Category:H323]] [[Category:IAX]] [[Category:Jabber]] [[Category:Jingle]]

Latest revision as of 14:49, 27 October 2017

Contents

[edit] Session Initiation Protocol(SIP)

The Session Initiation Protocol(SIP) is an signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol(IP).

About Features

SIP protocol in Yate

TLS and SRTP in Yate

Main configuration file for SIP module in Yate.

How Yate processes SIP request methods and how to enable methods that are not handled by default.

SIP features module that implements SUBSCRIBE and NOTIFY Methods.

Route to a SIP channel and a SIP Line.

Implementation and SIP Client features in Yate

SIP features module that implements SUBSCRIBE and NOTIFY methods.

How to do configurations related to DTMFs in SIP channel.

How to configure Yate to handle a SIP attended call transfer for an unknown call leg in the cluster node.

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

Describes how Yate can be used as a SIP session border controller.

Use this message to initiate the transmission of a SIP request.

Feature used in a routing module that allows Yate to query CNAM and LNP databases over the SIP protocol.

Resolving SIP traversal problem by Yate.

Example on how to handle custom SIP requests.

[edit] H323 Protocol

H.323 is a standard that specifies the components, protocols and procedures that provide multimedia communication services - real-time audio, video, and data communications - over packet-based networks.

About Features

Configuration file used to configure H323 protocol in Yate

Installing and compiling OpenH323 - stable version to use with Yate

How to compile Yate with H323plus support - unstable version to use with Yate

Configure H323 Gatekeeper And Multiple Endpoint Server

Configure in Yate H323 To SIP Signalling Proxy

Describes DTMFs send related to h323 channel.

[edit] Media Gateway Control Protocol(MGCP)

Media Gateway Control Protocol is a signalling and call control protocol used within Voice over IP (VoIP) systems that typically inter-operate with the public switched telephone network (PSTN).

About Features

This module implements the Call Agent part of MGCP allowing Yate to control analog or digital Media Gateways

[edit] Inter-Asterisk eXchange(IAX/IAX2)

IAX2 is a VoIP protocol that carries both signaling and media on the same port.

About Features

Main configuration file for IAX channel module in Yate.

Setup to configure Yate as a IAX Server and YateClient as a IAX client

[edit] JINGLE Protocol

Jingle - Google talk/Google voice.

About Features

How to configure JINGLE module in Yate

How to configure a Jabber Client with Jingle Yate Server

Learn how to route calls to contacts using Gmail account in accfile.conf

[edit] JABBER or XMPP(Extensible Messaging and Presence Protocol)

Extensible Messaging and Presence Protocol(XMPP) is a communications protocol for message-oriented middleware based on XML(Extensible Markup Language).

About Features

Configuring Yate as a Jabber Client

Configuring Yate as a Jabber Server

The features for Jabber Server

Describes the steps to follow to build a Jabber server using Yate.

[edit] SS7 Protocol suite

Signaling System #7 (also known as C7) is a suite of communication protocols used in national and international telephony networks to provide signaling of calls and additional services.

Please read our Introduction to SS7 to get the basic concepts. This can help you find out what components exist in a SS7 network, how they interact and which ones you need.

About Features

SS7 Introduction

Terminology for Yate implementation of SS7

List on SS7 components inplemented in Yate.

To connect to another SS7 network you will need to configure some parameters so the two sides speak the same language.

This is a brief introduction on how the PSTN signalling modules are working together in Yate.

Miscellaneous setups with various features: MTP2, MTP3, ISUP, CAMEL MAP, M3UA etc.

A comparison between M2UA and M2PA

SCCP represents a layer 4 protocol from SS7 signaling stack. It runs over a SS7 layer 3 protocol like MTP3 or M3UA

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

This is a SIGTRAN protocol and it was designed for remote processing of SS7 messages above MTP3 protocol, mostly ISUP and SCCP.

M2PA is a peer to peer SS7 layer 2 protocol. It was designed to replace MTP2 protocol in the IP scenarios.

This is a SIGTRAN protocol allowing to access a remote MTP2 implementation on a Signaling Gateway.

[edit] Miscellaneous

Various articles that apply to more than one protocol

Articles

Description of call end causes and errors in various protocols


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers