/*!
* \file usr_mtalk
* \defgroup mtalk_user_guide mtalk User Guide
* @{
*/


------------------------------------------------------------------------------
/*! \defgroup mtalk_introduction Introduction
@{

\section mtalk_intro_1 "About this document"

This document is the User Guide of the mtalk Mindspeed application.
Mtalk is an application with the following features on a Mindspeed hardware platform:
- MSP control (or media control)
- Legerity/Zarlink VP880 SLIC/SLAC control (for POTS control)
- SIP/SDP call control (for IP call control)

This example is multi threaded VoIP application intended to be used on M82xxx EVM running in Master mode.
- POTS-to-SIP calls
- SIP-to-POTS calls
- SIP-to-SIP calls

All the VAPI function calls are performed in synchronous mode.


\section mtalk_intro_2 "Related documents"

A comprehensive library of Comcerto reference and application documentation is available from Mindspeed. Developers, applications engineers, and other personnel who are looking to implement, support, or otherwise become familiar with the Comcerto, can log on and register at: www.mindspeed.com to access the full range of support documentation. For detailed information on specific devices and available features, always consult the Mindspeed library of titles. Table 1 gives a summary of Mindspeed VAPI publications related to this document.

Related documentation set:
- VAPI
	- Comcerto API (VAPI) Programming Guide, Ref. 82xxx-SWG-007 (describes VAPI configuration, build and install procedures)
	- Comcerto API (VAPI) Reference Guide, Ref. 82xxx-SWG-008 (describes all VAPI APIs)
- Zarlink
	- For more details about Zarlink documents, please visit this page: http://www.zarlink.com
- PJSIP
	- For more details about PJSIPdocuments, please visit this page: http://www.pjsip.org


\section mtalk_intro_3 "Acronyms"

The following is a summary of acronyms appearing in this document:
- <b>MSP</b>	Media Stream Processor
- <b>POTS</b>	Plain Old Telephone System
- <b>SIP</b>	Session Initiation Protocol
- <b>SDP</b>	Session Description Protocol
- <b>TSI</b>	Time Slot Interchanger
- <b>API</b>	Application and Programming Interface

@} */





------------------------------------------------------------------------------
/*! \defgroup mtalk_doc Documentation
@{

\section mtalk_doc_1 Documentation Set
- mtalk User's Guide
- mtalk Developper's Guide

\section mtalk_doc_2 Documentation Formats and associated Files
- html
	- ./doc/mtalk-usr-guide/html/index.html
	- ./doc/mtalk-dev-guide/html/index.html
- rtf
	- ./doc/mtalk-usr-guide.rtf
	- ./doc/mtalk-dev-guide.rtf
- pdf
	- ./doc/mtalk-usr-guide.pdf
	- ./doc/mtalk-dev-guide.pdf

\section mtalk_doc_3 Default Documentation Set

Documents included by default in the mtalk package:
- ./doc/mtalk-usr-guide.rtf
- ./doc/mtalk-usr-guide.pdf
- ./doc/mtalk-dev-guide.rtf
- ./doc/mtalk-dev-guide.pdf

\section mtalk_doc_4 Doxygen Tool and Tags

All mtalk documents are generated by running the doxygen tools. The mtalk package includes 2 doxygen files (also called " doxyfiles"), one per document type:
- ./doc/doxyfile.mtalk-usr-guide (User Guide)
- ./doc/doxyfile.mtalk-dev-guide (Developer Guide)

Each doxyfile:
- a text file.
- includes the list of source files to be parsed by the Doxygen tool.
- describes the rules to be applied by the Doxygen tool to generate a given document in one or multiple formats.

The mtalk User Guide is generated by Doxygen from the following sources:
- ./doc/doxyfile.mtalk-usr-guide (doxyfile)
- ./readme (source)
- ./mtalk.cfg (source)

The mtalk Developer Guide is generated by Doxygen from the following sources:
- ./doc/doxyfile.mtalk-dev-guide (doxyfile)
- ./src/*.c (source)
- ./src/*.h (source)

\section mtalk_doc_5 How to generate the Documentation Set?

The whole documentation set is generated by running the Makefile with the appropriate options. Please look to the following page (\subpage mtalk_makefile) for further details.

All Doxygen documentation can be found at the following links:
-	Doxygen Web Site
	http://www.stack.nl/~dimitri/doxygen/index.html
-	Doxygen User Manual
	http://www.stack.nl/~dimitri/doxygen/manual.html

\section doc_6 How to install Doxygen on a Linux PC?

In order to generate the mtalk documentation set with Doxygen, please make sure the following packages are installed on your Linux PC:
-	Doxygen standard package
	apt-get install doxygen 
-	Doxygen Wizard (GUI)
	apt-get install doxygen-gui
-	To get epstopdf 
	apt-get install texlive-extra-utils
-	To get latexpdf, used to generate pdf file from Latex format
	apt-get install texlive
@} */




------------------------------------------------------------------------------
/*! \defgroup mtalk_tree Tree Structure
@{

\section mtalk_tree_1 root folder

The mtalk root folder includes the following files:
- <b>readme</b> Readme file with doxygen comments (also used to generate the mtalk User Guide)
- <b>Makefile</b> Makefile to build the sources and generate the mtalk executable file (mtalk.bin) or generate the doc
- <b>mtalk.cfg</b> Mtalk configuration file to be modified as required by the user

The mtalk root folder includes the following folders:
- <b>src</b> folder containing all the mtalk sources
- <b>exe</b> folder containing all the mtalk executables (binaries or scripts)
- <b>doc</b> folder containing all the mtalk documents

\section mtalk_tree_2 src folder

The "src" folder includes the following files
- <b>.c</b>  mtalk C source files 
- <b>.h</b>  mtalk C header files
- <b>.d</b>  mtalk dependency files (created when building the mtalk binary)
- <b>.o</b>  mtalk object files (created when building the mtalk binary)

\section mtalk_tree_3 exe folder

The "exe" folder includes all Mtalk scripts and the Mtalk binary file called "mtalk.bin", as follows: 

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>
	<td style="background-color: rgb(213, 225, 232);"><b>Filename</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Type</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Purpose</b></td>
</tr>
<tr>
	<td style="vertical-align: top;">mtalk.bin</td>
	<td style="vertical-align: top;">binary</td>
	<td style="vertical-align: top;">mtalk application executable</td>
</tr>
<tr>
	<td style="vertical-align: top;">mtalk.run</td>
	<td style="vertical-align: top;">script</td>
	<td style="vertical-align: top;">Script starting the VoIP demo (execute all the necessary commands to load the drivers, init the board, start the application).</td>
</tr>
<tr>
	<td style="vertical-align: top;">mtalk.set</td>
	<td style="vertical-align: top;">script</td>
	<td style="vertical-align: top;">Change the vapi_demo configuration</td>
</tr>
<tr>
	<td style="vertical-align: top;">mtalk.dump</td>
	<td style="vertical-align: top;">script</td>
	<td style="vertical-align: top;">Display the current Mtalk configuration</td>
</tr>
</table>


\section mtalk_tree_4 doc folder

The "doc" folder includes the following files:
- doxyfile.mtalk-usr-guide (doxygen file describing how to build the Mtalk User's Guide using Doxygen)
- doxyfile.mtalk-dev-guide (doxygen file describing how to build the Mtalk Developer's Guide using Doxygen)
- mspdlogo.gif (Image file of the Mindspeed logo used in various mtalk documents)

The "doc" folder includes the following folders:
- mtalk-usr-guide (This folder is created when generating the mtalk user's guide)
- mtalk-dev-guide (This folder is created when generating the mtalk developer's guide)

@} */



------------------------------------------------------------------------------
/*! \defgroup mtalk_getting_started Getting started
@{

\section mtalk_getting_started_1 Software Components required

The mtalk application requires the following software (app binaries, drivers, configuration files) to be installed on the target:

VAPI related software components:
-	csmencaps.ko
	csmencaps Linux kernel driver to control the MSP
-	c300_init
	VAPI based application to perform basic initialization of the MSP and TSI devices.
-	VAPI libraries (see VAPI documentation)

Zarlink VP880 related software components:
-	legerity.ko
	Zarlink/Legerity Linux kernel driver to control the Zarlink LExxx devices.



1. Uncompress the mtalk tarball file
	\code
	$ tar -jxvf mtalk.tar.bz2
	\endcode

2. Move to the mtalk root folder
	\code
	$ cd mtalk
	\endcode

3. Build the mtalk documentation set. Make sure that you have all doxygen required packages on your PC (refer to \subpage mtalk_doc) before generating the documentation set.
	\code
	$ make doc
	\endcode

4. Read the Mtalk User and Developer Guides
- html documentation using your web browser
	- doc/mtalk-usr-guide/html/index.html
	- doc/mtalk-dev-guide/html/index.html

- rtf documentation:
	- doc/mtalk-usr-guide/mtalk-usr-guide.rtf
	- doc/mtalk-usr-guide/mtalk-dev-guide.rtf

5. Edit the mtalk configuration file (mtalk.cfg) and modify it as required (refer to \subpage mtalk_cfg)
	\code
	$ vim mtalk.cfg
	\endcode

6. Build the application (refer to \subpage mtalk_build)

7. Install the application (refer to \subpage mtalk_install)

8. Start the application (refer to \subpage mtalk_start)

@} */





------------------------------------------------------------------------------
/*! \defgroup mtalk_sipua SIP User Agent
@{

\section mtalk_sipua_1 Overview

The SIP Call/Media Call Control Software is a component of the Mindspeed Silicon Software Package (SiSP) and is targeted to provide a standard SIP Call/Media Control interface to any User applications.
SIP support on Comcerto300 is provided through the PJSIP stack cross compiled for ARM.

The SIP Call Control/Media Software is a collection of various functional software blocks with different owners, as follows:

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>
	<td style="background-color: rgb(213, 225, 232);"><b>Software Component</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Owner</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Component</b></td>
</tr>
<tr>
	<td style="vertical-align: top;">Linux Kernel</td>
	<td style="vertical-align: top;">Mindspeed</td>
	<td style="vertical-align: top;">Linux Board Support Package (SiSP)</td>
</tr>
<tr>
	<td style="vertical-align: top;">VAPI</td>
	<td style="vertical-align: top;">Mindspeed</td>
	<td style="vertical-align: top;">VAPI (SiSP)</td>
</tr>
<tr>
	<td style="vertical-align: top;">Comcerto Call Ctrl App</td>
	<td style="vertical-align: top;">Mindspeed</td>
	<td style="vertical-align: top;">VAPI (SiSP)</td>
</tr>
<tr>
	<td style="vertical-align: top;">PJSIP 1.5.5</td>
	<td style="vertical-align: top;">PJSIP</td>
	<td style="vertical-align: top;">Open Source Package</td>
</tr>
</table>


\section mtalk_sipua_2 SIP Integration on Comcerto300

PJSIP is targeted to run on the Comcerto300 CSP (Linux) and can be easily cross-compiled and build using the Mindspeed OpenWrt distribution.

\section mtalk_sipua_3 SIP User Defined Parameters

The VoIP demo configuration file includes 3 groups of SIP parameters:
1.	SIP Client Parameters
2.	SIP Server Parameters
3.	SIP Phone Parameters

All those parameters are gathered in the same configuration file section labeled "SIP".

\section mtalk_sipua_4 SIP Client Parameters

All SIP client parameters are described in details at the following link : \subpage sipua

\subsection mtalk_sipua_4_1 SIP Identifiers 

When running the PJSIP Stack, the Comcerto device becomes a Comcerto SIP client and is associated to one or multiple Comcerto SIP accounts. The Comcerto SIP client will therefore create one or multiple SIP accounts. A Comcerto SIP account is defined by the following information:
-	a SIP User ID (must be 3 digits)
-	an IP address (it's basically the Comcerto device IP address)
-	a Password (hardcoded as "root123" for all accounts)

\subsection mtalk_sipua_4_2 Comcerto SIP/TDM and Comcerto SIP/IP accounts

Comcerto SIP accounts can be associated to either:
-	IP/TDM Channels (hence used for SIP to POTS calls and associated to a given onboard POTS) \n
	Let's label such SIP accounts as "Comcerto SIP/TDM account" 
-	IP only Channels (hence used for SIP to SIP calls) \n
	Let's label such SIP accounts as "Comcerto SIP/IP account"

Given that the Comcerto EVM includes up to 4 POTS, up to 4 Comcerto SIP/TDM accounts can be created.
Also, the PJSIP Client stack supports by default up to 8 SIP accounts in total. As a consequence, if 3 Comcerto SIP/TDM accounts are created, up to 5 Comcerto SIP/IP accounts are available.
 
As a result, the user can specify:
-	The number of Comcerto SIP/TDM accounts (max value is 4)
-	The number of Comcerto SIP/IP accounts (max value is 8) 

The user can also specify the "first SIP User Id", meaning the SIP User Id is associated to the first Comcerto SIP account. This SIP User Id must be 3 digits like 300 or 400. The first SIP User Id will be incremented for additional Comcerto SIP accounts.

\subsection mtalk_sipua_4_3 Example 1

-	The number of Comcerto SIP/TDM accounts is set to 2
	NB_SIP_TDM_ACC = 2
-	The number of Comcerto SIP/IP accounts is set to 6
	NB_SIP_IP_ACC = 6
-	The first SIP User Id is set to 300.
	FIRST_SIP_USER_ID = 300
-	3 SIP phones are predefined, as follows:
	LIST_SIP_PHONES = <sip:100@192.168.31.178>,<sip:500@192.168.32.176>,<sip:200@192.168.31.180>

SIP accounts and SIP User Id will be distributed as follows:

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Endpt Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>POTS Tel.</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP User Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Type</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Associated SIP Phone URI</b></td>
</tr>
<tr>	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">301</td>
	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">302</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">303</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">304</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">305</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:100@192.168.31.178</td>
</tr>
<tr>	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">306</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:500@192.168.32.176</td>
</tr>
<tr>	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">307</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:200@192.168.31.180</td>
</tr>
<tr>	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">308</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">309</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">310</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">311</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">12</td>
	<td style="vertical-align: top;">312</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
</tr>
<tr>	<td style="vertical-align: top;">19</td>
	<td style="vertical-align: top;">20</td>
	<td style="vertical-align: top;">320</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
</table>


\subsection mtalk_sipua_4_4 Example 2

-	The number of Comcerto SIP/TDM accounts is set to 2
	NB_SIP_TDM_ACC = 2
-	The number of Comcerto SIP/IP accounts is set to 0
	NB_SIP_IP_ACC = 0
-	The first SIP User Id is set to 300.
	FIRST_SIP_USER_ID = 300
-	3 SIP phones are predefined, as follows:
	LIST_SIP_PHONES = <sip:100@192.168.31.178>,<sip:500@192.168.32.176>,<sip:200@192.168.31.180>

SIP accounts and SIP User Id will be distributed as follows:

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Endpt Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>POTS Tel.</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP User Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Type</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Associated SIP Phone URI</b></td>
</tr>
<tr>	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">301</td>
	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">302</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">303</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">304</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">305</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">sip:100@192.168.31.178</td>
</tr>
<tr>	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">306</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">sip:500@192.168.32.176</td>
</tr>
<tr>	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">307</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">sip:200@192.168.31.180</td>
</tr>
<tr>	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">308</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">309</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">310</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">311</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">12</td>
	<td style="vertical-align: top;">312</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>

</tr>
<tr>	<td style="vertical-align: top;">19</td>
	<td style="vertical-align: top;">20</td>
	<td style="vertical-align: top;">320</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
</table>


\subsection mtalk_sipua_4_5 Example 3

-	The number of Comcerto SIP/TDM accounts is set to 0
	NB_SIP_TDM_ACC = 0
-	The number of Comcerto SIP/IP accounts is set to 4
	NB_SIP_IP_ACC = 4
-	The first SIP User Id is set to 300.
	FIRST_SIP_USER_ID = 300
-	3 SIP phones are predefined, as follows:
	LIST_SIP_PHONES = <sip:100@192.168.31.178>,<sip:500@192.168.32.176>,<sip:200@192.168.31.180>

SIP accounts and SIP User Id will be distributed as follows:

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Endpt Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>POTS Tel.</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP User Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Type</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Associated SIP Phone URI</b></td>
</tr>
<tr>	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">301</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">302</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">303</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">304</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">305</td>
	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:100@192.168.31.178</td>
</tr>
<tr>	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">306</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:500@192.168.32.176</td>
</tr>
<tr>	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">307</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:200@192.168.31.180</td>
</tr>
<tr>	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">308</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">309</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">310</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">311</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">12</td>
	<td style="vertical-align: top;">312</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
</tr>
<tr>	<td style="vertical-align: top;">19</td>
	<td style="vertical-align: top;">20</td>
	<td style="vertical-align: top;">320</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
</table>


\subsection mtalk_sipua_4_6 Registering SIP accounts to a SIP Server

The Comcerto SIP Client supports both schemes:
-	Direct SIP calls to remote SIP Phones (no SIP Server)
	Comcerto SIP account(s) will be created but not registered to any SIP Server.
-	Calls established through a SIP Server. 
	Comcerto SIP account(s) will be created and registered to the specified SIP Server.

The scheme to be applied is specified through the SIP_REGISTER parameter.

@} */





------------------------------------------------------------------------------
/*! \defgroup voip Running VoIP Calls
@{

\section voip_1 Overview

7.1	Overview

The Mindspeed VoIP demo application is based on the VAPI library. Please refer to the VAPI documentation set for further details.
So far, this demo is targeted for the Comcerto300 based EVMs (narrowband or wideband) and that's why this section strictly applies to such boards.

\section voip_2 SiSP Components involved

In addition to the POTS and SIP Call Control software, the VoIP demo requires the following Linux SiSP components:
-	Linux Kernel with the Mindspeed Comcero300 Board Support Package
-	Linux File System
-	VAPI


\section voip_3 VoiP demo Configuration

Mtalk user parameters are provided though a configuration file called mtalk.cfg and located in the /usr/local/etc Linux folder. For all details, please click on the following link \subpage mtalk_cfg


\section voip_4 mtalk VoIP demo step by step

The VoIP demo proceeds in different steps as follows:

1.	Setup the Comcerto300 TDM #0 parameters, especially the TDM clock, TDM Frame Sync, TDM clock/bit shifts for sampling receive and sending transmit data, signal inversion, etc

2.	Configure the Zarlink TSI as described in section3 to map the Comcerto300 TDM Timeslots to both VP880 SLIC/SLAC TDM Timeslots.

3.	Instruct the Comcerto300 to generate a TDM clock matching the Comcerto TDM parameters setup in step 1. Please note that, in this hardware platform, the Comcerto300 generates and delivers a TDM clock and a TDM FrameSync for both Zarlink TSI and Zarlink SLIC/SLAC devices.

4.	Initialize the Zarlink API-II Library and setup the interface to the Mindspeed SPI Bus driver. 

5.	Initialize the Zarlink SLIC/SLAC Devices. This initialization will fail if the SLIC/SLAC devices are not fed with the expected TDM clock.

6.	Configure the Lines of each Zarlink SLIC/SLAC device

7.	Create a PJSIP instance and configure it

8.	Create up to 8 SIP accounts 

9.	If required, register the SIP accounts to the specified SIP Server 

10.	Start a state machine and poll both VP880 SLIC/SLAC and SIP events

11.	a). For POTS calls: Create Comcerto Channels on offhook events and and assign them to appropriate TDM timeslots. Fetch destination IP and UDP from SIP negotiation. Destroy Comcerto channels on onhook events.

	b). For SIP calls: Comcerto Channels on incoming INVITE events or on incoming INVITE ACK from a remote SIP Phone. Destroy Comcerto channels on onhook events.


\section voip_5 POTS Phone Ids and SIP User Ids

Each POTS is associated to a RJ11 Connector on the Comcerto300 EVM and to the following telephone Ids:
-	<b>POTS Phone Id</b>
	Phone number to reach the associated POTS when dialing from another POTS of the <b>Comcerto300 EVM</b>
-	SIP User Id: Phone number to the associated POTS from a remote SIP Phone 

BY default (default mtalk.cfg configuration), SIP accounts and SIP User Id are distributed as follows:

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Endpt Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>POTS Tel.</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP User Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Id</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SIP Account Type</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Associated SIP Phone URI</b></td>
</tr>
<tr>	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">301</td>
	<td style="vertical-align: top;">0</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">302</td>
	<td style="vertical-align: top;">1</td>
	<td style="vertical-align: top;">SIP/TDM</td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">303</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">304</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">N/A</td>
</tr>
<tr>	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">305</td>
	<td style="vertical-align: top;">2</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:100@192.168.31.178</td>
</tr>
<tr>	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">306</td>
	<td style="vertical-align: top;">3</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:500@192.168.32.176</td>
</tr>
<tr>	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">307</td>
	<td style="vertical-align: top;">4</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;">sip:200@192.168.31.180</td>
</tr>
<tr>	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">308</td>
	<td style="vertical-align: top;">5</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">8</td>
	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">309</td>
	<td style="vertical-align: top;">6</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">9</td>
	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">310</td>
	<td style="vertical-align: top;">7</td>
	<td style="vertical-align: top;">SIP/IP</td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">10</td>
	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">311</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">11</td>
	<td style="vertical-align: top;">12</td>
	<td style="vertical-align: top;">312</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
	<td style="vertical-align: top;">...</td>
</tr>
<tr>	<td style="vertical-align: top;">19</td>
	<td style="vertical-align: top;">20</td>
	<td style="vertical-align: top;">320</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
</table>

@} */






------------------------------------------------------------------------------
/*! \defgroup mtalk_build Build Procedure
@{

\section mtalk_build_1 Update the Makefile

Before building the Mtalk application, please make sure that the several libraries that it uses are previously built and installed (refers to the build/install procedure on each library).
These libraries are:
- VAPI
- VP880 (\subpage vp880_build_2)
- PJSIP (\subpage pjsip_build_2)

First edit the Makefile and set the user defined parameters as required on your PC (refer to \subpage mtalk_make_1 for further details)

\section mtalk_build_2 Build Mtalk

In the Mtalk main folder, apply the following instructions:
	\code
	$ make clean
	$ make
	\endcode

@} */




------------------------------------------------------------------------------
/*! \defgroup mtalk_install Install Procedure
@{

In the Mtalk main folder, apply the following instructions:
	\code
	$ make install
	\endcode

Running make installs the following items:
- The mtalk.bin executable file is copied to the FSROOT/usr/local/bin directory.
- The mtalk.run script is copied to the FSROOT/usr/local/etc directory.
- The mtalk.cfg script is copied to the FSROOT/usr/local/etc directory.
- The mtalk.set script is copied to the FSROOT/usr/local/etc directory.

@} */



------------------------------------------------------------------------------
/*! \defgroup mtalk_start Start Procedure
@{

Once your Comcerto device booted the Linux Kernel, start Mtalk with the following commands:
	\code
	$ ifup eth1
	$ mtalk.run
	\endcode

The following is the console output from a c300evm:

\code
Freeing init memory: 84K
Warning: unable to open an initial console.
- preinit -
Press CTRL-C for failsafe
- init -

Please press Enter to activate this console.


BusyBox v1.13.4 (2010-01-06 19:34:39 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M

 OpenWRT
 M I N D S P E E D  Technologies - 1.00-r144
---------------------------------------------------
root@192:/# ifup eth1
brctl: SIOCGIFBR: Package not installed
root@192:/# mtalk.run
Unloading the csmencaps driver
modprobe: Failed to unload module csmencaps: unknown symbol in module, or unknown parameter.

Unload the slic driver
modprobe: Failed to unload module legerity: unknown symbol in module, or unknown parameter.

Reloading the csmencaps driver
NET: Registered protocol family 27

Basic initialisation
CONTROL_INTERFACE_TYPE  = 0
DEVICE_ID    = 0
DEVICE_MODE  = 0
DEVICE_TYPE  = 5
USE_DEFAULT_MAX_CHANNEL = 1
CUSTOM_MAX_CHANNEL      = 0
ACK_REQUIRED = 1
DEVICE MAC = 00:11:22:33:44:55
HOST   MAC = 00:1a:1b:1c:1d:1e
HOST_CONTROL_INTERFACE  = eth1

Network Timing Generator successfully configured
TSI successfully configured

Reloading the slic driver
legerity spi1.6: detected SLIC type 5 on chip select 6
legerity spi1.7: detected SLIC type 5 on chip select 7
legerity: loaded version 2.06.0

Starting the application
SLIC Product code : 0xbf
SLIC Revision code : 0x04
src/tdmif.c: 124:
-------------------- tdmif_cfg
src/tdmif.c: 126:  - usMode (TDM bus mode)
\endcode

@} */




------------------------------------------------------------------------------
/*! \defgroup instructions build How to build Mtalk?
@{

	<hr><H1>Linux instructions</H1><hr>

	
	<b>VAPI demo components</b>\n
	VAPI demo is composed by a set of binaries, drivers, scripts and configuration files:
	- csmencaps.ko: csmencaps Linux kernel driver to control the MSP
	- legerity.ko: legerity Linux kernel driver to control the Zarlink LExxx devices.
	- c300_init: application to perform basic initialization of the MSP and TSI devices.
	- mtalk.run: a script to start the demo (execute all the necessary commands to load the drivers, init the board, start the application).
  
	<b>Building/installing this application</b>\n
	The VAPI demo application requires the csmencaps driver, VAPI library and include files to be installed.\n
	For more details on the VAPI library build and install, please refer to the VAPI Programming Guide (82xxx-SWG-007-xxx)\n
	The installed files are:
		- csmencaps.ko (in /lib/modules/2.6.22.19-4.03.0-c300evm/extra)
		- libgtlcommon.a, libgtlcsme.a and libvapi.a (in /usr/local/lib)
		- vapi.h, gtl.h, msp.h, ut.h (and others) (in /usr/local/include/vapi)

	It requires the legerity SLIC driver, library and include files to be installed too.\n
	These installed files are:
		- legerity.ko (in /lib/modules/2.6.22.19-4.03.0-c300evm/extra)
		- liblegerity.a (in /usr/local/lib)
		- legerity.h and legerity_lib.h (in /usr/local/include)


@} */


------------------------------------------------------------------------------
/*! \defgroup mtalk_makefile Annex 1: Makefile
@{

\section mtalk_make_1 Makefile parameters

The following parameters need to be checked and possibly modified to match your configuration.
- Path to the Root File System\n
  ex: <b>FSROOT     := /home/nfs</b>
- Cross Compiler prefix\n
  Ex: <b>CC         := arm-openwrt-linux-gcc</b>
- Path to the root folder of the PJSIP stack\n
  Ex: <b>PJSIP_ROOT := /l26.7.4/pjsip-1.5.5-arm</b>

\section mtalk_make_2 Makefile options

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Make instruction</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Make action</b></td>
</tr>
<tr>	<td style="vertical-align: top;">make clean</td>
	<td style="vertical-align: top;">Delete all object and binary output files (mtalk.run)</td>
</tr>
<tr>	<td style="vertical-align: top;">make</td>
	<td style="vertical-align: top;">Build mtalk binary without SIP support</td>
</tr>
<tr>	<td style="vertical-align: top;">make doc_usr</td>
	<td style="vertical-align: top;">Build Mtalk User Guide</td>
</tr>
<tr>	<td style="vertical-align: top;">make doc_dev</td>
	<td style="vertical-align: top;">Build Mtalk Developer Guide</td>
</tr>
<tr>	<td style="vertical-align: top;">make doc</td>
	<td style="vertical-align: top;">Build both Mtalk User and Developer Guides</td>
</tr>
</table>


@} */





------------------------------------------------------------------------------
/*! \defgroup mtalk_cfg Annex 2: mtalk.cfg (Configuration file)
@{

Before installing mtalk on a given filesystem, the user needs to edit the mtalk configuration file named <b>mtalk.cfg</b> and check the various parameters to be configured and grouped by sections.

<b>The mtalk Configuration file includes the following sections, please click on each section to get all the details</b>
- \subpage netif
- \subpage tdmif
- \subpage media
- \subpage sipua
- \subpage debug

@} */



------------------------------------------------------------------------------
/*! \defgroup mtalk_sipcodec Annex 3: SIP Codec Management (examples)
@{

\section mtalk_sipcodec_1 POTS-to-SIP and SIP-to-POTS


Codec Priorities on GrandStream, Comcerto300 and X-Lite
<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Calling Party</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Codec Priorities</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>TX Invite</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Called Party</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Codec Priorities</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Invite Reply</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SDP Codec negotiated</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Voice?</b></td>
</tr>
<tr>	<td style="vertical-align: top;">C300evm POTS-1</td>
	<td style="vertical-align: top;">1.PCMU</td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;">X-Lite</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">101 Tel 8000</td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;">FAIL</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMU</td>
	<td style="vertical-align: top;">1.PCMU</td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMU 2.PCMA</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">PCMA</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">PCMA</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">PCMA</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMU 3.PCMA 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMU 3.PCMA 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">1.PCMU</td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMU 3.PCMA 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMU 3.PCMA 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">PCMA</td>
	<td style="vertical-align: top;">PASS</td>
</tr>
<tr>	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMU 3.G729 4.G726r32 5.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMU 3.G729 4.G726r32 5.G723</td>
	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">1.PCMA</td>
	<td style="vertical-align: top;">None</td>
	<td style="vertical-align: top;">Call not established</td>
</tr>






<tr>	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU (codec=PCMU)</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMA</td>
	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">None</td>
	<td style="vertical-align: top;">Call not established</td>
</tr>
<tr>	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU 3.G722 4.G729</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">GrandStream</td>
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td> 
	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;">None</td>
	<td style="vertical-align: top;">Call not established</td>
</tr>
<tr>	<td style="vertical-align: top;">C300evm POTS</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU 3.G722 4.G729</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td>
	<td style="vertical-align: top;">X-Lite</td>
	<td style="vertical-align: top;">1.PCMA 2.PCMU</td> 
	<td style="vertical-align: top;">1.Event Tel</td>
	<td style="vertical-align: top;">None</td>
	<td style="vertical-align: top;">Call not established</td>
</tr>




</table>



Incoming SIP call -> PJSIP takes the highest codec supported by both parties which has the highest priority for the calling party regardless of the local Comcerto SIP codec priorities

<table style="text-align: left; width: 640px" border="0" cellpadding="2" cellspacing="0">
<tr>	<td style="background-color: rgb(213, 225, 232);"><b>Calling Party</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Codec Priorities</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Called Party</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>Codec Priorities</b></td>
	<td style="background-color: rgb(213, 225, 232);"><b>SDP Codec negotiated</b></td>
</tr>
<tr>	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">1.PCMU 2.PCMA</td>
</tr>
<tr>	<td style="vertical-align: top;">1.G722 2.PCMA 3.PCMU 4.G729 5.G726r32 6.G723</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">1.PCMU 2.PCMA</td>
</tr>
<tr>	<td style="vertical-align: top;">G722</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">PCMU</td>
</tr>
<tr>	<td style="vertical-align: top;">PCMA</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;">PCMA</td>
</tr>
<tr>	<td style="vertical-align: top;">PCMU</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">G729</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">G726-r32</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
<tr>	<td style="vertical-align: top;">G723</td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
	<td style="vertical-align: top;"></td>
</tr>
</table>


@} */



/*! @} */