<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://docs.telcobridges.com/mediawiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://docs.telcobridges.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Atremblay</id>
		<title>TBwiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://docs.telcobridges.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Atremblay"/>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Special:Contributions/Atremblay"/>
		<updated>2026-04-22T11:41:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack:Protocol_Stack_Settings_A</id>
		<title>Toolpack:Protocol Stack Settings A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack:Protocol_Stack_Settings_A"/>
				<updated>2016-01-26T16:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Web Portal 2.8: Protocol Stacks}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protocol Stacks=&lt;br /&gt;
&lt;br /&gt;
==ISDN FAS and NFAS==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configure ISDN-PRI Signaling&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create Line interfaces]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create Line Services]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Configuring_an_ISDN_Stack D|Configure an ISDN stack]]&lt;br /&gt;
OR&amp;lt;br/&amp;gt;&lt;br /&gt;
*[[Toolpack:Configuraing_NFAS B|Configure NFAS]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Allocating_an_ISDN_Network_Access_Point_(NAP) D|Allocate an ISDN NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===''ISDN Advanced Features''===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;ISDN NFAS Overlap&amp;quot; data-expandtext=&amp;quot;ISDN NFAS Overlap&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; |ISDN Overlap Sending&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configuring_Overlap B|''ISDN NFAS Overlap Parameters'']]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CAS==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring a CAS stack&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create Line services]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Copy variant script C|Copy variant script]]&lt;br /&gt;
*[[Toolpack:Create CAS R2 stack C|Create CAS stack]]&lt;br /&gt;
*Edit the [[CASr1_scripting|CAS R1]] or [[CAS R2 scripting|CAS R2]] script to adapt the variant&lt;br /&gt;
**[[CASr1_scripting#TONE_USE_DTMF|Select CAS R1 tone type]]&lt;br /&gt;
**[[Toolpack:Setting CAS R2 BACK DIGITS variable C|Set CAS R2 backward digits string]] &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_CAS_R2_NAP C|Create a CAS NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SIP==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Configure IP port range&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configure SIP Signaling&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_IP_Port_Range C|Create an IP port range]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_a_SIP_Stack C|Create a SIP stack]]&lt;br /&gt;
*[[Toolpack:Creating_a_SIP_Transport_Server C|Create a SIP transport server]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Allocating_a_SIP_Network_Access_Point_(NAP) C|Allocate a SIP NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===SIP Advanced Features===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;SIP-I SIP-T&amp;quot; data-expandtext=&amp;quot;SIP-I SIP-T&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | SIP-I SIP-T&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Enabling_SIP_I_SIP_T_C|Enable SIP-I SIP-T]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;SIP Spiral&amp;quot; data-expandtext=&amp;quot;SIP Spiral&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | SIP Spiral&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Enabling_SIP_Spiral_C|Enable SIP Spiral]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;NAT traversal&amp;quot; data-expandtext=&amp;quot;NAT traversal&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Remote NAT Traversal&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Local NAT Traversal&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Enabling_Remote_NAT_Traversal_B|Enable Remote NAT Traversal]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Enabling_Local_NAT_Traversal_B|Enable Local NAT Traversal]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;DNS&amp;quot; data-expandtext=&amp;quot;DNS&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | DNS&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configuring_DNS_Parameters_B|Enable DNS]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SS7 ISUP==&lt;br /&gt;
&lt;br /&gt;
===MTP2-MTP3-ISUP===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the MTP2 Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the MTP3 Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the ISUP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 6) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a new line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a new line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP2_Configuration C|Create an MTP2 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_MTP2_Links B|Create an MTP2 Link]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Configuration D|Create an MTP3 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Network B|Create an MTP3 Network]]&lt;br /&gt;
**[[Toolpack:Creating_SS7_Point_Codes C|Create an MTP3 Point Code]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Linkset B|Create an MTP3 Linkset]]&lt;br /&gt;
***[[Toolpack:Creating_MTP3_Links B|Create MTP3 Links]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Route B|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Stack C|Create an ISUP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Network B|Create an ISUP Network]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_User_Part B|Create an ISUP User Part]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Interface B|Create an ISUP Interface]]&lt;br /&gt;
*[[Toolpack:Creating ISUP CIC Groups B|Create ISUP CIC Groups]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_NAP_(SIGTRAN)_C|Create an ISUP NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===M2PA-MTP3-ISUP===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the M2PA Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the MTP3 Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the ISUP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 6) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating the M2PA Configuration C|Create an M2PA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M2PA SAP C|Create an M2PA SAP]] &lt;br /&gt;
**[[Toolpack:Adding M2PA Links B|Add M2PA Links]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Configuration D|Create an MTP3 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Network B|Create an MTP3 Network]]&lt;br /&gt;
**[[Toolpack:Creating_SS7_Point_Codes C|Create an MTP3 Point Code]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Linkset B|Create an MTP3 Linkset]]&lt;br /&gt;
***[[Toolpack:Creating_MTP3_Links B|Create MTP3 Links]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Route B|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Stack C|Create an ISUP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Network B|Create an ISUP Network]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_User_Part B|Create an ISUP User Part]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Interface B|Create an ISUP Interface]]&lt;br /&gt;
*[[Toolpack:Creating ISUP CIC Groups B|Create ISUP CIC Groups]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_NAP_(SIGTRAN)_C|Create an ISUP NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===M3UA-ISUP===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2a) &amp;lt;br&amp;gt;Configuring the M3UA Layer - IPSP &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2b) &amp;lt;br&amp;gt;Configuring the M3UA Layer - SGP &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the ISUP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create new line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create new line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating SS7 Point Codes C|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack:Creating an M3UA Configuration (IPSP) C|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA SAP (IPSP) B|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Network (IPSP) B|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack:Creating_an_M3UA_User_Part_(IPSP)_B|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Signalling Process (IPSP) B|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack:Creating_an_M3UA_Peer_Server_(IPSP)_B|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Route (IPSP) B|Create an M3UA Route]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating SS7 Point Codes C|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack:Creating an M3UA Configuration SGP C|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA SAP (SGP) B|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Network (SGP) B|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA User Part (SGP) B|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Signalling Process (SGP) B|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Server (SGP) B|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Route (SGP) B|Create an M3UA Route]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Stack C|Create an ISUP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Network B|Create an ISUP Network]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_User_Part B|Create an ISUP User Part]]&lt;br /&gt;
*[[Toolpack:Creating_an_ISUP_Interface B|Create an ISUP Interface]]&lt;br /&gt;
*[[Toolpack:Creating ISUP CIC Groups B|Create ISUP CIC Groups]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_NAP_(SIGTRAN)_C|Create an ISUP NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===SS7 Advanced Features===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; data-collapsetext=&amp;quot;SS7 SPIROU configuration&amp;quot; data-expandtext=&amp;quot;SS7 SPIROU configuration&amp;quot; style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Configuring SPIROU&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modifying_Profile_for_SPIROU B|Modifying Profile]]&lt;br /&gt;
*[[Toolpack:Modifying_Gateway_Configurations_for_SPIROU B|Modifying Gateway Configurations]]&lt;br /&gt;
*[[Toolpack:Modifying_ISUP_Stack_for_SPIROU B|Modifying ISUP Stack]]&lt;br /&gt;
*[[Toolpack:Modifying_ISUP_Userpart_for_SPIROU B|Modifying ISUP Userpart]]&lt;br /&gt;
*[[Toolpack:Optional_configurations_for_SPIROU A|Optional modifications]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SCCP-TCAP==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MTP2-MTP3-SCCP-TCAP===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the MTP2 Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the MTP3 Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the SCCP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configuring the TCAP Layer (optional)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create new line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create new line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP2_Configuration C|Create an MTP2 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_MTP2_Links B|Create an MTP2 Link]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Configuration D|Create an MTP3 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Network B|Create an MTP3 Network]]&lt;br /&gt;
**[[Toolpack:Creating_SS7_Point_Codes C|Create an MTP3 Point Code]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Linkset B|Create an MTP3 Linkset]]&lt;br /&gt;
***[[Toolpack:Creating_MTP3_Links B|Create MTP3 Links]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Route B|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Stack B| Create an SCCP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Network B|Create an SCCP Network]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_Userpart B|Create an SCCP Userpart]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_LSAP B|Create an SCCP LSAP]]&lt;br /&gt;
***[[Toolpack:Creating_an_SCCP_Route B|Create an SCCP Route]]&lt;br /&gt;
****[[Toolpack:Creating_an_SCCP_SSN B|Create an SCCP SSN]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_GTT_Association B|Create an SCCP GTT Association]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_GTT_Address_Map B|Create an SCCP GTT Address Map]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_TCAP_Stack B|Create a TCAP Stack]]&lt;br /&gt;
**[[Toolpack:Creating_a_TCAP_Userpart B| Create a TCAP Userpart]]&lt;br /&gt;
*[[Toolpack:Activating_the_Configuration C|Activating the Configuration]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===M2PA-MTP3-SCCP-TCAP===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the M2PA Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the MTP3 Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the SCCP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configuring the TCAP Layer (optional)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating the M2PA Configuration c|Create an M2PA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M2PA SAP C|Create an M2PA SAP]] &lt;br /&gt;
**[[Toolpack:Adding M2PA Links B|Add M2PA Links]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Configuration D|Create an MTP3 Configuration]]&lt;br /&gt;
*[[Toolpack:Creating_an_MTP3_Network B|Create an MTP3 Network]]&lt;br /&gt;
**[[Toolpack:Creating_SS7_Point_Codes C|Create an MTP3 Point Code]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Linkset B|Create an MTP3 Linkset]]&lt;br /&gt;
***[[Toolpack:Creating_MTP3_Links B|Create MTP3 Links]]&lt;br /&gt;
**[[Toolpack:Creating_an_MTP3_Route B|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Stack B| Create an SCCP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Network B|Create an SCCP Network]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_Userpart B|Create an SCCP Userpart]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_LSAP B|Create an SCCP LSAP]]&lt;br /&gt;
***[[Toolpack:Creating_an_SCCP_Route B|Create an SCCP Route]]&lt;br /&gt;
****[[Toolpack:Creating_an_SCCP_SSN B|Create an SCCP SSN]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_GTT_Association B|Create an SCCP GTT Association]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_GTT_Address_Map B|Create an SCCP GTT Address Map]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_TCAP_Stack B|Create a TCAP Stack]]&lt;br /&gt;
**[[Toolpack:Creating_a_TCAP_Userpart B| Create a TCAP Userpart]]&lt;br /&gt;
*[[Toolpack:Activating_the_Configuration C|Activating the Configuration]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===M3UA-SCCP-TCAP===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the M3UA Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the SCCP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the TCAP Layer (optional)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating SS7 Point Codes C|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack:Creating an M3UA Configuration D|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA SAP C|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Network C|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA User Part C|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Signalling Process C|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Server C|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Route C|Create an M3UA Route]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Stack B| Create an SCCP Stack]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_Network B|Create an SCCP Network]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_Userpart B|Create an SCCP Userpart]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_LSAP B|Create an SCCP LSAP]]&lt;br /&gt;
***[[Toolpack:Creating_an_SCCP_Route B|Create an SCCP Route]]&lt;br /&gt;
****[[Toolpack:Creating_an_SCCP_SSN B|Create an SCCP SSN]]&lt;br /&gt;
*[[Toolpack:Creating_an_SCCP_GTT_Association B|Create an SCCP GTT Association]]&lt;br /&gt;
**[[Toolpack:Creating_an_SCCP_GTT_Address_Map B|Create an SCCP GTT Address Map]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_TCAP_Stack B|Create a TCAP Stack]]&lt;br /&gt;
**[[Toolpack:Creating_a_TCAP_Userpart B| Create a TCAP Userpart]]&lt;br /&gt;
*[[Toolpack:Activating_the_Configuration C|Activating the Configuration]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==H.248 MEGACO==&lt;br /&gt;
&lt;br /&gt;
If the Tmedia is used to forward signalling messages to the SSW, you will require to configure M2UA, M3UA or IUA before configuring H.248.&lt;br /&gt;
&lt;br /&gt;
If the Tmedia is used to connect media only, then you can go straight to [[#H.248|H.248 Configuration]]&lt;br /&gt;
&lt;br /&gt;
===Signaling===&lt;br /&gt;
====M2UA====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Create Line Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Create MTP2 links&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Create M2UA configuration&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*[[Toolpack:Creating an MTP2 Configuration C|Create an MTP2 Configuration]] &lt;br /&gt;
**[[Toolpack:Creating MTP2 Links B|Create MTP2 Links]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating the M2UA Configuration C|Create an M2UA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M2UA SAP B|Create an M2UA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an M2UA Cluster B|Create an M2UA Cluster]] &lt;br /&gt;
**[[Toolpack:Creating M2UA Links B|Create M2UA Links]] &lt;br /&gt;
**[[Toolpack:Creating M2UA Peers B|Create M2UA Peers]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====M3UA====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Create Line Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Create MTP2 links&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Create MTP3 configuration&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Create M3UA configuration&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]]&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating an MTP2 Configuration C|Create an MTP2 Configuration]] &lt;br /&gt;
*[[Toolpack:Creating MTP2 Links B|Create MTP2 Links]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating SS7 Point Codes C|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack:Creating an MTP3 Configuration D|Create an MTP3 Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an MTP3 Network B|Create an MTP3 Network]] &lt;br /&gt;
**[[Toolpack:Creating an MTP3 Linkset B|Create an MTP3 Linkset]] &lt;br /&gt;
**[[Toolpack:Creating MTP3 Links (M3UA) B|Create MTP3 Links]] &lt;br /&gt;
**[[Toolpack:Creating an MTP3 Route B|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating an M3UA Configuration D|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA SAP C|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Network C|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA User Part C|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Signalling Process C|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Peer Server C|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack:Creating an M3UA Route C|Create an M3UA Route]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====IUA====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Create Line Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Create IUA Configuration&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating a Line Interface C|Create a line interface]] &lt;br /&gt;
*[[Toolpack:Creating a Line Service C|Create a line service]] &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating the SCTP Configuration C|Create the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack:Creating the IUA Configuration C|Create an IUA Configuration]] &lt;br /&gt;
**[[Toolpack:Creating an IUA SAP B|Create an IUA SAP]] &lt;br /&gt;
**[[Toolpack:Creating an IUA Cluster B|Create an IUA Cluster]] &lt;br /&gt;
**[[Toolpack:Creating IUA Links B|Create IUA Links]] &lt;br /&gt;
**[[Toolpack:Creating IUA Peers B|Create IUA Peers]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
&lt;br /&gt;
====TDM NAP (for ISUP/ISDN)====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate TDM Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interface]] &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Allocating_a_TDM_Network_Access_Point_(NAP) C|Allocate a TDM NAP]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====VOIP NAP (for SIP)====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Create IP Port Ranges&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_an_IP_Port_Range C|Create IP port ranges]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Allocating_a_VoIP_Network_Access_Point_(NAP) C|Allocate a VoIP NAP]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CAS NAP====&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring a CAS stack&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Modify NAP profile&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Creating_a_Line_Interface C|Create a line interfaces]] &lt;br /&gt;
*[[Toolpack:Creating_a_Line_Service C|Create a line service]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Copy variant script C|Copy variant script]]&lt;br /&gt;
*[[Toolpack:Create CAS R2 stack C|Create CAS stack]]&lt;br /&gt;
*Edit the [[CASr1_scripting|CAS R1]] or [[CAS R2 scripting|CAS R2]] script to adapt the variant&lt;br /&gt;
**[[CASr1_scripting#TONE_USE_DTMF|Select CAS R1 tone type]]&lt;br /&gt;
**[[Toolpack:Setting CAS R2 BACK DIGITS variable C|Set CAS R2 backward digits string]] &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Modify_NAP_profile C|Modify profile]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Creating_a_CAS_R2_NAP C|Create a CAS NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Media Gateway===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Configure Media Gateway for H.248 mode&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Add a New Media Gateway Controller&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Associate NAPs Resources to H.248 Configuration&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Configure the Media_Gateway_for_H248_Mode C|Configure the Media Gateway for H.248 mode]]&lt;br /&gt;
*[[Toolpack:Creating_an_H.248_Configuration C|Create a new H.248 configuration]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Adding_a_Media_Gateway_Controller_(MGC) B|Add a new media gateway controller (MGC)]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack:Associating_NAPs_with_an_H.248_Configuration C|Associate the NAPs with the H.248 configuration]]&lt;br /&gt;
*[[Toolpack:Selecting_Timeslots_for_TDM_Interfaces B|Select timeslots for the TDM interfaces]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protocol Interoperability=&lt;br /&gt;
&lt;br /&gt;
===Early Media===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Q.1912.5 Profile A-B&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q1912_A_B_NAP_A|Configure NAP ]]&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q1912_A_B_Profile_A|Configure Profile]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Q.1912.5 Profile C (SIP-I)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q1912_C_NAP_A|Configure NAP ]]&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q1912_C_Profile_A|Configure Profile]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | RFC3398&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_RFC3398_NAP_A|Configure NAP ]]&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_RFC3398_Profile_A|Configure Profile]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Q.699&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q699_NAP_A|Configure NAP ]]&lt;br /&gt;
*[[Toolpack:Configure_Early_Media_Q699_Profile_A|Configure Profile]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Redirection=&lt;br /&gt;
&lt;br /&gt;
===General configuration===&lt;br /&gt;
&lt;br /&gt;
When using SIP, ensure that the [[Parameter:_Allow_Recurse|Allow Recurse]] parameter in the [[Toolpack:Creating_a_SIP_Stack_C|SIP stack]] is '''unchecked''' so that Toolpack can handle redirections.&lt;br /&gt;
&lt;br /&gt;
When configuring [[Termination_cause_codes|termination cause codes]], use the following table as a guide. The ''Drop'' column represents codes to use when redirection contents should be dropped and the call should be terminated with the specified code. The ''Forward'' column represents codes to use when redirection contents should be forwarded to the incoming leg with the specified code. If the redirection requests must be processed, the codes are not used.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Code !! colspan=&amp;quot;2&amp;quot; | Drop !! colspan=&amp;quot;2&amp;quot; | Forward&lt;br /&gt;
|-&lt;br /&gt;
! SS7 !! SIP !! SS7 !! SIP&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 21 || 603 || 14 || 300&lt;br /&gt;
|-&lt;br /&gt;
| 22 || 21 || 410 || 22 || 301&lt;br /&gt;
|-&lt;br /&gt;
| 23 || 21 || 410 || 23 || 302&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 21 || 603 || 23 || 300&lt;br /&gt;
|-&lt;br /&gt;
| 301 || 21 || 410 || 22 || 301&lt;br /&gt;
|-&lt;br /&gt;
| 302 || 21 || 410 || 23 || 302&lt;br /&gt;
|-&lt;br /&gt;
| 305 || 21 || 603 || 23 || 305&lt;br /&gt;
|-&lt;br /&gt;
| 380 || 21 || 603 || 23 || 380&lt;br /&gt;
|}&lt;br /&gt;
For each redirection cause code, choose '''Process''' to let the routing scripts process the redirection. Choose '''Stop''' to drop calls when receiving a redirection and use the above table to specify if the redirection contents should be dropped.&lt;br /&gt;
&lt;br /&gt;
===Scenarios===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Process&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Modify_LNP_profile_C|Modify LNP profile]]&lt;br /&gt;
*[[Termination_cause_codes|Edit termination cause codes]]&lt;br /&gt;
*[[Routing_script_tutorial:Mini_Development_Guide|Optional: configure the all_call_query.rb or query_on_release.rb routing script]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Relay&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Termination_cause_codes|Edit termination cause codes]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|STYLE=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;240&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | Drop&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Termination_cause_codes|Edit termination cause codes]]&lt;br /&gt;
*Uncheck [[Parameter:_Forward_SS7_raw_message_bytes|Forward SS7 raw message bytes]] in the gateway configuration&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records</id>
		<title>Text Call Detail Records</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records"/>
				<updated>2015-11-27T21:38:05Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* Statistics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text [[call detail record|call detail records]] (CDR) can be used on the [[TMG800]], [[TMG3200]] or [[TMG7800]]. The Call Detail Records are saved in a log file on a local disk. There is an entry done for each call leg, at the start of a call and at the end of the call. In addition, the system can be configured to update the CDRs periodically.&lt;br /&gt;
&lt;br /&gt;
The format of the CDR traces is defined by configuration, using variables that are replaced by the Gateway application when writing to the log.&lt;br /&gt;
&lt;br /&gt;
For example, the following variable will be replaced by the called number:&lt;br /&gt;
@{CalledNumber}&lt;br /&gt;
&lt;br /&gt;
In order to save disk space and simplify the archiving and backup of CDR log files, this log file is automatically archived (gzipped) and rotated every N seconds, as specified by the system configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling text CDR ==&lt;br /&gt;
The enabling of Text CDR is described in [[Toolpack:Enabling CDR A|Enabling CDR]].&lt;br /&gt;
&lt;br /&gt;
== Available variables ==&lt;br /&gt;
The following variables exist and can be used to define the CDR log format.&lt;br /&gt;
&lt;br /&gt;
=== Variables used for identifying call (or call leg) in general ===&lt;br /&gt;
 *@{StatusType}:             Indicates the type of record (&amp;quot;Start&amp;quot;, &amp;quot;Update&amp;quot; or &amp;quot;End&amp;quot;).&lt;br /&gt;
 *@{LegId}:                  Unique Id for this leg (32 bits value, but may eventually be upgraded to 64 bits value).&lt;br /&gt;
 *@{OtherLegId}:             Id of the other call leg joined with current call leg.&lt;br /&gt;
 *@{SessionId}:              Unique call identifier for two joined and answered call legs, including failed outgoing call attempts (route retry)&lt;br /&gt;
                             Formatted as 4 values of 32 bits, printed as 4 blocks of 8 hexadecimal characters separated by a space&lt;br /&gt;
                             Ex: a939d169 299ffcd0 00000000 00000000&lt;br /&gt;
                             Note: Call Transfer Target legs have separate SessionId. If you need an id to correlate a transferred call&lt;br /&gt;
                                   to the original call, use @{OriginalSessionId}.&lt;br /&gt;
 *@{OriginalSessionId}:      Refers to @{SessionId} of the original legs for this call, in case of call transfer.&lt;br /&gt;
                             In fact, Transfer Target leg has a different value for @{SessionId}, but can be linked with the original call&lt;br /&gt;
                             legs through @{OriginalSessionId}.&lt;br /&gt;
 *@{LinkId}:                 Same meaning as @{OriginalSessionId}, but presented as a 32 bits integer value.&lt;br /&gt;
For all Ids above, please see [[Text_Call_Detail_Records_(CDR)#Known_limitations|Known Limitations]] below for notes about uniqueness of these values.&lt;br /&gt;
&lt;br /&gt;
=== Timestamps ===&lt;br /&gt;
 *@{AlertTime}:              Time where the call has started ringing.&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{ConnectedTime}:          Time where the call was answered (and connected with another leg) (in number of seconds since epoch)&lt;br /&gt;
 *@{ConnectedTime:format}:   Same as @{ConnectedTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{ConnectedTimeUtc:format}:Same as @{ConnectedTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{CallDuration}:           Call duration in seconds (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallDurationMs}:         Call duration in milliseconds (end - connected time) (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{EndTime}:                Time where the call has started terminating (in number of seconds since epoch).&lt;br /&gt;
                             Note that slightly differs from the @{Timestamp}, since the 'End' CDR trace is printed once the call has&lt;br /&gt;
                             finished terminating,&lt;br /&gt;
                             while @{EndTime} reports the time where the call has started terminating (upon hangup for example).&lt;br /&gt;
 *@{EndTime:format}:         Same as @{EndTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{EndTimeUtc:format}:      Same as @{EndTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{RingingDuration}:        Ringing duration in seconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{RingingDurationMs}:      Ringing duration in milliseconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{StartTime}:              Time where the call was created (in number of seconds since epoch)&lt;br /&gt;
 *@{StartTime:format}:       Same as @{StartTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{StartTimeUtc:format}:    Same as @{StartTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{Timestamp}:              Time where this CDR log entry was written.&lt;br /&gt;
                             Should not be used for billing purposes. Use @{EndTime} for billing @{EndTime} reports the time where&lt;br /&gt;
                             the call has started terminating (hangup), while *@{Timestamp} the time where signaling confirmed the termination.&lt;br /&gt;
 *@{Timestamp:format}:       Same as @{Timestamp} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{TimestampUtc:format}:    Same as @{Timestamp:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
&lt;br /&gt;
=== Information related to signaling ===&lt;br /&gt;
 *@{CalledNumber}:           Called number&lt;br /&gt;
 *@{CallingNumber}:          Calling number&lt;br /&gt;
 *@{CallingPresentation}:    Calling presentation: &amp;quot;Unspecified&amp;quot;, &amp;quot;NotAvailable&amp;quot;, &amp;quot;Allowed&amp;quot;, &amp;quot;Restricted&amp;quot;, &amp;quot;AddressRestricted&amp;quot; or &amp;quot;NameRestricted&amp;quot;&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallingSubscriberNumber}: Second calling number (ISDN) or Generic number of type &amp;quot;additional calling party number&amp;quot; (SS7) &lt;br /&gt;
                             Note: Supported on release 2.7.43 and up only.&lt;br /&gt;
 *@{CallType}:               Call type (&amp;quot;Telephony&amp;quot; or &amp;quot;VOIP&amp;quot;)&lt;br /&gt;
 *@{IncomingNAP}:            Name of the NAP that originated this call (incoming call leg's NAP name).&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{NAP}:                    Name of the NAP this call leg is from&lt;br /&gt;
 *@{OriginatorName}:         Direction of the call:&lt;br /&gt;
                              - &amp;quot;answer&amp;quot; (incoming call leg) - &amp;quot;originate&amp;quot; (outgoing call leg)&lt;br /&gt;
                             Note: In release 2.6 and earlier, the direction of the call is as follows:&lt;br /&gt;
                              - &amp;quot;originate&amp;quot; (incoming call leg) - &amp;quot;answer&amp;quot; (outgoing call leg)&lt;br /&gt;
                             In release 2.7, the CDR option &amp;quot;Reverse CDR call origin&amp;quot; in Gateway configuration provide the same values as in release 2.6.&lt;br /&gt;
 *@{OriginalCalledNumber}:   Original called number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{Protocol}:               Type of protocol used (&amp;quot;SS7&amp;quot;, &amp;quot;ISDN&amp;quot;, or &amp;quot;SIP&amp;quot;)&lt;br /&gt;
 *@{RedirectingNumber}:      Redirecting number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{TerminationCause}:       Cause of the call termination, printed as an integer value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationCauseString}: Cause of the call termination, printed as a string value&lt;br /&gt;
 *@{OriginalCause}:          Original cause of the call termination, printed as a string value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationSource}:      Identifies the cause of the leg termination:&lt;br /&gt;
                               - &amp;quot;TermInd&amp;quot;:       Terminating indication has been received on this leg&lt;br /&gt;
                               - &amp;quot;JoinedTermInd&amp;quot;: Terminating indication has been received on the leg joined to current leg,&lt;br /&gt;
                                                  and has been forwarded to current leg&lt;br /&gt;
                               - &amp;quot;App&amp;quot;:           Call control application has asked to drop the call&lt;br /&gt;
                               - &amp;quot;Engine&amp;quot;:        Toolpack engine has decided to terminate this call&lt;br /&gt;
                                                  (generally due to local errors like disconnected TMedia)&lt;br /&gt;
 *@{UserName}:               Static value: 100.&lt;br /&gt;
 *@{SipCallId}:              Content of the &amp;quot;call-id&amp;quot; SIP header&lt;br /&gt;
 *@{ChargeIndicator}:        For TDM (SS7 and CAS R2); received charge indicator in Alert message.&lt;br /&gt;
&lt;br /&gt;
=== Information related to media ===&lt;br /&gt;
 *@{Codec}:                  Codec used for this call (&amp;quot;G711&amp;quot; for example)&lt;br /&gt;
 *@{LocalMediaInfo}:         Protocol type dependent information on the call leg (local information for SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port locally used for receiving RTP)&lt;br /&gt;
 *@{LocalMediaIP}:           For VOIP calls, RTP IP address locally used for this call leg.&lt;br /&gt;
 *@{LocalMediaPort}:         For VOIP calls, RTP UDP port locally used for this call leg.&lt;br /&gt;
 *@{RemoteMediaInfo}:        Protocol type dependent information on the call leg (remote information SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port TMedia is sending RTP to)&lt;br /&gt;
 *@{RemoteMediaIP}:          For VOIP calls, RTP IP address of the remote peer for this call leg.&lt;br /&gt;
 *@{RemoteMediaPort}:        For VOIP calls, RTP UDP port of the remote peer for this call leg.&lt;br /&gt;
 *@{TimeslotNumber}:         For TDM (Telephony) calls, timeslot number that this call was using for audio.&lt;br /&gt;
 *@{TrunkName}:              For TDM (Telephony) calls, name of the trunk that this call was using for audio.&lt;br /&gt;
&lt;br /&gt;
=== Statistics ===&lt;br /&gt;
The following variables allow to print call statistics in the text CDR logs.&lt;br /&gt;
&lt;br /&gt;
There are some restrictions, however:&lt;br /&gt;
* Available '''only in the &amp;quot;end&amp;quot; CDR entry'''&lt;br /&gt;
* Available in release 2.7.103 and above only&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* Pkt=@{Stat:Rtp:Rx:Packets}/@{Stat:Rtp:Tx:Packets}, Err=@{Stat:Rtp:Rx:Errors}/@{Stat:Rtp:Tx:Errors}&lt;br /&gt;
&lt;br /&gt;
Refer to the following pages for the list of statistics:&lt;br /&gt;
* [[Call_statistics_format_B|Call statistics format for Toolpack 2.9 or later]]&lt;br /&gt;
* [[Call_statistics_format_A|Call statistics format for Toolpack 2.8]]&lt;br /&gt;
&lt;br /&gt;
===  Information related to routing ===&lt;br /&gt;
 *@{ApplicationName}:        Name of the application that has written this log (&amp;quot;Gateway&amp;quot;)&lt;br /&gt;
 *@{RouteAttribute:attr}:    Replaced by the value of a custom route attribute, for the selected&lt;br /&gt;
                             route. This will apply only to outgoing call legs that were made from routing.&lt;br /&gt;
                             Eligible route attributes are:&lt;br /&gt;
                                Route name:                    Use attribute &amp;quot;route_name&amp;quot;. Ex: @{RouteAttribute:route_name}&lt;br /&gt;
                                Route set name:                Use attribute &amp;quot;routeset_name&amp;quot;. Ex: @{RouteAttribute:routeset_name}&lt;br /&gt;
                                Custom route attribute column: Use the custom attribute name. Ex: @{RouteAttribute:priority}&lt;br /&gt;
                                Routing script parameters:     Use the route attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: route[:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{RouteAttribute:my_param}]&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
 *@{ScriptAttribute:attr}:   Replaced by the value of a routing script attribute stored in params[:bridge].&lt;br /&gt;
                             This will apply for incoming and outgoing call legs.&lt;br /&gt;
                             Eligible script attributes are:&lt;br /&gt;
                                Custom CDR value:              Use attribute &amp;quot;CustomCdrValue&amp;quot;. Ex: @{ScriptAttribute:CustomCdrValue}&lt;br /&gt;
                                Script parameters:             Use the attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: params[:bridge][:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{ScriptAttribute:my_param}&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated values: ===&lt;br /&gt;
 *@{MediaInfo}:              Same as @{RemoteMediaInfo}&lt;br /&gt;
 *@{RemoteIP}:               Same as @{RemoteMediaIP}&lt;br /&gt;
 *@{RemotePort}:             Same as @{RemoteMediaPort}&lt;br /&gt;
&lt;br /&gt;
== CDR sample ==&lt;br /&gt;
=== Text CDR sample ===&lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP',Protocol='SIP',Direction='answer' &lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP2',Protocol='SIP',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.562-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',TerminationSource='App',Calling='',Called='123',NAP='NAP_SIP2',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.656-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',Termination Source='App',Calling='',Called='123',NAP='NAP_SIP',Direction='answer'&lt;br /&gt;
&lt;br /&gt;
=== Radius AAA sample ===&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap|TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap]]&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt|TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt]]&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
In a [[TMG7800]] configuration, with redundant TMG-Control servers, or [[TMG3200]]/[[TMG800]] in 1+1 configuration, only the active server writes the CDR logs. Since the active server may change over time, CDR parsing must take into account that CDR logs may be found in files from the two servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The analysis of the logs for the purpose of extracting billing information must be done after combining the two logs, from both TMG-Control servers, sorting the entries by timestamp for example. See how to [[TMG:Retrieve_Text_CDR|Retrieve Text CDR here]].&lt;br /&gt;
&lt;br /&gt;
== CDR entry loss due to switchover ==&lt;br /&gt;
In some situations (during HA switchover for example), some CDR entries may be lost.&lt;br /&gt;
&lt;br /&gt;
The following guide lines provide information on how to deal with these corner cases:&lt;br /&gt;
&lt;br /&gt;
[[Call_Detail_Records_Entry_Loss|Deal with CDR entries loss]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieving Text CDRs  ==&lt;br /&gt;
&lt;br /&gt;
There are 2 ways to retrieve the text CDR manually or automatically. The procedures are described in [[TMG:Retrieve_Text_CDR|Retrieve Text CDR]].&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*This mode of operation is not recommended for [[TMG800]] or [[TMG3200]] with a flash disk (last shipment January 2011). However, the [[TMG800]] or [[TMG3200]] with SATA or SSD disk option is OK (use command tbproduct: if the command can be executed, the disk is SATA or SSD).&lt;br /&gt;
*TelcoBridges does not recommend storing CDR logs via network file systems (NFS or other). We highly recommend writing to a local hard drive and have developed a background script that moves the gzipped log segments for backup or analysis.&lt;br /&gt;
&lt;br /&gt;
== Related actions  ==&lt;br /&gt;
&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.7#CDR_.28Call_Detail_Record.29|Web Portal v2.7: CDR Configuration]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.6#CDR_.28Call_Detail_Record.29|Web Portal v2.6: CDR Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records</id>
		<title>Text Call Detail Records</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records"/>
				<updated>2015-11-27T21:37:48Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* Statistics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text [[call detail record|call detail records]] (CDR) can be used on the [[TMG800]], [[TMG3200]] or [[TMG7800]]. The Call Detail Records are saved in a log file on a local disk. There is an entry done for each call leg, at the start of a call and at the end of the call. In addition, the system can be configured to update the CDRs periodically.&lt;br /&gt;
&lt;br /&gt;
The format of the CDR traces is defined by configuration, using variables that are replaced by the Gateway application when writing to the log.&lt;br /&gt;
&lt;br /&gt;
For example, the following variable will be replaced by the called number:&lt;br /&gt;
@{CalledNumber}&lt;br /&gt;
&lt;br /&gt;
In order to save disk space and simplify the archiving and backup of CDR log files, this log file is automatically archived (gzipped) and rotated every N seconds, as specified by the system configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling text CDR ==&lt;br /&gt;
The enabling of Text CDR is described in [[Toolpack:Enabling CDR A|Enabling CDR]].&lt;br /&gt;
&lt;br /&gt;
== Available variables ==&lt;br /&gt;
The following variables exist and can be used to define the CDR log format.&lt;br /&gt;
&lt;br /&gt;
=== Variables used for identifying call (or call leg) in general ===&lt;br /&gt;
 *@{StatusType}:             Indicates the type of record (&amp;quot;Start&amp;quot;, &amp;quot;Update&amp;quot; or &amp;quot;End&amp;quot;).&lt;br /&gt;
 *@{LegId}:                  Unique Id for this leg (32 bits value, but may eventually be upgraded to 64 bits value).&lt;br /&gt;
 *@{OtherLegId}:             Id of the other call leg joined with current call leg.&lt;br /&gt;
 *@{SessionId}:              Unique call identifier for two joined and answered call legs, including failed outgoing call attempts (route retry)&lt;br /&gt;
                             Formatted as 4 values of 32 bits, printed as 4 blocks of 8 hexadecimal characters separated by a space&lt;br /&gt;
                             Ex: a939d169 299ffcd0 00000000 00000000&lt;br /&gt;
                             Note: Call Transfer Target legs have separate SessionId. If you need an id to correlate a transferred call&lt;br /&gt;
                                   to the original call, use @{OriginalSessionId}.&lt;br /&gt;
 *@{OriginalSessionId}:      Refers to @{SessionId} of the original legs for this call, in case of call transfer.&lt;br /&gt;
                             In fact, Transfer Target leg has a different value for @{SessionId}, but can be linked with the original call&lt;br /&gt;
                             legs through @{OriginalSessionId}.&lt;br /&gt;
 *@{LinkId}:                 Same meaning as @{OriginalSessionId}, but presented as a 32 bits integer value.&lt;br /&gt;
For all Ids above, please see [[Text_Call_Detail_Records_(CDR)#Known_limitations|Known Limitations]] below for notes about uniqueness of these values.&lt;br /&gt;
&lt;br /&gt;
=== Timestamps ===&lt;br /&gt;
 *@{AlertTime}:              Time where the call has started ringing.&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{ConnectedTime}:          Time where the call was answered (and connected with another leg) (in number of seconds since epoch)&lt;br /&gt;
 *@{ConnectedTime:format}:   Same as @{ConnectedTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{ConnectedTimeUtc:format}:Same as @{ConnectedTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{CallDuration}:           Call duration in seconds (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallDurationMs}:         Call duration in milliseconds (end - connected time) (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{EndTime}:                Time where the call has started terminating (in number of seconds since epoch).&lt;br /&gt;
                             Note that slightly differs from the @{Timestamp}, since the 'End' CDR trace is printed once the call has&lt;br /&gt;
                             finished terminating,&lt;br /&gt;
                             while @{EndTime} reports the time where the call has started terminating (upon hangup for example).&lt;br /&gt;
 *@{EndTime:format}:         Same as @{EndTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{EndTimeUtc:format}:      Same as @{EndTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{RingingDuration}:        Ringing duration in seconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{RingingDurationMs}:      Ringing duration in milliseconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{StartTime}:              Time where the call was created (in number of seconds since epoch)&lt;br /&gt;
 *@{StartTime:format}:       Same as @{StartTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{StartTimeUtc:format}:    Same as @{StartTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{Timestamp}:              Time where this CDR log entry was written.&lt;br /&gt;
                             Should not be used for billing purposes. Use @{EndTime} for billing @{EndTime} reports the time where&lt;br /&gt;
                             the call has started terminating (hangup), while *@{Timestamp} the time where signaling confirmed the termination.&lt;br /&gt;
 *@{Timestamp:format}:       Same as @{Timestamp} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{TimestampUtc:format}:    Same as @{Timestamp:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
&lt;br /&gt;
=== Information related to signaling ===&lt;br /&gt;
 *@{CalledNumber}:           Called number&lt;br /&gt;
 *@{CallingNumber}:          Calling number&lt;br /&gt;
 *@{CallingPresentation}:    Calling presentation: &amp;quot;Unspecified&amp;quot;, &amp;quot;NotAvailable&amp;quot;, &amp;quot;Allowed&amp;quot;, &amp;quot;Restricted&amp;quot;, &amp;quot;AddressRestricted&amp;quot; or &amp;quot;NameRestricted&amp;quot;&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallingSubscriberNumber}: Second calling number (ISDN) or Generic number of type &amp;quot;additional calling party number&amp;quot; (SS7) &lt;br /&gt;
                             Note: Supported on release 2.7.43 and up only.&lt;br /&gt;
 *@{CallType}:               Call type (&amp;quot;Telephony&amp;quot; or &amp;quot;VOIP&amp;quot;)&lt;br /&gt;
 *@{IncomingNAP}:            Name of the NAP that originated this call (incoming call leg's NAP name).&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{NAP}:                    Name of the NAP this call leg is from&lt;br /&gt;
 *@{OriginatorName}:         Direction of the call:&lt;br /&gt;
                              - &amp;quot;answer&amp;quot; (incoming call leg) - &amp;quot;originate&amp;quot; (outgoing call leg)&lt;br /&gt;
                             Note: In release 2.6 and earlier, the direction of the call is as follows:&lt;br /&gt;
                              - &amp;quot;originate&amp;quot; (incoming call leg) - &amp;quot;answer&amp;quot; (outgoing call leg)&lt;br /&gt;
                             In release 2.7, the CDR option &amp;quot;Reverse CDR call origin&amp;quot; in Gateway configuration provide the same values as in release 2.6.&lt;br /&gt;
 *@{OriginalCalledNumber}:   Original called number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{Protocol}:               Type of protocol used (&amp;quot;SS7&amp;quot;, &amp;quot;ISDN&amp;quot;, or &amp;quot;SIP&amp;quot;)&lt;br /&gt;
 *@{RedirectingNumber}:      Redirecting number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{TerminationCause}:       Cause of the call termination, printed as an integer value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationCauseString}: Cause of the call termination, printed as a string value&lt;br /&gt;
 *@{OriginalCause}:          Original cause of the call termination, printed as a string value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationSource}:      Identifies the cause of the leg termination:&lt;br /&gt;
                               - &amp;quot;TermInd&amp;quot;:       Terminating indication has been received on this leg&lt;br /&gt;
                               - &amp;quot;JoinedTermInd&amp;quot;: Terminating indication has been received on the leg joined to current leg,&lt;br /&gt;
                                                  and has been forwarded to current leg&lt;br /&gt;
                               - &amp;quot;App&amp;quot;:           Call control application has asked to drop the call&lt;br /&gt;
                               - &amp;quot;Engine&amp;quot;:        Toolpack engine has decided to terminate this call&lt;br /&gt;
                                                  (generally due to local errors like disconnected TMedia)&lt;br /&gt;
 *@{UserName}:               Static value: 100.&lt;br /&gt;
 *@{SipCallId}:              Content of the &amp;quot;call-id&amp;quot; SIP header&lt;br /&gt;
 *@{ChargeIndicator}:        For TDM (SS7 and CAS R2); received charge indicator in Alert message.&lt;br /&gt;
&lt;br /&gt;
=== Information related to media ===&lt;br /&gt;
 *@{Codec}:                  Codec used for this call (&amp;quot;G711&amp;quot; for example)&lt;br /&gt;
 *@{LocalMediaInfo}:         Protocol type dependent information on the call leg (local information for SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port locally used for receiving RTP)&lt;br /&gt;
 *@{LocalMediaIP}:           For VOIP calls, RTP IP address locally used for this call leg.&lt;br /&gt;
 *@{LocalMediaPort}:         For VOIP calls, RTP UDP port locally used for this call leg.&lt;br /&gt;
 *@{RemoteMediaInfo}:        Protocol type dependent information on the call leg (remote information SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port TMedia is sending RTP to)&lt;br /&gt;
 *@{RemoteMediaIP}:          For VOIP calls, RTP IP address of the remote peer for this call leg.&lt;br /&gt;
 *@{RemoteMediaPort}:        For VOIP calls, RTP UDP port of the remote peer for this call leg.&lt;br /&gt;
 *@{TimeslotNumber}:         For TDM (Telephony) calls, timeslot number that this call was using for audio.&lt;br /&gt;
 *@{TrunkName}:              For TDM (Telephony) calls, name of the trunk that this call was using for audio.&lt;br /&gt;
&lt;br /&gt;
=== Statistics ===&lt;br /&gt;
The following variables allow to print call statistics in the text CDR logs.&lt;br /&gt;
&lt;br /&gt;
There are some restrictions, however:&lt;br /&gt;
* Available '''only in the &amp;quot;end&amp;quot; CDR entry'''&lt;br /&gt;
* Available in release 2.7.103 and above only&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* Pkt=@{Stat:Rtp:Rx:Packets}/@{Stat:Rtp:Tx:Packets}, Err=@{Stat:Rtp:Rx:Errors}/@{Stat:Rtp:Tx:Errors}&lt;br /&gt;
&lt;br /&gt;
Refer to the following pages for the list of statistics:&lt;br /&gt;
* [[Call_statistics_format_B|Call statistics format for Toolpack 2.8]]&lt;br /&gt;
* [[Call_statistics_format_A|Call statistics format for Toolpack 2.9 or later]]&lt;br /&gt;
&lt;br /&gt;
===  Information related to routing ===&lt;br /&gt;
 *@{ApplicationName}:        Name of the application that has written this log (&amp;quot;Gateway&amp;quot;)&lt;br /&gt;
 *@{RouteAttribute:attr}:    Replaced by the value of a custom route attribute, for the selected&lt;br /&gt;
                             route. This will apply only to outgoing call legs that were made from routing.&lt;br /&gt;
                             Eligible route attributes are:&lt;br /&gt;
                                Route name:                    Use attribute &amp;quot;route_name&amp;quot;. Ex: @{RouteAttribute:route_name}&lt;br /&gt;
                                Route set name:                Use attribute &amp;quot;routeset_name&amp;quot;. Ex: @{RouteAttribute:routeset_name}&lt;br /&gt;
                                Custom route attribute column: Use the custom attribute name. Ex: @{RouteAttribute:priority}&lt;br /&gt;
                                Routing script parameters:     Use the route attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: route[:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{RouteAttribute:my_param}]&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
 *@{ScriptAttribute:attr}:   Replaced by the value of a routing script attribute stored in params[:bridge].&lt;br /&gt;
                             This will apply for incoming and outgoing call legs.&lt;br /&gt;
                             Eligible script attributes are:&lt;br /&gt;
                                Custom CDR value:              Use attribute &amp;quot;CustomCdrValue&amp;quot;. Ex: @{ScriptAttribute:CustomCdrValue}&lt;br /&gt;
                                Script parameters:             Use the attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: params[:bridge][:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{ScriptAttribute:my_param}&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated values: ===&lt;br /&gt;
 *@{MediaInfo}:              Same as @{RemoteMediaInfo}&lt;br /&gt;
 *@{RemoteIP}:               Same as @{RemoteMediaIP}&lt;br /&gt;
 *@{RemotePort}:             Same as @{RemoteMediaPort}&lt;br /&gt;
&lt;br /&gt;
== CDR sample ==&lt;br /&gt;
=== Text CDR sample ===&lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP',Protocol='SIP',Direction='answer' &lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP2',Protocol='SIP',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.562-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',TerminationSource='App',Calling='',Called='123',NAP='NAP_SIP2',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.656-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',Termination Source='App',Calling='',Called='123',NAP='NAP_SIP',Direction='answer'&lt;br /&gt;
&lt;br /&gt;
=== Radius AAA sample ===&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap|TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap]]&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt|TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt]]&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
In a [[TMG7800]] configuration, with redundant TMG-Control servers, or [[TMG3200]]/[[TMG800]] in 1+1 configuration, only the active server writes the CDR logs. Since the active server may change over time, CDR parsing must take into account that CDR logs may be found in files from the two servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The analysis of the logs for the purpose of extracting billing information must be done after combining the two logs, from both TMG-Control servers, sorting the entries by timestamp for example. See how to [[TMG:Retrieve_Text_CDR|Retrieve Text CDR here]].&lt;br /&gt;
&lt;br /&gt;
== CDR entry loss due to switchover ==&lt;br /&gt;
In some situations (during HA switchover for example), some CDR entries may be lost.&lt;br /&gt;
&lt;br /&gt;
The following guide lines provide information on how to deal with these corner cases:&lt;br /&gt;
&lt;br /&gt;
[[Call_Detail_Records_Entry_Loss|Deal with CDR entries loss]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieving Text CDRs  ==&lt;br /&gt;
&lt;br /&gt;
There are 2 ways to retrieve the text CDR manually or automatically. The procedures are described in [[TMG:Retrieve_Text_CDR|Retrieve Text CDR]].&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*This mode of operation is not recommended for [[TMG800]] or [[TMG3200]] with a flash disk (last shipment January 2011). However, the [[TMG800]] or [[TMG3200]] with SATA or SSD disk option is OK (use command tbproduct: if the command can be executed, the disk is SATA or SSD).&lt;br /&gt;
*TelcoBridges does not recommend storing CDR logs via network file systems (NFS or other). We highly recommend writing to a local hard drive and have developed a background script that moves the gzipped log segments for backup or analysis.&lt;br /&gt;
&lt;br /&gt;
== Related actions  ==&lt;br /&gt;
&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.7#CDR_.28Call_Detail_Record.29|Web Portal v2.7: CDR Configuration]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.6#CDR_.28Call_Detail_Record.29|Web Portal v2.6: CDR Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records</id>
		<title>Text Call Detail Records</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Text_Call_Detail_Records"/>
				<updated>2015-11-27T21:36:56Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* Statistics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text [[call detail record|call detail records]] (CDR) can be used on the [[TMG800]], [[TMG3200]] or [[TMG7800]]. The Call Detail Records are saved in a log file on a local disk. There is an entry done for each call leg, at the start of a call and at the end of the call. In addition, the system can be configured to update the CDRs periodically.&lt;br /&gt;
&lt;br /&gt;
The format of the CDR traces is defined by configuration, using variables that are replaced by the Gateway application when writing to the log.&lt;br /&gt;
&lt;br /&gt;
For example, the following variable will be replaced by the called number:&lt;br /&gt;
@{CalledNumber}&lt;br /&gt;
&lt;br /&gt;
In order to save disk space and simplify the archiving and backup of CDR log files, this log file is automatically archived (gzipped) and rotated every N seconds, as specified by the system configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling text CDR ==&lt;br /&gt;
The enabling of Text CDR is described in [[Toolpack:Enabling CDR A|Enabling CDR]].&lt;br /&gt;
&lt;br /&gt;
== Available variables ==&lt;br /&gt;
The following variables exist and can be used to define the CDR log format.&lt;br /&gt;
&lt;br /&gt;
=== Variables used for identifying call (or call leg) in general ===&lt;br /&gt;
 *@{StatusType}:             Indicates the type of record (&amp;quot;Start&amp;quot;, &amp;quot;Update&amp;quot; or &amp;quot;End&amp;quot;).&lt;br /&gt;
 *@{LegId}:                  Unique Id for this leg (32 bits value, but may eventually be upgraded to 64 bits value).&lt;br /&gt;
 *@{OtherLegId}:             Id of the other call leg joined with current call leg.&lt;br /&gt;
 *@{SessionId}:              Unique call identifier for two joined and answered call legs, including failed outgoing call attempts (route retry)&lt;br /&gt;
                             Formatted as 4 values of 32 bits, printed as 4 blocks of 8 hexadecimal characters separated by a space&lt;br /&gt;
                             Ex: a939d169 299ffcd0 00000000 00000000&lt;br /&gt;
                             Note: Call Transfer Target legs have separate SessionId. If you need an id to correlate a transferred call&lt;br /&gt;
                                   to the original call, use @{OriginalSessionId}.&lt;br /&gt;
 *@{OriginalSessionId}:      Refers to @{SessionId} of the original legs for this call, in case of call transfer.&lt;br /&gt;
                             In fact, Transfer Target leg has a different value for @{SessionId}, but can be linked with the original call&lt;br /&gt;
                             legs through @{OriginalSessionId}.&lt;br /&gt;
 *@{LinkId}:                 Same meaning as @{OriginalSessionId}, but presented as a 32 bits integer value.&lt;br /&gt;
For all Ids above, please see [[Text_Call_Detail_Records_(CDR)#Known_limitations|Known Limitations]] below for notes about uniqueness of these values.&lt;br /&gt;
&lt;br /&gt;
=== Timestamps ===&lt;br /&gt;
 *@{AlertTime}:              Time where the call has started ringing.&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{ConnectedTime}:          Time where the call was answered (and connected with another leg) (in number of seconds since epoch)&lt;br /&gt;
 *@{ConnectedTime:format}:   Same as @{ConnectedTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{ConnectedTimeUtc:format}:Same as @{ConnectedTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{CallDuration}:           Call duration in seconds (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallDurationMs}:         Call duration in milliseconds (end - connected time) (not available in the &amp;quot;start&amp;quot; CDR log)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{EndTime}:                Time where the call has started terminating (in number of seconds since epoch).&lt;br /&gt;
                             Note that slightly differs from the @{Timestamp}, since the 'End' CDR trace is printed once the call has&lt;br /&gt;
                             finished terminating,&lt;br /&gt;
                             while @{EndTime} reports the time where the call has started terminating (upon hangup for example).&lt;br /&gt;
 *@{EndTime:format}:         Same as @{EndTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{EndTimeUtc:format}:      Same as @{EndTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{RingingDuration}:        Ringing duration in seconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{RingingDurationMs}:      Ringing duration in milliseconds (connected - start time)&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{StartTime}:              Time where the call was created (in number of seconds since epoch)&lt;br /&gt;
 *@{StartTime:format}:       Same as @{StartTime} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{StartTimeUtc:format}:    Same as @{StartTime:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
 *@{Timestamp}:              Time where this CDR log entry was written.&lt;br /&gt;
                             Should not be used for billing purposes. Use @{EndTime} for billing @{EndTime} reports the time where&lt;br /&gt;
                             the call has started terminating (hangup), while *@{Timestamp} the time where signaling confirmed the termination.&lt;br /&gt;
 *@{Timestamp:format}:       Same as @{Timestamp} but with custom print format (local time zone), using 'strftime' style, with added&lt;br /&gt;
                             support for @m replaced by milliseconds.&lt;br /&gt;
                             Example format: %Y-%m-%d %H:%M:%S.@m  -&amp;gt; 2009-09-02 12:16:24.333&lt;br /&gt;
 *@{TimestampUtc:format}:    Same as @{Timestamp:format} but printed in UTC time, rather than local time zone.&lt;br /&gt;
&lt;br /&gt;
=== Information related to signaling ===&lt;br /&gt;
 *@{CalledNumber}:           Called number&lt;br /&gt;
 *@{CallingNumber}:          Calling number&lt;br /&gt;
 *@{CallingPresentation}:    Calling presentation: &amp;quot;Unspecified&amp;quot;, &amp;quot;NotAvailable&amp;quot;, &amp;quot;Allowed&amp;quot;, &amp;quot;Restricted&amp;quot;, &amp;quot;AddressRestricted&amp;quot; or &amp;quot;NameRestricted&amp;quot;&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{CallingSubscriberNumber}: Second calling number (ISDN) or Generic number of type &amp;quot;additional calling party number&amp;quot; (SS7) &lt;br /&gt;
                             Note: Supported on release 2.7.43 and up only.&lt;br /&gt;
 *@{CallType}:               Call type (&amp;quot;Telephony&amp;quot; or &amp;quot;VOIP&amp;quot;)&lt;br /&gt;
 *@{IncomingNAP}:            Name of the NAP that originated this call (incoming call leg's NAP name).&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{NAP}:                    Name of the NAP this call leg is from&lt;br /&gt;
 *@{OriginatorName}:         Direction of the call:&lt;br /&gt;
                              - &amp;quot;answer&amp;quot; (incoming call leg) - &amp;quot;originate&amp;quot; (outgoing call leg)&lt;br /&gt;
                             Note: In release 2.6 and earlier, the direction of the call is as follows:&lt;br /&gt;
                              - &amp;quot;originate&amp;quot; (incoming call leg) - &amp;quot;answer&amp;quot; (outgoing call leg)&lt;br /&gt;
                             In release 2.7, the CDR option &amp;quot;Reverse CDR call origin&amp;quot; in Gateway configuration provide the same values as in release 2.6.&lt;br /&gt;
 *@{OriginalCalledNumber}:   Original called number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{Protocol}:               Type of protocol used (&amp;quot;SS7&amp;quot;, &amp;quot;ISDN&amp;quot;, or &amp;quot;SIP&amp;quot;)&lt;br /&gt;
 *@{RedirectingNumber}:      Redirecting number&lt;br /&gt;
                             Note: Supported on release 2.7 and up only.&lt;br /&gt;
 *@{TerminationCause}:       Cause of the call termination, printed as an integer value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationCauseString}: Cause of the call termination, printed as a string value&lt;br /&gt;
 *@{OriginalCause}:          Original cause of the call termination, printed as a string value (refering enum TBCMC_CALL_REASON_CODE)&lt;br /&gt;
 *@{TerminationSource}:      Identifies the cause of the leg termination:&lt;br /&gt;
                               - &amp;quot;TermInd&amp;quot;:       Terminating indication has been received on this leg&lt;br /&gt;
                               - &amp;quot;JoinedTermInd&amp;quot;: Terminating indication has been received on the leg joined to current leg,&lt;br /&gt;
                                                  and has been forwarded to current leg&lt;br /&gt;
                               - &amp;quot;App&amp;quot;:           Call control application has asked to drop the call&lt;br /&gt;
                               - &amp;quot;Engine&amp;quot;:        Toolpack engine has decided to terminate this call&lt;br /&gt;
                                                  (generally due to local errors like disconnected TMedia)&lt;br /&gt;
 *@{UserName}:               Static value: 100.&lt;br /&gt;
 *@{SipCallId}:              Content of the &amp;quot;call-id&amp;quot; SIP header&lt;br /&gt;
 *@{ChargeIndicator}:        For TDM (SS7 and CAS R2); received charge indicator in Alert message.&lt;br /&gt;
&lt;br /&gt;
=== Information related to media ===&lt;br /&gt;
 *@{Codec}:                  Codec used for this call (&amp;quot;G711&amp;quot; for example)&lt;br /&gt;
 *@{LocalMediaInfo}:         Protocol type dependent information on the call leg (local information for SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port locally used for receiving RTP)&lt;br /&gt;
 *@{LocalMediaIP}:           For VOIP calls, RTP IP address locally used for this call leg.&lt;br /&gt;
 *@{LocalMediaPort}:         For VOIP calls, RTP UDP port locally used for this call leg.&lt;br /&gt;
 *@{RemoteMediaInfo}:        Protocol type dependent information on the call leg (remote information SIP calls).&lt;br /&gt;
                             For TDM (Telephony) calls (SS7 or ISDN): &amp;quot;trunk_name:timeslot_nb&amp;quot;.&lt;br /&gt;
                             For VOIP calls (SIP): &amp;quot;codec@ip:port&amp;quot;  (IP and Port TMedia is sending RTP to)&lt;br /&gt;
 *@{RemoteMediaIP}:          For VOIP calls, RTP IP address of the remote peer for this call leg.&lt;br /&gt;
 *@{RemoteMediaPort}:        For VOIP calls, RTP UDP port of the remote peer for this call leg.&lt;br /&gt;
 *@{TimeslotNumber}:         For TDM (Telephony) calls, timeslot number that this call was using for audio.&lt;br /&gt;
 *@{TrunkName}:              For TDM (Telephony) calls, name of the trunk that this call was using for audio.&lt;br /&gt;
&lt;br /&gt;
=== Statistics ===&lt;br /&gt;
The following variables allow to print call statistics in the text CDR logs.&lt;br /&gt;
&lt;br /&gt;
There are some restrictions, however:&lt;br /&gt;
* Available '''only in the &amp;quot;end&amp;quot; CDR entry'''&lt;br /&gt;
* Available in release 2.7.103 and above only&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* Pkt=@{Stat:Rtp:Rx:Packets}/@{Stat:Rtp:Tx:Packets}, Err=@{Stat:Rtp:Rx:Errors}/@{Stat:Rtp:Tx:Errors}&lt;br /&gt;
&lt;br /&gt;
Refer to the following page for the list of statistics: [[Call_statistics_format_B|Call statistics format]]&lt;br /&gt;
&lt;br /&gt;
===  Information related to routing ===&lt;br /&gt;
 *@{ApplicationName}:        Name of the application that has written this log (&amp;quot;Gateway&amp;quot;)&lt;br /&gt;
 *@{RouteAttribute:attr}:    Replaced by the value of a custom route attribute, for the selected&lt;br /&gt;
                             route. This will apply only to outgoing call legs that were made from routing.&lt;br /&gt;
                             Eligible route attributes are:&lt;br /&gt;
                                Route name:                    Use attribute &amp;quot;route_name&amp;quot;. Ex: @{RouteAttribute:route_name}&lt;br /&gt;
                                Route set name:                Use attribute &amp;quot;routeset_name&amp;quot;. Ex: @{RouteAttribute:routeset_name}&lt;br /&gt;
                                Custom route attribute column: Use the custom attribute name. Ex: @{RouteAttribute:priority}&lt;br /&gt;
                                Routing script parameters:     Use the route attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: route[:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{RouteAttribute:my_param}]&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
 *@{ScriptAttribute:attr}:   Replaced by the value of a routing script attribute stored in params[:bridge].&lt;br /&gt;
                             This will apply for incoming and outgoing call legs.&lt;br /&gt;
                             Eligible script attributes are:&lt;br /&gt;
                                Custom CDR value:              Use attribute &amp;quot;CustomCdrValue&amp;quot;. Ex: @{ScriptAttribute:CustomCdrValue}&lt;br /&gt;
                                Script parameters:             Use the attribute name provided by routing script.&lt;br /&gt;
                                                               Ex: If script provides: params[:bridge][:my_param]=&amp;quot;myval&amp;quot;&lt;br /&gt;
                                                                   Then it's included in CDR with @{ScriptAttribute:my_param}&lt;br /&gt;
                             ***** Important note:   This parameter cannot be retrieved after a switchover of the active to&lt;br /&gt;
                                                     the standby Toolpack host.&lt;br /&gt;
                                                     It's thus recommended to insert this information in the &amp;quot;Start&amp;quot; CDR entry,&lt;br /&gt;
                                                     rather than the &amp;quot;End&amp;quot; CDR entry.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated values: ===&lt;br /&gt;
 *@{MediaInfo}:              Same as @{RemoteMediaInfo}&lt;br /&gt;
 *@{RemoteIP}:               Same as @{RemoteMediaIP}&lt;br /&gt;
 *@{RemotePort}:             Same as @{RemoteMediaPort}&lt;br /&gt;
&lt;br /&gt;
== CDR sample ==&lt;br /&gt;
=== Text CDR sample ===&lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP',Protocol='SIP',Direction='answer' &lt;br /&gt;
  2013-02-07 10:19:04.640-0500,BEG,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',Calling='',Called='123',NAP='NAP_SIP2',Protocol='SIP',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.562-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0x72685C1F',StartTime='1360250344',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',TerminationSource='App',Calling='',Called='123',NAP='NAP_SIP2',Direction='originate' &lt;br /&gt;
  2013-02-07 10:19:07.656-0500,END,SessionId='f2685706 00000000 00000000 00000000',LegId='0xF2685706',StartTime='1360250341',ConnectedTime='1360250344',EndTime='1360250347',FreedTime='1360250347',TerminationCause='TOOLPACK_NORMAL',Termination Source='App',Calling='',Called='123',NAP='NAP_SIP',Direction='answer'&lt;br /&gt;
&lt;br /&gt;
=== Radius AAA sample ===&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap|TelcoBridges_RADIUS_Auth&amp;amp;Acct.pcap]]&lt;br /&gt;
* [[File:TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt|TelcoBridges_RADIUS_Auth&amp;amp;Acct.txt]]&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
In a [[TMG7800]] configuration, with redundant TMG-Control servers, or [[TMG3200]]/[[TMG800]] in 1+1 configuration, only the active server writes the CDR logs. Since the active server may change over time, CDR parsing must take into account that CDR logs may be found in files from the two servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The analysis of the logs for the purpose of extracting billing information must be done after combining the two logs, from both TMG-Control servers, sorting the entries by timestamp for example. See how to [[TMG:Retrieve_Text_CDR|Retrieve Text CDR here]].&lt;br /&gt;
&lt;br /&gt;
== CDR entry loss due to switchover ==&lt;br /&gt;
In some situations (during HA switchover for example), some CDR entries may be lost.&lt;br /&gt;
&lt;br /&gt;
The following guide lines provide information on how to deal with these corner cases:&lt;br /&gt;
&lt;br /&gt;
[[Call_Detail_Records_Entry_Loss|Deal with CDR entries loss]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieving Text CDRs  ==&lt;br /&gt;
&lt;br /&gt;
There are 2 ways to retrieve the text CDR manually or automatically. The procedures are described in [[TMG:Retrieve_Text_CDR|Retrieve Text CDR]].&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
*This mode of operation is not recommended for [[TMG800]] or [[TMG3200]] with a flash disk (last shipment January 2011). However, the [[TMG800]] or [[TMG3200]] with SATA or SSD disk option is OK (use command tbproduct: if the command can be executed, the disk is SATA or SSD).&lt;br /&gt;
*TelcoBridges does not recommend storing CDR logs via network file systems (NFS or other). We highly recommend writing to a local hard drive and have developed a background script that moves the gzipped log segments for backup or analysis.&lt;br /&gt;
&lt;br /&gt;
== Related actions  ==&lt;br /&gt;
&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.7#CDR_.28Call_Detail_Record.29|Web Portal v2.7: CDR Configuration]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.6#CDR_.28Call_Detail_Record.29|Web Portal v2.6: CDR Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_B</id>
		<title>Custom SIP BYE headers format B</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_B"/>
				<updated>2015-11-27T21:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom SIP BYE headers field is formatted similarly to [[Text_Call_Detail_Records|Text CDR records]]. For example, the following content:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=@{Stat:Rtp:Rx:Error:LostPackets}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
Would put the following SIP headers in the BYE packet:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=0, DU=12&lt;br /&gt;
&lt;br /&gt;
For a call which lasted 12 seconds and had no packet loss.&lt;br /&gt;
&lt;br /&gt;
For '''P-RTP-Stat''' SIP BYE headers, it is recommended to use the following content in release 2.9 and later:&lt;br /&gt;
&lt;br /&gt;
 P-RTP-Stat: PS=@{Stat:Rtp:Tx:IPPackets}, OS=@{Stat:Rtp:Tx:IPBytes}, PR=@{Stat:Rtp:Rx:IPPackets}, OR=@{Stat:Rtp:Rx:IPBytes}, PL=@{Stat:Rtp:Rx:Error:LostPackets}, JI=@{Stat:Rtcp:Jitter}, LA=@{Stat:Rtcp:RoundTripDelay}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
The following link provides the statistics format: [[Call_statistics_format_B|Call statistics format]].&lt;br /&gt;
&lt;br /&gt;
Here is the list of fields specific to SIP BYE headers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDuration} || Call duration, in seconds&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDurationMs} || Call duration, in milliseconds&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A</id>
		<title>Custom SIP BYE headers format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A"/>
				<updated>2015-11-27T21:34:11Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom SIP BYE headers field is formatted similarly to [[Text_Call_Detail_Records|Text CDR records]]. For example, the following content:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=@{Stat:Rtp:Rx:Error:LostPackets}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
Would put the following SIP headers in the BYE packet:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=0, DU=12&lt;br /&gt;
&lt;br /&gt;
For a call which lasted 12 seconds and had no packet loss.&lt;br /&gt;
&lt;br /&gt;
For '''P-RTP-Stat''' SIP BYE headers, it is recommended to use the following content in release 2.8:&lt;br /&gt;
&lt;br /&gt;
 P-RTP-Stat: PS=@{Stat:Rtp:Tx:VoicePackets}, PR=@{Stat:Rtp:Rx:VoicePackets}, OR=@{Stat:Rtp:Rx:VoiceBytes}, PL=@{Stat:Rtp:Rx:Error:LostPackets}, JI=@{Stat:Rtcp:Jitter}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
The following link provides the statistics format: [[Call_statistics_format_A|Call statistics format]].&lt;br /&gt;
&lt;br /&gt;
Here is the list of fields specific to SIP BYE headers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDuration} || Call duration, in seconds&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDurationMs} || Call duration, in milliseconds&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A</id>
		<title>Custom SIP BYE headers format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A"/>
				<updated>2015-11-27T21:33:50Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom SIP BYE headers field is formatted similarly to [[Text_Call_Detail_Records|Text CDR records]]. For example, the following content:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=@{Stat:Rtp:Rx:Error:LostPackets}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
Would put the following SIP headers in the BYE packet:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=0, DU=12&lt;br /&gt;
&lt;br /&gt;
For a call which lasted 12 seconds and had no packet loss.&lt;br /&gt;
&lt;br /&gt;
For P-RTP-Stat, it is recommended to use the following content in release 2.8:&lt;br /&gt;
&lt;br /&gt;
 P-RTP-Stat: PS=@{Stat:Rtp:Tx:VoicePackets}, PR=@{Stat:Rtp:Rx:VoicePackets}, OR=@{Stat:Rtp:Rx:VoiceBytes}, PL=@{Stat:Rtp:Rx:Error:LostPackets}, JI=@{Stat:Rtcp:Jitter}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
The following link provides the statistics format: [[Call_statistics_format_A|Call statistics format]].&lt;br /&gt;
&lt;br /&gt;
Here is the list of fields specific to SIP BYE headers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDuration} || Call duration, in seconds&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDurationMs} || Call duration, in milliseconds&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Call_statistics_format_A</id>
		<title>Call statistics format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Call_statistics_format_A"/>
				<updated>2015-11-27T21:31:48Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''Receive statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx}                          || Summary of the Rx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Packets}                  || Number of packets received from the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoicePackets}             || Number of voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceBytes}               || Number of payload bytes from voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:CNPackets}                || Number of comfort noise packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RFC2833Tones}             || Number of RFC2833 tones received from the IP network, and played back to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RedundantPackets}         || Number of redundant packets received from the IP network (same sequence number received more than once)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MeanPower}                || Mean audio power (from IP to TDM direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceDuration}            || Duration (in seconds) of voice (audio), from IP to TDM direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MaxPlayoutDelay}          || Maximum (for the whole call) IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SsrcChanges}              || Number of changes of &amp;quot;SSRC&amp;quot; RTP header value (counting initial SSRC received as one)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Concealments}             || Number of times decoder made audio concealment to preserve audio continuity (frequent upon first packet of a call, or after RFC2833 tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Echo:ERLLevel}            || Attenuation of a signal from the received-out port to the send-in port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BufOverflows}       || Number of packets dropped due to jitter buffer adaptation (to keep play-out delay low)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:RFC2833BadPackets:  || Number of RFC2833 signaling packets that could not be properly decoded&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LatePackets}        || Number of packets that arrived after the moment they should have started to be played-out to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; (never received for play-out to TDM)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Errors}                   || Total of all &amp;quot;Rtp:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''Transmit statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx}                          || Summary of the Tx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Packets}                  || Number of packets sent to the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoicePackets}             || Number of voice (audio) packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:CNPackets}                || Number of comfort noise packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:RFC2833Tones}             || Number of RFC2833 tones sent to the IP network (relaying corresponding detected TDM tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:MeanPower}                || Mean audio power (from TDM to IP direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoiceDuration}            || Duration (in seconds) of voice (audio), from TDM to IP direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Echo:ACOMLevel}           || Attenuation of a signal from the receive-out port to the send-out port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; by remote side (only available if RTCP is used)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:ArpFailure}         || Number of failures to ARP remote IP address to send RTP packets to (preventing sending any packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Errors}                   || Total of all &amp;quot;Rtp:Tx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''RTCP statistics (only if RTCP is enabled on the profile)'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp}                            || Summary of the Rtcp stats (Packets;LostPackets;Jitter)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Packets}                    || Number of packets reported as received by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:LostPackets}                || Number of packets reported as lost by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Jitter}                     || Inter-packet interval jitter, in millisecond&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''T38 statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:StateChanges}                || Number of T.38 state changes, through T.30 negotiation between FAX machines&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx                           || Summary of the Rx stats (Pages;Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Pages}                    || Number of FAX pages received from T.38 packets from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Packets}                  || Number of T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Bytes}                    || Number of T.38 payload bytes from T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Duration}                 || Duration of the T.38 session from IP to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:MaxPlayoutDelay}          || Maximum IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufOverflows}       || Number of packets dropped because &amp;quot;from IP&amp;quot; jitter buffer is full&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufUnderflows}      || Number of times T.38 re-modulation to TDM had no data (received from IP) to re-modulate&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Errors}                   || Total of all &amp;quot;T38:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx}                          || Summary of the Tx stats (Pages;Packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Pages}                    || Number of FAX pages received from TDM, sent to T.38 packets to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Packets}                  || Number of T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Bytes}                    || Number of T.38 payload bytes from T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Duration}                 || Duration of the T.38 session from TDM to IP&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:FromTdm:MeanPower}           || Mean audio power received from TDM side, in dBov (0 the loudest, negative is softer level)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''TMS-IP statistics (only for calls joined to a call leg on another adapter, and that used TMS-IP to carry audio from one adapter to the other)'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp}                           || Summary of the TMS-IP stats (Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Packets                    || Number of TMS-IP packets received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Bytes                      || Number of TMS-IP bytes received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Duration                   || Duration (in seconds) of the TMS-IP connection&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BufOverflows         || Number of TMS-IP packets dropped due to jitter buffer overflow&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:SeqErrors            || Number of TMS-IP packet sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BadPackets           || Number of TMS-IP packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LatePackets          || Number of TMS-IP packets that arrived too late, causing jitter buffer underrun&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LostPackets          || Number of TMS-IP packets considered &amp;quot;lost&amp;quot; (never received)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Errors}                    || Total of all &amp;quot;TmsIp:Error:&amp;quot; statistics above&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Call_statistics_format_B</id>
		<title>Call statistics format B</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Call_statistics_format_B"/>
				<updated>2015-11-27T21:31:16Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; |- ! Field name !! Description |- | colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''Receive statistics''' |- | @{Stat:Rtp:Rx}                          || Sum...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''Receive statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx}                          || Summary of the Rx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Packets}                  || Number of packets received from the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoicePackets}             || Number of voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceBytes}               || Number of payload bytes from voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:CNPackets}                || Number of comfort noise packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:IPPackets}                || Number of packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:IPBytes}                  || Number of bytes received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RFC2833Tones}             || Number of RFC2833 tones received from the IP network, and played back to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RedundantPackets}         || Number of redundant packets received from the IP network (same sequence number received more than once)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MeanPower}                || Mean audio power (from IP to TDM direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceDuration}            || Duration (in seconds) of voice (audio), from IP to TDM direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MaxPlayoutDelay}          || Maximum (for the whole call) IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SsrcChanges}              || Number of changes of &amp;quot;SSRC&amp;quot; RTP header value (counting initial SSRC received as one)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Concealments}             || Number of times decoder made audio concealment to preserve audio continuity (frequent upon first packet of a call, or after RFC2833 tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Echo:ERLLevel}            || Attenuation of a signal from the received-out port to the send-in port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BufOverflows}       || Number of packets dropped due to jitter buffer adaptation (to keep play-out delay low)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:RFC2833BadPackets:  || Number of RFC2833 signaling packets that could not be properly decoded&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LatePackets}        || Number of packets that arrived after the moment they should have started to be played-out to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; (never received for play-out to TDM)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Errors}                   || Total of all &amp;quot;Rtp:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''Transmit statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx}                          || Summary of the Tx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Packets}                  || Number of packets sent to the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoicePackets}             || Number of voice (audio) packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:CNPackets}                || Number of comfort noise packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:IPPackets}                || Number of packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:IPBytes}                  || Number of bytes sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:RFC2833Tones}             || Number of RFC2833 tones sent to the IP network (relaying corresponding detected TDM tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:MeanPower}                || Mean audio power (from TDM to IP direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoiceDuration}            || Duration (in seconds) of voice (audio), from TDM to IP direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Echo:ACOMLevel}           || Attenuation of a signal from the receive-out port to the send-out port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; by remote side (only available if RTCP is used)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:ArpFailure}         || Number of failures to ARP remote IP address to send RTP packets to (preventing sending any packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Errors}                   || Total of all &amp;quot;Rtp:Tx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''RTCP statistics (only if RTCP is enabled on the profile)'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp}                            || Summary of the Rtcp stats (Packets;LostPackets;Jitter)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Packets}                    || Number of packets reported as received by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:LostPackets}                || Number of packets reported as lost by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Jitter}                     || Inter-packet interval jitter, in millisecond&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:RoundTripDelay}             || Round-trip delay in milliseconds. Requires extended RTCP (XRTCP) to be enabled.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''T38 statistics'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:StateChanges}                || Number of T.38 state changes, through T.30 negotiation between FAX machines&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx                           || Summary of the Rx stats (Pages;Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Pages}                    || Number of FAX pages received from T.38 packets from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Packets}                  || Number of T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Bytes}                    || Number of T.38 payload bytes from T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Duration}                 || Duration of the T.38 session from IP to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:MaxPlayoutDelay}          || Maximum IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufOverflows}       || Number of packets dropped because &amp;quot;from IP&amp;quot; jitter buffer is full&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufUnderflows}      || Number of times T.38 re-modulation to TDM had no data (received from IP) to re-modulate&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Errors}                   || Total of all &amp;quot;T38:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx}                          || Summary of the Tx stats (Pages;Packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Pages}                    || Number of FAX pages received from TDM, sent to T.38 packets to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Packets}                  || Number of T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Bytes}                    || Number of T.38 payload bytes from T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Duration}                 || Duration of the T.38 session from TDM to IP&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:FromTdm:MeanPower}           || Mean audio power received from TDM side, in dBov (0 the loudest, negative is softer level)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | '''TMS-IP statistics (only for calls joined to a call leg on another adapter, and that used TMS-IP to carry audio from one adapter to the other)'''&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp}                           || Summary of the TMS-IP stats (Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Packets                    || Number of TMS-IP packets received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Bytes                      || Number of TMS-IP bytes received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Duration                   || Duration (in seconds) of the TMS-IP connection&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BufOverflows         || Number of TMS-IP packets dropped due to jitter buffer overflow&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:SeqErrors            || Number of TMS-IP packet sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BadPackets           || Number of TMS-IP packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LatePackets          || Number of TMS-IP packets that arrived too late, causing jitter buffer underrun&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LostPackets          || Number of TMS-IP packets considered &amp;quot;lost&amp;quot; (never received)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Errors}                    || Total of all &amp;quot;TmsIp:Error:&amp;quot; statistics above&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_B</id>
		<title>Custom SIP BYE headers format B</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_B"/>
				<updated>2015-11-27T21:12:43Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with &amp;quot;The custom SIP BYE headers field is formatted similarly to Text CDR records. For example, the following content:   X-Test: This is a test.  P-RTP-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom SIP BYE headers field is formatted similarly to [[Text_Call_Detail_Records|Text CDR records]]. For example, the following content:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=@{Stat:Rtp:Rx:Error:LostPackets}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
Would put the following SIP headers in the BYE packet:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=0, DU=12&lt;br /&gt;
&lt;br /&gt;
For a call which lasted 12 seconds and had no packet loss.&lt;br /&gt;
&lt;br /&gt;
The following link provides the statistics format: [[Call_statistics_format_B|Call statistics format]].&lt;br /&gt;
&lt;br /&gt;
Here is the list of fields specific to SIP BYE headers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDuration} || Call duration, in seconds&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDurationMs} || Call duration, in milliseconds&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Modify_SIP_profile_C</id>
		<title>Modify SIP profile C</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Modify_SIP_profile_C"/>
				<updated>2015-11-27T21:12:23Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* List of Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== '''''Applies to version v2.8''''' === &lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Modifying SIP Profile Settings}} &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''To configure SIP settings, do the following:''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1- Click '''SIP''' in the Editing Profile window, to display the customizable options.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProfilesVoipSip_0.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Modify settings as required.&lt;br /&gt;
* Click '''Save'''&lt;br /&gt;
&lt;br /&gt;
[[Image:ProfilesVoipSip_1.png]]&lt;br /&gt;
&lt;br /&gt;
==List of Parameters==&lt;br /&gt;
SIP&lt;br /&gt;
* [[Parameter: SIP: Use SIP strict routing|Use SIP strict routing]]&lt;br /&gt;
* [[Parameter: SIP: Detect 180 with SDP as early media|Detect 180 with SDP as early media]]&lt;br /&gt;
* [[Parameter: SIP: Send 180 with SDP|Send 180 with SDP]]&lt;br /&gt;
* [[Parameter: SIP: Don't forward 183 progress|Don't forward 183 progress]]&lt;br /&gt;
* [[Parameter: SIP: Use non ambiguous From tag|Use non ambiguous From tag]]&lt;br /&gt;
* [[Parameter: SIP: Use reason header|Use reason header]]&lt;br /&gt;
* [[Parameter: SIP: Use isup-oli format|Use isup-oli format]]&lt;br /&gt;
* [[Parameter: SIP: Enable SIP Custom Headers|Enable SIP Custom Headers]]&lt;br /&gt;
* [[Parameter: SIP: Forward SS7 suspend/resume|Forward SS7 suspend/resume]]&lt;br /&gt;
* [[Parameter: SIP: Forward SS7 CPG hold/retrieval|Forward SS7 CPG hold/retrieval]]&lt;br /&gt;
* [[Parameter: SIP: Forward SIP hold type|Forward SIP hold type]]&lt;br /&gt;
* [[Parameter: SIP: Max Forwards header handling|Max Forwards header handling]]&lt;br /&gt;
* [[Parameter: SIP: User-to-User encoding|User-to-User encoding]]&lt;br /&gt;
* [[Parameter: SIP: SDP generation options|SDP generation options]]&lt;br /&gt;
* [[Parameter: SIP: SDP combining options|SDP combining options]]&lt;br /&gt;
* [[Parameter: SIP: Insert custom SIP BYE headers|Insert custom SIP BYE headers]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Call_statistics_format_A</id>
		<title>Call statistics format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Call_statistics_format_A"/>
				<updated>2015-11-27T21:10:11Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx}                          || Summary of the Rx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Packets}                  || Number of packets received from the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoicePackets}             || Number of voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceBytes}               || Number of payload bytes from voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:CNPackets}                || Number of comfort noise packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RFC2833Tones}             || Number of RFC2833 tones received from the IP network, and played back to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RedundantPackets}         || Number of redundant packets received from the IP network (same sequence number received more than once)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MeanPower}                || Mean audio power (from IP to TDM direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceDuration}            || Duration (in seconds) of voice (audio), from IP to TDM direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MaxPlayoutDelay}          || Maximum (for the whole call) IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SsrcChanges}              || Number of changes of &amp;quot;SSRC&amp;quot; RTP header value (counting initial SSRC received as one)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Concealments}             || Number of times decoder made audio concealment to preserve audio continuity (frequent upon first packet of a call, or after RFC2833 tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Echo:ERLLevel}            || Attenuation of a signal from the received-out port to the send-in port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BufOverflows}       || Number of packets dropped due to jitter buffer adaptation (to keep play-out delay low)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:RFC2833BadPackets:  || Number of RFC2833 signaling packets that could not be properly decoded&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LatePackets}        || Number of packets that arrived after the moment they should have started to be played-out to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; (never received for play-out to TDM)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Errors}                   || Total of all &amp;quot;Rtp:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx}                          || Summary of the Tx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Packets}                  || Number of packets sent to the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoicePackets}             || Number of voice (audio) packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:CNPackets}                || Number of comfort noise packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:RFC2833Tones}             || Number of RFC2833 tones sent to the IP network (relaying corresponding detected TDM tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:MeanPower}                || Mean audio power (from TDM to IP direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoiceDuration}            || Duration (in seconds) of voice (audio), from TDM to IP direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Echo:ACOMLevel}           || Attenuation of a signal from the receive-out port to the send-out port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; by remote side (only available if RTCP is used)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:ArpFailure}         || Number of failures to ARP remote IP address to send RTP packets to (preventing sending any packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Errors}                   || Total of all &amp;quot;Rtp:Tx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp}                            || Summary of the Rtcp stats (Packets;LostPackets;Jitter)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Packets}                    || Number of packets reported as received by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:LostPackets}                || Number of packets reported as lost by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Jitter}                     || Inter-packet interval jitter, in millisecond&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:StateChanges}                || Number of T.38 state changes, through T.30 negotiation between FAX machines&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx                           || Summary of the Rx stats (Pages;Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Pages}                    || Number of FAX pages received from T.38 packets from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Packets}                  || Number of T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Bytes}                    || Number of T.38 payload bytes from T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Duration}                 || Duration of the T.38 session from IP to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:MaxPlayoutDelay}          || Maximum IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufOverflows}       || Number of packets dropped because &amp;quot;from IP&amp;quot; jitter buffer is full&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufUnderflows}      || Number of times T.38 re-modulation to TDM had no data (received from IP) to re-modulate&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Errors}                   || Total of all &amp;quot;T38:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx}                          || Summary of the Tx stats (Pages;Packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Pages}                    || Number of FAX pages received from TDM, sent to T.38 packets to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Packets}                  || Number of T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Bytes}                    || Number of T.38 payload bytes from T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Duration}                 || Duration of the T.38 session from TDM to IP&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:FromTdm:MeanPower}           || Mean audio power received from TDM side, in dBov (0 the loudest, negative is softer level)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp}                           || Summary of the TMS-IP stats (Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Packets                    || Number of TMS-IP packets received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Bytes                      || Number of TMS-IP bytes received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Duration                   || Duration (in seconds) of the TMS-IP connection&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BufOverflows         || Number of TMS-IP packets dropped due to jitter buffer overflow&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:SeqErrors            || Number of TMS-IP packet sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BadPackets           || Number of TMS-IP packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LatePackets          || Number of TMS-IP packets that arrived too late, causing jitter buffer underrun&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LostPackets          || Number of TMS-IP packets considered &amp;quot;lost&amp;quot; (never received)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Errors}                    || Total of all &amp;quot;TmsIp:Error:&amp;quot; statistics above&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Call_statistics_format_A</id>
		<title>Call statistics format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Call_statistics_format_A"/>
				<updated>2015-11-27T21:10:00Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; |- ! Field name !! Description |- | @{Stat:Rtp:Rx                           || Summary of the Rx stats (Packets;CNPackets;SignalingPackets;Errors) |- | @{...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx                           || Summary of the Rx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Packets}                  || Number of packets received from the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoicePackets}             || Number of voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceBytes}               || Number of payload bytes from voice (audio) packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:CNPackets}                || Number of comfort noise packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RFC2833Tones}             || Number of RFC2833 tones received from the IP network, and played back to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:RedundantPackets}         || Number of redundant packets received from the IP network (same sequence number received more than once)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MeanPower}                || Mean audio power (from IP to TDM direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:VoiceDuration}            || Duration (in seconds) of voice (audio), from IP to TDM direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:MaxPlayoutDelay}          || Maximum (for the whole call) IP to TDM audio delay in millisecond (adaptive jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:SsrcChanges}              || Number of changes of &amp;quot;SSRC&amp;quot; RTP header value (counting initial SSRC received as one)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Concealments}             || Number of times decoder made audio concealment to preserve audio continuity (frequent upon first packet of a call, or after RFC2833 tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Echo:ERLLevel}            || Attenuation of a signal from the received-out port to the send-in port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BufOverflows}       || Number of packets dropped due to jitter buffer adaptation (to keep play-out delay low)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:RFC2833BadPackets:  || Number of RFC2833 signaling packets that could not be properly decoded&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LatePackets}        || Number of packets that arrived after the moment they should have started to be played-out to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; (never received for play-out to TDM)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Rx:Errors}                   || Total of all &amp;quot;Rtp:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx}                          || Summary of the Tx stats (Packets;CNPackets;SignalingPackets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Packets}                  || Number of packets sent to the IP network (audio + comfort noise + signaling)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoicePackets}             || Number of voice (audio) packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:CNPackets}                || Number of comfort noise packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:SignalingPackets}         || Number of signaling packets (like &amp;quot;Telephony events&amp;quot;) sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:RFC2833Tones}             || Number of RFC2833 tones sent to the IP network (relaying corresponding detected TDM tones)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:MeanPower}                || Mean audio power (from TDM to IP direction), in dBov (0 the loudest, negative is softer level). Available only for calls with Echo cancellation enabled, thus only TDM&amp;lt;-&amp;gt;IP calls.&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:VoiceDuration}            || Duration (in seconds) of voice (audio), from TDM to IP direction&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Echo:ACOMLevel}           || Attenuation of a signal from the receive-out port to the send-out port of an echo canceller&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:LostPackets}        || Number of packets considered &amp;quot;lost&amp;quot; by remote side (only available if RTCP is used)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Error:ArpFailure}         || Number of failures to ARP remote IP address to send RTP packets to (preventing sending any packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtp:Tx:Errors}                   || Total of all &amp;quot;Rtp:Tx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp}                            || Summary of the Rtcp stats (Packets;LostPackets;Jitter)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Packets}                    || Number of packets reported as received by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:LostPackets}                || Number of packets reported as lost by remote equipment&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:Rtcp:Jitter}                     || Inter-packet interval jitter, in millisecond&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:StateChanges}                || Number of T.38 state changes, through T.30 negotiation between FAX machines&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx                           || Summary of the Rx stats (Pages;Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Pages}                    || Number of FAX pages received from T.38 packets from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Packets}                  || Number of T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Bytes}                    || Number of T.38 payload bytes from T.38 packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Duration}                 || Duration of the T.38 session from IP to TDM&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:PlayoutDelay}             || Current IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:MaxPlayoutDelay}          || Maximum IP to TDM audio delay in millisecond (re-modulation and jitter buffer delay) &lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufOverflows}       || Number of packets dropped because &amp;quot;from IP&amp;quot; jitter buffer is full&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BufUnderflows}      || Number of times T.38 re-modulation to TDM had no data (received from IP) to re-modulate&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:SeqErrors}          || Number of sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Error:BadPackets}         || Number of packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Rx:Errors}                   || Total of all &amp;quot;T38:Rx:Error:&amp;quot; statistics above&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx}                          || Summary of the Tx stats (Pages;Packets)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Pages}                    || Number of FAX pages received from TDM, sent to T.38 packets to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Packets}                  || Number of T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Bytes}                    || Number of T.38 payload bytes from T.38 packets sent to the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:Tx:Duration}                 || Duration of the T.38 session from TDM to IP&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:T38:FromTdm:MeanPower}           || Mean audio power received from TDM side, in dBov (0 the loudest, negative is softer level)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp}                           || Summary of the TMS-IP stats (Packets;Errors)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Packets                    || Number of TMS-IP packets received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Bytes                      || Number of TMS-IP bytes received from the other joined call leg&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Duration                   || Duration (in seconds) of the TMS-IP connection&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BufOverflows         || Number of TMS-IP packets dropped due to jitter buffer overflow&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:SeqErrors            || Number of TMS-IP packet sequence errors detected among packets received from the IP network&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:BadPackets           || Number of TMS-IP packets received with invalid header, or other error preventing proper audio decoding&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LatePackets          || Number of TMS-IP packets that arrived too late, causing jitter buffer underrun&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Error:LostPackets          || Number of TMS-IP packets considered &amp;quot;lost&amp;quot; (never received)&lt;br /&gt;
|-&lt;br /&gt;
| @{Stat:TmsIp:Errors}                    || Total of all &amp;quot;TmsIp:Error:&amp;quot; statistics above&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A</id>
		<title>Custom SIP BYE headers format A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Custom_SIP_BYE_headers_format_A"/>
				<updated>2015-11-27T21:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with &amp;quot;The custom SIP BYE headers field is formatted similarly to Text CDR records. For example, the following content:   X-Test: This is a test.  P-RTP-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom SIP BYE headers field is formatted similarly to [[Text_Call_Detail_Records|Text CDR records]]. For example, the following content:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=@{Stat:Rtp:Rx:Error:LostPackets}, DU=@{CallDuration}&lt;br /&gt;
&lt;br /&gt;
Would put the following SIP headers in the BYE packet:&lt;br /&gt;
&lt;br /&gt;
 X-Test: This is a test.&lt;br /&gt;
 P-RTP-Stat: PL=0, DU=12&lt;br /&gt;
&lt;br /&gt;
For a call which lasted 12 seconds and had no packet loss.&lt;br /&gt;
&lt;br /&gt;
The following link provides the statistics format: [[Call_statistics_format_A|Call statistics format]].&lt;br /&gt;
&lt;br /&gt;
Here is the list of fields specific to SIP BYE headers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDuration} || Call duration, in seconds&lt;br /&gt;
|-&lt;br /&gt;
| @{CallDurationMs} || Call duration, in milliseconds&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Parameter:_SIP:_Insert_custom_SIP_BYE_headers</id>
		<title>Parameter: SIP: Insert custom SIP BYE headers</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Parameter:_SIP:_Insert_custom_SIP_BYE_headers"/>
				<updated>2015-11-27T20:50:46Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with &amp;quot;Insert custom SIP BYE headers as defined by the following ''Custom SIP BYE headers''. The ''Custom SIP BYE headers'' can be customized in order to send custom SIP BYE headers ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Insert custom SIP BYE headers as defined by the following ''Custom SIP BYE headers''. The ''Custom SIP BYE headers'' can be customized in order to send custom SIP BYE headers with statistics and call information.&lt;br /&gt;
&lt;br /&gt;
* [[Custom_SIP_BYE_headers_format_B|Custom SIP BYE headers format for Toolpack Web Portal Version 2.9]]&lt;br /&gt;
* [[Custom_SIP_BYE_headers_format_A|Custom SIP BYE headers format for Toolpack Web Portal Version 2.8]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide</id>
		<title>Routing script tutorial:Mini Development Guide</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide"/>
				<updated>2015-10-16T12:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added better description of contact fields&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Call object  ==&lt;br /&gt;
&lt;br /&gt;
=== Get  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to get the call parameters. The possible parameters are described in the section &amp;quot;Call parameters&amp;quot; &lt;br /&gt;
&lt;br /&gt;
  called_number = caf_call.get&amp;amp;nbsp;:called&lt;br /&gt;
&lt;br /&gt;
=== List_params  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to retrieve the list of supported call parameters. For example to extract all the possible call params from the the call object and put it in hash. &lt;br /&gt;
&lt;br /&gt;
  caf_call.list_params.each {|param| call[param] = caf_call.get param }&lt;br /&gt;
&lt;br /&gt;
=== Accept  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to accept a call.  It actually creates one outgoing route that gateway application will use to bridge the incoming call leg.  If more than one outgoing route is &amp;quot;accepted&amp;quot;, gateway will try them one by one in the same order they were accepted.   If an outgoing call leg fails (according to 'route retry' parameters), the next route in line will be used.  &lt;br /&gt;
&lt;br /&gt;
This method takes 2 arguments, the call parameters (hash) and the route parameters (hash).  Note that calling this method does NOT stop the flow of the script.&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules &lt;br /&gt;
&lt;br /&gt;
  caf_call.accept out_call, route&lt;br /&gt;
&lt;br /&gt;
=== Refuse  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to set the reason code for the incoming call leg refusal.  However, this function does NOT stop the flow of the script. &lt;br /&gt;
&lt;br /&gt;
  caf_call.refuse&amp;amp;nbsp;:reason =&amp;amp;gt;&amp;amp;nbsp;:temporary_failure&lt;br /&gt;
&lt;br /&gt;
To immediately refuse the incoming call leg and stop processing the script, the script must raise an exception.  Exiting the script by raising the exception overwrites any reason cause previously stored using refuse().&lt;br /&gt;
&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
The supported refusal cause values for both refuse() and raise() are described in the section &amp;quot;[[Routing_script_tutorial:Mini_Development_Guide#Reason_values|Reason values]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script parameters protocol mapping  ===&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object. For example&lt;br /&gt;
&lt;br /&gt;
  called_number = call[:called]&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 921px; height: 805px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Script parameter name''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''ISDN&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''R2 CAS'''&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SS7&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SIP&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Comment&amp;lt;br&amp;gt;'''&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Toolpack version&amp;lt;br&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| leg_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Leg ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| session_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Session ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| ANI (Group B)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address signals (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - nature of address indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - numbering plan indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used&amp;amp;nbsp;(when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information&amp;lt;br&amp;gt; &lt;br /&gt;
Q931: 'Facility CNAM' IE when presentation is allowed for DMS/NI2 variants&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - display information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information (present and/or first byte)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - present or not&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - display-name (displays 'anonymous' or not) &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - privacy&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_screening&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Remote-party-id - screen&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_category&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Call party category (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party's category' IE - calling party's category&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - cpc &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - cpc&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber &lt;br /&gt;
(Generic Number / NDS)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Number digits &amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - Number digits&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'support 2 calling number IE' in the profile.  This variable has priority over 'private_address' in the outgoing direction.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Facility CNAM' IE when presentation is restricted for DMS/NI2 variants&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display_type &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Indicate presence or not of the private calling information&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_address&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| DNIS (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - user-info and host&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_npi&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default redirecting number and original called number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number'&amp;amp;nbsp;1st IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp;(2nd header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirection counter&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number &lt;br /&gt;
(OCN) &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp; (1st header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - original redirection reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:RequestURI - rn&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| oli&lt;br /&gt;
(Originating line information) &amp;lt;br&amp;gt; &lt;br /&gt;
| 5ESS Codeset 6 OLI - Value&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Originating line information' IE - OLI&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - oli &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - oli&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Complete Request URI string&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default URI&amp;amp;nbsp;forwarding behavior from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_header&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Any header&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'Forward custom headers' in Profiles-&amp;gt;SIP &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7.63&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| nap&lt;br /&gt;
(Network Access Point) &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg NAP name (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| type_of_network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| SIP: Request-Line - cic&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification_plan&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default location number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| A script needs to set this to true if it wants to overwrite MLPP information in the outgoing leg.  Otherwise, profile relay 'outgoing mode' applies automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_look_for_busy &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - look ahead for busy&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_precedence_level &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - precedence level&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Resource-Priority - q735&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_network_identity &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - network identity&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_service_domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - MLPP service domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub parameter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub-encoding parameter&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Callinf party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub-encoding&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default forward call indicator (FCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite FCI bits A, D, F, I and M with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_fci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_fci_default which corresponding bit in ss7_fci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default backward call indicator (BCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite BCI bits AB, I, K, M and N with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_bci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_bci_default which corresponding bit in ss7_bci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_ls_name&lt;br /&gt;
(Line Service or T1/E1 trunk) &amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_timeslot_nb&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_cot_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Requests SS7 in-call continuity test for this outgoing SS7 call&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will request continuity test on the timeslot before making the outgoing call. If COT fails, the call will be dropped (then another route may be attempted)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg Reverse charging indication IE present&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| If set in routing script, will add Reverse charging indication IE in outgoing leg (also use reverse_charging_indication_forward_enabled)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication_forward_enabled&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Enable forwarding of reverse charging indication from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' All values are documented in the '''noa_npi_remap.rb''' script and may change between major release.&lt;br /&gt;
&lt;br /&gt;
=== Noa values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number (0x4)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number (0x3)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_specific (0x5)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_national_format (0x7)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_international_format (0x8)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;abbreviated_number (0x6)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number_operator_requested (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_operator_requested (0x72)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_operator_requested (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_operator_requested (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier (0x75)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;test_line_test_code (0x77)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_subscriber_number (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_national_number (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_international_number (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_950_numbe (0x76)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;special_number (0x73)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_with_transit_network_selection (0x74)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_with_transit_network_selection (0x75)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific NOA value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 112&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Npi values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;isdn&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telephony&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;private&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telex&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display Type values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is unspecified. &lt;br /&gt;
*&amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is 0xB1.&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific Display Information Type value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 177&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display value  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display] = &amp;quot;Roger Fluffy&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Presentation values for Calling number, Calling Subscriber (Generic Number), Redirecting Number, Original Called Number (OCN) and Location Number ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_available (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;addr_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;name_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Party Category  ===&lt;br /&gt;
values for calling_category&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_french&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x1)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_english&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_german&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_russian&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x4)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_spanish&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x5)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_with_priority&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xb)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xc)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xd)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;payphone&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xf)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Screening values for Calling number, Calling Subscriber (Generic Number), and Location Number  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;pass (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;fail (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_provided (0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting indicator values  ===&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;no_redirection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;spare&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting number, Original Called Number and Diversion Reason ===&lt;br /&gt;
&lt;br /&gt;
ISDN: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;dte_out_of_order&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;forwarding_by_called_dte&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy      (SIP: user-busy)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply  (SIP: no-answer)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection_immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;mobile_not_reachable&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OLI (originating line information) values  ===&lt;br /&gt;
&lt;br /&gt;
The OLI parameter is a string that represents an integer value from 0 to 255. &lt;br /&gt;
&lt;br /&gt;
=== Information Transfer Capability values  ===&lt;br /&gt;
&lt;br /&gt;
information_transfer_capability: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted_digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;digital_with_tones&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;speech&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;3_1_khz_audio&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== redirecting_number_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of redirecting number (SIP: diversion header) to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &lt;br /&gt;
*0/false: Redirecting number (and original called number) is not forwarded to outgoing call leg&lt;br /&gt;
*1/true: Redirecting number (and original called number) is forwarded to outgoing call leg&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward redirecting number&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
Note: To &amp;quot;insert&amp;quot; a new redirecting number value on the outgoing leg, redirecting_number_forward_enabled must also be set to true.&lt;br /&gt;
&lt;br /&gt;
=== request_uri  ===&lt;br /&gt;
&lt;br /&gt;
Enables access to the Request-Line URI.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, if the Request-Line is: &lt;br /&gt;
&amp;lt;pre&amp;gt;Request-Line: INVITE sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;lt;/pre&amp;gt; &lt;br /&gt;
Then the retrieved request_uri will be &amp;quot;sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;quot;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In the routing scripts, to retrieve only the called number, this script can be used:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;    if call_params[:request_uri] &amp;amp;amp;&amp;amp;amp; call_params[:request_uri] =~ /sip:(.*)@.*/&lt;br /&gt;
       call_params[:called] = $1&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
=== request_uri_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of request uri to outgoing call leg.The request uri is the information in the &amp;quot;Request-Line:&amp;quot; of the SIP INVITE message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 0/false: Request uri is not forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 1/true: Request uri is forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script is always false. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sip_header values  ===&lt;br /&gt;
Contains a hash table of custom sip headers from the inbound call leg. Any custom sip header can be added to an outgoing call leg:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;call[ :sip_header ] = {&amp;quot;P-my-custom-header&amp;quot;=&amp;gt;&amp;quot;value1&amp;quot;, &amp;quot;P-my-custom-header2&amp;quot;=&amp;gt;&amp;quot;value2&amp;quot;, &amp;quot;P-my-custom-header3&amp;quot;=&amp;gt;&amp;quot;value3&amp;quot;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PCAP sample: [[File:TB_Custom_SIP_Headers.pcap]]&lt;br /&gt;
&lt;br /&gt;
List of sip headers that will not appear in call[:sip_header] since they are already processed by the SIP stack:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept               Error-Info             Remote-Party-ID      &lt;br /&gt;
Accept-Contact       Event                  Replaces                        &lt;br /&gt;
Accept-Encoding      Expires                Reply-To               &lt;br /&gt;
Accept-Language      From                   Request-Disposition    &lt;br /&gt;
Alert-Info           In-Reply-To            Subject          &lt;br /&gt;
Allow                Max-Forwards           Subscription-State  &lt;br /&gt;
Allow-Events         MIME-version           Supported           &lt;br /&gt;
Also                 Min-Expires            Timestamp           &lt;br /&gt;
Anonymity            Min-SE                 To             &lt;br /&gt;
Authorization        Organization           Unsupported  &lt;br /&gt;
Authentication-Info  Path                   User-Agent  &lt;br /&gt;
Call-ID              Priority               Via  &lt;br /&gt;
Call-Info            Privacy                Warning  &lt;br /&gt;
Contact              Proxy-Authenticate     WWW-Authenticate  &lt;br /&gt;
Content-Disposition  Proxy-Authorization    Require  &lt;br /&gt;
Content-Encoding     Proxy-Require          Response-Key  &lt;br /&gt;
Content-Language     P-Media-Authorization  Retry-After  &lt;br /&gt;
Content-Length       P-Preferred-Identity   RPID-Privacy  &lt;br /&gt;
Content-Type         P-Asserted-Identity    Route  &lt;br /&gt;
CSeq                 RAck                   RSeq  &lt;br /&gt;
RAck                 Reason                 Security-Client  &lt;br /&gt;
Reason               Record-Route           Security-Server  &lt;br /&gt;
Date                 Refer-To               Security-Verify&lt;br /&gt;
Diversion            Referred-By            Server&lt;br /&gt;
Encryption           Reject-Contact         Service-Route             &lt;br /&gt;
                                            Session-Expires&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MLPP Precedence values  ===&lt;br /&gt;
&lt;br /&gt;
mlpp_look_for_busy: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;path_reserved&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_precedence_level: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;flash_override&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;flash&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;priority&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;routine&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_network_identity:&lt;br /&gt;
&lt;br /&gt;
3 digits value from 0 to 999&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_service_domain:&lt;br /&gt;
&lt;br /&gt;
24 bits value from 0 to 16777215&lt;br /&gt;
&lt;br /&gt;
=== ISUB subaddress information values  ===&lt;br /&gt;
&lt;br /&gt;
called_isub_type: &lt;br /&gt;
calling_isub_type: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_ia5&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_bcd&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
called_isub: &lt;br /&gt;
calling_isub: &lt;br /&gt;
&lt;br /&gt;
Digits for the subaddress information.&lt;br /&gt;
&lt;br /&gt;
== Route parameters  ==&lt;br /&gt;
&lt;br /&gt;
All route may have these parameters: &lt;br /&gt;
&lt;br /&gt;
*calling &lt;br /&gt;
*called &lt;br /&gt;
*nap &lt;br /&gt;
*remapped_calling &lt;br /&gt;
*remapped_called &lt;br /&gt;
*remapped_nap &lt;br /&gt;
*remapped_profile&lt;br /&gt;
*remapped_incoming_profile&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  route[:remapped_nap]&lt;br /&gt;
&lt;br /&gt;
Additionally it is possible to add dynamic route attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Playing prompts announcements or tones  ==&lt;br /&gt;
&lt;br /&gt;
New feature in release 2.6, all bridges may have these parameters. These can be used to play IVR prompts (audio files) in different states of the call flow.&lt;br /&gt;
&lt;br /&gt;
*'''announcement_tone''' (played before outgoing call is routed)&lt;br /&gt;
*'''ring_tone''' (played after when waiting for outgoing call to answer)&lt;br /&gt;
*'''busy_tone''' (played if outgoing call failed)&lt;br /&gt;
*'''disconnect_tone''' (played after the call has reached it's maximum duration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following sections show how to access those different parameters from '''inside''' a filter.  The 'params' hash is the sole argument passed to a filter function and contains call, nap, route and bridge parameters.   This hash is created by the base_routing.rb scripts to regroup all relevant information just before calling the filter functions.&lt;br /&gt;
&lt;br /&gt;
=== Tone string format  ===&lt;br /&gt;
&lt;br /&gt;
All tone strings (:announcement_tone,&amp;amp;nbsp;:busy_tone,&amp;amp;nbsp;:ring_tone,&amp;amp;nbsp;:disconnect_tone) inside bridge parameters are using this format. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;file1.wav:repeat:start_off:end_off,file2.wav:repeat:start_off:end_off,file3.wav:repeat:start_off:end_off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Optional parameters:&lt;br /&gt;
* repeat: number of times to play the file (0 and 1 have the same result)&lt;br /&gt;
* start_off: Start offset in milliseconds&lt;br /&gt;
* end_off: End offset in milliseconds&lt;br /&gt;
&lt;br /&gt;
Http and other path formats are described here: [[Customer_application_framework:play_audio_files#Play_path_format|Path format]]&lt;br /&gt;
&lt;br /&gt;
==== Example 1 ====&lt;br /&gt;
The following example will play file1.wav once, and then play file2.wav in loop: &lt;br /&gt;
  &amp;quot;file1.wav,file2.wav:-1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 2 ====&lt;br /&gt;
The following example will play file1.wav from start offset of 1 second to end offset of 3 seconds, then twice file2.wav from second 5 to second 10.&lt;br /&gt;
  &amp;quot;file1.wav:0:1000:3000,file2.wav:2:5000:10000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 3 ====&lt;br /&gt;
The following example will play file1.wav once, ending at offset of 30 seconds.&lt;br /&gt;
  &amp;quot;file1.wav:0:0:30000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== announcement_tone  ===&lt;br /&gt;
&lt;br /&gt;
  params[:bridge][:announcement_tone] = &amp;quot;announcement.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call before any outgoing call is placed. The outgoing call occurs when the file finished playing.&lt;br /&gt;
&lt;br /&gt;
==== announcement_tone options ====&lt;br /&gt;
===== announcement_tone_answer =====&lt;br /&gt;
  params[:bridge][:announcement_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the announcement. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
===== announcement_code_detect =====&lt;br /&gt;
This option allows to enable tone detection during the announcement play.&lt;br /&gt;
&lt;br /&gt;
Collected digits can be inserted into the CDR logs (radius attribute &amp;quot;Telcob-CollectedDigits&amp;quot;, or text CDR variable @{CollectedDigits}).&lt;br /&gt;
&lt;br /&gt;
Collected digits can also be sent back to routing script, which is called again with the same call attributes, except that the called number is replaced by the collected digits.&lt;br /&gt;
&lt;br /&gt;
Code detect has multiple options, as shown in the following code:&lt;br /&gt;
  code_detect = {&lt;br /&gt;
    :type                   =&amp;gt; :DTMF,   # :DTMF or :MFR1 tone detection.&lt;br /&gt;
                                        # Default is MFR1.&lt;br /&gt;
    :prefix                 =&amp;gt; &amp;quot;&amp;quot;,      # Prefix (digits) that is removed from collected digits.&lt;br /&gt;
                                        # Default is empty.&lt;br /&gt;
    :suffix                 =&amp;gt; &amp;quot;&amp;quot;,      # Suffix (digits) that is removed from collected digits&lt;br /&gt;
                                        # and causes routing script to be immediately called.&lt;br /&gt;
                                        # Default is empty.&lt;br /&gt;
    :suffix_removal         =&amp;gt; false,   # Controls the removal of the suffix from the collected digit string that's reported to routing script.&lt;br /&gt;
                                        # Default is false&lt;br /&gt;
    :timeout                =&amp;gt; 0,       # Inter-digit timeout (ms) after which collected digits are passed to the routing script.&lt;br /&gt;
                                        # Use 0 for &amp;quot;no timeout&amp;quot;.&lt;br /&gt;
                                        # Default is 1000ms&lt;br /&gt;
    :barge_in_interruption  =&amp;gt; true,    # When enabled, playing announcement is stopped as soon as first digit is collected.&lt;br /&gt;
                                        # Default is true.&lt;br /&gt;
    :proceed_on_play_done   =&amp;gt; false,   # When true:  Outgoing call is made after announcement finishes playing.&lt;br /&gt;
                                        #             Routing script is not called again.&lt;br /&gt;
                                        # When false: Outgoing call is never made.&lt;br /&gt;
                                        #             Digits are collected until timeout or suffix match,&lt;br /&gt;
                                        #             then routing script is called again.&lt;br /&gt;
                                        # Default is false.&lt;br /&gt;
    :cas_on_hook            =&amp;gt; false,   # Specific for CAS-R1 calls. Makes CAS bits switch to &amp;quot;on-hook&amp;quot; when announcement finished playing&lt;br /&gt;
                                        # (but the call is not &amp;quot;terminated&amp;quot; from Toolpack point of view)&lt;br /&gt;
                                        # Default is false.&lt;br /&gt;
    :cas_on_hook_delay      =&amp;gt; 0,       # Duration of cas bits &amp;quot;on-hook&amp;quot; state.&lt;br /&gt;
                                        # Only effective if cas_on_hook is set to true.&lt;br /&gt;
                                        # Value of 0 stands for &amp;quot;infinite delay&amp;quot;.&lt;br /&gt;
                                        # Default is 0.&lt;br /&gt;
    :repeat_delay           =&amp;gt; 0,       # Delay between repetition of the announcement. The announcement will repeat&lt;br /&gt;
                                        # itself every &amp;quot;repeat_delay&amp;quot; until a code is detected (suffix match or timetout).&lt;br /&gt;
                                        # Value of 0 stands for &amp;quot;infinite delay&amp;quot; (no repeating).&lt;br /&gt;
                                        # Default is 0.&lt;br /&gt;
  }&lt;br /&gt;
'''Example 1''': Collect DTMF digits, and call routing script again with collected digits upon timeout or suffix match.&lt;br /&gt;
  code_detect = { :type =&amp;gt; :DTMF, :suffix =&amp;gt; &amp;quot;#&amp;quot;, :timeout =&amp;gt; 5000 }&lt;br /&gt;
  params[:bridge][:announcement_code_detect] = code_detect&lt;br /&gt;
&lt;br /&gt;
'''Example 2''': Collect digits during the announcement (for CDR logs), then proceed (make outgoing call) after announcement finishes playing&lt;br /&gt;
  code_detect = { :type =&amp;gt; :DTMF, :timeout =&amp;gt; 0, :barge_in_interruption =&amp;gt; false, :proceed_on_play_done =&amp;gt; true }&lt;br /&gt;
  params[:bridge][:announcement_code_detect] = code_detect&lt;br /&gt;
&lt;br /&gt;
=== ring_tone  ===&lt;br /&gt;
  params[:bridge][:ring_tone] = &amp;quot;ringing.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call while waiting for the outgoing call to be answered.&lt;br /&gt;
&lt;br /&gt;
Ring tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:ring_tone] will override the profile's ring tone behavior).&lt;br /&gt;
&lt;br /&gt;
==== ring_tone options ====&lt;br /&gt;
===== ring_tone_state =====&lt;br /&gt;
  params[:bridge][:ring_tone_state] = :alerted&lt;br /&gt;
&lt;br /&gt;
Call state from which ring tone is being played. Available values are:&lt;br /&gt;
* '''immediately''':  Ring tone starts playing immediately on the incoming leg&lt;br /&gt;
* '''accepted''':     Ring tone starts playing as soon as outgoing call is accepted&lt;br /&gt;
* '''callprogress''': Ring tone starts playing as soon as &amp;quot;call progress&amp;quot; is received on the outgoing call&lt;br /&gt;
* '''alerted''' (default):      Ring tone starts playing only once outgoing call is alerted (but won't play if alert indicates early media from outgoing call)&lt;br /&gt;
&lt;br /&gt;
This option also apply when params[:bridge][:ring_tone] is not used, because it also apply to ring tone playback configured in the Web Portal, from the incoming call's profile.&lt;br /&gt;
&lt;br /&gt;
=== busy_tone  ===&lt;br /&gt;
  Toolpack 2.8 and above:&lt;br /&gt;
    params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Note: Obsolete name (toolpack 2.7.153 and earlier, but still supported in recent releases):&lt;br /&gt;
    params[:bridge][:call_progress_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when outgoing call fails (never answered).&lt;br /&gt;
&lt;br /&gt;
Note that announcement_tone, if used, is played before the outgoing call attempt is made, and thus before the busy_tone.&lt;br /&gt;
&lt;br /&gt;
Busy tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:busy_tone] will override the profile's busy tone behavior).&lt;br /&gt;
&lt;br /&gt;
Special value '''&amp;quot;none&amp;quot;''' can be used by routing script to force playing nothing (as empty string would default to profile's behavior)&lt;br /&gt;
&lt;br /&gt;
==== busy_tone options ====&lt;br /&gt;
===== busy_tone_answer =====&lt;br /&gt;
  params[:bridge][:busy_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the busy tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
=== disconnect_tone  ===&lt;br /&gt;
  params[:bridge][:disconnect_tone] = &amp;quot;max_duration.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when call duration (:max_call_duration) is reached. Then the leg will be terminated with specified reason (:call_duration_reason).&lt;br /&gt;
&lt;br /&gt;
==== disconnect_tone options ====&lt;br /&gt;
===== disconnect_tone_answer =====&lt;br /&gt;
  params[:bridge][:disconnect_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the disconnect tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
===== max_call_duration  =====&lt;br /&gt;
  params[:bridge][:max_call_duration] = &amp;quot;60000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Maximum call duration in millisecond. This timer is started when entering answer state.&lt;br /&gt;
&lt;br /&gt;
===== call_duration_reason  =====&lt;br /&gt;
  params[:bridge][:call_duration_reason] =&amp;amp;nbsp;:resource_unavailable &lt;br /&gt;
&lt;br /&gt;
Drop both legs with this reason when call duration (:max_call_duration) is reached. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts through Web Portal ===&lt;br /&gt;
Audio prompts can be uploaded or deleted from the TMedia unit through the Web Portal:&lt;br /&gt;
[[Toolpack:Configuring_Audio_Prompts_A|Managing audio prompts]]&lt;br /&gt;
&lt;br /&gt;
Prompts management must be done using the Web Portal of the primary server (in systems with redundant TMedia units or redundant host servers).&lt;br /&gt;
The file will automatically get replicated to the secondary server.&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts manually ===&lt;br /&gt;
Any file on the TMedia host file system can be played. This means it's possible to manage prompts through ssh/scp.&lt;br /&gt;
&lt;br /&gt;
==== The default (replicated) prompts folder ====&lt;br /&gt;
By default, when playing a prompt, Toolpack will look in the default prompts folder:&lt;br /&gt;
 /lib/tb/toolpack/pkg/prompts&lt;br /&gt;
The root of this &amp;quot;prompts&amp;quot; directory is automatically replicated to secondary unit of redundant setups (1+1, N+1, redundant hosts). Sub-folders won't be replicated.&lt;br /&gt;
&lt;br /&gt;
Any prompt play request without explicit file path will map to this folder. For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/pkg/prompts/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Relative file paths ====&lt;br /&gt;
Any file path that begins with &amp;quot;file://&amp;quot; is considered relative to the tbstreamserver application's working directory:&lt;br /&gt;
 /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/&lt;br /&gt;
(Where &amp;quot;2.8&amp;quot; may be replaced by the current major version of your system)&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file://my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Absolute file paths ====&lt;br /&gt;
Absolute paths can also be provided.&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file:///root/my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /root/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
== Recording call legs  ==&lt;br /&gt;
Introduced in release 2.6.44, it's now possible to use routing scripts to ask for recording incoming and/or outgoing call legs.&lt;br /&gt;
&lt;br /&gt;
See example filter script &amp;quot;call_recording&amp;quot; (created by default in Web Portal routing scripts starting with 2.6.44) for an example.&lt;br /&gt;
&lt;br /&gt;
=== Recording the incoming call leg  ===&lt;br /&gt;
To record the incoming call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter:&lt;br /&gt;
&lt;br /&gt;
  bridge[ :record_incoming ]  = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Recording the outgoing call leg  ===&lt;br /&gt;
To record the outgoing call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter, per route (the decision to record or not, or the file name to record to, can be set per matching route):&lt;br /&gt;
&lt;br /&gt;
  # Need to clone the routes in order to have the right to modify them&lt;br /&gt;
  routes = clone_routes params[:routes]&lt;br /&gt;
  routes.each do |route|&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
  # Store modified routes back to the parameters for this outgoing call&lt;br /&gt;
  params[:routes] = routes&lt;br /&gt;
&lt;br /&gt;
=== Record the outgoing call leg within incoming leg's recorded file (mixing)  ===&lt;br /&gt;
  [...]&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;@{MixWithIncoming}&amp;quot;&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
=== Choosing file path to record to  ===&lt;br /&gt;
The value assigned to &amp;quot;:record_incoming&amp;quot; or &amp;quot;:record_outgoing&amp;quot; is the path to record the file to.&lt;br /&gt;
&lt;br /&gt;
The paths can be absolute, or relative. When relative, they are relative to the &amp;quot;tbstreamserver&amp;quot; application working directory, for example:&lt;br /&gt;
  /lib/tb/toolpack/setup/12358/2.7/apps/tbstreamserver/&lt;br /&gt;
&lt;br /&gt;
* Empty file name will default to a name that contains various information about the call:&lt;br /&gt;
** ''LinkId'':     Id common between all legs of this call bridge&lt;br /&gt;
** ''LegId'':      Unique Id for this leg&lt;br /&gt;
** ''Nap'':        Current NAP name this call leg is from&lt;br /&gt;
** ''Direction'':  &amp;quot;IN&amp;quot; or &amp;quot;OUT&amp;quot; (depends if call leg is incoming or outgoing leg)&lt;br /&gt;
** ''Calling'':    The calling number of this call leg&lt;br /&gt;
** ''Called'':     The called number of this call leg&lt;br /&gt;
** ''Protocol'':   The signaling protocol of this call leg (SS7, ISDN, CAS, SIP)&lt;br /&gt;
** ''Media info'': Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls&lt;br /&gt;
* To record outgoing call leg in the same audio file as incoming call leg (mixing), use the following:&lt;br /&gt;
** @{MixWithIncoming}: Record outgoing legs in same file as incoming legs&lt;br /&gt;
* Variables can be used to insert in the recording path information that's not already available from routing scripts:&lt;br /&gt;
** @{CURRENT_PKG}: Version of current package&lt;br /&gt;
*** Example: 2.6.45&lt;br /&gt;
** @{DATE format}: Prints the date, where 'format' is expressed as described for the 'strftime' function&lt;br /&gt;
*** Example: @{DATE %Y-%m-%d} =&amp;gt; 2013-01-28&lt;br /&gt;
** @{DefaultName}: Replaced by the default file name for recording, which contains:&lt;br /&gt;
*** LinkId:     Id common between all legs of this call bridge&lt;br /&gt;
*** LegId:      Unique Id for this leg&lt;br /&gt;
*** Nap:        Current NAP name this call leg is from&lt;br /&gt;
*** Direction:  &amp;quot;IN&amp;quot; or &amp;quot;OUT&amp;quot; (depends if call leg is incoming or outgoing leg)&lt;br /&gt;
*** Calling:    Calling number&lt;br /&gt;
*** Called:     Called number&lt;br /&gt;
*** Protocol:   Protocol type of this call (SS7, ISDN, CASR2, SIP)&lt;br /&gt;
*** Media info: Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls&lt;br /&gt;
*** Example: &amp;quot;73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{DefaultPath}:  Default recording folder and file name: &amp;quot;@{RECORD_PATH}/@{DATE %Y-%m-%d}/@{DefaultName}&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{Direction}: Direction of current leg (IN our OUT)&lt;br /&gt;
*** Example: IN&lt;br /&gt;
** @{LegId}: Current LegId (Unique Id for this leg)&lt;br /&gt;
*** Example: F3D67B4B&lt;br /&gt;
** @{LinkId}: Current LinkId (Id common between all legs of this call bridge)&lt;br /&gt;
*** Example: 73EBA698&lt;br /&gt;
** @{PKG_HOME}: Path where packages are stored.&lt;br /&gt;
*** Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.&lt;br /&gt;
*** Example: /lib/tb/toolpack/pkg&lt;br /&gt;
** @{PROMPT_PATH}: Default path where audio prompts are stored&lt;br /&gt;
*** Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.&lt;br /&gt;
*** Example: /lib/tb/toolpack/pkg/prompts&lt;br /&gt;
** @{Protocol}: Protocol of current leg&lt;br /&gt;
*** Example: SS7&lt;br /&gt;
** @{RECORD_PATH}: Default recording folder: &amp;quot;@{TB_SETUP_HOME}/recorded_calls/&amp;quot;&lt;br /&gt;
** @{TBX_GW_PORT}: Current &amp;quot;System Id&amp;quot; (also called &amp;quot;Gateway Port&amp;quot;)&lt;br /&gt;
*** Example: 12358&lt;br /&gt;
** And all variables listed here: [[Customer_application_framework:play_audio_files#Helpful_variables_to_build_play_or_record_file_paths|Building play or record file path]]&lt;br /&gt;
&lt;br /&gt;
== Controlling UUI (user-to-user information) relay  ==&lt;br /&gt;
UUI (user-to-user information) can be present in different messages received by either call leg during a call. For example, information can be carried during the initial invite, other information can be carried when the call is alerted, answered, or terminated.&lt;br /&gt;
&lt;br /&gt;
Routing scripts can control if the UUI received from one leg through the call will be forwarded or not to the other call leg:&lt;br /&gt;
*uui_forward_enabled&lt;br /&gt;
&lt;br /&gt;
Routing scripts can also read and modify the UUI received with the incoming call leg, before it gets forwarded upon creation of the outgoing call leg:&lt;br /&gt;
*uui &lt;br /&gt;
&lt;br /&gt;
=== UUI (user-to-user indication) values  ===&lt;br /&gt;
&lt;br /&gt;
Byte array represented as ruby String. Use ''bridge=params[:bridge]'', then ''bridge[:uui]'' to access the data.&lt;br /&gt;
&lt;br /&gt;
To access the bytes in Ruby, use ruby String operator []. For example:  bridge[:uui][0] will return the binary value of the first UUI byte.&lt;br /&gt;
&lt;br /&gt;
Function each_byte can also be useful to iterate through all bytes of the UUI.&lt;br /&gt;
&lt;br /&gt;
=== uui_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of UUI to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true.&lt;br /&gt;
* 0/false: UUI is not forwarded between call legs&lt;br /&gt;
* 1/true: UUI is forwarded between call legs&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward UUI&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
== Authorization ==&lt;br /&gt;
Starting with release 2.7, it is possible to issue RADIUS authorization requests from routing scripts. To do so, the params[:authorization] object must be filled with the required RADIUS attributes and [[#Refuse|an exception must be raised]] with reason :authorization_required.&lt;br /&gt;
&lt;br /&gt;
When the authorization is completed, the routing script is called again with the result. The params[:authorization] object will be filled with the RADIUS attributes from the response. The params[:authorization][:result] field will also contain a string indicating the result of the authorization:&lt;br /&gt;
&lt;br /&gt;
* ''accept'': The authorization was successful.&lt;br /&gt;
* ''reject'': The authorization was refused.&lt;br /&gt;
* ''challenge'': The authorization was challenged.&lt;br /&gt;
* ''timeout'': The authorization was not answered.&lt;br /&gt;
&lt;br /&gt;
== Call diversion options ==&lt;br /&gt;
It's possible to control the call flow when a call diversion information is received in the alerting state.&lt;br /&gt;
&lt;br /&gt;
Two fields are available: bridge[ :diversion ] and bridge[ :diversion_reason ]&lt;br /&gt;
&lt;br /&gt;
The internal release cause TOOLPACK_DIVERT_NOT_ALLOWED is used by gateway application to terminate both legs.&lt;br /&gt;
&lt;br /&gt;
  bridge[ :diversion ] = :allowed&lt;br /&gt;
The alert message will not be analyzed and the call will be progressed. Default behavior.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed&lt;br /&gt;
If the alert message indicates that the call is diverted, the call will be released no matter the In-band information to allow&lt;br /&gt;
early media.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed_w_early_media&lt;br /&gt;
The call will be released If the alert message indicates that the call is diverted with in-band information to allow early media.&lt;br /&gt;
  bridge[ :diversion_reason ] = &amp;quot;*&amp;quot;&lt;br /&gt;
If the diversion is not allowed, the gateway will drop the call for any redirecting reason. &lt;br /&gt;
  bridge[ :diversion_reason ] = []&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :busy&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :unconditional&lt;br /&gt;
If the diversion is not allowed, the redirecting reason will be analyzed and the call will only be dropped for the configured cases.&lt;br /&gt;
&lt;br /&gt;
See section [[Routing_script_tutorial:Mini_Development_Guide#Redirecting_number_reason_values|Redirecting number reason values]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Call transfer requests ==&lt;br /&gt;
Toolpack allows to relay [[Call transfer]] requests from one leg to the other, or to process them locally (making another outgoing call to replace the call that requested the call transfer).&lt;br /&gt;
&lt;br /&gt;
If the chosen [[Call transfer]] mode is to process requests locally, upon reception of a call transfer request (SIP REFER or ISDN Facility), routing script will be called once again, to select the routes for the new outgoing call (call transfer target).&lt;br /&gt;
&lt;br /&gt;
=== How to route call transfer request ===&lt;br /&gt;
Routing of a call transfer request is done exactly like routing of a normal incoming call.&lt;br /&gt;
The routing script generally does not need any modification to support that.&lt;br /&gt;
&lt;br /&gt;
In some cases, the routing script may want to use information related to the transfer request to perform routing, or to insert information in the outgoing call leg.&lt;br /&gt;
Additional information is provided to the routing script, allowing routing decisions using information from the call transfer request (SIP REFER or ISDN Facility).&lt;br /&gt;
See below...&lt;br /&gt;
&lt;br /&gt;
=== params[ :call ] content during transfer request ===&lt;br /&gt;
When processing a call transfer request, the params[ :call ] hash contains the information from the inbound call (same as was passed to the routing script upon arrival of the inbound call)&lt;br /&gt;
 call = params[ :call ]          -&amp;gt; Information from original inbound call, with exception of call[ :called ]&lt;br /&gt;
&lt;br /&gt;
One exception (convenient because it allows a unmodified routing script to process call transfer request the same way as any other routing request):&lt;br /&gt;
 call[ :called ]                 -&amp;gt; Replaced by the called number from the call transfer request (also called &amp;quot;redirection number&amp;quot;)&lt;br /&gt;
Complementary information:&lt;br /&gt;
 call[ :original_called_number ] -&amp;gt; Contains the called number that was initially received from the incoming call, prior to call transfer request&lt;br /&gt;
 call[ :redirecting_number ]     -&amp;gt; Number of the call from which the call transfer request was received (generally equals to original_called_number)&lt;br /&gt;
&lt;br /&gt;
These fields will also be included in the outgoing call made after routing:&lt;br /&gt;
* original called number and redirecting number are existing fields on SS7 and ISDN calls&lt;br /&gt;
* SIP &amp;quot;diversion&amp;quot; header is used for SIP calls&lt;br /&gt;
&lt;br /&gt;
=== params[ :transfer ] content ===&lt;br /&gt;
(this if valid only for release 2.7.102 and above)&amp;lt;br&amp;gt;&lt;br /&gt;
When processing a call transfer request, information from the call transfer request message (SIP REFER, ISDN Facility) is provided in params[ :transfer ]:&lt;br /&gt;
  transfer = params[ :transfer ]&lt;br /&gt;
The following field is always present:&lt;br /&gt;
  transfer[ :original_nap ]      -&amp;gt; Contains the NAP of the first call from which a call transfer request was received&lt;br /&gt;
  transfer[ :redirecting_nap ]   -&amp;gt; Contains the NAP of the call from which the current call transfer request was received&lt;br /&gt;
                                    (same as :original_nap for the first call transfer, different for subsequent transfers)&lt;br /&gt;
Examples of other fields that may be present, when appropriate:&lt;br /&gt;
  transfer[ :uui ]               -&amp;gt; The UUI (user-to-user information) found in the call transfer request&lt;br /&gt;
  transfer[ :sip_header ]        -&amp;gt; Contains custom SIP headers from the call transfer request&lt;br /&gt;
  transfer[ :request_uri ]       -&amp;gt; Contains the SIP Request URI&lt;br /&gt;
&lt;br /&gt;
These field are 'read-only'. They won't be included in the outgoing call, as they represent the content of the call transfer request, not the outgoing call to make.&lt;br /&gt;
&lt;br /&gt;
To insert/modify attributes of the outgoing call, the parameters from params[ :call ] must be edited instead.&lt;br /&gt;
&lt;br /&gt;
== Redirection ==&lt;br /&gt;
In release 2.8, redirection contacts are obtained from the routing engine in the following format:&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt; contains the contact log. Each contact within the list has the following fields:&lt;br /&gt;
** &amp;lt;code&amp;gt;:called_number&amp;lt;/code&amp;gt; - the called number&lt;br /&gt;
** &amp;lt;code&amp;gt;:is_number_ported&amp;lt;/code&amp;gt; - if the called number has been ported (for SIP: if the npdi parameter is present)&lt;br /&gt;
** &amp;lt;code&amp;gt;:ported_number&amp;lt;/code&amp;gt; - the called number that was ported (for SIP: the rn parameter value, if available)&lt;br /&gt;
** &amp;lt;code&amp;gt;:sip_uri&amp;lt;/code&amp;gt; - the SIP URI of the contact, without the contact-params section (without the expires and q contact parameters)&lt;br /&gt;
** &amp;lt;code&amp;gt;:raw_data&amp;lt;/code&amp;gt; - the raw data representing the contact in the signaling protocol. For SIP, this is the full SIP URI (including the expires and q contact parameters).&lt;br /&gt;
** &amp;lt;code&amp;gt;:priority&amp;lt;/code&amp;gt; - the priority of the contact [0-1000]&lt;br /&gt;
** &amp;lt;code&amp;gt;:expiration&amp;lt;/code&amp;gt; - the expiration time in seconds of the contact&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:index]&amp;lt;/code&amp;gt; contains the index of the contact that is currently being routed.&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:source_indexes]&amp;lt;/code&amp;gt; contains a comma-separated list of indexes from &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt;. Each index represents the contact from which the contact in the list was obtained from. For instance: &amp;lt;code&amp;gt;&amp;quot;nil,0,0,2&amp;quot;&amp;lt;/code&amp;gt; describes the following example contact hierarchy:&lt;br /&gt;
  * 1234 &amp;lt;sip:1234@test.com&amp;gt;&lt;br /&gt;
     |- 1234 &amp;lt;sip:1234@other.com&amp;gt;&lt;br /&gt;
     `- 5555 &amp;lt;sip:5555@test.com&amp;gt;&lt;br /&gt;
         `- 5555 &amp;lt;sip:5555@final.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Terminating calls ==&lt;br /&gt;
In release 2.8, it is now possible to terminate a call through the routing scripts. The [[#Reason values|reason code]] must be specified in &amp;lt;code&amp;gt;params[:bridge][:reason]&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt; hash must be created and copied into &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt;:&lt;br /&gt;
  terminate = {}&lt;br /&gt;
  params[:terminate] = terminate&lt;br /&gt;
The following fields can then be set in &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;:sip_header&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:contacts&amp;lt;/code&amp;gt; # list of contacts as described in the [[#Redirection|redirection]] section&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw_variant&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_indicator&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
Check here for Termination Reason Cause codes:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Termination_cause_codes|Termination Reason Cause codes]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example to refuse an incoming call leg.&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
Reason cause strings available inside routing scripts:&lt;br /&gt;
&lt;br /&gt;
List of Q.850 reason causes:&lt;br /&gt;
  :unallocated_number&lt;br /&gt;
  :no_route_to_network&lt;br /&gt;
  :no_route_to_destination&lt;br /&gt;
  :send_special_tone&lt;br /&gt;
  :misdialled_trunk_prefix&lt;br /&gt;
  :channel_unacceptable&lt;br /&gt;
  :call_awarded_in_established_channel&lt;br /&gt;
  :preemption&lt;br /&gt;
  :reattempt&lt;br /&gt;
  :ported_number&lt;br /&gt;
  :normal_call_clearing&lt;br /&gt;
  :user_busy&lt;br /&gt;
  :no_user_responding&lt;br /&gt;
  :no_answer_from_user&lt;br /&gt;
  :subscriber_absent&lt;br /&gt;
  :call_rejected&lt;br /&gt;
  :number_changed&lt;br /&gt;
  :redirection&lt;br /&gt;
  :exchange_routing_error&lt;br /&gt;
  :non_selected_user_clearing&lt;br /&gt;
  :destination_out_of_order&lt;br /&gt;
  :address_incomplete&lt;br /&gt;
  :facility_rejected&lt;br /&gt;
  :response_to_status_enquiry&lt;br /&gt;
  :normal_unspecified&lt;br /&gt;
  :no_circuit_available&lt;br /&gt;
  :network_out_of_order&lt;br /&gt;
  :frame_mode_out_of_service&lt;br /&gt;
  :frame_mode_connection_operational&lt;br /&gt;
  :temporary_failure&lt;br /&gt;
  :switching_equipment_congestion&lt;br /&gt;
  :access_information_discarded&lt;br /&gt;
  :requested_circuit_not_available&lt;br /&gt;
  :precedence_call_blocked&lt;br /&gt;
  :resource_unavailable&lt;br /&gt;
  :quality_of_service_not_available&lt;br /&gt;
  :requested_facility_not_subscribed&lt;br /&gt;
  :outgoing_calls_barred&lt;br /&gt;
  :outgoing_calls_barred_within_cug&lt;br /&gt;
  :incoming_calls_barred&lt;br /&gt;
  :incoming_calls_barred_within_cug&lt;br /&gt;
  :bearer_cap_not_authorized&lt;br /&gt;
  :bearer_cap_not_available&lt;br /&gt;
  :inconsistency_access_info&lt;br /&gt;
  :service_not_available&lt;br /&gt;
  :bearer_cap_not_implemented&lt;br /&gt;
  :channel_type_not_implemented&lt;br /&gt;
  :requested_facility_not_implemented&lt;br /&gt;
  :only_restricted_digital_info&lt;br /&gt;
  :service_not_implemented&lt;br /&gt;
  :invalid_call_reference&lt;br /&gt;
  :channel_does_not_exist&lt;br /&gt;
  :call_identity_does_not_exist&lt;br /&gt;
  :call_identity_in_use&lt;br /&gt;
  :no_call_suspended&lt;br /&gt;
  :call_has_been_cleared&lt;br /&gt;
  :user_not_member_of_cug&lt;br /&gt;
  :incompatible_destination&lt;br /&gt;
  :non_existant_cug&lt;br /&gt;
  :invalid_transit_network&lt;br /&gt;
  :invalid_message_unspecified&lt;br /&gt;
  :mandatory_ie_missing&lt;br /&gt;
  :message_type_non_existent&lt;br /&gt;
  :not_compatible_with_call_state&lt;br /&gt;
  :ie_non_existent&lt;br /&gt;
  :invalid_ie_content&lt;br /&gt;
  :message_not_compatible&lt;br /&gt;
  :recovery_on_timer_expiry&lt;br /&gt;
  :parameter_non_existent_passed_on&lt;br /&gt;
  :msg_with_non_recognized_param_discarded&lt;br /&gt;
  :protocol_error&lt;br /&gt;
  :interworking_unspecified&lt;br /&gt;
&lt;br /&gt;
List of toolpack reason causes:&lt;br /&gt;
&lt;br /&gt;
  :toolpack_normal                       or :normal&lt;br /&gt;
  :toolpack_resource_error               or :resource_error&lt;br /&gt;
  :toolpack_timeout                      or :timeout&lt;br /&gt;
  :toolpack_no_route                     or :no_route&lt;br /&gt;
  :toolpack_call_collision               or :call_collision&lt;br /&gt;
  :toolpack_sync_drop                    or :sync_drop&lt;br /&gt;
  :toolpack_signaling_error              or :signaling_error&lt;br /&gt;
  :toolpack_locally_rejected             or :locally_rejected&lt;br /&gt;
  :toolpack_interface_not_available      or :interface_not_available&lt;br /&gt;
  :toolpack_reset_in_progress            or :reset_in_progress&lt;br /&gt;
  :toolpack_adapter_reject               or :adapter_reject&lt;br /&gt;
  :toolpack_missing_or_invalid_ie        or :missing_or_invalid_ie&lt;br /&gt;
  :toolpack_incoming_only                or :incoming_only&lt;br /&gt;
  :toolpack_system_configuration_changed or :system_configuration_changed&lt;br /&gt;
  :toolpack_resource_no_more_available   or :resource_no_more_available&lt;br /&gt;
  :toolpack_incompatible_media           or :incompatible_media&lt;br /&gt;
  :toolpack_resource_allocation_failed   or :resource_allocation_failed&lt;br /&gt;
  :toolpack_data_path_not_available      or :data_path_not_available&lt;br /&gt;
  :toolpack_local_congestion             or :local_congestion&lt;br /&gt;
  :toolpack_authorization_required       or :authorization_required&lt;br /&gt;
  :toolpack_call_divert_is_not_allowed   or :call_divert_is_not_allowed&lt;br /&gt;
&lt;br /&gt;
List of SIP reason causes:&amp;lt;br/&amp;gt;&lt;br /&gt;
Reason causes starting with a digit must use the following syntax (can't use : as prefix).&lt;br /&gt;
&lt;br /&gt;
  '300_multiple_choices'&lt;br /&gt;
  '301_moved_permanently'&lt;br /&gt;
  '302_moved_temporarily'&lt;br /&gt;
  '305_use_proxy'&lt;br /&gt;
  '380_alternative_service'&lt;br /&gt;
  '400_bad_request'&lt;br /&gt;
  '401_unauthorized'&lt;br /&gt;
  '402_payment_required'&lt;br /&gt;
  '403_forbidden'&lt;br /&gt;
  '404_not_found'&lt;br /&gt;
  '405_method_not_allowed'&lt;br /&gt;
  '406_not_acceptable'&lt;br /&gt;
  '407_proxy_authentication_required'&lt;br /&gt;
  '408_request_timeout'&lt;br /&gt;
  '409_conflict'&lt;br /&gt;
  '410_gone'&lt;br /&gt;
  '413_request_entity_too_large'&lt;br /&gt;
  '414_request_URI_too_long'&lt;br /&gt;
  '415_unsupported_media'&lt;br /&gt;
  '416_unsupported_URI_scheme'&lt;br /&gt;
  '420_bad_extension'&lt;br /&gt;
  '421_extension_required'&lt;br /&gt;
  '422_session_timer_too_small'&lt;br /&gt;
  '423_interval_too_brief'&lt;br /&gt;
  '429_referrer_identity_error'&lt;br /&gt;
  '480_temporary_unavailable'&lt;br /&gt;
  '481_call_or_transaction_does_not_exist'&lt;br /&gt;
  '482_loop_detected'&lt;br /&gt;
  '483_too_many_hops'&lt;br /&gt;
  '484_address_incomplete'&lt;br /&gt;
  '485_ambiguous'&lt;br /&gt;
  '486_busy_here'&lt;br /&gt;
  '487_request_terminated'&lt;br /&gt;
  '488_not_acceptable_here'&lt;br /&gt;
  '489_bad_event'&lt;br /&gt;
  '491_retry_after'&lt;br /&gt;
  '500_server_internal_error'&lt;br /&gt;
  '501_not_implemented'&lt;br /&gt;
  '502_bad_gateway'&lt;br /&gt;
  '503_service_unavailable'&lt;br /&gt;
  '504_server_timeout'&lt;br /&gt;
  '505_version_unsupported'&lt;br /&gt;
  '513_message_too_large'&lt;br /&gt;
  '600_busy_everywhere'&lt;br /&gt;
  '603_decline'&lt;br /&gt;
  '604_not_exist_anywhere'&lt;br /&gt;
  '606_not_acceptable'&lt;br /&gt;
&lt;br /&gt;
== Nap status  ==&lt;br /&gt;
&lt;br /&gt;
All the status fields of the NAPs are provided for use by the routing scripts. See the nap status provider for more details on which fields are available in the CEngineStatTransNap.hpp file. &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  Routing script call attribute name    Description&lt;br /&gt;
  --------------------------------------------------------------------------------------------&lt;br /&gt;
  &amp;quot;signaling_type&amp;quot;                      Signaling type (SS7, ISDN, CASR2, SIP)&lt;br /&gt;
  &amp;quot;inst_incoming_call_cnt&amp;quot;              Instantaneous Count of incoming calls.&lt;br /&gt;
  &amp;quot;inst_outgoing_call_cnt&amp;quot;              Instantaneous Count of outgoing calls.&lt;br /&gt;
  &amp;quot;available_cnt&amp;quot;                       Number of available circuits or channels.&lt;br /&gt;
  &amp;quot;unavailable_cnt&amp;quot;                     Number of unavailable circuits or channels.&lt;br /&gt;
  &amp;quot;availability_percent&amp;quot;                Percentage of available circuits or channels.&lt;br /&gt;
  &amp;quot;usage_percent&amp;quot;                       Percentage of used circuits or channels.&lt;br /&gt;
  &amp;quot;unused_shared_percent&amp;quot;               Percentage of used circuits or channels of this NAP available to make new calls with (taking into account shared with other NAPs)&lt;br /&gt;
  &amp;quot;total_incoming_call_cnt&amp;quot;             Total Count of incoming calls.&lt;br /&gt;
  &amp;quot;asr_statistics_struct&amp;quot;               Detailed Answer-Seizure Rate Statistics.&lt;br /&gt;
  &amp;quot;global_asr_percent&amp;quot;                  Global calculated ASR percentage.&lt;br /&gt;
  &amp;quot;total_outgoing_call_cnt&amp;quot;             Total Count of outgoing calls.&lt;br /&gt;
  &amp;quot;last_24h_asr_percent&amp;quot;                Last 24 hours calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_24h_outgoing_call_cnt&amp;quot;          Last 24 hours outgoing calls.&lt;br /&gt;
  &amp;quot;current_hour_asr_percent&amp;quot;            Current hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;current_hour_outgoing_call_cnt&amp;quot;      Current hour outgoing calls.&lt;br /&gt;
  &amp;quot;last_hour_asr_percent&amp;quot;               Last hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_hour_outgoing_call_cnt&amp;quot;         Last hour outgoing calls.&lt;br /&gt;
  &amp;quot;availability_detection_struct&amp;quot;       Detailed availibility detection Statistics&lt;br /&gt;
  &amp;quot;poll_remote_proxy&amp;quot;                   Remote proxy polling enabled&lt;br /&gt;
  &amp;quot;is_available&amp;quot;                        Remote proxy actually available or not&lt;br /&gt;
  &amp;quot;time_since_polling&amp;quot;                  Time since the last availibility polling&lt;br /&gt;
  &amp;quot;time_available_seconds&amp;quot;              Number of seconds since the NAP is available&lt;br /&gt;
  &amp;quot;time_unavailable_seconds&amp;quot;            Number of seconds since the NAP is unavailable&lt;br /&gt;
  &amp;quot;registration_struct&amp;quot;                 Detailed registration Statistics&lt;br /&gt;
  &amp;quot;register_to_proxy&amp;quot;                   Register to proxy enabled&lt;br /&gt;
  &amp;quot;registered&amp;quot;                          Actually registered or not&lt;br /&gt;
  &amp;quot;time_since_refresh&amp;quot;                  Time since the last refresh&lt;br /&gt;
  &amp;quot;time_registered_seconds&amp;quot;             Number of seconds since the NAP is registered&lt;br /&gt;
  &amp;quot;time_not_registered_seconds&amp;quot;         Number of seconds since the NAP is not registered&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; If the nap status is part of a substructure, it's name in the routing scripts must be composed of the structure name appended by an underscore and the field name. &lt;br /&gt;
&lt;br /&gt;
For example the name to use for the global [[ASR]] percentage is: &lt;br /&gt;
&lt;br /&gt;
  asr_statistics_struct_global_asr_percent&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; It is also possible to add dynamic nap attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Routing Script Tests ==&lt;br /&gt;
The Web portal features a tool for Testing Scripts. The user must enter parameters to simulate the incoming call and after pressing the Test button, will output selected routes and numbers.  You do not need to activate the new routes, or the new scripts to use this test tool: It can be used to test the routing scripts and routing table before activating it.&lt;br /&gt;
This is available in the Routing Scripts section of the Web portal.&lt;br /&gt;
&lt;br /&gt;
=== Test parameters ===&lt;br /&gt;
==== @call_params  ====&lt;br /&gt;
&lt;br /&gt;
That variable should contain a hash of call parameters that will passed to the routing script. This is equivalent to the incoming call parameters. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @nap_list  ====&lt;br /&gt;
&lt;br /&gt;
A list of hash containing the nap statuses. This is equivalent to the nap statuses at the time the call is to be routed. &lt;br /&gt;
&lt;br /&gt;
'''The nap list is hashed by the nap names in UPPERCASE.''' It is important to consider this when creating new dynamic route or nap attributes that may nap names that will be used to fetch a status. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @params  ====&lt;br /&gt;
&lt;br /&gt;
A hash of hashes containing parameters. This hash contains bridge parameters and other kind of parameter groups may be added in the future. &lt;br /&gt;
&lt;br /&gt;
Example: @params = {:bridge =&amp;gt; {:announcement_tone, &amp;quot;announcement.wav&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide</id>
		<title>Routing script tutorial:Mini Development Guide</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide"/>
				<updated>2015-10-16T12:26:50Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added missing SIP reason causes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Call object  ==&lt;br /&gt;
&lt;br /&gt;
=== Get  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to get the call parameters. The possible parameters are described in the section &amp;quot;Call parameters&amp;quot; &lt;br /&gt;
&lt;br /&gt;
  called_number = caf_call.get&amp;amp;nbsp;:called&lt;br /&gt;
&lt;br /&gt;
=== List_params  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to retrieve the list of supported call parameters. For example to extract all the possible call params from the the call object and put it in hash. &lt;br /&gt;
&lt;br /&gt;
  caf_call.list_params.each {|param| call[param] = caf_call.get param }&lt;br /&gt;
&lt;br /&gt;
=== Accept  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to accept a call.  It actually creates one outgoing route that gateway application will use to bridge the incoming call leg.  If more than one outgoing route is &amp;quot;accepted&amp;quot;, gateway will try them one by one in the same order they were accepted.   If an outgoing call leg fails (according to 'route retry' parameters), the next route in line will be used.  &lt;br /&gt;
&lt;br /&gt;
This method takes 2 arguments, the call parameters (hash) and the route parameters (hash).  Note that calling this method does NOT stop the flow of the script.&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules &lt;br /&gt;
&lt;br /&gt;
  caf_call.accept out_call, route&lt;br /&gt;
&lt;br /&gt;
=== Refuse  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to set the reason code for the incoming call leg refusal.  However, this function does NOT stop the flow of the script. &lt;br /&gt;
&lt;br /&gt;
  caf_call.refuse&amp;amp;nbsp;:reason =&amp;amp;gt;&amp;amp;nbsp;:temporary_failure&lt;br /&gt;
&lt;br /&gt;
To immediately refuse the incoming call leg and stop processing the script, the script must raise an exception.  Exiting the script by raising the exception overwrites any reason cause previously stored using refuse().&lt;br /&gt;
&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
The supported refusal cause values for both refuse() and raise() are described in the section &amp;quot;[[Routing_script_tutorial:Mini_Development_Guide#Reason_values|Reason values]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script parameters protocol mapping  ===&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object. For example&lt;br /&gt;
&lt;br /&gt;
  called_number = call[:called]&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 921px; height: 805px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Script parameter name''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''ISDN&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''R2 CAS'''&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SS7&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SIP&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Comment&amp;lt;br&amp;gt;'''&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Toolpack version&amp;lt;br&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| leg_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Leg ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| session_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Session ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| ANI (Group B)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address signals (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - nature of address indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - numbering plan indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used&amp;amp;nbsp;(when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information&amp;lt;br&amp;gt; &lt;br /&gt;
Q931: 'Facility CNAM' IE when presentation is allowed for DMS/NI2 variants&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - display information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information (present and/or first byte)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - present or not&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - display-name (displays 'anonymous' or not) &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - privacy&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_screening&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Remote-party-id - screen&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_category&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Call party category (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party's category' IE - calling party's category&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - cpc &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - cpc&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber &lt;br /&gt;
(Generic Number / NDS)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Number digits &amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - Number digits&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'support 2 calling number IE' in the profile.  This variable has priority over 'private_address' in the outgoing direction.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Facility CNAM' IE when presentation is restricted for DMS/NI2 variants&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display_type &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Indicate presence or not of the private calling information&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_address&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| DNIS (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - user-info and host&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_npi&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default redirecting number and original called number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number'&amp;amp;nbsp;1st IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp;(2nd header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirection counter&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number &lt;br /&gt;
(OCN) &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp; (1st header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - original redirection reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:RequestURI - rn&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| oli&lt;br /&gt;
(Originating line information) &amp;lt;br&amp;gt; &lt;br /&gt;
| 5ESS Codeset 6 OLI - Value&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Originating line information' IE - OLI&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - oli &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - oli&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Complete Request URI string&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default URI&amp;amp;nbsp;forwarding behavior from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_header&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Any header&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'Forward custom headers' in Profiles-&amp;gt;SIP &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7.63&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| nap&lt;br /&gt;
(Network Access Point) &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg NAP name (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| type_of_network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| SIP: Request-Line - cic&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification_plan&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default location number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| A script needs to set this to true if it wants to overwrite MLPP information in the outgoing leg.  Otherwise, profile relay 'outgoing mode' applies automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_look_for_busy &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - look ahead for busy&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_precedence_level &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - precedence level&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Resource-Priority - q735&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_network_identity &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - network identity&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_service_domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - MLPP service domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub parameter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub-encoding parameter&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Callinf party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub-encoding&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default forward call indicator (FCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite FCI bits A, D, F, I and M with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_fci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_fci_default which corresponding bit in ss7_fci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default backward call indicator (BCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite BCI bits AB, I, K, M and N with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_bci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_bci_default which corresponding bit in ss7_bci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_ls_name&lt;br /&gt;
(Line Service or T1/E1 trunk) &amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_timeslot_nb&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_cot_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Requests SS7 in-call continuity test for this outgoing SS7 call&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will request continuity test on the timeslot before making the outgoing call. If COT fails, the call will be dropped (then another route may be attempted)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg Reverse charging indication IE present&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| If set in routing script, will add Reverse charging indication IE in outgoing leg (also use reverse_charging_indication_forward_enabled)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication_forward_enabled&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Enable forwarding of reverse charging indication from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' All values are documented in the '''noa_npi_remap.rb''' script and may change between major release.&lt;br /&gt;
&lt;br /&gt;
=== Noa values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number (0x4)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number (0x3)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_specific (0x5)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_national_format (0x7)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_international_format (0x8)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;abbreviated_number (0x6)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number_operator_requested (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_operator_requested (0x72)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_operator_requested (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_operator_requested (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier (0x75)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;test_line_test_code (0x77)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_subscriber_number (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_national_number (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_international_number (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_950_numbe (0x76)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;special_number (0x73)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_with_transit_network_selection (0x74)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_with_transit_network_selection (0x75)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific NOA value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 112&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Npi values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;isdn&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telephony&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;private&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telex&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display Type values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is unspecified. &lt;br /&gt;
*&amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is 0xB1.&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific Display Information Type value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 177&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display value  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display] = &amp;quot;Roger Fluffy&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Presentation values for Calling number, Calling Subscriber (Generic Number), Redirecting Number, Original Called Number (OCN) and Location Number ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_available (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;addr_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;name_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Party Category  ===&lt;br /&gt;
values for calling_category&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_french&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x1)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_english&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_german&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_russian&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x4)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_spanish&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x5)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_with_priority&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xb)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xc)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xd)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;payphone&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xf)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Screening values for Calling number, Calling Subscriber (Generic Number), and Location Number  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;pass (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;fail (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_provided (0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting indicator values  ===&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;no_redirection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;spare&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting number, Original Called Number and Diversion Reason ===&lt;br /&gt;
&lt;br /&gt;
ISDN: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;dte_out_of_order&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;forwarding_by_called_dte&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy      (SIP: user-busy)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply  (SIP: no-answer)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection_immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;mobile_not_reachable&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OLI (originating line information) values  ===&lt;br /&gt;
&lt;br /&gt;
The OLI parameter is a string that represents an integer value from 0 to 255. &lt;br /&gt;
&lt;br /&gt;
=== Information Transfer Capability values  ===&lt;br /&gt;
&lt;br /&gt;
information_transfer_capability: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted_digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;digital_with_tones&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;speech&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;3_1_khz_audio&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== redirecting_number_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of redirecting number (SIP: diversion header) to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &lt;br /&gt;
*0/false: Redirecting number (and original called number) is not forwarded to outgoing call leg&lt;br /&gt;
*1/true: Redirecting number (and original called number) is forwarded to outgoing call leg&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward redirecting number&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
Note: To &amp;quot;insert&amp;quot; a new redirecting number value on the outgoing leg, redirecting_number_forward_enabled must also be set to true.&lt;br /&gt;
&lt;br /&gt;
=== request_uri  ===&lt;br /&gt;
&lt;br /&gt;
Enables access to the Request-Line URI.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, if the Request-Line is: &lt;br /&gt;
&amp;lt;pre&amp;gt;Request-Line: INVITE sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;lt;/pre&amp;gt; &lt;br /&gt;
Then the retrieved request_uri will be &amp;quot;sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;quot;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In the routing scripts, to retrieve only the called number, this script can be used:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;    if call_params[:request_uri] &amp;amp;amp;&amp;amp;amp; call_params[:request_uri] =~ /sip:(.*)@.*/&lt;br /&gt;
       call_params[:called] = $1&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
=== request_uri_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of request uri to outgoing call leg.The request uri is the information in the &amp;quot;Request-Line:&amp;quot; of the SIP INVITE message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 0/false: Request uri is not forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 1/true: Request uri is forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script is always false. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sip_header values  ===&lt;br /&gt;
Contains a hash table of custom sip headers from the inbound call leg. Any custom sip header can be added to an outgoing call leg:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;call[ :sip_header ] = {&amp;quot;P-my-custom-header&amp;quot;=&amp;gt;&amp;quot;value1&amp;quot;, &amp;quot;P-my-custom-header2&amp;quot;=&amp;gt;&amp;quot;value2&amp;quot;, &amp;quot;P-my-custom-header3&amp;quot;=&amp;gt;&amp;quot;value3&amp;quot;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PCAP sample: [[File:TB_Custom_SIP_Headers.pcap]]&lt;br /&gt;
&lt;br /&gt;
List of sip headers that will not appear in call[:sip_header] since they are already processed by the SIP stack:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept               Error-Info             Remote-Party-ID      &lt;br /&gt;
Accept-Contact       Event                  Replaces                        &lt;br /&gt;
Accept-Encoding      Expires                Reply-To               &lt;br /&gt;
Accept-Language      From                   Request-Disposition    &lt;br /&gt;
Alert-Info           In-Reply-To            Subject          &lt;br /&gt;
Allow                Max-Forwards           Subscription-State  &lt;br /&gt;
Allow-Events         MIME-version           Supported           &lt;br /&gt;
Also                 Min-Expires            Timestamp           &lt;br /&gt;
Anonymity            Min-SE                 To             &lt;br /&gt;
Authorization        Organization           Unsupported  &lt;br /&gt;
Authentication-Info  Path                   User-Agent  &lt;br /&gt;
Call-ID              Priority               Via  &lt;br /&gt;
Call-Info            Privacy                Warning  &lt;br /&gt;
Contact              Proxy-Authenticate     WWW-Authenticate  &lt;br /&gt;
Content-Disposition  Proxy-Authorization    Require  &lt;br /&gt;
Content-Encoding     Proxy-Require          Response-Key  &lt;br /&gt;
Content-Language     P-Media-Authorization  Retry-After  &lt;br /&gt;
Content-Length       P-Preferred-Identity   RPID-Privacy  &lt;br /&gt;
Content-Type         P-Asserted-Identity    Route  &lt;br /&gt;
CSeq                 RAck                   RSeq  &lt;br /&gt;
RAck                 Reason                 Security-Client  &lt;br /&gt;
Reason               Record-Route           Security-Server  &lt;br /&gt;
Date                 Refer-To               Security-Verify&lt;br /&gt;
Diversion            Referred-By            Server&lt;br /&gt;
Encryption           Reject-Contact         Service-Route             &lt;br /&gt;
                                            Session-Expires&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MLPP Precedence values  ===&lt;br /&gt;
&lt;br /&gt;
mlpp_look_for_busy: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;path_reserved&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_precedence_level: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;flash_override&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;flash&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;priority&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;routine&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_network_identity:&lt;br /&gt;
&lt;br /&gt;
3 digits value from 0 to 999&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_service_domain:&lt;br /&gt;
&lt;br /&gt;
24 bits value from 0 to 16777215&lt;br /&gt;
&lt;br /&gt;
=== ISUB subaddress information values  ===&lt;br /&gt;
&lt;br /&gt;
called_isub_type: &lt;br /&gt;
calling_isub_type: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_ia5&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_bcd&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
called_isub: &lt;br /&gt;
calling_isub: &lt;br /&gt;
&lt;br /&gt;
Digits for the subaddress information.&lt;br /&gt;
&lt;br /&gt;
== Route parameters  ==&lt;br /&gt;
&lt;br /&gt;
All route may have these parameters: &lt;br /&gt;
&lt;br /&gt;
*calling &lt;br /&gt;
*called &lt;br /&gt;
*nap &lt;br /&gt;
*remapped_calling &lt;br /&gt;
*remapped_called &lt;br /&gt;
*remapped_nap &lt;br /&gt;
*remapped_profile&lt;br /&gt;
*remapped_incoming_profile&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  route[:remapped_nap]&lt;br /&gt;
&lt;br /&gt;
Additionally it is possible to add dynamic route attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Playing prompts announcements or tones  ==&lt;br /&gt;
&lt;br /&gt;
New feature in release 2.6, all bridges may have these parameters. These can be used to play IVR prompts (audio files) in different states of the call flow.&lt;br /&gt;
&lt;br /&gt;
*'''announcement_tone''' (played before outgoing call is routed)&lt;br /&gt;
*'''ring_tone''' (played after when waiting for outgoing call to answer)&lt;br /&gt;
*'''busy_tone''' (played if outgoing call failed)&lt;br /&gt;
*'''disconnect_tone''' (played after the call has reached it's maximum duration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following sections show how to access those different parameters from '''inside''' a filter.  The 'params' hash is the sole argument passed to a filter function and contains call, nap, route and bridge parameters.   This hash is created by the base_routing.rb scripts to regroup all relevant information just before calling the filter functions.&lt;br /&gt;
&lt;br /&gt;
=== Tone string format  ===&lt;br /&gt;
&lt;br /&gt;
All tone strings (:announcement_tone,&amp;amp;nbsp;:busy_tone,&amp;amp;nbsp;:ring_tone,&amp;amp;nbsp;:disconnect_tone) inside bridge parameters are using this format. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;file1.wav:repeat:start_off:end_off,file2.wav:repeat:start_off:end_off,file3.wav:repeat:start_off:end_off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Optional parameters:&lt;br /&gt;
* repeat: number of times to play the file (0 and 1 have the same result)&lt;br /&gt;
* start_off: Start offset in milliseconds&lt;br /&gt;
* end_off: End offset in milliseconds&lt;br /&gt;
&lt;br /&gt;
Http and other path formats are described here: [[Customer_application_framework:play_audio_files#Play_path_format|Path format]]&lt;br /&gt;
&lt;br /&gt;
==== Example 1 ====&lt;br /&gt;
The following example will play file1.wav once, and then play file2.wav in loop: &lt;br /&gt;
  &amp;quot;file1.wav,file2.wav:-1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 2 ====&lt;br /&gt;
The following example will play file1.wav from start offset of 1 second to end offset of 3 seconds, then twice file2.wav from second 5 to second 10.&lt;br /&gt;
  &amp;quot;file1.wav:0:1000:3000,file2.wav:2:5000:10000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 3 ====&lt;br /&gt;
The following example will play file1.wav once, ending at offset of 30 seconds.&lt;br /&gt;
  &amp;quot;file1.wav:0:0:30000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== announcement_tone  ===&lt;br /&gt;
&lt;br /&gt;
  params[:bridge][:announcement_tone] = &amp;quot;announcement.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call before any outgoing call is placed. The outgoing call occurs when the file finished playing.&lt;br /&gt;
&lt;br /&gt;
==== announcement_tone options ====&lt;br /&gt;
===== announcement_tone_answer =====&lt;br /&gt;
  params[:bridge][:announcement_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the announcement. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
===== announcement_code_detect =====&lt;br /&gt;
This option allows to enable tone detection during the announcement play.&lt;br /&gt;
&lt;br /&gt;
Collected digits can be inserted into the CDR logs (radius attribute &amp;quot;Telcob-CollectedDigits&amp;quot;, or text CDR variable @{CollectedDigits}).&lt;br /&gt;
&lt;br /&gt;
Collected digits can also be sent back to routing script, which is called again with the same call attributes, except that the called number is replaced by the collected digits.&lt;br /&gt;
&lt;br /&gt;
Code detect has multiple options, as shown in the following code:&lt;br /&gt;
  code_detect = {&lt;br /&gt;
    :type                   =&amp;gt; :DTMF,   # :DTMF or :MFR1 tone detection.&lt;br /&gt;
                                        # Default is MFR1.&lt;br /&gt;
    :prefix                 =&amp;gt; &amp;quot;&amp;quot;,      # Prefix (digits) that is removed from collected digits.&lt;br /&gt;
                                        # Default is empty.&lt;br /&gt;
    :suffix                 =&amp;gt; &amp;quot;&amp;quot;,      # Suffix (digits) that is removed from collected digits&lt;br /&gt;
                                        # and causes routing script to be immediately called.&lt;br /&gt;
                                        # Default is empty.&lt;br /&gt;
    :suffix_removal         =&amp;gt; false,   # Controls the removal of the suffix from the collected digit string that's reported to routing script.&lt;br /&gt;
                                        # Default is false&lt;br /&gt;
    :timeout                =&amp;gt; 0,       # Inter-digit timeout (ms) after which collected digits are passed to the routing script.&lt;br /&gt;
                                        # Use 0 for &amp;quot;no timeout&amp;quot;.&lt;br /&gt;
                                        # Default is 1000ms&lt;br /&gt;
    :barge_in_interruption  =&amp;gt; true,    # When enabled, playing announcement is stopped as soon as first digit is collected.&lt;br /&gt;
                                        # Default is true.&lt;br /&gt;
    :proceed_on_play_done   =&amp;gt; false,   # When true:  Outgoing call is made after announcement finishes playing.&lt;br /&gt;
                                        #             Routing script is not called again.&lt;br /&gt;
                                        # When false: Outgoing call is never made.&lt;br /&gt;
                                        #             Digits are collected until timeout or suffix match,&lt;br /&gt;
                                        #             then routing script is called again.&lt;br /&gt;
                                        # Default is false.&lt;br /&gt;
    :cas_on_hook            =&amp;gt; false,   # Specific for CAS-R1 calls. Makes CAS bits switch to &amp;quot;on-hook&amp;quot; when announcement finished playing&lt;br /&gt;
                                        # (but the call is not &amp;quot;terminated&amp;quot; from Toolpack point of view)&lt;br /&gt;
                                        # Default is false.&lt;br /&gt;
    :cas_on_hook_delay      =&amp;gt; 0,       # Duration of cas bits &amp;quot;on-hook&amp;quot; state.&lt;br /&gt;
                                        # Only effective if cas_on_hook is set to true.&lt;br /&gt;
                                        # Value of 0 stands for &amp;quot;infinite delay&amp;quot;.&lt;br /&gt;
                                        # Default is 0.&lt;br /&gt;
    :repeat_delay           =&amp;gt; 0,       # Delay between repetition of the announcement. The announcement will repeat&lt;br /&gt;
                                        # itself every &amp;quot;repeat_delay&amp;quot; until a code is detected (suffix match or timetout).&lt;br /&gt;
                                        # Value of 0 stands for &amp;quot;infinite delay&amp;quot; (no repeating).&lt;br /&gt;
                                        # Default is 0.&lt;br /&gt;
  }&lt;br /&gt;
'''Example 1''': Collect DTMF digits, and call routing script again with collected digits upon timeout or suffix match.&lt;br /&gt;
  code_detect = { :type =&amp;gt; :DTMF, :suffix =&amp;gt; &amp;quot;#&amp;quot;, :timeout =&amp;gt; 5000 }&lt;br /&gt;
  params[:bridge][:announcement_code_detect] = code_detect&lt;br /&gt;
&lt;br /&gt;
'''Example 2''': Collect digits during the announcement (for CDR logs), then proceed (make outgoing call) after announcement finishes playing&lt;br /&gt;
  code_detect = { :type =&amp;gt; :DTMF, :timeout =&amp;gt; 0, :barge_in_interruption =&amp;gt; false, :proceed_on_play_done =&amp;gt; true }&lt;br /&gt;
  params[:bridge][:announcement_code_detect] = code_detect&lt;br /&gt;
&lt;br /&gt;
=== ring_tone  ===&lt;br /&gt;
  params[:bridge][:ring_tone] = &amp;quot;ringing.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call while waiting for the outgoing call to be answered.&lt;br /&gt;
&lt;br /&gt;
Ring tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:ring_tone] will override the profile's ring tone behavior).&lt;br /&gt;
&lt;br /&gt;
==== ring_tone options ====&lt;br /&gt;
===== ring_tone_state =====&lt;br /&gt;
  params[:bridge][:ring_tone_state] = :alerted&lt;br /&gt;
&lt;br /&gt;
Call state from which ring tone is being played. Available values are:&lt;br /&gt;
* '''immediately''':  Ring tone starts playing immediately on the incoming leg&lt;br /&gt;
* '''accepted''':     Ring tone starts playing as soon as outgoing call is accepted&lt;br /&gt;
* '''callprogress''': Ring tone starts playing as soon as &amp;quot;call progress&amp;quot; is received on the outgoing call&lt;br /&gt;
* '''alerted''' (default):      Ring tone starts playing only once outgoing call is alerted (but won't play if alert indicates early media from outgoing call)&lt;br /&gt;
&lt;br /&gt;
This option also apply when params[:bridge][:ring_tone] is not used, because it also apply to ring tone playback configured in the Web Portal, from the incoming call's profile.&lt;br /&gt;
&lt;br /&gt;
=== busy_tone  ===&lt;br /&gt;
  Toolpack 2.8 and above:&lt;br /&gt;
    params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Note: Obsolete name (toolpack 2.7.153 and earlier, but still supported in recent releases):&lt;br /&gt;
    params[:bridge][:call_progress_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when outgoing call fails (never answered).&lt;br /&gt;
&lt;br /&gt;
Note that announcement_tone, if used, is played before the outgoing call attempt is made, and thus before the busy_tone.&lt;br /&gt;
&lt;br /&gt;
Busy tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:busy_tone] will override the profile's busy tone behavior).&lt;br /&gt;
&lt;br /&gt;
Special value '''&amp;quot;none&amp;quot;''' can be used by routing script to force playing nothing (as empty string would default to profile's behavior)&lt;br /&gt;
&lt;br /&gt;
==== busy_tone options ====&lt;br /&gt;
===== busy_tone_answer =====&lt;br /&gt;
  params[:bridge][:busy_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the busy tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
=== disconnect_tone  ===&lt;br /&gt;
  params[:bridge][:disconnect_tone] = &amp;quot;max_duration.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when call duration (:max_call_duration) is reached. Then the leg will be terminated with specified reason (:call_duration_reason).&lt;br /&gt;
&lt;br /&gt;
==== disconnect_tone options ====&lt;br /&gt;
===== disconnect_tone_answer =====&lt;br /&gt;
  params[:bridge][:disconnect_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the disconnect tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
===== max_call_duration  =====&lt;br /&gt;
  params[:bridge][:max_call_duration] = &amp;quot;60000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Maximum call duration in millisecond. This timer is started when entering answer state.&lt;br /&gt;
&lt;br /&gt;
===== call_duration_reason  =====&lt;br /&gt;
  params[:bridge][:call_duration_reason] =&amp;amp;nbsp;:resource_unavailable &lt;br /&gt;
&lt;br /&gt;
Drop both legs with this reason when call duration (:max_call_duration) is reached. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts through Web Portal ===&lt;br /&gt;
Audio prompts can be uploaded or deleted from the TMedia unit through the Web Portal:&lt;br /&gt;
[[Toolpack:Configuring_Audio_Prompts_A|Managing audio prompts]]&lt;br /&gt;
&lt;br /&gt;
Prompts management must be done using the Web Portal of the primary server (in systems with redundant TMedia units or redundant host servers).&lt;br /&gt;
The file will automatically get replicated to the secondary server.&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts manually ===&lt;br /&gt;
Any file on the TMedia host file system can be played. This means it's possible to manage prompts through ssh/scp.&lt;br /&gt;
&lt;br /&gt;
==== The default (replicated) prompts folder ====&lt;br /&gt;
By default, when playing a prompt, Toolpack will look in the default prompts folder:&lt;br /&gt;
 /lib/tb/toolpack/pkg/prompts&lt;br /&gt;
The root of this &amp;quot;prompts&amp;quot; directory is automatically replicated to secondary unit of redundant setups (1+1, N+1, redundant hosts). Sub-folders won't be replicated.&lt;br /&gt;
&lt;br /&gt;
Any prompt play request without explicit file path will map to this folder. For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/pkg/prompts/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Relative file paths ====&lt;br /&gt;
Any file path that begins with &amp;quot;file://&amp;quot; is considered relative to the tbstreamserver application's working directory:&lt;br /&gt;
 /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/&lt;br /&gt;
(Where &amp;quot;2.8&amp;quot; may be replaced by the current major version of your system)&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file://my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Absolute file paths ====&lt;br /&gt;
Absolute paths can also be provided.&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file:///root/my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /root/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
== Recording call legs  ==&lt;br /&gt;
Introduced in release 2.6.44, it's now possible to use routing scripts to ask for recording incoming and/or outgoing call legs.&lt;br /&gt;
&lt;br /&gt;
See example filter script &amp;quot;call_recording&amp;quot; (created by default in Web Portal routing scripts starting with 2.6.44) for an example.&lt;br /&gt;
&lt;br /&gt;
=== Recording the incoming call leg  ===&lt;br /&gt;
To record the incoming call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter:&lt;br /&gt;
&lt;br /&gt;
  bridge[ :record_incoming ]  = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Recording the outgoing call leg  ===&lt;br /&gt;
To record the outgoing call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter, per route (the decision to record or not, or the file name to record to, can be set per matching route):&lt;br /&gt;
&lt;br /&gt;
  # Need to clone the routes in order to have the right to modify them&lt;br /&gt;
  routes = clone_routes params[:routes]&lt;br /&gt;
  routes.each do |route|&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
  # Store modified routes back to the parameters for this outgoing call&lt;br /&gt;
  params[:routes] = routes&lt;br /&gt;
&lt;br /&gt;
=== Record the outgoing call leg within incoming leg's recorded file (mixing)  ===&lt;br /&gt;
  [...]&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;@{MixWithIncoming}&amp;quot;&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
=== Choosing file path to record to  ===&lt;br /&gt;
The value assigned to &amp;quot;:record_incoming&amp;quot; or &amp;quot;:record_outgoing&amp;quot; is the path to record the file to.&lt;br /&gt;
&lt;br /&gt;
The paths can be absolute, or relative. When relative, they are relative to the &amp;quot;tbstreamserver&amp;quot; application working directory, for example:&lt;br /&gt;
  /lib/tb/toolpack/setup/12358/2.7/apps/tbstreamserver/&lt;br /&gt;
&lt;br /&gt;
* Empty file name will default to a name that contains various information about the call:&lt;br /&gt;
** ''LinkId'':     Id common between all legs of this call bridge&lt;br /&gt;
** ''LegId'':      Unique Id for this leg&lt;br /&gt;
** ''Nap'':        Current NAP name this call leg is from&lt;br /&gt;
** ''Direction'':  &amp;quot;IN&amp;quot; or &amp;quot;OUT&amp;quot; (depends if call leg is incoming or outgoing leg)&lt;br /&gt;
** ''Calling'':    The calling number of this call leg&lt;br /&gt;
** ''Called'':     The called number of this call leg&lt;br /&gt;
** ''Protocol'':   The signaling protocol of this call leg (SS7, ISDN, CAS, SIP)&lt;br /&gt;
** ''Media info'': Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls&lt;br /&gt;
* To record outgoing call leg in the same audio file as incoming call leg (mixing), use the following:&lt;br /&gt;
** @{MixWithIncoming}: Record outgoing legs in same file as incoming legs&lt;br /&gt;
* Variables can be used to insert in the recording path information that's not already available from routing scripts:&lt;br /&gt;
** @{CURRENT_PKG}: Version of current package&lt;br /&gt;
*** Example: 2.6.45&lt;br /&gt;
** @{DATE format}: Prints the date, where 'format' is expressed as described for the 'strftime' function&lt;br /&gt;
*** Example: @{DATE %Y-%m-%d} =&amp;gt; 2013-01-28&lt;br /&gt;
** @{DefaultName}: Replaced by the default file name for recording, which contains:&lt;br /&gt;
*** LinkId:     Id common between all legs of this call bridge&lt;br /&gt;
*** LegId:      Unique Id for this leg&lt;br /&gt;
*** Nap:        Current NAP name this call leg is from&lt;br /&gt;
*** Direction:  &amp;quot;IN&amp;quot; or &amp;quot;OUT&amp;quot; (depends if call leg is incoming or outgoing leg)&lt;br /&gt;
*** Calling:    Calling number&lt;br /&gt;
*** Called:     Called number&lt;br /&gt;
*** Protocol:   Protocol type of this call (SS7, ISDN, CASR2, SIP)&lt;br /&gt;
*** Media info: Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls&lt;br /&gt;
*** Example: &amp;quot;73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{DefaultPath}:  Default recording folder and file name: &amp;quot;@{RECORD_PATH}/@{DATE %Y-%m-%d}/@{DefaultName}&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{Direction}: Direction of current leg (IN our OUT)&lt;br /&gt;
*** Example: IN&lt;br /&gt;
** @{LegId}: Current LegId (Unique Id for this leg)&lt;br /&gt;
*** Example: F3D67B4B&lt;br /&gt;
** @{LinkId}: Current LinkId (Id common between all legs of this call bridge)&lt;br /&gt;
*** Example: 73EBA698&lt;br /&gt;
** @{PKG_HOME}: Path where packages are stored.&lt;br /&gt;
*** Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.&lt;br /&gt;
*** Example: /lib/tb/toolpack/pkg&lt;br /&gt;
** @{PROMPT_PATH}: Default path where audio prompts are stored&lt;br /&gt;
*** Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.&lt;br /&gt;
*** Example: /lib/tb/toolpack/pkg/prompts&lt;br /&gt;
** @{Protocol}: Protocol of current leg&lt;br /&gt;
*** Example: SS7&lt;br /&gt;
** @{RECORD_PATH}: Default recording folder: &amp;quot;@{TB_SETUP_HOME}/recorded_calls/&amp;quot;&lt;br /&gt;
** @{TBX_GW_PORT}: Current &amp;quot;System Id&amp;quot; (also called &amp;quot;Gateway Port&amp;quot;)&lt;br /&gt;
*** Example: 12358&lt;br /&gt;
** And all variables listed here: [[Customer_application_framework:play_audio_files#Helpful_variables_to_build_play_or_record_file_paths|Building play or record file path]]&lt;br /&gt;
&lt;br /&gt;
== Controlling UUI (user-to-user information) relay  ==&lt;br /&gt;
UUI (user-to-user information) can be present in different messages received by either call leg during a call. For example, information can be carried during the initial invite, other information can be carried when the call is alerted, answered, or terminated.&lt;br /&gt;
&lt;br /&gt;
Routing scripts can control if the UUI received from one leg through the call will be forwarded or not to the other call leg:&lt;br /&gt;
*uui_forward_enabled&lt;br /&gt;
&lt;br /&gt;
Routing scripts can also read and modify the UUI received with the incoming call leg, before it gets forwarded upon creation of the outgoing call leg:&lt;br /&gt;
*uui &lt;br /&gt;
&lt;br /&gt;
=== UUI (user-to-user indication) values  ===&lt;br /&gt;
&lt;br /&gt;
Byte array represented as ruby String. Use ''bridge=params[:bridge]'', then ''bridge[:uui]'' to access the data.&lt;br /&gt;
&lt;br /&gt;
To access the bytes in Ruby, use ruby String operator []. For example:  bridge[:uui][0] will return the binary value of the first UUI byte.&lt;br /&gt;
&lt;br /&gt;
Function each_byte can also be useful to iterate through all bytes of the UUI.&lt;br /&gt;
&lt;br /&gt;
=== uui_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of UUI to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true.&lt;br /&gt;
* 0/false: UUI is not forwarded between call legs&lt;br /&gt;
* 1/true: UUI is forwarded between call legs&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward UUI&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
== Authorization ==&lt;br /&gt;
Starting with release 2.7, it is possible to issue RADIUS authorization requests from routing scripts. To do so, the params[:authorization] object must be filled with the required RADIUS attributes and [[#Refuse|an exception must be raised]] with reason :authorization_required.&lt;br /&gt;
&lt;br /&gt;
When the authorization is completed, the routing script is called again with the result. The params[:authorization] object will be filled with the RADIUS attributes from the response. The params[:authorization][:result] field will also contain a string indicating the result of the authorization:&lt;br /&gt;
&lt;br /&gt;
* ''accept'': The authorization was successful.&lt;br /&gt;
* ''reject'': The authorization was refused.&lt;br /&gt;
* ''challenge'': The authorization was challenged.&lt;br /&gt;
* ''timeout'': The authorization was not answered.&lt;br /&gt;
&lt;br /&gt;
== Call diversion options ==&lt;br /&gt;
It's possible to control the call flow when a call diversion information is received in the alerting state.&lt;br /&gt;
&lt;br /&gt;
Two fields are available: bridge[ :diversion ] and bridge[ :diversion_reason ]&lt;br /&gt;
&lt;br /&gt;
The internal release cause TOOLPACK_DIVERT_NOT_ALLOWED is used by gateway application to terminate both legs.&lt;br /&gt;
&lt;br /&gt;
  bridge[ :diversion ] = :allowed&lt;br /&gt;
The alert message will not be analyzed and the call will be progressed. Default behavior.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed&lt;br /&gt;
If the alert message indicates that the call is diverted, the call will be released no matter the In-band information to allow&lt;br /&gt;
early media.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed_w_early_media&lt;br /&gt;
The call will be released If the alert message indicates that the call is diverted with in-band information to allow early media.&lt;br /&gt;
  bridge[ :diversion_reason ] = &amp;quot;*&amp;quot;&lt;br /&gt;
If the diversion is not allowed, the gateway will drop the call for any redirecting reason. &lt;br /&gt;
  bridge[ :diversion_reason ] = []&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :busy&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :unconditional&lt;br /&gt;
If the diversion is not allowed, the redirecting reason will be analyzed and the call will only be dropped for the configured cases.&lt;br /&gt;
&lt;br /&gt;
See section [[Routing_script_tutorial:Mini_Development_Guide#Redirecting_number_reason_values|Redirecting number reason values]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Call transfer requests ==&lt;br /&gt;
Toolpack allows to relay [[Call transfer]] requests from one leg to the other, or to process them locally (making another outgoing call to replace the call that requested the call transfer).&lt;br /&gt;
&lt;br /&gt;
If the chosen [[Call transfer]] mode is to process requests locally, upon reception of a call transfer request (SIP REFER or ISDN Facility), routing script will be called once again, to select the routes for the new outgoing call (call transfer target).&lt;br /&gt;
&lt;br /&gt;
=== How to route call transfer request ===&lt;br /&gt;
Routing of a call transfer request is done exactly like routing of a normal incoming call.&lt;br /&gt;
The routing script generally does not need any modification to support that.&lt;br /&gt;
&lt;br /&gt;
In some cases, the routing script may want to use information related to the transfer request to perform routing, or to insert information in the outgoing call leg.&lt;br /&gt;
Additional information is provided to the routing script, allowing routing decisions using information from the call transfer request (SIP REFER or ISDN Facility).&lt;br /&gt;
See below...&lt;br /&gt;
&lt;br /&gt;
=== params[ :call ] content during transfer request ===&lt;br /&gt;
When processing a call transfer request, the params[ :call ] hash contains the information from the inbound call (same as was passed to the routing script upon arrival of the inbound call)&lt;br /&gt;
 call = params[ :call ]          -&amp;gt; Information from original inbound call, with exception of call[ :called ]&lt;br /&gt;
&lt;br /&gt;
One exception (convenient because it allows a unmodified routing script to process call transfer request the same way as any other routing request):&lt;br /&gt;
 call[ :called ]                 -&amp;gt; Replaced by the called number from the call transfer request (also called &amp;quot;redirection number&amp;quot;)&lt;br /&gt;
Complementary information:&lt;br /&gt;
 call[ :original_called_number ] -&amp;gt; Contains the called number that was initially received from the incoming call, prior to call transfer request&lt;br /&gt;
 call[ :redirecting_number ]     -&amp;gt; Number of the call from which the call transfer request was received (generally equals to original_called_number)&lt;br /&gt;
&lt;br /&gt;
These fields will also be included in the outgoing call made after routing:&lt;br /&gt;
* original called number and redirecting number are existing fields on SS7 and ISDN calls&lt;br /&gt;
* SIP &amp;quot;diversion&amp;quot; header is used for SIP calls&lt;br /&gt;
&lt;br /&gt;
=== params[ :transfer ] content ===&lt;br /&gt;
(this if valid only for release 2.7.102 and above)&amp;lt;br&amp;gt;&lt;br /&gt;
When processing a call transfer request, information from the call transfer request message (SIP REFER, ISDN Facility) is provided in params[ :transfer ]:&lt;br /&gt;
  transfer = params[ :transfer ]&lt;br /&gt;
The following field is always present:&lt;br /&gt;
  transfer[ :original_nap ]      -&amp;gt; Contains the NAP of the first call from which a call transfer request was received&lt;br /&gt;
  transfer[ :redirecting_nap ]   -&amp;gt; Contains the NAP of the call from which the current call transfer request was received&lt;br /&gt;
                                    (same as :original_nap for the first call transfer, different for subsequent transfers)&lt;br /&gt;
Examples of other fields that may be present, when appropriate:&lt;br /&gt;
  transfer[ :uui ]               -&amp;gt; The UUI (user-to-user information) found in the call transfer request&lt;br /&gt;
  transfer[ :sip_header ]        -&amp;gt; Contains custom SIP headers from the call transfer request&lt;br /&gt;
  transfer[ :request_uri ]       -&amp;gt; Contains the SIP Request URI&lt;br /&gt;
&lt;br /&gt;
These field are 'read-only'. They won't be included in the outgoing call, as they represent the content of the call transfer request, not the outgoing call to make.&lt;br /&gt;
&lt;br /&gt;
To insert/modify attributes of the outgoing call, the parameters from params[ :call ] must be edited instead.&lt;br /&gt;
&lt;br /&gt;
== Redirection ==&lt;br /&gt;
In release 2.8, redirection contacts are obtained from the routing engine in the following format:&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt; contains the contact log. Each contact within the list has the following fields:&lt;br /&gt;
** &amp;lt;code&amp;gt;:called_number&amp;lt;/code&amp;gt; - the called number&lt;br /&gt;
** &amp;lt;code&amp;gt;:is_number_ported&amp;lt;/code&amp;gt; - if the called number has been ported&lt;br /&gt;
** &amp;lt;code&amp;gt;:ported_number&amp;lt;/code&amp;gt; - the called number that was ported (if available)&lt;br /&gt;
** &amp;lt;code&amp;gt;:sip_uri&amp;lt;/code&amp;gt; - the SIP URI of the contact (if available)&lt;br /&gt;
** &amp;lt;code&amp;gt;:raw_data&amp;lt;/code&amp;gt; - the raw data representing the contact in the signaling protocol&lt;br /&gt;
** &amp;lt;code&amp;gt;:priority&amp;lt;/code&amp;gt; - the priority of the contact [0-1000]&lt;br /&gt;
** &amp;lt;code&amp;gt;:expiration&amp;lt;/code&amp;gt; - the expiration time in seconds of the contact&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:index]&amp;lt;/code&amp;gt; contains the index of the contact that is currently being routed.&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:source_indexes]&amp;lt;/code&amp;gt; contains a comma-separated list of indexes from &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt;. Each index represents the contact from which the contact in the list was obtained from. For instance: &amp;lt;code&amp;gt;&amp;quot;nil,0,0,2&amp;quot;&amp;lt;/code&amp;gt; describes the following example contact hierarchy:&lt;br /&gt;
  * 1234 &amp;lt;sip:1234@test.com&amp;gt;&lt;br /&gt;
     |- 1234 &amp;lt;sip:1234@other.com&amp;gt;&lt;br /&gt;
     `- 5555 &amp;lt;sip:5555@test.com&amp;gt;&lt;br /&gt;
         `- 5555 &amp;lt;sip:5555@final.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Terminating calls ==&lt;br /&gt;
In release 2.8, it is now possible to terminate a call through the routing scripts. The [[#Reason values|reason code]] must be specified in &amp;lt;code&amp;gt;params[:bridge][:reason]&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt; hash must be created and copied into &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt;:&lt;br /&gt;
  terminate = {}&lt;br /&gt;
  params[:terminate] = terminate&lt;br /&gt;
The following fields can then be set in &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;:sip_header&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:contacts&amp;lt;/code&amp;gt; # list of contacts as described in the [[#Redirection|redirection]] section&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw_variant&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_indicator&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
Check here for Termination Reason Cause codes:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Termination_cause_codes|Termination Reason Cause codes]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example to refuse an incoming call leg.&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
Reason cause strings available inside routing scripts:&lt;br /&gt;
&lt;br /&gt;
List of Q.850 reason causes:&lt;br /&gt;
  :unallocated_number&lt;br /&gt;
  :no_route_to_network&lt;br /&gt;
  :no_route_to_destination&lt;br /&gt;
  :send_special_tone&lt;br /&gt;
  :misdialled_trunk_prefix&lt;br /&gt;
  :channel_unacceptable&lt;br /&gt;
  :call_awarded_in_established_channel&lt;br /&gt;
  :preemption&lt;br /&gt;
  :reattempt&lt;br /&gt;
  :ported_number&lt;br /&gt;
  :normal_call_clearing&lt;br /&gt;
  :user_busy&lt;br /&gt;
  :no_user_responding&lt;br /&gt;
  :no_answer_from_user&lt;br /&gt;
  :subscriber_absent&lt;br /&gt;
  :call_rejected&lt;br /&gt;
  :number_changed&lt;br /&gt;
  :redirection&lt;br /&gt;
  :exchange_routing_error&lt;br /&gt;
  :non_selected_user_clearing&lt;br /&gt;
  :destination_out_of_order&lt;br /&gt;
  :address_incomplete&lt;br /&gt;
  :facility_rejected&lt;br /&gt;
  :response_to_status_enquiry&lt;br /&gt;
  :normal_unspecified&lt;br /&gt;
  :no_circuit_available&lt;br /&gt;
  :network_out_of_order&lt;br /&gt;
  :frame_mode_out_of_service&lt;br /&gt;
  :frame_mode_connection_operational&lt;br /&gt;
  :temporary_failure&lt;br /&gt;
  :switching_equipment_congestion&lt;br /&gt;
  :access_information_discarded&lt;br /&gt;
  :requested_circuit_not_available&lt;br /&gt;
  :precedence_call_blocked&lt;br /&gt;
  :resource_unavailable&lt;br /&gt;
  :quality_of_service_not_available&lt;br /&gt;
  :requested_facility_not_subscribed&lt;br /&gt;
  :outgoing_calls_barred&lt;br /&gt;
  :outgoing_calls_barred_within_cug&lt;br /&gt;
  :incoming_calls_barred&lt;br /&gt;
  :incoming_calls_barred_within_cug&lt;br /&gt;
  :bearer_cap_not_authorized&lt;br /&gt;
  :bearer_cap_not_available&lt;br /&gt;
  :inconsistency_access_info&lt;br /&gt;
  :service_not_available&lt;br /&gt;
  :bearer_cap_not_implemented&lt;br /&gt;
  :channel_type_not_implemented&lt;br /&gt;
  :requested_facility_not_implemented&lt;br /&gt;
  :only_restricted_digital_info&lt;br /&gt;
  :service_not_implemented&lt;br /&gt;
  :invalid_call_reference&lt;br /&gt;
  :channel_does_not_exist&lt;br /&gt;
  :call_identity_does_not_exist&lt;br /&gt;
  :call_identity_in_use&lt;br /&gt;
  :no_call_suspended&lt;br /&gt;
  :call_has_been_cleared&lt;br /&gt;
  :user_not_member_of_cug&lt;br /&gt;
  :incompatible_destination&lt;br /&gt;
  :non_existant_cug&lt;br /&gt;
  :invalid_transit_network&lt;br /&gt;
  :invalid_message_unspecified&lt;br /&gt;
  :mandatory_ie_missing&lt;br /&gt;
  :message_type_non_existent&lt;br /&gt;
  :not_compatible_with_call_state&lt;br /&gt;
  :ie_non_existent&lt;br /&gt;
  :invalid_ie_content&lt;br /&gt;
  :message_not_compatible&lt;br /&gt;
  :recovery_on_timer_expiry&lt;br /&gt;
  :parameter_non_existent_passed_on&lt;br /&gt;
  :msg_with_non_recognized_param_discarded&lt;br /&gt;
  :protocol_error&lt;br /&gt;
  :interworking_unspecified&lt;br /&gt;
&lt;br /&gt;
List of toolpack reason causes:&lt;br /&gt;
&lt;br /&gt;
  :toolpack_normal                       or :normal&lt;br /&gt;
  :toolpack_resource_error               or :resource_error&lt;br /&gt;
  :toolpack_timeout                      or :timeout&lt;br /&gt;
  :toolpack_no_route                     or :no_route&lt;br /&gt;
  :toolpack_call_collision               or :call_collision&lt;br /&gt;
  :toolpack_sync_drop                    or :sync_drop&lt;br /&gt;
  :toolpack_signaling_error              or :signaling_error&lt;br /&gt;
  :toolpack_locally_rejected             or :locally_rejected&lt;br /&gt;
  :toolpack_interface_not_available      or :interface_not_available&lt;br /&gt;
  :toolpack_reset_in_progress            or :reset_in_progress&lt;br /&gt;
  :toolpack_adapter_reject               or :adapter_reject&lt;br /&gt;
  :toolpack_missing_or_invalid_ie        or :missing_or_invalid_ie&lt;br /&gt;
  :toolpack_incoming_only                or :incoming_only&lt;br /&gt;
  :toolpack_system_configuration_changed or :system_configuration_changed&lt;br /&gt;
  :toolpack_resource_no_more_available   or :resource_no_more_available&lt;br /&gt;
  :toolpack_incompatible_media           or :incompatible_media&lt;br /&gt;
  :toolpack_resource_allocation_failed   or :resource_allocation_failed&lt;br /&gt;
  :toolpack_data_path_not_available      or :data_path_not_available&lt;br /&gt;
  :toolpack_local_congestion             or :local_congestion&lt;br /&gt;
  :toolpack_authorization_required       or :authorization_required&lt;br /&gt;
  :toolpack_call_divert_is_not_allowed   or :call_divert_is_not_allowed&lt;br /&gt;
&lt;br /&gt;
List of SIP reason causes:&amp;lt;br/&amp;gt;&lt;br /&gt;
Reason causes starting with a digit must use the following syntax (can't use : as prefix).&lt;br /&gt;
&lt;br /&gt;
  '300_multiple_choices'&lt;br /&gt;
  '301_moved_permanently'&lt;br /&gt;
  '302_moved_temporarily'&lt;br /&gt;
  '305_use_proxy'&lt;br /&gt;
  '380_alternative_service'&lt;br /&gt;
  '400_bad_request'&lt;br /&gt;
  '401_unauthorized'&lt;br /&gt;
  '402_payment_required'&lt;br /&gt;
  '403_forbidden'&lt;br /&gt;
  '404_not_found'&lt;br /&gt;
  '405_method_not_allowed'&lt;br /&gt;
  '406_not_acceptable'&lt;br /&gt;
  '407_proxy_authentication_required'&lt;br /&gt;
  '408_request_timeout'&lt;br /&gt;
  '409_conflict'&lt;br /&gt;
  '410_gone'&lt;br /&gt;
  '413_request_entity_too_large'&lt;br /&gt;
  '414_request_URI_too_long'&lt;br /&gt;
  '415_unsupported_media'&lt;br /&gt;
  '416_unsupported_URI_scheme'&lt;br /&gt;
  '420_bad_extension'&lt;br /&gt;
  '421_extension_required'&lt;br /&gt;
  '422_session_timer_too_small'&lt;br /&gt;
  '423_interval_too_brief'&lt;br /&gt;
  '429_referrer_identity_error'&lt;br /&gt;
  '480_temporary_unavailable'&lt;br /&gt;
  '481_call_or_transaction_does_not_exist'&lt;br /&gt;
  '482_loop_detected'&lt;br /&gt;
  '483_too_many_hops'&lt;br /&gt;
  '484_address_incomplete'&lt;br /&gt;
  '485_ambiguous'&lt;br /&gt;
  '486_busy_here'&lt;br /&gt;
  '487_request_terminated'&lt;br /&gt;
  '488_not_acceptable_here'&lt;br /&gt;
  '489_bad_event'&lt;br /&gt;
  '491_retry_after'&lt;br /&gt;
  '500_server_internal_error'&lt;br /&gt;
  '501_not_implemented'&lt;br /&gt;
  '502_bad_gateway'&lt;br /&gt;
  '503_service_unavailable'&lt;br /&gt;
  '504_server_timeout'&lt;br /&gt;
  '505_version_unsupported'&lt;br /&gt;
  '513_message_too_large'&lt;br /&gt;
  '600_busy_everywhere'&lt;br /&gt;
  '603_decline'&lt;br /&gt;
  '604_not_exist_anywhere'&lt;br /&gt;
  '606_not_acceptable'&lt;br /&gt;
&lt;br /&gt;
== Nap status  ==&lt;br /&gt;
&lt;br /&gt;
All the status fields of the NAPs are provided for use by the routing scripts. See the nap status provider for more details on which fields are available in the CEngineStatTransNap.hpp file. &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  Routing script call attribute name    Description&lt;br /&gt;
  --------------------------------------------------------------------------------------------&lt;br /&gt;
  &amp;quot;signaling_type&amp;quot;                      Signaling type (SS7, ISDN, CASR2, SIP)&lt;br /&gt;
  &amp;quot;inst_incoming_call_cnt&amp;quot;              Instantaneous Count of incoming calls.&lt;br /&gt;
  &amp;quot;inst_outgoing_call_cnt&amp;quot;              Instantaneous Count of outgoing calls.&lt;br /&gt;
  &amp;quot;available_cnt&amp;quot;                       Number of available circuits or channels.&lt;br /&gt;
  &amp;quot;unavailable_cnt&amp;quot;                     Number of unavailable circuits or channels.&lt;br /&gt;
  &amp;quot;availability_percent&amp;quot;                Percentage of available circuits or channels.&lt;br /&gt;
  &amp;quot;usage_percent&amp;quot;                       Percentage of used circuits or channels.&lt;br /&gt;
  &amp;quot;unused_shared_percent&amp;quot;               Percentage of used circuits or channels of this NAP available to make new calls with (taking into account shared with other NAPs)&lt;br /&gt;
  &amp;quot;total_incoming_call_cnt&amp;quot;             Total Count of incoming calls.&lt;br /&gt;
  &amp;quot;asr_statistics_struct&amp;quot;               Detailed Answer-Seizure Rate Statistics.&lt;br /&gt;
  &amp;quot;global_asr_percent&amp;quot;                  Global calculated ASR percentage.&lt;br /&gt;
  &amp;quot;total_outgoing_call_cnt&amp;quot;             Total Count of outgoing calls.&lt;br /&gt;
  &amp;quot;last_24h_asr_percent&amp;quot;                Last 24 hours calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_24h_outgoing_call_cnt&amp;quot;          Last 24 hours outgoing calls.&lt;br /&gt;
  &amp;quot;current_hour_asr_percent&amp;quot;            Current hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;current_hour_outgoing_call_cnt&amp;quot;      Current hour outgoing calls.&lt;br /&gt;
  &amp;quot;last_hour_asr_percent&amp;quot;               Last hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_hour_outgoing_call_cnt&amp;quot;         Last hour outgoing calls.&lt;br /&gt;
  &amp;quot;availability_detection_struct&amp;quot;       Detailed availibility detection Statistics&lt;br /&gt;
  &amp;quot;poll_remote_proxy&amp;quot;                   Remote proxy polling enabled&lt;br /&gt;
  &amp;quot;is_available&amp;quot;                        Remote proxy actually available or not&lt;br /&gt;
  &amp;quot;time_since_polling&amp;quot;                  Time since the last availibility polling&lt;br /&gt;
  &amp;quot;time_available_seconds&amp;quot;              Number of seconds since the NAP is available&lt;br /&gt;
  &amp;quot;time_unavailable_seconds&amp;quot;            Number of seconds since the NAP is unavailable&lt;br /&gt;
  &amp;quot;registration_struct&amp;quot;                 Detailed registration Statistics&lt;br /&gt;
  &amp;quot;register_to_proxy&amp;quot;                   Register to proxy enabled&lt;br /&gt;
  &amp;quot;registered&amp;quot;                          Actually registered or not&lt;br /&gt;
  &amp;quot;time_since_refresh&amp;quot;                  Time since the last refresh&lt;br /&gt;
  &amp;quot;time_registered_seconds&amp;quot;             Number of seconds since the NAP is registered&lt;br /&gt;
  &amp;quot;time_not_registered_seconds&amp;quot;         Number of seconds since the NAP is not registered&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; If the nap status is part of a substructure, it's name in the routing scripts must be composed of the structure name appended by an underscore and the field name. &lt;br /&gt;
&lt;br /&gt;
For example the name to use for the global [[ASR]] percentage is: &lt;br /&gt;
&lt;br /&gt;
  asr_statistics_struct_global_asr_percent&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; It is also possible to add dynamic nap attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Routing Script Tests ==&lt;br /&gt;
The Web portal features a tool for Testing Scripts. The user must enter parameters to simulate the incoming call and after pressing the Test button, will output selected routes and numbers.  You do not need to activate the new routes, or the new scripts to use this test tool: It can be used to test the routing scripts and routing table before activating it.&lt;br /&gt;
This is available in the Routing Scripts section of the Web portal.&lt;br /&gt;
&lt;br /&gt;
=== Test parameters ===&lt;br /&gt;
==== @call_params  ====&lt;br /&gt;
&lt;br /&gt;
That variable should contain a hash of call parameters that will passed to the routing script. This is equivalent to the incoming call parameters. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @nap_list  ====&lt;br /&gt;
&lt;br /&gt;
A list of hash containing the nap statuses. This is equivalent to the nap statuses at the time the call is to be routed. &lt;br /&gt;
&lt;br /&gt;
'''The nap list is hashed by the nap names in UPPERCASE.''' It is important to consider this when creating new dynamic route or nap attributes that may nap names that will be used to fetch a status. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @params  ====&lt;br /&gt;
&lt;br /&gt;
A hash of hashes containing parameters. This hash contains bridge parameters and other kind of parameter groups may be added in the future. &lt;br /&gt;
&lt;br /&gt;
Example: @params = {:bridge =&amp;gt; {:announcement_tone, &amp;quot;announcement.wav&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A</id>
		<title>Toolpack prerequisite CentOS5 A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A"/>
				<updated>2015-09-04T18:31:22Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* CentOS update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites to install Toolpack 2-5, 2-6, 2-7 or 2-8 for a 64 bits CentOS 5.5 to 5.11 with the use of TelcoBridges repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': The host MUST have at least CentOS 5.5 installed. If you don't want to update your CentOS version to the latest version or want to install the prerequisites for a I386 (32 bits) platform, please follow the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] instead.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': If you followed the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] on the system before, you '''MUST NOT''' use the steps on this page before doing a cleanup of the previously installed files. You should ask Telcobridges support for help with the cleanup.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': This procedure requires internet access and a DNS configured on your unit.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Stop toolpack system (if it is running)  ==&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges repository  ==&lt;br /&gt;
&lt;br /&gt;
Add TelcoBridges repository file &lt;br /&gt;
&lt;br /&gt;
 vim /etc/yum.repos.d/TB-Base.repo&lt;br /&gt;
&lt;br /&gt;
Paste the following information in that file: &lt;br /&gt;
&lt;br /&gt;
 # TelcoBridges-Base.repo&lt;br /&gt;
 #&lt;br /&gt;
 # This repository is using TelcoBridges frozen version of CentOS&lt;br /&gt;
 # to help client installing the required version of the&lt;br /&gt;
 # applications required to run Toolpack&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 [tb-base]&lt;br /&gt;
 name=TelcoBridges-$releasever - Base&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
 &lt;br /&gt;
 #released updates&lt;br /&gt;
 [tb-updates]&lt;br /&gt;
 name=TelcoBridges-$releasever - Updates&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/updates/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== Get TelcoBridges repository key ==&lt;br /&gt;
&lt;br /&gt;
 cd /etc/pki/rpm-gpg/&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5&lt;br /&gt;
 rpm --import RPM-GPG-KEY-CentOS-5&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
 rpm --import RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== CentOS update  ==&lt;br /&gt;
&lt;br /&gt;
Update your system to the latest CentOS 5 version.&lt;br /&gt;
&lt;br /&gt;
 yum clean metadata&lt;br /&gt;
 yum update&lt;br /&gt;
&lt;br /&gt;
If you have the following error:&lt;br /&gt;
&lt;br /&gt;
 warning: rpmts_HdrFromFdno: Header V4 DSA signature: NOKEY, key ID c8bf9d3a&lt;br /&gt;
 Public key for package.rpm is not installed&lt;br /&gt;
&lt;br /&gt;
Make sure that you have the correct gpgkey lines in /etc/yum.repos.d/TB-Base.repo and that the TelcoBridges keys are properly imported.&lt;br /&gt;
&lt;br /&gt;
=== Reply to ARP only on local interfaces ===&lt;br /&gt;
&lt;br /&gt;
Modify the file /etc/sysctl.conf to add the following lines:&lt;br /&gt;
&lt;br /&gt;
  net.ipv4.conf.default.arp_ignore=1&lt;br /&gt;
  net.ipv4.conf.all.arp_ignore=1&lt;br /&gt;
&lt;br /&gt;
Then restart network interfaces using the following command:&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/network restart&lt;br /&gt;
&lt;br /&gt;
=== Disabling SELinux ===&lt;br /&gt;
&lt;br /&gt;
Check SELinux status&lt;br /&gt;
&lt;br /&gt;
  sestatus&lt;br /&gt;
&lt;br /&gt;
If SELinux is enable, see the [[SELinux_management|Disabling SELinux]] article to disable it.&lt;br /&gt;
&lt;br /&gt;
== Install Toolpack Prerequisites  ==&lt;br /&gt;
&lt;br /&gt;
When asked to 'Importing GPG key', answer yes. &lt;br /&gt;
&lt;br /&gt;
 yum groupinstall Toolpack-Prerequisites&lt;br /&gt;
&lt;br /&gt;
==== Possible Dependencies Issue ====&lt;br /&gt;
If you meet an issue which blocks the installation with error that is related to &amp;quot;dovecot&amp;quot;. Do the following and retry the &amp;quot;groupinstall&amp;quot; command to restart installation.&lt;br /&gt;
&lt;br /&gt;
  yum remove dovecot&lt;br /&gt;
&lt;br /&gt;
=== Install Gem ===&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/bundler-1.2.3.gem&lt;br /&gt;
 gem install --local ./bundler-1.2.3.gem&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/json-1.7.7.gem&lt;br /&gt;
 gem install --local ./json-1.7.7.gem&lt;br /&gt;
&lt;br /&gt;
== Apply kernel patches (if any)  ==&lt;br /&gt;
&lt;br /&gt;
 shutdown -r now &lt;br /&gt;
&lt;br /&gt;
Once rebooted, be sure that Toolpack system is stopped before manipulating MySQL.&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure ODBC  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
Remove the '#' in front of each lines of the [MySQL] section Modify the 'Driver' line to set the correct driver &lt;br /&gt;
&lt;br /&gt;
Example for 32 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Example for 64 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib64/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib64/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/my.cnf&lt;br /&gt;
&lt;br /&gt;
Add these variables in the file under the [mysqld] section: &lt;br /&gt;
&lt;br /&gt;
*log-bin &lt;br /&gt;
*server-id=''[UniqueId]'' &lt;br /&gt;
&lt;br /&gt;
The server-id needs to be a non-zero unique value (do not use 0). If you use the host redundancy feature, the value needs to be different on each host . &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add max_allowed_packet to increase the maximum size of binary blobs in the database. Make sure it is in the [mysqld] section AND [mysqldump] section &lt;br /&gt;
&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add below to remove database dependencies with DNS servers '''(**Applicable to TMG users only)''' &lt;br /&gt;
&lt;br /&gt;
  skip-name-resolve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add this to make sure the mysql logs don't get too big&lt;br /&gt;
&lt;br /&gt;
  expire_logs_days=60&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 datadir=/var/lib/mysql&lt;br /&gt;
 socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
 user=mysql&lt;br /&gt;
 log-bin&lt;br /&gt;
 server-id=5876&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
 expire_logs_days=60&lt;br /&gt;
 &lt;br /&gt;
 # Default to using old password format for compatibility with mysql 3.x&lt;br /&gt;
 # clients (those using the mysqlclient10 compatibility package).&lt;br /&gt;
 old_passwords=1&lt;br /&gt;
 &lt;br /&gt;
 # Disabling symbolic-links is recommended to prevent assorted security risks&lt;br /&gt;
 symbolic-links=0&lt;br /&gt;
 &lt;br /&gt;
 # Added so that problems with DNS servers don't cause problems with the mysql DB&lt;br /&gt;
 # Note:&amp;amp;nbsp;This is applicable only if you are using a TMG&lt;br /&gt;
 skip-name-resolve&lt;br /&gt;
 &lt;br /&gt;
 [mysqldump]&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
=== Start MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 service mysqld start&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL Users  ===&lt;br /&gt;
&lt;br /&gt;
*Set password for the root user to 'tbdbpw' (TelcoBridges recommends that you set your own password for root) &lt;br /&gt;
*Enable root connection from localhost only &lt;br /&gt;
*Create a tbdb user (required by Toolpack) &lt;br /&gt;
*Remove anonymous connection&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 /usr/bin/mysqladmin -u root password tbdbpw&lt;br /&gt;
&lt;br /&gt;
 mysql -uroot -ptbdbpw&lt;br /&gt;
 DELETE FROM mysql.user WHERE&amp;amp;nbsp;!(Host = 'localhost' AND User = 'root');&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
== Toolpack Development Prerequisite (Optional)  ==&lt;br /&gt;
&lt;br /&gt;
The Toolpack System Development prerequisite section is only required for customers that will develop their own application using the Toolpack API: &lt;br /&gt;
&lt;br /&gt;
 yum install gcc-c++ libxml2-devel libpcap-devel unixODBC-devel libaio libaio-devel&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended)  ==&lt;br /&gt;
&lt;br /&gt;
If you would like to verify your installation go to the [[Toolpack Installation:Validate Toolpack Installation 2-5|Toolpack Validation Guide]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation  ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[Toolpack installer 2-4|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A</id>
		<title>Toolpack prerequisite CentOS5 A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A"/>
				<updated>2015-09-04T18:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Import the keys immediately&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites to install Toolpack 2-5, 2-6, 2-7 or 2-8 for a 64 bits CentOS 5.5 to 5.11 with the use of TelcoBridges repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': The host MUST have at least CentOS 5.5 installed. If you don't want to update your CentOS version to the latest version or want to install the prerequisites for a I386 (32 bits) platform, please follow the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] instead.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': If you followed the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] on the system before, you '''MUST NOT''' use the steps on this page before doing a cleanup of the previously installed files. You should ask Telcobridges support for help with the cleanup.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': This procedure requires internet access and a DNS configured on your unit.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Stop toolpack system (if it is running)  ==&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges repository  ==&lt;br /&gt;
&lt;br /&gt;
Add TelcoBridges repository file &lt;br /&gt;
&lt;br /&gt;
 vim /etc/yum.repos.d/TB-Base.repo&lt;br /&gt;
&lt;br /&gt;
Paste the following information in that file: &lt;br /&gt;
&lt;br /&gt;
 # TelcoBridges-Base.repo&lt;br /&gt;
 #&lt;br /&gt;
 # This repository is using TelcoBridges frozen version of CentOS&lt;br /&gt;
 # to help client installing the required version of the&lt;br /&gt;
 # applications required to run Toolpack&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 [tb-base]&lt;br /&gt;
 name=TelcoBridges-$releasever - Base&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
 &lt;br /&gt;
 #released updates&lt;br /&gt;
 [tb-updates]&lt;br /&gt;
 name=TelcoBridges-$releasever - Updates&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/updates/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== Get TelcoBridges repository key ==&lt;br /&gt;
&lt;br /&gt;
 cd /etc/pki/rpm-gpg/&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5&lt;br /&gt;
 rpm --import RPM-GPG-KEY-CentOS-5&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
 rpm --import RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== CentOS update  ==&lt;br /&gt;
&lt;br /&gt;
Update your system to the latest CentOS 5 version.&lt;br /&gt;
&lt;br /&gt;
 yum clean metadata&lt;br /&gt;
 yum update&lt;br /&gt;
&lt;br /&gt;
If you have the following error:&lt;br /&gt;
&lt;br /&gt;
 warning: rpmts_HdrFromFdno: Header V4 DSA signature: NOKEY, key ID c8bf9d3a&lt;br /&gt;
 Public key for package.rpm is not installed&lt;br /&gt;
&lt;br /&gt;
Make sure that you have the correct gpgkey lines in /etc/yum.repos.d/TB-Base.repo&lt;br /&gt;
&lt;br /&gt;
=== Reply to ARP only on local interfaces ===&lt;br /&gt;
&lt;br /&gt;
Modify the file /etc/sysctl.conf to add the following lines:&lt;br /&gt;
&lt;br /&gt;
  net.ipv4.conf.default.arp_ignore=1&lt;br /&gt;
  net.ipv4.conf.all.arp_ignore=1&lt;br /&gt;
&lt;br /&gt;
Then restart network interfaces using the following command:&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/network restart&lt;br /&gt;
&lt;br /&gt;
=== Disabling SELinux ===&lt;br /&gt;
&lt;br /&gt;
Check SELinux status&lt;br /&gt;
&lt;br /&gt;
  sestatus&lt;br /&gt;
&lt;br /&gt;
If SELinux is enable, see the [[SELinux_management|Disabling SELinux]] article to disable it.&lt;br /&gt;
&lt;br /&gt;
== Install Toolpack Prerequisites  ==&lt;br /&gt;
&lt;br /&gt;
When asked to 'Importing GPG key', answer yes. &lt;br /&gt;
&lt;br /&gt;
 yum groupinstall Toolpack-Prerequisites&lt;br /&gt;
&lt;br /&gt;
==== Possible Dependencies Issue ====&lt;br /&gt;
If you meet an issue which blocks the installation with error that is related to &amp;quot;dovecot&amp;quot;. Do the following and retry the &amp;quot;groupinstall&amp;quot; command to restart installation.&lt;br /&gt;
&lt;br /&gt;
  yum remove dovecot&lt;br /&gt;
&lt;br /&gt;
=== Install Gem ===&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/bundler-1.2.3.gem&lt;br /&gt;
 gem install --local ./bundler-1.2.3.gem&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/json-1.7.7.gem&lt;br /&gt;
 gem install --local ./json-1.7.7.gem&lt;br /&gt;
&lt;br /&gt;
== Apply kernel patches (if any)  ==&lt;br /&gt;
&lt;br /&gt;
 shutdown -r now &lt;br /&gt;
&lt;br /&gt;
Once rebooted, be sure that Toolpack system is stopped before manipulating MySQL.&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure ODBC  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
Remove the '#' in front of each lines of the [MySQL] section Modify the 'Driver' line to set the correct driver &lt;br /&gt;
&lt;br /&gt;
Example for 32 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Example for 64 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib64/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib64/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/my.cnf&lt;br /&gt;
&lt;br /&gt;
Add these variables in the file under the [mysqld] section: &lt;br /&gt;
&lt;br /&gt;
*log-bin &lt;br /&gt;
*server-id=''[UniqueId]'' &lt;br /&gt;
&lt;br /&gt;
The server-id needs to be a non-zero unique value (do not use 0). If you use the host redundancy feature, the value needs to be different on each host . &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add max_allowed_packet to increase the maximum size of binary blobs in the database. Make sure it is in the [mysqld] section AND [mysqldump] section &lt;br /&gt;
&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add below to remove database dependencies with DNS servers '''(**Applicable to TMG users only)''' &lt;br /&gt;
&lt;br /&gt;
  skip-name-resolve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add this to make sure the mysql logs don't get too big&lt;br /&gt;
&lt;br /&gt;
  expire_logs_days=60&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 datadir=/var/lib/mysql&lt;br /&gt;
 socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
 user=mysql&lt;br /&gt;
 log-bin&lt;br /&gt;
 server-id=5876&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
 expire_logs_days=60&lt;br /&gt;
 &lt;br /&gt;
 # Default to using old password format for compatibility with mysql 3.x&lt;br /&gt;
 # clients (those using the mysqlclient10 compatibility package).&lt;br /&gt;
 old_passwords=1&lt;br /&gt;
 &lt;br /&gt;
 # Disabling symbolic-links is recommended to prevent assorted security risks&lt;br /&gt;
 symbolic-links=0&lt;br /&gt;
 &lt;br /&gt;
 # Added so that problems with DNS servers don't cause problems with the mysql DB&lt;br /&gt;
 # Note:&amp;amp;nbsp;This is applicable only if you are using a TMG&lt;br /&gt;
 skip-name-resolve&lt;br /&gt;
 &lt;br /&gt;
 [mysqldump]&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
=== Start MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 service mysqld start&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL Users  ===&lt;br /&gt;
&lt;br /&gt;
*Set password for the root user to 'tbdbpw' (TelcoBridges recommends that you set your own password for root) &lt;br /&gt;
*Enable root connection from localhost only &lt;br /&gt;
*Create a tbdb user (required by Toolpack) &lt;br /&gt;
*Remove anonymous connection&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 /usr/bin/mysqladmin -u root password tbdbpw&lt;br /&gt;
&lt;br /&gt;
 mysql -uroot -ptbdbpw&lt;br /&gt;
 DELETE FROM mysql.user WHERE&amp;amp;nbsp;!(Host = 'localhost' AND User = 'root');&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
== Toolpack Development Prerequisite (Optional)  ==&lt;br /&gt;
&lt;br /&gt;
The Toolpack System Development prerequisite section is only required for customers that will develop their own application using the Toolpack API: &lt;br /&gt;
&lt;br /&gt;
 yum install gcc-c++ libxml2-devel libpcap-devel unixODBC-devel libaio libaio-devel&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended)  ==&lt;br /&gt;
&lt;br /&gt;
If you would like to verify your installation go to the [[Toolpack Installation:Validate Toolpack Installation 2-5|Toolpack Validation Guide]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation  ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[Toolpack installer 2-4|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A</id>
		<title>Toolpack prerequisite CentOS5 A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_CentOS5_A"/>
				<updated>2015-09-04T18:22:45Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Changed GPG key path for the 'os' directory in TB-Base.repo because of internal infrastructure changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites to install Toolpack 2-5, 2-6, 2-7 or 2-8 for a 64 bits CentOS 5.5 to 5.11 with the use of TelcoBridges repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': The host MUST have at least CentOS 5.5 installed. If you don't want to update your CentOS version to the latest version or want to install the prerequisites for a I386 (32 bits) platform, please follow the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] instead.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': If you followed the [[Toolpack prerequisite CentOS5 2-5 manual| manual procedure]] on the system before, you '''MUST NOT''' use the steps on this page before doing a cleanup of the previously installed files. You should ask Telcobridges support for help with the cleanup.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#B22222&amp;quot;&amp;gt;&lt;br /&gt;
''WARNING'': This procedure requires internet access and a DNS configured on your unit.&lt;br /&gt;
&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Stop toolpack system (if it is running)  ==&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges repository  ==&lt;br /&gt;
&lt;br /&gt;
Add TelcoBridges repository file &lt;br /&gt;
&lt;br /&gt;
 vim /etc/yum.repos.d/TB-Base.repo&lt;br /&gt;
&lt;br /&gt;
Paste the following information in that file: &lt;br /&gt;
&lt;br /&gt;
 # TelcoBridges-Base.repo&lt;br /&gt;
 #&lt;br /&gt;
 # This repository is using TelcoBridges frozen version of CentOS&lt;br /&gt;
 # to help client installing the required version of the&lt;br /&gt;
 # applications required to run Toolpack&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 [tb-base]&lt;br /&gt;
 name=TelcoBridges-$releasever - Base&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
 &lt;br /&gt;
 #released updates&lt;br /&gt;
 [tb-updates]&lt;br /&gt;
 name=TelcoBridges-$releasever - Updates&lt;br /&gt;
 baseurl=http://repo.telcobridges.com/centos/5/updates/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== Get TelcoBridges repository key ==&lt;br /&gt;
&lt;br /&gt;
 cd /etc/pki/rpm-gpg/&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5&lt;br /&gt;
 wget http://repo.telcobridges.com/centos/RPM-GPG-KEY-CentOS-5-tb&lt;br /&gt;
&lt;br /&gt;
== CentOS update  ==&lt;br /&gt;
&lt;br /&gt;
Update your system to the latest CentOS 5 version.&lt;br /&gt;
&lt;br /&gt;
 yum clean metadata&lt;br /&gt;
 yum update&lt;br /&gt;
&lt;br /&gt;
If you have the following error:&lt;br /&gt;
&lt;br /&gt;
 warning: rpmts_HdrFromFdno: Header V4 DSA signature: NOKEY, key ID c8bf9d3a&lt;br /&gt;
 Public key for package.rpm is not installed&lt;br /&gt;
&lt;br /&gt;
Make sure that you have the correct gpgkey lines in /etc/yum.repos.d/TB-Base.repo&lt;br /&gt;
&lt;br /&gt;
=== Reply to ARP only on local interfaces ===&lt;br /&gt;
&lt;br /&gt;
Modify the file /etc/sysctl.conf to add the following lines:&lt;br /&gt;
&lt;br /&gt;
  net.ipv4.conf.default.arp_ignore=1&lt;br /&gt;
  net.ipv4.conf.all.arp_ignore=1&lt;br /&gt;
&lt;br /&gt;
Then restart network interfaces using the following command:&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/network restart&lt;br /&gt;
&lt;br /&gt;
=== Disabling SELinux ===&lt;br /&gt;
&lt;br /&gt;
Check SELinux status&lt;br /&gt;
&lt;br /&gt;
  sestatus&lt;br /&gt;
&lt;br /&gt;
If SELinux is enable, see the [[SELinux_management|Disabling SELinux]] article to disable it.&lt;br /&gt;
&lt;br /&gt;
== Install Toolpack Prerequisites  ==&lt;br /&gt;
&lt;br /&gt;
When asked to 'Importing GPG key', answer yes. &lt;br /&gt;
&lt;br /&gt;
 yum groupinstall Toolpack-Prerequisites&lt;br /&gt;
&lt;br /&gt;
==== Possible Dependencies Issue ====&lt;br /&gt;
If you meet an issue which blocks the installation with error that is related to &amp;quot;dovecot&amp;quot;. Do the following and retry the &amp;quot;groupinstall&amp;quot; command to restart installation.&lt;br /&gt;
&lt;br /&gt;
  yum remove dovecot&lt;br /&gt;
&lt;br /&gt;
=== Install Gem ===&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/bundler-1.2.3.gem&lt;br /&gt;
 gem install --local ./bundler-1.2.3.gem&lt;br /&gt;
&lt;br /&gt;
 wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/linux/json-1.7.7.gem&lt;br /&gt;
 gem install --local ./json-1.7.7.gem&lt;br /&gt;
&lt;br /&gt;
== Apply kernel patches (if any)  ==&lt;br /&gt;
&lt;br /&gt;
 shutdown -r now &lt;br /&gt;
&lt;br /&gt;
Once rebooted, be sure that Toolpack system is stopped before manipulating MySQL.&lt;br /&gt;
&lt;br /&gt;
 tbtoolpack stop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure ODBC  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
Remove the '#' in front of each lines of the [MySQL] section Modify the 'Driver' line to set the correct driver &lt;br /&gt;
&lt;br /&gt;
Example for 32 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Example for 64 bits system: &lt;br /&gt;
&lt;br /&gt;
 [MySQL]&lt;br /&gt;
 Description     = ODBC for MySQL&lt;br /&gt;
 Driver          = /usr/lib64/libmyodbc5.so&lt;br /&gt;
 Setup           = /usr/lib64/libodbcmyS.so&lt;br /&gt;
 FileUsage       = 1&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 vim /etc/my.cnf&lt;br /&gt;
&lt;br /&gt;
Add these variables in the file under the [mysqld] section: &lt;br /&gt;
&lt;br /&gt;
*log-bin &lt;br /&gt;
*server-id=''[UniqueId]'' &lt;br /&gt;
&lt;br /&gt;
The server-id needs to be a non-zero unique value (do not use 0). If you use the host redundancy feature, the value needs to be different on each host . &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add max_allowed_packet to increase the maximum size of binary blobs in the database. Make sure it is in the [mysqld] section AND [mysqldump] section &lt;br /&gt;
&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add below to remove database dependencies with DNS servers '''(**Applicable to TMG users only)''' &lt;br /&gt;
&lt;br /&gt;
  skip-name-resolve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Add this to make sure the mysql logs don't get too big&lt;br /&gt;
&lt;br /&gt;
  expire_logs_days=60&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 datadir=/var/lib/mysql&lt;br /&gt;
 socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
 user=mysql&lt;br /&gt;
 log-bin&lt;br /&gt;
 server-id=5876&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
 expire_logs_days=60&lt;br /&gt;
 &lt;br /&gt;
 # Default to using old password format for compatibility with mysql 3.x&lt;br /&gt;
 # clients (those using the mysqlclient10 compatibility package).&lt;br /&gt;
 old_passwords=1&lt;br /&gt;
 &lt;br /&gt;
 # Disabling symbolic-links is recommended to prevent assorted security risks&lt;br /&gt;
 symbolic-links=0&lt;br /&gt;
 &lt;br /&gt;
 # Added so that problems with DNS servers don't cause problems with the mysql DB&lt;br /&gt;
 # Note:&amp;amp;nbsp;This is applicable only if you are using a TMG&lt;br /&gt;
 skip-name-resolve&lt;br /&gt;
 &lt;br /&gt;
 [mysqldump]&lt;br /&gt;
 max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
=== Start MySQL  ===&lt;br /&gt;
&lt;br /&gt;
 service mysqld start&lt;br /&gt;
&lt;br /&gt;
=== Configure MySQL Users  ===&lt;br /&gt;
&lt;br /&gt;
*Set password for the root user to 'tbdbpw' (TelcoBridges recommends that you set your own password for root) &lt;br /&gt;
*Enable root connection from localhost only &lt;br /&gt;
*Create a tbdb user (required by Toolpack) &lt;br /&gt;
*Remove anonymous connection&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 /usr/bin/mysqladmin -u root password tbdbpw&lt;br /&gt;
&lt;br /&gt;
 mysql -uroot -ptbdbpw&lt;br /&gt;
 DELETE FROM mysql.user WHERE&amp;amp;nbsp;!(Host = 'localhost' AND User = 'root');&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
== Toolpack Development Prerequisite (Optional)  ==&lt;br /&gt;
&lt;br /&gt;
The Toolpack System Development prerequisite section is only required for customers that will develop their own application using the Toolpack API: &lt;br /&gt;
&lt;br /&gt;
 yum install gcc-c++ libxml2-devel libpcap-devel unixODBC-devel libaio libaio-devel&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended)  ==&lt;br /&gt;
&lt;br /&gt;
If you would like to verify your installation go to the [[Toolpack Installation:Validate Toolpack Installation 2-5|Toolpack Validation Guide]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation  ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[Toolpack installer 2-4|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide</id>
		<title>Routing script tutorial:Mini Development Guide</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Routing_script_tutorial:Mini_Development_Guide"/>
				<updated>2015-04-28T18:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added redirection and terminating calls sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Call object  ==&lt;br /&gt;
&lt;br /&gt;
=== Get  ===&lt;br /&gt;
&lt;br /&gt;
Those function are used to get the call parameters. The possible parameters are described in the section &amp;quot;Call parameters&amp;quot; &lt;br /&gt;
&lt;br /&gt;
  called_number = caf_call.get&amp;amp;nbsp;:called&lt;br /&gt;
&lt;br /&gt;
=== List_params  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to retrieve the list of supported call parameters. For example to extract all the possible call params from the the call object and put it in hash. &lt;br /&gt;
&lt;br /&gt;
  caf_call.list_params.each {|param| call[param] = caf_call.get param }&lt;br /&gt;
&lt;br /&gt;
=== Accept  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to accept a call.  It actually creates one outgoing route that gateway application will use to bridge the incoming call leg.  If more than one outgoing route is &amp;quot;accepted&amp;quot;, gateway will try them one by one in the same order they were accepted.   If an outgoing call leg fails (according to 'route retry' parameters), the next route in line will be used.  &lt;br /&gt;
&lt;br /&gt;
This method takes 2 arguments, the call parameters (hash) and the route parameters (hash).  Note that calling this method does NOT stop the flow of the script.&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules &lt;br /&gt;
&lt;br /&gt;
  caf_call.accept out_call, route&lt;br /&gt;
&lt;br /&gt;
=== Refuse  ===&lt;br /&gt;
&lt;br /&gt;
This function is used to set the reason code for the incoming call leg refusal.  However, this function does NOT stop the flow of the script. &lt;br /&gt;
&lt;br /&gt;
  caf_call.refuse&amp;amp;nbsp;:reason =&amp;amp;gt;&amp;amp;nbsp;:temporary_failure&lt;br /&gt;
&lt;br /&gt;
To immediately refuse the incoming call leg and stop processing the script, the script must raise an exception.  Exiting the script by raising the exception overwrites any reason cause previously stored using refuse().&lt;br /&gt;
&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
The supported refusal cause values for both refuse() and raise() are described in the section &amp;quot;[[Routing_script_tutorial:Mini_Development_Guide#Reason_values|Reason values]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Script parameters protocol mapping  ===&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object. For example&lt;br /&gt;
&lt;br /&gt;
  called_number = call[:called]&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 921px; height: 805px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Script parameter name''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''ISDN&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''R2 CAS'''&amp;lt;br&amp;gt; &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SS7&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''SIP&amp;lt;br&amp;gt;''' &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Comment&amp;lt;br&amp;gt;'''&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | '''Toolpack version&amp;lt;br&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| leg_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Leg ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| session_id&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Session ID&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| ANI (Group B)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address signals (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - nature of address indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used (when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - numbering plan indicator (*)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| * In ANSI SS7 LNP networks, the IE 'generic address parameter' is used&amp;amp;nbsp;(when present) instead&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information&amp;lt;br&amp;gt; &lt;br /&gt;
Q931: 'Facility CNAM' IE when presentation is allowed for DMS/NI2 variants&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - display information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_display_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Display' IE - Display information (present and/or first byte)&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Display information' IE - present or not&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - display-name (displays 'anonymous' or not) &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - privacy&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_screening&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Remote-party-id - screen&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_category&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Call party category (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Calling party's category' IE - calling party's category&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - cpc &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - cpc&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber &lt;br /&gt;
(Generic Number / NDS)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Number digits &amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - Number digits&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'support 2 calling number IE' in the profile.  This variable has priority over 'private_address' in the outgoing direction.&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_noa&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Presentation indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_subscriber_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 2nd 'Calling party number' IE - Screening indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: Generic number IE with type 'additional calling party number' - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Facility CNAM' IE when presentation is restricted for DMS/NI2 variants&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_display_type &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Indicate presence or not of the private calling information&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| private_address&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:P-asserted-identity - userinfo &lt;br /&gt;
&lt;br /&gt;
SIP:Remote-party-id - user-info&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| DNIS (Group A)&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - user-info and host&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party number' IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| charge_number_npi&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Charge number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default redirecting number and original called number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number'&amp;amp;nbsp;1st IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirecting number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp;(2nd header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 1st IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirecting reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| redirecting_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - redirection counter&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (2nd header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number &lt;br /&gt;
(OCN) &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Number digits &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion&amp;amp;nbsp; (1st header) - display-name&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Type of number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Numbering plan identification&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_presentation &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Presentation indicator &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection number' IE - address presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-privacy&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_reason &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Redirecting number' 2nd IE - Reason for redirection&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Redirection information' IE - original redirection reason&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-reason&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| original_called_number_counter &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Diversion (1st header) - diversion-counter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:RequestURI - rn&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ported_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Called party number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Only valid if SIP/SS7 supports LNP&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| oli&lt;br /&gt;
(Originating line information) &amp;lt;br&amp;gt; &lt;br /&gt;
| 5ESS Codeset 6 OLI - Value&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| ANSI: 'Originating line information' IE - OLI&amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
SIP:From - oli &lt;br /&gt;
&lt;br /&gt;
SIP:P-asserted-identity - oli&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Complete Request URI string&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| request_uri_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default URI&amp;amp;nbsp;forwarding behavior from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_header&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Any header&amp;lt;br&amp;gt; &lt;br /&gt;
| Requires option 'Forward custom headers' in Profiles-&amp;gt;SIP &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7.63&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| nap&lt;br /&gt;
(Network Access Point) &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg NAP name (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| type_of_network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Type of network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification &amp;lt;br&amp;gt; &lt;br /&gt;
| SIP: Request-Line - cic&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| network_identification_plan&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Transit network selection' IE - Network identification plan &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Overwrite default location number forwarding behavior from incoming to outgoing leg &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - address signals&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_noa &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - nature of address indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_npi &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - numbering plan indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_presentation&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - presentation restricted indicator&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| location_number_screening &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Location number' IE - screening&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_forward_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| A script needs to set this to true if it wants to overwrite MLPP information in the outgoing leg.  Otherwise, profile relay 'outgoing mode' applies automatically.&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_look_for_busy &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - look ahead for busy&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_precedence_level &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - precedence level&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:Resource-Priority - q735&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_network_identity &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - network identity&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mlpp_service_domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'MLPP precedence' IE - MLPP service domain&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub parameter&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| called_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Called party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:To - isub-encoding parameter&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub &amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - subaddress information&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| calling_isub_type&amp;lt;br&amp;gt; &lt;br /&gt;
| Q931: 'Callinf party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Q763: 'Access transport' IE - Q931: 'Calling party subaddress' IE - type of subaddress&amp;lt;br&amp;gt; &lt;br /&gt;
| SIP:From - isub-encoding&amp;lt;br&amp;gt;&lt;br /&gt;
| &amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default forward call indicator (FCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite FCI bits A, D, F, I and M with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_fci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_fci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_fci_default which corresponding bit in ss7_fci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_default &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Default backward call indicator (BCI) value.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will overwrite BCI bits AB, I, K, M and N with appropriate values according to call conditions&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_bci_force_mask &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Mask to select bits from ss7_bci_default that must be forced.&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Bits from ss7_bci_default which corresponding bit in ss7_bci_force_mask is set will be forced, and no more controlled by Toolpack&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_ls_name&lt;br /&gt;
(Line Service or T1/E1 trunk) &amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg line service name&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| tdm_timeslot_nb&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg timeslot number&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rtp_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SDP IP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.7&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ss7_cot_enabled &amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Requests SS7 in-call continuity test for this outgoing SS7 call&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Toolpack will request continuity test on the timeslot before making the outgoing call. If COT fails, the call will be dropped (then another route may be attempted)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg Reverse charging indication IE present&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| If set in routing script, will add Reverse charging indication IE in outgoing leg (also use reverse_charging_indication_forward_enabled)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| reverse_charging_indication_forward_enabled&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt;&lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Enable forwarding of reverse charging indication from incoming to outgoing leg&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.12&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_local_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg local SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_addr&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP IP address&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sip_remote_port&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| N/A&amp;lt;br&amp;gt; &lt;br /&gt;
| Incoming leg remote SIP UDP port&amp;lt;br&amp;gt; &lt;br /&gt;
| (read-only)&amp;lt;br&amp;gt;&lt;br /&gt;
| 2.8.13&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' All values are documented in the '''noa_npi_remap.rb''' script and may change between major release.&lt;br /&gt;
&lt;br /&gt;
=== Noa values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number (0x4)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number (0x3)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_specific (0x5)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_national_format (0x7)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_routing_international_format (0x8)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;abbreviated_number (0x6)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_number_operator_requested (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_operator_requested (0x72)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_operator_requested (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_operator_requested (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier (0x75)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;test_line_test_code (0x77)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_subscriber_number (0x71)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_national_number (0x73)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;non_unique_international_number (0x74)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_950_numbe (0x76)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;special_number (0x73)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;national_number_with_transit_network_selection (0x74)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;international_number_with_transit_network_selection (0x75)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific NOA value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:called_noa] = 112&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Npi values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;isdn&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telephony&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;private&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;telex&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;national&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display Type values  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is unspecified. &lt;br /&gt;
*&amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&amp;amp;gt; Type is 0xB1.&lt;br /&gt;
&lt;br /&gt;
Those values will be remapped to the protocol specific Display Information Type value. To provide protocol specific value: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display_type] = 177&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Display value  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;call_params[:calling_display] = &amp;quot;Roger Fluffy&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Presentation values for Calling number, Calling Subscriber (Generic Number), Redirecting Number, Original Called Number (OCN) and Location Number ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_available (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;addr_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;name_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calling Party Category  ===&lt;br /&gt;
values for calling_category&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x0)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_french&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x1)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_english&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_german&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_russian&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x4)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;operator_spanish&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0x5)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xa)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;subscriber_with_priority&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xb)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xc)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xd)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;payphone&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;(0xf)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Screening values for Calling number, Calling Subscriber (Generic Number), and Location Number  ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no (0x0)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;pass (0x1)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;fail (0x2)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;network_provided (0x3)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting indicator values  ===&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;no_redirection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_all_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_rerouted_restricted&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;call_diverted_restricted&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;spare&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting number, Original Called Number and Diversion Reason ===&lt;br /&gt;
&lt;br /&gt;
ISDN: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;dte_out_of_order&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;forwarding_by_called_dte&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SS7: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;unknown&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;busy      (SIP: user-busy)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;no_reply  (SIP: no-answer)&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;unconditional&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;deflection_immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;mobile_not_reachable&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OLI (originating line information) values  ===&lt;br /&gt;
&lt;br /&gt;
The OLI parameter is a string that represents an integer value from 0 to 255. &lt;br /&gt;
&lt;br /&gt;
=== Information Transfer Capability values  ===&lt;br /&gt;
&lt;br /&gt;
information_transfer_capability: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;restricted_digital&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;digital_with_tones&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;speech&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;3_1_khz_audio&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== redirecting_number_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of redirecting number (SIP: diversion header) to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &lt;br /&gt;
*0/false: Redirecting number (and original called number) is not forwarded to outgoing call leg&lt;br /&gt;
*1/true: Redirecting number (and original called number) is forwarded to outgoing call leg&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward redirecting number&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
Note: To &amp;quot;insert&amp;quot; a new redirecting number value on the outgoing leg, redirecting_number_forward_enabled must also be set to true.&lt;br /&gt;
&lt;br /&gt;
=== request_uri  ===&lt;br /&gt;
&lt;br /&gt;
Enables access to the Request-Line URI.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example, if the Request-Line is: &lt;br /&gt;
&amp;lt;pre&amp;gt;Request-Line: INVITE sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;lt;/pre&amp;gt; &lt;br /&gt;
Then the retrieved request_uri will be &amp;quot;sip:4175162082@172.22.45.13:5060;user=phone;transport=udp SIP/2.0&amp;quot;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In the routing scripts, to retrieve only the called number, this script can be used:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;    if call_params[:request_uri] &amp;amp;amp;&amp;amp;amp; call_params[:request_uri] =~ /sip:(.*)@.*/&lt;br /&gt;
       call_params[:called] = $1&lt;br /&gt;
    end&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
=== request_uri_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of request uri to outgoing call leg.The request uri is the information in the &amp;quot;Request-Line:&amp;quot; of the SIP INVITE message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 0/false: Request uri is not forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* 1/true: Request uri is forwarded to outgoing call leg &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script is always false. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sip_header values  ===&lt;br /&gt;
Contains a hash table of custom sip headers from the inbound call leg. Any custom sip header can be added to an outgoing call leg:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;call[ :sip_header ] = {&amp;quot;P-my-custom-header&amp;quot;=&amp;gt;&amp;quot;value1&amp;quot;, &amp;quot;P-my-custom-header2&amp;quot;=&amp;gt;&amp;quot;value2&amp;quot;, &amp;quot;P-my-custom-header3&amp;quot;=&amp;gt;&amp;quot;value3&amp;quot;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PCAP sample: [[File:TB_Custom_SIP_Headers.pcap]]&lt;br /&gt;
&lt;br /&gt;
List of sip headers that will not appear in call[:sip_header] since they are already processed by the SIP stack:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Accept               Error-Info             Remote-Party-ID      &lt;br /&gt;
Accept-Contact       Event                  Replaces                        &lt;br /&gt;
Accept-Encoding      Expires                Reply-To               &lt;br /&gt;
Accept-Language      From                   Request-Disposition    &lt;br /&gt;
Alert-Info           In-Reply-To            Subject          &lt;br /&gt;
Allow                Max-Forwards           Subscription-State  &lt;br /&gt;
Allow-Events         MIME-version           Supported           &lt;br /&gt;
Also                 Min-Expires            Timestamp           &lt;br /&gt;
Anonymity            Min-SE                 To             &lt;br /&gt;
Authorization        Organization           Unsupported  &lt;br /&gt;
Authentication-Info  Path                   User-Agent  &lt;br /&gt;
Call-ID              Priority               Via  &lt;br /&gt;
Call-Info            Privacy                Warning  &lt;br /&gt;
Contact              Proxy-Authenticate     WWW-Authenticate  &lt;br /&gt;
Content-Disposition  Proxy-Authorization    Require  &lt;br /&gt;
Content-Encoding     Proxy-Require          Response-Key  &lt;br /&gt;
Content-Language     P-Media-Authorization  Retry-After  &lt;br /&gt;
Content-Length       P-Preferred-Identity   RPID-Privacy  &lt;br /&gt;
Content-Type         P-Asserted-Identity    Route  &lt;br /&gt;
CSeq                 RAck                   RSeq  &lt;br /&gt;
RAck                 Reason                 Security-Client  &lt;br /&gt;
Reason               Record-Route           Security-Server  &lt;br /&gt;
Date                 Refer-To               Security-Verify&lt;br /&gt;
Diversion            Referred-By            Server&lt;br /&gt;
Encryption           Reject-Contact         Service-Route             &lt;br /&gt;
                                            Session-Expires&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MLPP Precedence values  ===&lt;br /&gt;
&lt;br /&gt;
mlpp_look_for_busy: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;path_reserved&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;not_allowed&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_precedence_level: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;flash_override&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;flash&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;immediate&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;priority&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;routine&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_network_identity:&lt;br /&gt;
&lt;br /&gt;
3 digits value from 0 to 999&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mlpp_service_domain:&lt;br /&gt;
&lt;br /&gt;
24 bits value from 0 to 16777215&lt;br /&gt;
&lt;br /&gt;
=== ISUB subaddress information values  ===&lt;br /&gt;
&lt;br /&gt;
called_isub_type: &lt;br /&gt;
calling_isub_type: &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_ia5&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;nsap_bcd&amp;lt;/tt&amp;gt; &lt;br /&gt;
*&amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
called_isub: &lt;br /&gt;
calling_isub: &lt;br /&gt;
&lt;br /&gt;
Digits for the subaddress information.&lt;br /&gt;
&lt;br /&gt;
== Route parameters  ==&lt;br /&gt;
&lt;br /&gt;
All route may have these parameters: &lt;br /&gt;
&lt;br /&gt;
*calling &lt;br /&gt;
*called &lt;br /&gt;
*nap &lt;br /&gt;
*remapped_calling &lt;br /&gt;
*remapped_called &lt;br /&gt;
*remapped_nap &lt;br /&gt;
*remapped_profile&lt;br /&gt;
*remapped_incoming_profile&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  route[:remapped_nap]&lt;br /&gt;
&lt;br /&gt;
Additionally it is possible to add dynamic route attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Playing prompts announcements or tones  ==&lt;br /&gt;
&lt;br /&gt;
New feature in release 2.6, all bridges may have these parameters. These can be used to play IVR prompts (audio files) in different states of the call flow.&lt;br /&gt;
&lt;br /&gt;
*'''announcement_tone''' (played before outgoing call is routed)&lt;br /&gt;
*'''ring_tone''' (played after when waiting for outgoing call to answer)&lt;br /&gt;
*'''busy_tone''' (played if outgoing call failed)&lt;br /&gt;
*'''disconnect_tone''' (played after the call has reached it's maximum duration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following sections show how to access those different parameters from '''inside''' a filter.  The 'params' hash is the sole argument passed to a filter function and contains call, nap, route and bridge parameters.   This hash is created by the base_routing.rb scripts to regroup all relevant information just before calling the filter functions.&lt;br /&gt;
&lt;br /&gt;
=== Tone string format  ===&lt;br /&gt;
&lt;br /&gt;
All tone strings (:announcement_tone,&amp;amp;nbsp;:busy_tone,&amp;amp;nbsp;:ring_tone,&amp;amp;nbsp;:disconnect_tone) inside bridge parameters are using this format. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;file1.wav:repeat:start_off:end_off,file2.wav:repeat:start_off:end_off,file3.wav:repeat:start_off:end_off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Optional parameters:&lt;br /&gt;
* repeat: number of times to play the file (0 and 1 have the same result)&lt;br /&gt;
* start_off: Start offset in milliseconds&lt;br /&gt;
* end_off: End offset in milliseconds&lt;br /&gt;
&lt;br /&gt;
Http and other path formats are described here: [[Customer_application_framework:play_audio_files#Play_path_format|Path format]]&lt;br /&gt;
&lt;br /&gt;
==== Example 1 ====&lt;br /&gt;
The following example will play file1.wav once, and then play file2.wav in loop: &lt;br /&gt;
  &amp;quot;file1.wav,file2.wav:-1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 2 ====&lt;br /&gt;
The following example will play file1.wav from start offset of 1 second to end offset of 3 seconds, then twice file2.wav from second 5 to second 10.&lt;br /&gt;
  &amp;quot;file1.wav:0:1000:3000,file2.wav:2:5000:10000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==== Example 3 ====&lt;br /&gt;
The following example will play file1.wav once, ending at offset of 30 seconds.&lt;br /&gt;
  &amp;quot;file1.wav:0:0:30000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== announcement_tone  ===&lt;br /&gt;
&lt;br /&gt;
  params[:bridge][:announcement_tone] = &amp;quot;announcement.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call before any outgoing call is placed. The outgoing call occurs when the file finished playing.&lt;br /&gt;
&lt;br /&gt;
==== announcement_tone options ====&lt;br /&gt;
===== announcement_tone_answer =====&lt;br /&gt;
  params[:bridge][:announcement_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the announcement. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ring_tone  ===&lt;br /&gt;
  params[:bridge][:ring_tone] = &amp;quot;ringing.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call while waiting for the outgoing call to be answered.&lt;br /&gt;
&lt;br /&gt;
Ring tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:ring_tone] will override the profile's ring tone behavior).&lt;br /&gt;
&lt;br /&gt;
==== ring_tone options ====&lt;br /&gt;
===== ring_tone_state =====&lt;br /&gt;
  params[:bridge][:ring_tone_state] = :alerted&lt;br /&gt;
&lt;br /&gt;
Call state from which ring tone is being played. Available values are:&lt;br /&gt;
* '''immediately''':  Ring tone starts playing immediately on the incoming leg&lt;br /&gt;
* '''accepted''':     Ring tone starts playing as soon as outgoing call is accepted&lt;br /&gt;
* '''callprogress''': Ring tone starts playing as soon as &amp;quot;call progress&amp;quot; is received on the outgoing call&lt;br /&gt;
* '''alerted''' (default):      Ring tone starts playing only once outgoing call is alerted (but won't play if alert indicates early media from outgoing call)&lt;br /&gt;
&lt;br /&gt;
This option also apply when params[:bridge][:ring_tone] is not used, because it also apply to ring tone playback configured in the Web Portal, from the incoming call's profile.&lt;br /&gt;
&lt;br /&gt;
=== busy_tone  ===&lt;br /&gt;
  Toolpack 2.8 and above:&lt;br /&gt;
    params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Note: Obsolete name (toolpack 2.7.153 and earlier, but still supported in recent releases):&lt;br /&gt;
    params[:bridge][:call_progress_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when outgoing call fails (never answered).&lt;br /&gt;
&lt;br /&gt;
Note that announcement_tone, if used, is played before the outgoing call attempt is made, and thus before the busy_tone.&lt;br /&gt;
&lt;br /&gt;
Busy tone playback can also be configured in the Web Portal, from the incoming call's profile (under &amp;quot;Tones and Call Progress Options&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Routing script has precedence over profile (a routing script that fills params[:bridge][:busy_tone] will override the profile's busy tone behavior).&lt;br /&gt;
&lt;br /&gt;
Special value '''&amp;quot;none&amp;quot;''' can be used by routing script to force playing nothing (as empty string would default to profile's behavior)&lt;br /&gt;
&lt;br /&gt;
==== busy_tone options ====&lt;br /&gt;
===== busy_tone_answer =====&lt;br /&gt;
  params[:bridge][:busy_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the busy tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
=== disconnect_tone  ===&lt;br /&gt;
  params[:bridge][:disconnect_tone] = &amp;quot;max_duration.wav&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Audio file played on the incoming call when call duration (:max_call_duration) is reached. Then the leg will be terminated with specified reason (:call_duration_reason).&lt;br /&gt;
&lt;br /&gt;
==== disconnect_tone options ====&lt;br /&gt;
===== disconnect_tone_answer =====&lt;br /&gt;
  params[:bridge][:disconnect_tone_answer] = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Forces an answer of the call before playing the disconnect tone. Default if argument not provided is &amp;quot;no&amp;quot;, in which case call is only alerted with in-band media.&lt;br /&gt;
&lt;br /&gt;
===== max_call_duration  =====&lt;br /&gt;
  params[:bridge][:max_call_duration] = &amp;quot;60000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Maximum call duration in millisecond. This timer is started when entering answer state.&lt;br /&gt;
&lt;br /&gt;
===== call_duration_reason  =====&lt;br /&gt;
  params[:bridge][:call_duration_reason] =&amp;amp;nbsp;:resource_unavailable &lt;br /&gt;
&lt;br /&gt;
Drop both legs with this reason when call duration (:max_call_duration) is reached. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts through Web Portal ===&lt;br /&gt;
Audio prompts can be uploaded or deleted from the TMedia unit through the Web Portal:&lt;br /&gt;
[[Toolpack:Configuring_Audio_Prompts_A|Managing audio prompts]]&lt;br /&gt;
&lt;br /&gt;
Prompts management must be done using the Web Portal of the primary server (in systems with redundant TMedia units or redundant host servers).&lt;br /&gt;
The file will automatically get replicated to the secondary server.&lt;br /&gt;
&lt;br /&gt;
=== Managing audio prompts manually ===&lt;br /&gt;
Any file on the TMedia host file system can be played. This means it's possible to manage prompts through ssh/scp.&lt;br /&gt;
&lt;br /&gt;
==== The default (replicated) prompts folder ====&lt;br /&gt;
By default, when playing a prompt, Toolpack will look in the default prompts folder:&lt;br /&gt;
 /lib/tb/toolpack/pkg/prompts&lt;br /&gt;
The root of this &amp;quot;prompts&amp;quot; directory is automatically replicated to secondary unit of redundant setups (1+1, N+1, redundant hosts). Sub-folders won't be replicated.&lt;br /&gt;
&lt;br /&gt;
Any prompt play request without explicit file path will map to this folder. For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/pkg/prompts/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Relative file paths ====&lt;br /&gt;
Any file path that begins with &amp;quot;file://&amp;quot; is considered relative to the tbstreamserver application's working directory:&lt;br /&gt;
 /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/&lt;br /&gt;
(Where &amp;quot;2.8&amp;quot; may be replaced by the current major version of your system)&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file://my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /lib/tb/toolpack/setup/12358/2.8/apps/tbstreamserver/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
==== Absolute file paths ====&lt;br /&gt;
Absolute paths can also be provided.&lt;br /&gt;
For example:&lt;br /&gt;
  params[:bridge][:busy_tone] = &amp;quot;file:///root/my_folder/no_route.wav&amp;quot; &lt;br /&gt;
This will correspond to file /root/my_folder/no_route.wav&lt;br /&gt;
&lt;br /&gt;
== Recording call legs  ==&lt;br /&gt;
Introduced in release 2.6.44, it's now possible to use routing scripts to ask for recording incoming and/or outgoing call legs.&lt;br /&gt;
&lt;br /&gt;
See example filter script &amp;quot;call_recording&amp;quot; (created by default in Web Portal routing scripts starting with 2.6.44) for an example.&lt;br /&gt;
&lt;br /&gt;
=== Recording the incoming call leg  ===&lt;br /&gt;
To record the incoming call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter:&lt;br /&gt;
&lt;br /&gt;
  bridge[ :record_incoming ]  = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Recording the outgoing call leg  ===&lt;br /&gt;
To record the outgoing call leg, the routing script (in a &amp;quot;after filter&amp;quot; for example) has to set the following parameter, per route (the decision to record or not, or the file name to record to, can be set per matching route):&lt;br /&gt;
&lt;br /&gt;
  # Need to clone the routes in order to have the right to modify them&lt;br /&gt;
  routes = clone_routes params[:routes]&lt;br /&gt;
  routes.each do |route|&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
  # Store modified routes back to the parameters for this outgoing call&lt;br /&gt;
  params[:routes] = routes&lt;br /&gt;
&lt;br /&gt;
=== Record the outgoing call leg within incoming leg's recorded file (mixing)  ===&lt;br /&gt;
  [...]&lt;br /&gt;
    route[ :record_outgoing ]  = &amp;quot;@{MixWithIncoming}&amp;quot;&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
=== Choosing file path to record to  ===&lt;br /&gt;
The value assigned to &amp;quot;:record_incoming&amp;quot; or &amp;quot;:record_outgoing&amp;quot; is the path to record the file to.&lt;br /&gt;
&lt;br /&gt;
The paths can be absolute, or relative. When relative, they are relative to the &amp;quot;tbstreamserver&amp;quot; application working directory, for example:&lt;br /&gt;
  /lib/tb/toolpack/setup/12358/2.7/apps/tbstreamserver/&lt;br /&gt;
&lt;br /&gt;
* Empty file name will default to a name that contains various information about the call:&lt;br /&gt;
** ''LinkId'':     Id common between all legs of this call bridge&lt;br /&gt;
** ''LegId'':      Unique Id for this leg&lt;br /&gt;
** ''Nap'':        Current NAP name this call leg is from&lt;br /&gt;
** ''Direction'':  &amp;quot;IN&amp;quot; or &amp;quot;OUT&amp;quot; (depends if call leg is incoming or outgoing leg)&lt;br /&gt;
** ''Calling'':    The calling number of this call leg&lt;br /&gt;
** ''Called'':     The called number of this call leg&lt;br /&gt;
** ''Protocol'':   The signaling protocol of this call leg (SS7, ISDN, CAS, SIP)&lt;br /&gt;
** ''Media info'': Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls&lt;br /&gt;
* To record outgoing call leg in the same audio file as incoming call leg (mixing), use the following:&lt;br /&gt;
** @{MixWithIncoming}: Record outgoing legs in same file as incoming legs&lt;br /&gt;
* Variables can be used to insert in the recording path information that's not already available from routing scripts:&lt;br /&gt;
** @{DefaultName}: Same file name (without parent folder path) as the one used when empty string is provided&lt;br /&gt;
*** Example: &amp;quot;73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{DefaultPath}: Same path as the one used when empty string is provided&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav&amp;quot;&lt;br /&gt;
*** Example: &amp;quot;/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav&amp;quot;&lt;br /&gt;
** @{LinkId}: Current LinkId (Id common between all legs of this call bridge)&lt;br /&gt;
*** Example: &amp;quot;73EBA698&amp;quot;&lt;br /&gt;
** And all variables listed here: [[Customer_application_framework:play_audio_files#Helpful_variables_to_build_play_or_record_file_paths|Building play or record file path]]&lt;br /&gt;
&lt;br /&gt;
== Controlling UUI (user-to-user information) relay  ==&lt;br /&gt;
UUI (user-to-user information) can be present in different messages received by either call leg during a call. For example, information can be carried during the initial invite, other information can be carried when the call is alerted, answered, or terminated.&lt;br /&gt;
&lt;br /&gt;
Routing scripts can control if the UUI received from one leg through the call will be forwarded or not to the other call leg:&lt;br /&gt;
*uui_forward_enabled&lt;br /&gt;
&lt;br /&gt;
Routing scripts can also read and modify the UUI received with the incoming call leg, before it gets forwarded upon creation of the outgoing call leg:&lt;br /&gt;
*uui &lt;br /&gt;
&lt;br /&gt;
=== UUI (user-to-user indication) values  ===&lt;br /&gt;
&lt;br /&gt;
Byte array represented as ruby String. Use ''bridge=params[:bridge]'', then ''bridge[:uui]'' to access the data.&lt;br /&gt;
&lt;br /&gt;
To access the bytes in Ruby, use ruby String operator []. For example:  bridge[:uui][0] will return the binary value of the first UUI byte.&lt;br /&gt;
&lt;br /&gt;
Function each_byte can also be useful to iterate through all bytes of the UUI.&lt;br /&gt;
&lt;br /&gt;
=== uui_forward_enabled values  ===&lt;br /&gt;
&lt;br /&gt;
Controls forwarding or discarding of UUI to outgoing call leg. &lt;br /&gt;
&lt;br /&gt;
Values for this parameter are &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;true.&lt;br /&gt;
* 0/false: UUI is not forwarded between call legs&lt;br /&gt;
* 1/true: UUI is forwarded between call legs&lt;br /&gt;
&lt;br /&gt;
The value for this parameter at input of routing script depends on the &amp;quot;Forward UUI&amp;quot; parameter in the &amp;quot;Advanced&amp;quot; section of the Gateway configuration page of the Web Portal. The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
== Authorization ==&lt;br /&gt;
Starting with release 2.7, it is possible to issue RADIUS authorization requests from routing scripts. To do so, the params[:authorization] object must be filled with the required RADIUS attributes and [[#Refuse|an exception must be raised]] with reason :authorization_required.&lt;br /&gt;
&lt;br /&gt;
When the authorization is completed, the routing script is called again with the result. The params[:authorization] object will be filled with the RADIUS attributes from the response. The params[:authorization][:result] field will also contain a string indicating the result of the authorization:&lt;br /&gt;
&lt;br /&gt;
* ''accept'': The authorization was successful.&lt;br /&gt;
* ''reject'': The authorization was refused.&lt;br /&gt;
* ''challenge'': The authorization was challenged.&lt;br /&gt;
* ''timeout'': The authorization was not answered.&lt;br /&gt;
&lt;br /&gt;
== Call diversion options ==&lt;br /&gt;
It's possible to control the call flow when a call diversion information is received in the alerting state.&lt;br /&gt;
&lt;br /&gt;
Two fields are available: bridge[ :diversion ] and bridge[ :diversion_reason ]&lt;br /&gt;
&lt;br /&gt;
The internal release cause TOOLPACK_DIVERT_NOT_ALLOWED is used by gateway application to terminate both legs.&lt;br /&gt;
&lt;br /&gt;
  bridge[ :diversion ] = :allowed&lt;br /&gt;
The alert message will not be analyzed and the call will be progressed. Default behavior.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed&lt;br /&gt;
If the alert message indicates that the call is diverted, the call will be released no matter the In-band information to allow&lt;br /&gt;
early media.&lt;br /&gt;
  bridge[ :diversion ] = :not_allowed_w_early_media&lt;br /&gt;
The call will be released If the alert message indicates that the call is diverted with in-band information to allow early media.&lt;br /&gt;
  bridge[ :diversion_reason ] = &amp;quot;*&amp;quot;&lt;br /&gt;
If the diversion is not allowed, the gateway will drop the call for any redirecting reason. &lt;br /&gt;
  bridge[ :diversion_reason ] = []&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :busy&lt;br /&gt;
  bridge[ :diversion_reason ] &amp;lt;&amp;lt; :unconditional&lt;br /&gt;
If the diversion is not allowed, the redirecting reason will be analyzed and the call will only be dropped for the configured cases.&lt;br /&gt;
&lt;br /&gt;
See section [[Routing_script_tutorial:Mini_Development_Guide#Redirecting_number_reason_values|Redirecting number reason values]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Call transfer requests ==&lt;br /&gt;
Toolpack allows to relay [[Call transfer]] requests from one leg to the other, or to process them locally (making another outgoing call to replace the call that requested the call transfer).&lt;br /&gt;
&lt;br /&gt;
If the chosen [[Call transfer]] mode is to process requests locally, upon reception of a call transfer request (SIP REFER or ISDN Facility), routing script will be called once again, to select the routes for the new outgoing call (call transfer target).&lt;br /&gt;
&lt;br /&gt;
=== How to route call transfer request ===&lt;br /&gt;
Routing of a call transfer request is done exactly like routing of a normal incoming call.&lt;br /&gt;
The routing script generally does not need any modification to support that.&lt;br /&gt;
&lt;br /&gt;
In some cases, the routing script may want to use information related to the transfer request to perform routing, or to insert information in the outgoing call leg.&lt;br /&gt;
Additional information is provided to the routing script, allowing routing decisions using information from the call transfer request (SIP REFER or ISDN Facility).&lt;br /&gt;
See below...&lt;br /&gt;
&lt;br /&gt;
=== params[ :call ] content during transfer request ===&lt;br /&gt;
When processing a call transfer request, the params[ :call ] hash contains the information from the inbound call (same as was passed to the routing script upon arrival of the inbound call)&lt;br /&gt;
 call = params[ :call ]          -&amp;gt; Information from original inbound call, with exception of call[ :called ]&lt;br /&gt;
&lt;br /&gt;
One exception (convenient because it allows a unmodified routing script to process call transfer request the same way as any other routing request):&lt;br /&gt;
 call[ :called ]                 -&amp;gt; Replaced by the called number from the call transfer request (also called &amp;quot;redirection number&amp;quot;)&lt;br /&gt;
Complementary information:&lt;br /&gt;
 call[ :original_called_number ] -&amp;gt; Contains the called number that was initially received from the incoming call, prior to call transfer request&lt;br /&gt;
 call[ :redirecting_number ]     -&amp;gt; Number of the call from which the call transfer request was received (generally equals to original_called_number)&lt;br /&gt;
&lt;br /&gt;
These fields will also be included in the outgoing call made after routing:&lt;br /&gt;
* original called number and redirecting number are existing fields on SS7 and ISDN calls&lt;br /&gt;
* SIP &amp;quot;diversion&amp;quot; header is used for SIP calls&lt;br /&gt;
&lt;br /&gt;
=== params[ :transfer ] content ===&lt;br /&gt;
(this if valid only for release 2.7.102 and above)&amp;lt;br&amp;gt;&lt;br /&gt;
When processing a call transfer request, information from the call transfer request message (SIP REFER, ISDN Facility) is provided in params[ :transfer ]:&lt;br /&gt;
  transfer = params[ :transfer ]&lt;br /&gt;
The following field is always present:&lt;br /&gt;
  transfer[ :original_nap ]      -&amp;gt; Contains the NAP of the first call from which a call transfer request was received&lt;br /&gt;
  transfer[ :redirecting_nap ]   -&amp;gt; Contains the NAP of the call from which the current call transfer request was received&lt;br /&gt;
                                    (same as :original_nap for the first call transfer, different for subsequent transfers)&lt;br /&gt;
Examples of other fields that may be present, when appropriate:&lt;br /&gt;
  transfer[ :uui ]               -&amp;gt; The UUI (user-to-user information) found in the call transfer request&lt;br /&gt;
  transfer[ :sip_header ]        -&amp;gt; Contains custom SIP headers from the call transfer request&lt;br /&gt;
  transfer[ :request_uri ]       -&amp;gt; Contains the SIP Request URI&lt;br /&gt;
&lt;br /&gt;
These field are 'read-only'. They won't be included in the outgoing call, as they represent the content of the call transfer request, not the outgoing call to make.&lt;br /&gt;
&lt;br /&gt;
To insert/modify attributes of the outgoing call, the parameters from params[ :call ] must be edited instead.&lt;br /&gt;
&lt;br /&gt;
== Redirection ==&lt;br /&gt;
In release 2.8, redirection contacts are obtained from the routing engine in the following format:&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt; contains the contact log. Each contact within the list has the following fields:&lt;br /&gt;
** &amp;lt;code&amp;gt;:called_number&amp;lt;/code&amp;gt; - the called number&lt;br /&gt;
** &amp;lt;code&amp;gt;:is_number_ported&amp;lt;/code&amp;gt; - if the called number has been ported&lt;br /&gt;
** &amp;lt;code&amp;gt;:ported_number&amp;lt;/code&amp;gt; - the called number that was ported (if available)&lt;br /&gt;
** &amp;lt;code&amp;gt;:sip_uri&amp;lt;/code&amp;gt; - the SIP URI of the contact (if available)&lt;br /&gt;
** &amp;lt;code&amp;gt;:raw_data&amp;lt;/code&amp;gt; - the raw data representing the contact in the signaling protocol&lt;br /&gt;
** &amp;lt;code&amp;gt;:priority&amp;lt;/code&amp;gt; - the priority of the contact [0-1000]&lt;br /&gt;
** &amp;lt;code&amp;gt;:expiration&amp;lt;/code&amp;gt; - the expiration time in seconds of the contact&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:index]&amp;lt;/code&amp;gt; contains the index of the contact that is currently being routed.&lt;br /&gt;
* &amp;lt;code&amp;gt;params[:contacts][:source_indexes]&amp;lt;/code&amp;gt; contains a comma-separated list of indexes from &amp;lt;code&amp;gt;params[:contacts][:list]&amp;lt;/code&amp;gt;. Each index represents the contact from which the contact in the list was obtained from. For instance: &amp;lt;code&amp;gt;&amp;quot;nil,0,0,2&amp;quot;&amp;lt;/code&amp;gt; describes the following example contact hierarchy:&lt;br /&gt;
  * 1234 &amp;lt;sip:1234@test.com&amp;gt;&lt;br /&gt;
     |- 1234 &amp;lt;sip:1234@other.com&amp;gt;&lt;br /&gt;
     `- 5555 &amp;lt;sip:5555@test.com&amp;gt;&lt;br /&gt;
         `- 5555 &amp;lt;sip:5555@final.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Terminating calls ==&lt;br /&gt;
In release 2.8, it is now possible to terminate a call through the routing scripts. The [[#Reason values|reason code]] must be specified in &amp;lt;code&amp;gt;params[:bridge][:reason]&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt; hash must be created and copied into &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt;:&lt;br /&gt;
  terminate = {}&lt;br /&gt;
  params[:terminate] = terminate&lt;br /&gt;
The following fields can then be set in &amp;lt;code&amp;gt;:terminate&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;:sip_header&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:contacts&amp;lt;/code&amp;gt; # list of contacts as described in the [[#Redirection|redirection]] section&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:isup_raw_variant&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:redirecting_number_indicator&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_noa&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_npi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_presentation&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_reason&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;:original_called_number_counter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
Check here for Termination Reason Cause codes:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Termination_cause_codes|Termination Reason Cause codes]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example to refuse an incoming call leg.&lt;br /&gt;
  raise RoutingException, :no_route&lt;br /&gt;
&lt;br /&gt;
Reason cause strings available inside routing scripts:&lt;br /&gt;
&lt;br /&gt;
List of Q.850 reason causes:&lt;br /&gt;
  :unallocated_number&lt;br /&gt;
  :no_route_to_network&lt;br /&gt;
  :no_route_to_destination&lt;br /&gt;
  :send_special_tone&lt;br /&gt;
  :misdialled_trunk_prefix&lt;br /&gt;
  :channel_unacceptable&lt;br /&gt;
  :call_awarded_in_established_channel&lt;br /&gt;
  :preemption&lt;br /&gt;
  :reattempt&lt;br /&gt;
  :ported_number&lt;br /&gt;
  :normal_call_clearing&lt;br /&gt;
  :user_busy&lt;br /&gt;
  :no_user_responding&lt;br /&gt;
  :no_answer_from_user&lt;br /&gt;
  :subscriber_absent&lt;br /&gt;
  :call_rejected&lt;br /&gt;
  :number_changed&lt;br /&gt;
  :redirection&lt;br /&gt;
  :exchange_routing_error&lt;br /&gt;
  :non_selected_user_clearing&lt;br /&gt;
  :destination_out_of_order&lt;br /&gt;
  :address_incomplete&lt;br /&gt;
  :facility_rejected&lt;br /&gt;
  :response_to_status_enquiry&lt;br /&gt;
  :normal_unspecified&lt;br /&gt;
  :no_circuit_available&lt;br /&gt;
  :network_out_of_order&lt;br /&gt;
  :frame_mode_out_of_service&lt;br /&gt;
  :frame_mode_connection_operational&lt;br /&gt;
  :temporary_failure&lt;br /&gt;
  :switching_equipment_congestion&lt;br /&gt;
  :access_information_discarded&lt;br /&gt;
  :requested_circuit_not_available&lt;br /&gt;
  :precedence_call_blocked&lt;br /&gt;
  :resource_unavailable&lt;br /&gt;
  :quality_of_service_not_available&lt;br /&gt;
  :requested_facility_not_subscribed&lt;br /&gt;
  :outgoing_calls_barred&lt;br /&gt;
  :outgoing_calls_barred_within_cug&lt;br /&gt;
  :incoming_calls_barred&lt;br /&gt;
  :incoming_calls_barred_within_cug&lt;br /&gt;
  :bearer_cap_not_authorized&lt;br /&gt;
  :bearer_cap_not_available&lt;br /&gt;
  :inconsistency_access_info&lt;br /&gt;
  :service_not_available&lt;br /&gt;
  :bearer_cap_not_implemented&lt;br /&gt;
  :channel_type_not_implemented&lt;br /&gt;
  :requested_facility_not_implemented&lt;br /&gt;
  :only_restricted_digital_info&lt;br /&gt;
  :service_not_implemented&lt;br /&gt;
  :invalid_call_reference&lt;br /&gt;
  :channel_does_not_exist&lt;br /&gt;
  :call_identity_does_not_exist&lt;br /&gt;
  :call_identity_in_use&lt;br /&gt;
  :no_call_suspended&lt;br /&gt;
  :call_has_been_cleared&lt;br /&gt;
  :user_not_member_of_cug&lt;br /&gt;
  :incompatible_destination&lt;br /&gt;
  :non_existant_cug&lt;br /&gt;
  :invalid_transit_network&lt;br /&gt;
  :invalid_message_unspecified&lt;br /&gt;
  :mandatory_ie_missing&lt;br /&gt;
  :message_type_non_existent&lt;br /&gt;
  :not_compatible_with_call_state&lt;br /&gt;
  :ie_non_existent&lt;br /&gt;
  :invalid_ie_content&lt;br /&gt;
  :message_not_compatible&lt;br /&gt;
  :recovery_on_timer_expiry&lt;br /&gt;
  :parameter_non_existent_passed_on&lt;br /&gt;
  :msg_with_non_recognized_param_discarded&lt;br /&gt;
  :protocol_error&lt;br /&gt;
  :interworking_unspecified&lt;br /&gt;
&lt;br /&gt;
List of toolpack reason causes:&lt;br /&gt;
&lt;br /&gt;
  :toolpack_normal                       or :normal&lt;br /&gt;
  :toolpack_resource_error               or :resource_error&lt;br /&gt;
  :toolpack_timeout                      or :timeout&lt;br /&gt;
  :toolpack_no_route                     or :no_route&lt;br /&gt;
  :toolpack_call_collision               or :call_collision&lt;br /&gt;
  :toolpack_sync_drop                    or :sync_drop&lt;br /&gt;
  :toolpack_signaling_error              or :signaling_error&lt;br /&gt;
  :toolpack_locally_rejected             or :locally_rejected&lt;br /&gt;
  :toolpack_interface_not_available      or :interface_not_available&lt;br /&gt;
  :toolpack_reset_in_progress            or :reset_in_progress&lt;br /&gt;
  :toolpack_adapter_reject               or :adapter_reject&lt;br /&gt;
  :toolpack_missing_or_invalid_ie        or :missing_or_invalid_ie&lt;br /&gt;
  :toolpack_incoming_only                or :incoming_only&lt;br /&gt;
  :toolpack_system_configuration_changed or :system_configuration_changed&lt;br /&gt;
  :toolpack_resource_no_more_available   or :resource_no_more_available&lt;br /&gt;
  :toolpack_incompatible_media           or :incompatible_media&lt;br /&gt;
  :toolpack_resource_allocation_failed   or :resource_allocation_failed&lt;br /&gt;
  :toolpack_data_path_not_available      or :data_path_not_available&lt;br /&gt;
  :toolpack_local_congestion             or :local_congestion&lt;br /&gt;
  :toolpack_authorization_required       or :authorization_required&lt;br /&gt;
  :toolpack_call_divert_is_not_allowed   or :call_divert_is_not_allowed&lt;br /&gt;
&lt;br /&gt;
List of SIP reason causes:&amp;lt;br/&amp;gt;&lt;br /&gt;
Reason causes starting with a digit must use the following syntax (can't use : as prefix).&lt;br /&gt;
&lt;br /&gt;
  '400_bad_request'&lt;br /&gt;
  '401_unauthorized'&lt;br /&gt;
  '402_payment_required'&lt;br /&gt;
  '403_forbidden'&lt;br /&gt;
  '404_not_found'&lt;br /&gt;
  '405_method_not_allowed'&lt;br /&gt;
  '406_not_acceptable'&lt;br /&gt;
  '407_proxy_authentication_required'&lt;br /&gt;
  '408_request_timeout'&lt;br /&gt;
  '409_conflict'&lt;br /&gt;
  '410_gone'&lt;br /&gt;
  '413_request_entity_too_large'&lt;br /&gt;
  '414_request_URI_too_long'&lt;br /&gt;
  '415_unsupported_media'&lt;br /&gt;
  '416_unsupported_URI_scheme'&lt;br /&gt;
  '420_bad_extension'&lt;br /&gt;
  '421_extension_required'&lt;br /&gt;
  '422_session_timer_too_small'&lt;br /&gt;
  '423_interval_too_brief'&lt;br /&gt;
  '429_referrer_identity_error'&lt;br /&gt;
  '480_temporary_unavailable'&lt;br /&gt;
  '481_call_or_transaction_does_not_exist'&lt;br /&gt;
  '482_loop_detected'&lt;br /&gt;
  '483_too_many_hops'&lt;br /&gt;
  '484_address_incomplete'&lt;br /&gt;
  '485_ambiguous'&lt;br /&gt;
  '486_busy_here'&lt;br /&gt;
  '487_request_terminated'&lt;br /&gt;
  '488_not_acceptable_here'&lt;br /&gt;
  '489_bad_event'&lt;br /&gt;
  '491_retry_after'&lt;br /&gt;
  '500_server_internal_error'&lt;br /&gt;
  '501_not_implemented'&lt;br /&gt;
  '502_bad_gateway'&lt;br /&gt;
  '503_service_unavailable'&lt;br /&gt;
  '504_server_timeout'&lt;br /&gt;
  '505_version_unsupported'&lt;br /&gt;
  '513_message_too_large'&lt;br /&gt;
  '600_busy_everywhere'&lt;br /&gt;
  '603_decline'&lt;br /&gt;
  '604_not_exist_anywhere'&lt;br /&gt;
  '606_not_acceptable'&lt;br /&gt;
&lt;br /&gt;
== Nap status  ==&lt;br /&gt;
&lt;br /&gt;
All the status fields of the NAPs are provided for use by the routing scripts. See the nap status provider for more details on which fields are available in the CEngineStatTransNap.hpp file. &lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  Routing script call attribute name    Description&lt;br /&gt;
  --------------------------------------------------------------------------------------------&lt;br /&gt;
  &amp;quot;signaling_type&amp;quot;                      Signaling type.&lt;br /&gt;
  &amp;quot;inst_incoming_call_cnt&amp;quot;              Instantaneous Count of incoming calls.&lt;br /&gt;
  &amp;quot;inst_outgoing_call_cnt&amp;quot;              Instantaneous Count of outgoing calls.&lt;br /&gt;
  &amp;quot;available_cnt&amp;quot;                       Number of available circuits or channels.&lt;br /&gt;
  &amp;quot;unavailable_cnt&amp;quot;                     Number of unavailable circuits or channels.&lt;br /&gt;
  &amp;quot;availability_percent&amp;quot;                Percentage of available circuits or channels.&lt;br /&gt;
  &amp;quot;usage_percent&amp;quot;                       Percentage of used circuits or channels.&lt;br /&gt;
  &amp;quot;unused_shared_percent&amp;quot;               Percentage of used circuits or channels of this NAP available to make new calls with (taking into account shared with other NAPs)&lt;br /&gt;
  &amp;quot;total_incoming_call_cnt&amp;quot;             Total Count of incoming calls.&lt;br /&gt;
  &amp;quot;asr_statistics_struct&amp;quot;               Detailed Answer-Seizure Rate Statistics.&lt;br /&gt;
  &amp;quot;global_asr_percent&amp;quot;                  Global calculated ASR percentage.&lt;br /&gt;
  &amp;quot;total_outgoing_call_cnt&amp;quot;             Total Count of outgoing calls.&lt;br /&gt;
  &amp;quot;last_24h_asr_percent&amp;quot;                Last 24 hours calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_24h_outgoing_call_cnt&amp;quot;          Last 24 hours outgoing calls.&lt;br /&gt;
  &amp;quot;current_hour_asr_percent&amp;quot;            Current hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;current_hour_outgoing_call_cnt&amp;quot;      Current hour outgoing calls.&lt;br /&gt;
  &amp;quot;last_hour_asr_percent&amp;quot;               Last hour calculated ASR percentage.&lt;br /&gt;
  &amp;quot;last_hour_outgoing_call_cnt&amp;quot;         Last hour outgoing calls.&lt;br /&gt;
  &amp;quot;availability_detection_struct&amp;quot;       Detailed availibility detection Statistics&lt;br /&gt;
  &amp;quot;poll_remote_proxy&amp;quot;                   Remote proxy polling enabled&lt;br /&gt;
  &amp;quot;is_available&amp;quot;                        Remote proxy actually available or not&lt;br /&gt;
  &amp;quot;time_since_polling&amp;quot;                  Time since the last availibility polling&lt;br /&gt;
  &amp;quot;time_available_seconds&amp;quot;              Number of seconds since the NAP is available&lt;br /&gt;
  &amp;quot;time_unavailable_seconds&amp;quot;            Number of seconds since the NAP is unavailable&lt;br /&gt;
  &amp;quot;registration_struct&amp;quot;                 Detailed registration Statistics&lt;br /&gt;
  &amp;quot;register_to_proxy&amp;quot;                   Register to proxy enabled&lt;br /&gt;
  &amp;quot;registered&amp;quot;                          Actually registered or not&lt;br /&gt;
  &amp;quot;time_since_refresh&amp;quot;                  Time since the last refresh&lt;br /&gt;
  &amp;quot;time_registered_seconds&amp;quot;             Number of seconds since the NAP is registered&lt;br /&gt;
  &amp;quot;time_not_registered_seconds&amp;quot;         Number of seconds since the NAP is not registered&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; If the nap status is part of a substructure, it's name in the routing scripts must be composed of the structure name appended by an underscore and the field name. &lt;br /&gt;
&lt;br /&gt;
For example the name to use for the global [[ASR]] percentage is: &lt;br /&gt;
&lt;br /&gt;
  asr_statistics_struct_global_asr_percent&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; It is also possible to add dynamic nap attributes in the web portal. These can be referenced by their name.&lt;br /&gt;
&lt;br /&gt;
== Routing Script Tests ==&lt;br /&gt;
The Web portal features a tool for Testing Scripts. The user must enter parameters to simulate the incoming call and after pressing the Test button, will output selected routes and numbers.  You do not need to activate the new routes, or the new scripts to use this test tool: It can be used to test the routing scripts and routing table before activating it.&lt;br /&gt;
This is available in the Routing Scripts section of the Web portal.&lt;br /&gt;
&lt;br /&gt;
=== Test parameters ===&lt;br /&gt;
==== @call_params  ====&lt;br /&gt;
&lt;br /&gt;
That variable should contain a hash of call parameters that will passed to the routing script. This is equivalent to the incoming call parameters. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @nap_list  ====&lt;br /&gt;
&lt;br /&gt;
A list of hash containing the nap statuses. This is equivalent to the nap statuses at the time the call is to be routed. &lt;br /&gt;
&lt;br /&gt;
'''The nap list is hashed by the nap names in UPPERCASE.''' It is important to consider this when creating new dynamic route or nap attributes that may nap names that will be used to fetch a status. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== @params  ====&lt;br /&gt;
&lt;br /&gt;
A hash of hashes containing parameters. This hash contains bridge parameters and other kind of parameter groups may be added in the future. &lt;br /&gt;
&lt;br /&gt;
Example: @params = {:bridge =&amp;gt; {:announcement_tone, &amp;quot;announcement.wav&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;br /&gt;
&lt;br /&gt;
[[category:Needs revising]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Local_Number_Portability</id>
		<title>Local Number Portability</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Local_Number_Portability"/>
				<updated>2015-04-28T17:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Updated page with regards to redirections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Local Number Portability (LNP) ==&lt;br /&gt;
&lt;br /&gt;
=== History and overview ===&lt;br /&gt;
Since the beginning of modern telephony, the phone number has been composed of series of digits representing the address of the final destination (i.e. the callee).  This is actually what the end-user believed actually.  But in reality, the signification of these digits has changed over the decades sometimes partially representing the actual route from one switch to the other or the rural region where the callee actually lives.&lt;br /&gt;
&lt;br /&gt;
Traditionally, every switches was assigned an NPA-NXX (where NPA means &amp;quot;Numbering Plan Area&amp;quot;), meaning that a phone number with the format NPA-NXX-XXXX was actually refering to a specific geographical switch.  As the number of end-user was growing in geographical regions, the set of available numbers in a specific NPA-NXX-XXXX was reducing forcing the telecommunication authorities to allocate more regional codes.  At some point, the switches themselves were provisioned at their maximum capacity which forces the operators to include other switches not necessarily to the same geographical locations thus making the NPA-NXX less and less relevant to geography.  However, the real changes came when the normative authorities decided that a end-user has the right to keep his assigned phone number regardless of which carrier he's chose as long as it kept to the same local geographical region.  This change had to be supported by the ISUP switching/terminating equipment to decouple the actual phone number from the carrier/switching equipment and link it to the end-user.  However, for routing purposes, these equipments still needed a way to deduce the routing to reach that end-customer number.  This mechanism is referred to as &amp;quot;Local Number Portability&amp;quot; (LNP).&lt;br /&gt;
&lt;br /&gt;
With LNP now active, a new number called the LRN (Location routing number) is introduced in the routing mechanism.  It is formatted as NPA-NXX-XXXX and points '''logically''' to a particular switching equipment: it is the switch permanent address. The DNIS (end-user called number) is now a “virtual number” that only the last end-switch knows how to route to the subscriber. It is the role of the originating switch and intermediate switches to translate the DNIS into an LRN (consulting a regional databases using SS7 or SIP) and route the call to the final switch responsible for that subscriber. Then, and only then, the last switch uses the original DNIS to route it to the end-user.&lt;br /&gt;
&lt;br /&gt;
When the first subscriber within an NPA-NXX group changes service providers, the entire NPA-NXX is considered “ported” (all 10k numbers) which means that this particular NPA-NXX combination has become a portable number and no longer represents a specific exchange.   Every call to that NPA-NXX will trigger a query to a database to determine the LRN of the number of the switch responsible for the NPA-NXX-XXXX being called.&lt;br /&gt;
&lt;br /&gt;
=== LNP and TelcoBridges ===&lt;br /&gt;
&lt;br /&gt;
TelcoBridges products support the LNP use cases described by the following table.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Scenario&lt;br /&gt;
! Description&lt;br /&gt;
! TelcoBridges support&lt;br /&gt;
|-&lt;br /&gt;
| All Call Query&lt;br /&gt;
| Before every call, obtain the routing number corresponding to the called number from a centralized database.&lt;br /&gt;
| The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call.&lt;br /&gt;
|-&lt;br /&gt;
| Query on Release&lt;br /&gt;
| Route calls normally. If a remote operator returns a redirection response without any destination specified, obtain the routing number corresponding to the called number from a centralized database.&lt;br /&gt;
| The routing scripts can be configured to query the database through RADIUS, or using a SS7/SIP call.&lt;br /&gt;
|-&lt;br /&gt;
| Call Dropback&lt;br /&gt;
| Route calls normally. A remote operator may provide a routing number to use to route the call somewhere else.&lt;br /&gt;
| TelcoBridges products can process, relay or drop redirections.&lt;br /&gt;
|-&lt;br /&gt;
| Onward Routing&lt;br /&gt;
| Route calls normally. A remote operator may choose to re-route the call by itself or provide a routing number.&lt;br /&gt;
| TelcoBridges products can process, relay or drop redirections. They also handle call transfers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Relaying ====&lt;br /&gt;
Most carriers and operators exposing ISUP interfaces to CLECs detects if an incoming call is in the 'translated' mode or not by looking at the content of the ISUP message.  If the ISUP call does not contain any LRN number, then the carrier/operator switch does a query to the SS7 database to figure out the LRN and adjust the call information accordingly. The TelcoBridges' [[Toolpack]] framework is able to terminate or relay a call from SIP to SS7 providing the LRN information is contained in the SIP body.  What is relayed and how it is relayed depends on the profile configuration options.&lt;br /&gt;
&lt;br /&gt;
==== Processing ====&lt;br /&gt;
TelcoBridges' [[Toolpack]] framework allows to route calls based on both the called number or the LRN based on the profile configuration options.&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] can query an external LNP database using [[RADIUS]] authorizations or SS7 or SIP [[Redirect|redirections]]. This operation is also commonly referred as LNP/LRN &amp;quot;dipping&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Toolpack processes sequentially the incoming call by parsing the content of the signalling protocol and mapping it to &amp;quot;protocol-agnostic&amp;quot; internal variables that are accessible by the routing scripts.  Through all the [[Routing_script_tutorial:Mini_Development_Guide#Script_parameters_protocol_mapping|routing script variables]] accessible to scripts are some related to LNP such as 'ported_number'.   The mapping of the information found in the incoming call depends on the option selected in the &amp;quot;incoming&amp;quot; parameters of the LNP section in the profile associated with the incoming NAP.  Then its mapping to the outgoing call depends on configuration parameters of the profile for the outgoing NAP.&lt;br /&gt;
&lt;br /&gt;
[[Toolpack:Modify_NAP_profile_A|Configuring LNP in v2.6]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Redirect</id>
		<title>Redirect</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Redirect"/>
				<updated>2015-04-28T17:37:16Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Fixed link for LNP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some signaling protocols support redirecting calls from one location to another. This is usually done by a redirect server which analyzes incoming call information and then terminates the call while specifying another destination.&lt;br /&gt;
&lt;br /&gt;
Redirections are usually triggered by the following call termination reason codes:&lt;br /&gt;
* SIP&lt;br /&gt;
** 300 Multiple Choices&lt;br /&gt;
** 301 Moved Permanently&lt;br /&gt;
** 302 Moved Temporarily&lt;br /&gt;
** 305 Use Proxy&lt;br /&gt;
** 380 Alternative Service&lt;br /&gt;
* SS7&lt;br /&gt;
** Q.850 Ported Number (14)&lt;br /&gt;
** Q.850 Number Changed (22)&lt;br /&gt;
** Q.850 Redirection (23)&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and redirections ==&lt;br /&gt;
&lt;br /&gt;
[[Web_Portal_Tutorial_Guide_v2.7|TMG-CONTROL 2.7]] and earlier provides basic support for SIP redirection on the NAP from where the outgoing call originated.&lt;br /&gt;
&lt;br /&gt;
[[Web_Portal_Tutorial_Guide_v2.8|TMG-CONTROL 2.8]] and later provides support for various redirection behaviors on signaling protocols that support it. These behaviors are:&lt;br /&gt;
*&amp;lt;u&amp;gt;Redirection emission&amp;lt;/u&amp;gt;: [[TMG-CONTROL]] can forge a redirection response instead of routing an incoming call using routing scripts.&lt;br /&gt;
*&amp;lt;u&amp;gt;Redirection processing&amp;lt;/u&amp;gt;: [[TMG-CONTROL]] can process redirection requests through its routing scripts using the specified called or routing numbers. This feature can be used for [[Local Number Portability|LNP]] &amp;quot;dipping&amp;quot;.&lt;br /&gt;
*&amp;lt;u&amp;gt;Relay&amp;lt;/u&amp;gt;: The [[Tmedia]] or [[Tdev]] unit can be configured automatically relay redirection requests from the outgoing call to the incoming call.&lt;br /&gt;
*&amp;lt;u&amp;gt;Drop&amp;lt;/u&amp;gt;: The unit can also be configured to drop the request altogether.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.8|Toolpack v2.8]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Redirect</id>
		<title>Redirect</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Redirect"/>
				<updated>2015-04-28T17:34:35Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some signaling protocols support redirecting calls from one location to another. This is usually done by a redirect server which analyzes incoming call information and then terminates the call while specifying another destination.&lt;br /&gt;
&lt;br /&gt;
Redirections are usually triggered by the following call termination reason codes:&lt;br /&gt;
* SIP&lt;br /&gt;
** 300 Multiple Choices&lt;br /&gt;
** 301 Moved Permanently&lt;br /&gt;
** 302 Moved Temporarily&lt;br /&gt;
** 305 Use Proxy&lt;br /&gt;
** 380 Alternative Service&lt;br /&gt;
* SS7&lt;br /&gt;
** Q.850 Ported Number (14)&lt;br /&gt;
** Q.850 Number Changed (22)&lt;br /&gt;
** Q.850 Redirection (23)&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and redirections ==&lt;br /&gt;
&lt;br /&gt;
[[Web_Portal_Tutorial_Guide_v2.7|TMG-CONTROL 2.7]] and earlier provides basic support for SIP redirection on the NAP from where the outgoing call originated.&lt;br /&gt;
&lt;br /&gt;
[[Web_Portal_Tutorial_Guide_v2.8|TMG-CONTROL 2.8]] and later provides support for various redirection behaviors on signaling protocols that support it. These behaviors are:&lt;br /&gt;
*&amp;lt;u&amp;gt;Redirection emission&amp;lt;/u&amp;gt;: [[TMG-CONTROL]] can forge a redirection response instead of routing an incoming call using routing scripts.&lt;br /&gt;
*&amp;lt;u&amp;gt;Redirection processing&amp;lt;/u&amp;gt;: [[TMG-CONTROL]] can process redirection requests through its routing scripts using the specified called or routing numbers. This feature can be used for [[LNP]] &amp;quot;dipping&amp;quot;.&lt;br /&gt;
*&amp;lt;u&amp;gt;Relay&amp;lt;/u&amp;gt;: The [[Tmedia]] or [[Tdev]] unit can be configured automatically relay redirection requests from the outgoing call to the incoming call.&lt;br /&gt;
*&amp;lt;u&amp;gt;Drop&amp;lt;/u&amp;gt;: The unit can also be configured to drop the request altogether.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.8|Toolpack v2.8]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture</id>
		<title>VoIP Ethernet Capture</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture"/>
				<updated>2015-02-04T21:49:35Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* Start the capture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Tmedia]] product can configure one of its VoIP Ethernet ports to do [http://en.wikipedia.org/wiki/Port_mirroring Port Mirroring]. This is useful when investigating RTP, Codecs or IP Tones issues.&lt;br /&gt;
&lt;br /&gt;
=== Preparing the Tmedia for capture (enable ports mirroring) ===&lt;br /&gt;
*If the traffic to be captured is on a 802.1Q VLAN and the TMG-CONTROL version is &amp;gt;= 2.8, an IP interface with the 'MANAGEMENT' service must be created through the Web Portal. The IP interface must be assigned to a virtual port that is assigned to the capture port and uses the 802.1Q VLAN ID that is targeted by the capture.&lt;br /&gt;
*Access the [[Tmedia]] unit using SSH.&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Type in the mv88eMonitor command to get the list of ports on the unit:&lt;br /&gt;
 mv88eMonitor&lt;br /&gt;
*A list (such as the one below) should appear:&lt;br /&gt;
 Port Mapping:&lt;br /&gt;
 PortDesc   :   eth0   eth1  voip0  voip1 mspeedsw1 mspeedsw2  fpga0  fpga1   host    cpu&lt;br /&gt;
 PortNumber :      0      1      2      3         4         5      6      7      8      9&lt;br /&gt;
 PortMask   :    0x1    0x2    0x4    0x8      0x10      0x20   0x40   0x80  0x100  0x200&lt;br /&gt;
*The 'PortNumber' is the '''destination''' port for the capture. &lt;br /&gt;
**If the traffic is to be captured on the '''internal host''' of the TMG unit, use the number below the '''host''' port (in the above example, 8).&lt;br /&gt;
**If the traffic is to be captured on an '''external host''' (laptop, PC, or specialized equipment), choose the number below the desired target port (for example, 0 for eth0).&lt;br /&gt;
*The 'PortMask' is the '''source''' mask for the capture. On the above example, traffic going through the voip0 port would be captured using the 0x4 mask.&lt;br /&gt;
*Use the mv88eMonitor command in order to mirror traffic as desired. Here is the syntax:&lt;br /&gt;
 mv88eMonitor &amp;lt;IngressPortMask&amp;gt; &amp;lt;EgressPortMask&amp;gt; &amp;lt;PortNumber&amp;gt; &amp;lt;TimeoutInSeconds&amp;gt;&lt;br /&gt;
**The 'IngressPortMask' is the mask used for capturing traffic that is sent to the TMG.&lt;br /&gt;
**The 'EgressPortMask' is the mask used for capturing traffic that is sent from the TMG.&lt;br /&gt;
**The 'PortNumber' is where the captured traffic should be mirrored to.&lt;br /&gt;
**The 'TimeoutInSeconds' is the time the mirror operation is active before being automatically stopped.&lt;br /&gt;
*Here is an example to mirror all the voip0 traffic to a TMG3200's internal host, for 60 seconds:&lt;br /&gt;
 mv88eMonitor 0x4 0x4 8 60&lt;br /&gt;
*Here is an example to mirror the incoming voip0 traffic on a TMG3200 to an external host connected to the eth1 port:&lt;br /&gt;
 mv88eMonitor 0x4 0 1 60&lt;br /&gt;
&lt;br /&gt;
=== Start the capture ===&lt;br /&gt;
*Exit the telecom baseboard's shell (type &amp;quot;exit&amp;quot;)&lt;br /&gt;
*If the capture is to be done on an external host, use a tool such as 'Wireshark' to capture and analyze the mirrored traffic.&lt;br /&gt;
**When configuring a port as a mirror, it is important to connect that Ethernet port directly to a host (like a laptop). Otherwise, it could cause issues such as an Ethernet loop.&lt;br /&gt;
**If capturing 802.1Q tagged traffic, make sure the receiving equipment is actually configured to process 802.1Q tagged traffic.&lt;br /&gt;
*If the capture is to be done on the TMG's internal host:&lt;br /&gt;
**Use the '''tbproduct''' command to find out which product is currently used.&lt;br /&gt;
**Use the following table to know on which Linux interface to capture the traffic:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TMG800 !! TMG3200 !! 802.1Q capture&lt;br /&gt;
|-&lt;br /&gt;
| '''mgmt0''' || '''int0''' || '''vlanXXXX''', where XXXX is the VLAN ID (e.g. vlan333)&lt;br /&gt;
|}&lt;br /&gt;
*Use the &amp;quot;tcpdump&amp;quot; tool to capture mirrored packets:&lt;br /&gt;
 tcpdump -i mgmt0 -s 1500 -w capture_file.cap&lt;br /&gt;
*To capture 802.1Q tagged traffic, use the correct VLAN interface:&lt;br /&gt;
 tcpdump -i vlan333 -s 1500 -w capture_file.cap&lt;br /&gt;
&lt;br /&gt;
=== Stop the Capture ===&lt;br /&gt;
When you're ready, stop the capture by&lt;br /&gt;
*pressing control-C on the shell that was running tcpdump command&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Stop the capture&lt;br /&gt;
 mv88eMonitor 0 0 0&lt;br /&gt;
&lt;br /&gt;
=== Download the Capture ===&lt;br /&gt;
To download the capture, use SSH secure copy (&amp;quot;sftp&amp;quot;) to the Tmedia management port. This can be done on Windows using tools like Filezilla.&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture</id>
		<title>VoIP Ethernet Capture</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture"/>
				<updated>2015-02-04T21:48:17Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Updated for future platforms (different port IDs for TMLv4), added 802.1Q&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Tmedia]] product can configure one of its VoIP Ethernet ports to do [http://en.wikipedia.org/wiki/Port_mirroring Port Mirroring]. This is useful when investigating RTP, Codecs or IP Tones issues.&lt;br /&gt;
&lt;br /&gt;
=== Preparing the Tmedia for capture (enable ports mirroring) ===&lt;br /&gt;
*If the traffic to be captured is on a 802.1Q VLAN and the TMG-CONTROL version is &amp;gt;= 2.8, an IP interface with the 'MANAGEMENT' service must be created through the Web Portal. The IP interface must be assigned to a virtual port that is assigned to the capture port and uses the 802.1Q VLAN ID that is targeted by the capture.&lt;br /&gt;
*Access the [[Tmedia]] unit using SSH.&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Type in the mv88eMonitor command to get the list of ports on the unit:&lt;br /&gt;
 mv88eMonitor&lt;br /&gt;
*A list (such as the one below) should appear:&lt;br /&gt;
 Port Mapping:&lt;br /&gt;
 PortDesc   :   eth0   eth1  voip0  voip1 mspeedsw1 mspeedsw2  fpga0  fpga1   host    cpu&lt;br /&gt;
 PortNumber :      0      1      2      3         4         5      6      7      8      9&lt;br /&gt;
 PortMask   :    0x1    0x2    0x4    0x8      0x10      0x20   0x40   0x80  0x100  0x200&lt;br /&gt;
*The 'PortNumber' is the '''destination''' port for the capture. &lt;br /&gt;
**If the traffic is to be captured on the '''internal host''' of the TMG unit, use the number below the '''host''' port (in the above example, 8).&lt;br /&gt;
**If the traffic is to be captured on an '''external host''' (laptop, PC, or specialized equipment), choose the number below the desired target port (for example, 0 for eth0).&lt;br /&gt;
*The 'PortMask' is the '''source''' mask for the capture. On the above example, traffic going through the voip0 port would be captured using the 0x4 mask.&lt;br /&gt;
*Use the mv88eMonitor command in order to mirror traffic as desired. Here is the syntax:&lt;br /&gt;
 mv88eMonitor &amp;lt;IngressPortMask&amp;gt; &amp;lt;EgressPortMask&amp;gt; &amp;lt;PortNumber&amp;gt; &amp;lt;TimeoutInSeconds&amp;gt;&lt;br /&gt;
**The 'IngressPortMask' is the mask used for capturing traffic that is sent to the TMG.&lt;br /&gt;
**The 'EgressPortMask' is the mask used for capturing traffic that is sent from the TMG.&lt;br /&gt;
**The 'PortNumber' is where the captured traffic should be mirrored to.&lt;br /&gt;
**The 'TimeoutInSeconds' is the time the mirror operation is active before being automatically stopped.&lt;br /&gt;
*Here is an example to mirror all the voip0 traffic to a TMG3200's internal host, for 60 seconds:&lt;br /&gt;
 mv88eMonitor 0x4 0x4 8 60&lt;br /&gt;
*Here is an example to mirror the incoming voip0 traffic on a TMG3200 to an external host connected to the eth1 port:&lt;br /&gt;
 mv88eMonitor 0x4 0 1 60&lt;br /&gt;
&lt;br /&gt;
=== Start the capture ===&lt;br /&gt;
*Exit the telecom baseboard's shell (type &amp;quot;exit&amp;quot;)&lt;br /&gt;
*If the capture is to be done on an external host, use a tool such as 'Wireshark' to capture and analyze the mirrored traffic.&lt;br /&gt;
**When configuring a port as a mirror, it is important to connect that Ethernet port directly to a host (like a laptop). Otherwise, it could cause issues such as an Ethernet loop.&lt;br /&gt;
*If the capture is to be done on the TMG's internal host:&lt;br /&gt;
**Use the '''tbproduct''' command to find out which product is currently used.&lt;br /&gt;
**Use the following table to know on which Linux interface to capture the traffic:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! TMG800 !! TMG3200 !! 802.1Q capture&lt;br /&gt;
|-&lt;br /&gt;
| '''mgmt0''' || '''int0''' || '''vlanXXXX''', where XXXX is the VLAN ID (e.g. vlan333)&lt;br /&gt;
|}&lt;br /&gt;
*Use the &amp;quot;tcpdump&amp;quot; tool to capture mirrored packets:&lt;br /&gt;
 tcpdump -i mgmt0 -s 1500 -w capture_file.cap&lt;br /&gt;
*To capture 802.1Q tagged traffic, use the correct VLAN interface:&lt;br /&gt;
 tcpdump -i vlan333 -s 1500 -w capture_file.cap&lt;br /&gt;
&lt;br /&gt;
=== Stop the Capture ===&lt;br /&gt;
When you're ready, stop the capture by&lt;br /&gt;
*pressing control-C on the shell that was running tcpdump command&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Stop the capture&lt;br /&gt;
 mv88eMonitor 0 0 0&lt;br /&gt;
&lt;br /&gt;
=== Download the Capture ===&lt;br /&gt;
To download the capture, use SSH secure copy (&amp;quot;sftp&amp;quot;) to the Tmedia management port. This can be done on Windows using tools like Filezilla.&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture</id>
		<title>VoIP Ethernet Capture</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/VoIP_Ethernet_Capture"/>
				<updated>2015-02-04T20:23:49Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Tmedia]] product can configure one of its VoIP Ethernet ports to do [http://en.wikipedia.org/wiki/Port_mirroring Port Mirroring]. This is useful when investigating RTP, Codecs or IP Tones issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capturing using the TMG's internal host ==&lt;br /&gt;
The TMG's internal host can be used for capturing packets that are mirrored from the VOIP0 and/or VOIP1 physical ports.&lt;br /&gt;
&lt;br /&gt;
=== Physical Setup ===&lt;br /&gt;
No specific physical setup is required&lt;br /&gt;
&lt;br /&gt;
=== Preparing Tmedia for Capture (enable ports mirroring) ===&lt;br /&gt;
*Access the [[Tmedia]] unit using SSH.&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*If the traffic to be captured is on a 802.1Q VLAN and the TMG-CONTROL version is &amp;gt;= 2.8, an IP interface with the 'MANAGEMENT' service must be created through the Web Portal. The IP interface must be assigned to a virtual port that is assigned to the capture port and uses the 802.1Q VLAN ID that is targeted by the capture.&lt;br /&gt;
&lt;br /&gt;
==== TMG800 ====&lt;br /&gt;
Do one of the following command to capture packets according to your setup, to mirror packets toward the linux host CPU, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes):&lt;br /&gt;
*For capturing all Ethernet packets from VOIP0 &lt;br /&gt;
 mv88eMonitor 0x1 0x1 2 600&lt;br /&gt;
*For capturing all Ethernet packets from VOIP1&lt;br /&gt;
 mv88eMonitor 0x2 0x2 2 600&lt;br /&gt;
*For capturing all Ethernet packets from VOIP0 and VOIP1&lt;br /&gt;
 mv88eMonitor 0x3 0x3 2 600&lt;br /&gt;
&lt;br /&gt;
==== TMG3200 ====&lt;br /&gt;
Do one of the following command to capture packets according to your setup, to mirror packets toward the linux host CPU, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes):&lt;br /&gt;
*For capturing all Ethernet packets from VOIP0 &lt;br /&gt;
 mv88eMonitor 0x4 0x4 8 600&lt;br /&gt;
*For capturing all Ethernet packets from VOIP1&lt;br /&gt;
 mv88eMonitor 0x8 0x8 8 600&lt;br /&gt;
*For capturing all Ethernet packets from VOIP0 and VOIP1&lt;br /&gt;
 mv88eMonitor 0xC 0xC 8 600&lt;br /&gt;
&lt;br /&gt;
=== Start the Capture ===&lt;br /&gt;
*Exit the telecom baseboard's shell (type &amp;quot;exit&amp;quot;)&lt;br /&gt;
*Use the &amp;quot;tcpdump&amp;quot; tool on linux to capture mirrored packets (received on the &amp;quot;mgmt0&amp;quot; interface):&lt;br /&gt;
'''Note''': If the captured traffic is on a 802.1Q VLAN, use the &amp;quot;vlanXXXX&amp;quot; interface instead of &amp;quot;mgmt0&amp;quot; or &amp;quot;int0&amp;quot;, where &amp;quot;XXXX&amp;quot; is the identifier of the VLAN to capture on (e.g. vlan152).&lt;br /&gt;
==== TMG800 ====&lt;br /&gt;
 tcpdump -i mgmt0 -s 1500 -w capture_file.cap&lt;br /&gt;
==== TMG3200 ====&lt;br /&gt;
 tcpdump -i int0 -s 1500 -w capture_file.cap&lt;br /&gt;
'''Note''': The interface name &amp;quot;int0&amp;quot; could be different on older TMG3200. Use &amp;quot;ifconfig&amp;quot; command to find which interface has the IP address 172.31.1.2&lt;br /&gt;
&lt;br /&gt;
=== Stop the Capture ===&lt;br /&gt;
When you're ready, stop the capture by&lt;br /&gt;
*pressing control-C on the shell that was running tcpdump command&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Stop the capture&lt;br /&gt;
 mv88eMonitor 0 0 1&lt;br /&gt;
&lt;br /&gt;
=== Download the Capture ===&lt;br /&gt;
To download the capture, use SSH secure copy (&amp;quot;sftp&amp;quot;) to the Tmedia management port. This can be done on Windows using tools like Filezilla.&lt;br /&gt;
&lt;br /&gt;
== Capturing from an external host (laptop) ==&lt;br /&gt;
'''Warning''': When configuring a port as a mirror, it is important to connect that Ethernet port directly to a host (like a laptop). Otherwise, it will create problem with to the Ethernet switch&lt;br /&gt;
&lt;br /&gt;
=== Physical Setup ===&lt;br /&gt;
To do a VoIP capture it is required to:&lt;br /&gt;
*Connect one of the VoIP Ethernet port to a laptop with [http://www.wireshark.org/ Wireshark] installed and 1Gbs Network card.&lt;br /&gt;
&lt;br /&gt;
Once the physical setup is ready. It is possible to start capturing all packets received and sent from VOIP0 or VOIP1 using the other interface (VOIP1 or VOIP0).&lt;br /&gt;
&lt;br /&gt;
=== Preparing Tmedia for Capture ===&lt;br /&gt;
*Access the [[Tmedia]] unit using SSH.&lt;br /&gt;
*Access the telecom baseboard from the [[Tmedia]] using telnet.&lt;br /&gt;
 telnet 172.31.1.1&lt;br /&gt;
*Start Wireshark to capture the Ethernet packets with the connected laptop.&lt;br /&gt;
*Do one of the following command to capture packets according to your setup.&lt;br /&gt;
&lt;br /&gt;
==== TMG800 ====&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP0 with VoIP1, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes)&lt;br /&gt;
 mv88eMonitor 0x1 0x1 1 600&lt;br /&gt;
&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP1 with VoIP0, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes)&lt;br /&gt;
 mv88eMonitor 0x2 0x2 0 600&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TMG3200 ====&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP0 with VoIP1, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes)&lt;br /&gt;
 mv88eMonitor 0x4 0x4 3 600&lt;br /&gt;
&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP1 with VoIP0, for a configurable duration (in the following example the duration is 600 seconds, thus 10 minutes)&lt;br /&gt;
 mv88eMonitor 0x8 0x8 2 600&lt;br /&gt;
&lt;br /&gt;
=== Stop the Capture ===&lt;br /&gt;
 mv88eMonitor 0 0 0&lt;br /&gt;
&lt;br /&gt;
== TMG7800 ==&lt;br /&gt;
=== Physical Setup ===&lt;br /&gt;
To do a VoIP capture it is required to:&lt;br /&gt;
*Connect one of the VoIP Ethernet port to a laptop with [http://www.wireshark.org/ Wireshark] installed and 1Gbs Network card.&lt;br /&gt;
&lt;br /&gt;
Once the physical setup is ready. It is possible to start capturing the RTP.&lt;br /&gt;
&lt;br /&gt;
=== Preparing Tmedia for Capture ===&lt;br /&gt;
*Access the telecom unit ([[TMG7800|TMG7800-TE]], [[TMG7800|TMG7800-DS3]] or [[TMG7800|TMG7800-STM1]]) you want to capture using telnet.&lt;br /&gt;
 telnet [eth0 IP address of the telecom unit]&lt;br /&gt;
*Start Wireshark to capture the Ethernet packets with the connected laptop.&lt;br /&gt;
*Do one of the following command to capture packets according to your setup.&lt;br /&gt;
&lt;br /&gt;
=== Start the Capture ===&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP0 with VoIP1&lt;br /&gt;
 mv88eMonitor 0x4 0x4 3&lt;br /&gt;
&lt;br /&gt;
For capturing all Ethernet packets that goes through VoIP1 with VoIP0&lt;br /&gt;
 mv88eMonitor 0x8 0x8 2&lt;br /&gt;
&lt;br /&gt;
=== Stop the Capture ===&lt;br /&gt;
 mv88eMonitor 0 0 3&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/GHOST</id>
		<title>GHOST</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/GHOST"/>
				<updated>2015-02-03T15:49:06Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: /* WebPortal - TMG unit or Linux server with access to Internet (i.e. with DNS configured) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:GHOST: The glibc's gethostbyname vulnerability}}&lt;br /&gt;
&lt;br /&gt;
On January 27, 2015, a vulnerability named &amp;quot;GHOST&amp;quot; in the glibc library was publicly announced. GHOST is also referred as '''CVE-2015-0235'''. The vulnerability is a buffer overflow in the gethostbyname family of functions that can allow arbitrary code execution.&lt;br /&gt;
&lt;br /&gt;
= Affected Products =&lt;br /&gt;
* TMG800, TMG3200, TMG7800-CTRL&lt;br /&gt;
* Tdev Linux server with (CentOS, RedHat, etc) running Toolpack software&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
The impact of this vulnerability on TelcoBridges products depends on their configuration. The vulnerability may only be triggered through requests for domain name resolution. Therefore, only units that enable such services may be exposed to the issue.&lt;br /&gt;
&lt;br /&gt;
= Software Versions and Fixes =&lt;br /&gt;
The TelcoBridges CentOS 5 repository has been updated with the latest glibc version. Services that use glibc must be restarted. Because glibc is thoroughly used in the Linux operating system, it is highly recommended to reboot the unit.&lt;br /&gt;
&lt;br /&gt;
= Update procedure =&lt;br /&gt;
The operator can use one of the two methods available: GUI/WebPortal or command line interface.&lt;br /&gt;
&lt;br /&gt;
== WebPortal - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ==&lt;br /&gt;
* login onto the WebPortal&lt;br /&gt;
* Select the 'Hosts' section&lt;br /&gt;
* Click on the hostname&lt;br /&gt;
* Click on the 'Status' tab&lt;br /&gt;
* Select 'Upgrade Linux packages' into the host 'Action' &lt;br /&gt;
* Click on the 'Apply action' button&lt;br /&gt;
* Refresh the page until the packages are updated as indicated in the 'Action Log' (you may use the 'Now' button to update the page). The results should appear within a minute.&lt;br /&gt;
* Select 'Shutdown' into the host 'Action'&lt;br /&gt;
* Select 'Reboot' into the 'Shutdown Type'&lt;br /&gt;
* Click on the 'Apply action' button&lt;br /&gt;
* Repeat the process for all hosts listed&lt;br /&gt;
&lt;br /&gt;
== Command line interface ==&lt;br /&gt;
&lt;br /&gt;
* login with root account&lt;br /&gt;
 [root@TB011107 ~]# uname -m&lt;br /&gt;
 x86_64&lt;br /&gt;
* If the result is not &amp;quot;x86_64&amp;quot;, [[Support:Contacting TelcoBridges technical support|please contact TelcoBridges]] support, otherwise you can proceed with either method below.&lt;br /&gt;
* Follow one of the two options depending if Internet is accessible from the unit&lt;br /&gt;
&lt;br /&gt;
=== Option #1 - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ===&lt;br /&gt;
&lt;br /&gt;
* update OS packages with yum&lt;br /&gt;
 yum clean all&lt;br /&gt;
 yum update&lt;br /&gt;
* reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Option #2 - TMG unit or Linux server '''without access to Internet''' ===&lt;br /&gt;
* download the following packages to your PC:&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-common-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-devel-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-headers-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* Using WinSCP or similar tool, upload the files to the TMG unit using the root account&lt;br /&gt;
* login with root account&lt;br /&gt;
* Install packages&lt;br /&gt;
 yum localinstall glibc-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-common-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-devel-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-headers-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* '''Note''': that operation might take a long time since yum will probably experience timeouts when trying to access the external repositories.&lt;br /&gt;
* Reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
= How to verify if the vulnerability is fixed? =&lt;br /&gt;
* login with root account&lt;br /&gt;
* execute the following to create a test script&lt;br /&gt;
 cat &amp;gt; rhel-GHOST-test.sh &amp;lt;&amp;lt; FOF&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # rhel-GHOST-test.sh -  GHOST vulnerability tester. Only for CentOS/RHEL based servers.  #&lt;br /&gt;
 # Version 3&lt;br /&gt;
 # Credit : Red Hat, Inc - https://access.redhat.com/labs/ghost/ #&lt;br /&gt;
 echo &amp;quot;Installed glibc version(s)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rv=0&lt;br /&gt;
 for glibc_nvr in \$( rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc ); do&lt;br /&gt;
     glibc_ver=\$( echo &amp;quot;\$glibc_nvr&amp;quot; | awk -F- '{ print \$2 }' )&lt;br /&gt;
     glibc_maj=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$1 }')&lt;br /&gt;
     glibc_min=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$2 }')&lt;br /&gt;
 &lt;br /&gt;
     echo -n &amp;quot;- \$glibc_nvr: &amp;quot;&lt;br /&gt;
     if [ &amp;quot;\$glibc_maj&amp;quot; -gt 2 -o \( &amp;quot;\$glibc_maj&amp;quot; -eq 2  -a  &amp;quot;\$glibc_min&amp;quot; -ge 18 \) ]; then&lt;br /&gt;
         # fixed upstream version&lt;br /&gt;
         echo 'not vulnerable'&lt;br /&gt;
     else&lt;br /&gt;
         # all RHEL updates include CVE in rpm %changelog&lt;br /&gt;
         if rpm -q --changelog &amp;quot;\$glibc_nvr&amp;quot; | grep -q 'CVE-2015-0235'; then&lt;br /&gt;
             echo &amp;quot;not vulnerable&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             echo &amp;quot;vulnerable&amp;quot;&lt;br /&gt;
             rv=1&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 if [ \$rv -ne 0 ]; then&lt;br /&gt;
     cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
 &lt;br /&gt;
 This system is vulnerable to CVE-2015-0235. &amp;lt;https://access.redhat.com/security/cve/CVE-2015-0235&amp;gt;&lt;br /&gt;
 Please refer to &amp;lt;https://access.redhat.com/articles/1332213&amp;gt; for remediation steps&lt;br /&gt;
 EOF&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 exit \$rv&lt;br /&gt;
 &lt;br /&gt;
 FOF&lt;br /&gt;
* Execute the script&lt;br /&gt;
 chmod +x rhel-GHOST-test.sh&lt;br /&gt;
 ./rhel-GHOST-test.sh&lt;br /&gt;
* '''You should not see the 'vulnerable' string displayed'''&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
* https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&lt;br /&gt;
* https://access.redhat.com/articles/1332213&lt;br /&gt;
* http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/GHOST</id>
		<title>GHOST</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/GHOST"/>
				<updated>2015-02-03T15:29:13Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Updated with reboot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:GHOST: The glibc's gethostbyname vulnerability}}&lt;br /&gt;
&lt;br /&gt;
On January 27, 2015, a vulnerability named &amp;quot;GHOST&amp;quot; in the glibc library was publicly announced. GHOST is also referred as '''CVE-2015-0235'''. The vulnerability is a buffer overflow in the gethostbyname family of functions that can allow arbitrary code execution.&lt;br /&gt;
&lt;br /&gt;
= Affected Products =&lt;br /&gt;
* TMG800, TMG3200, TMG7800-CTRL&lt;br /&gt;
* Tdev Linux server with (CentOS, RedHat, etc) running Toolpack software&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
The impact of this vulnerability on TelcoBridges products depends on their configuration. The vulnerability may only be triggered through requests for domain name resolution. Therefore, only units that enable such services may be exposed to the issue.&lt;br /&gt;
&lt;br /&gt;
= Software Versions and Fixes =&lt;br /&gt;
The TelcoBridges CentOS 5 repository has been updated with the latest glibc version. Services that use glibc must be restarted. Because glibc is thoroughly used in the Linux operating system, it is highly recommended to reboot the unit.&lt;br /&gt;
&lt;br /&gt;
= Update procedure =&lt;br /&gt;
The operator can use one of the two methods available: GUI/WebPortal or command line interface.&lt;br /&gt;
&lt;br /&gt;
== WebPortal - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ==&lt;br /&gt;
* login onto the WebPortal&lt;br /&gt;
* Select the 'Hosts' section&lt;br /&gt;
* Click on the hostname&lt;br /&gt;
* Click on the 'Status' tab&lt;br /&gt;
* Select 'Upgrade Linux packages' into the host 'Action' &lt;br /&gt;
* Click on the 'Apply action' button&lt;br /&gt;
* Select 'Shutdown' into the host 'Action'&lt;br /&gt;
* Select 'Reboot' into the 'Shutdown Type'&lt;br /&gt;
* Click on the 'Apply action' button&lt;br /&gt;
* Repeat the process for all hosts listed&lt;br /&gt;
&lt;br /&gt;
== Command line interface ==&lt;br /&gt;
&lt;br /&gt;
* login with root account&lt;br /&gt;
 [root@TB011107 ~]# uname -m&lt;br /&gt;
 x86_64&lt;br /&gt;
* If the result is not &amp;quot;x86_64&amp;quot;, [[Support:Contacting TelcoBridges technical support|please contact TelcoBridges]] support, otherwise you can proceed with either method below.&lt;br /&gt;
* Follow one of the two options depending if Internet is accessible from the unit&lt;br /&gt;
&lt;br /&gt;
=== Option #1 - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ===&lt;br /&gt;
&lt;br /&gt;
* update OS packages with yum&lt;br /&gt;
 yum clean all&lt;br /&gt;
 yum update&lt;br /&gt;
* reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Option #2 - TMG unit or Linux server '''without access to Internet''' ===&lt;br /&gt;
* download the following packages to your PC:&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-common-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-devel-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-headers-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* Using WinSCP or similar tool, upload the files to the TMG unit using the root account&lt;br /&gt;
* login with root account&lt;br /&gt;
* Install packages&lt;br /&gt;
 yum localinstall glibc-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-common-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-devel-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-headers-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* '''Note''': that operation might take a long time since yum will probably experience timeouts when trying to access the external repositories.&lt;br /&gt;
* Reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
= How to verify if the vulnerability is fixed? =&lt;br /&gt;
* login with root account&lt;br /&gt;
* execute the following to create a test script&lt;br /&gt;
 cat &amp;gt; rhel-GHOST-test.sh &amp;lt;&amp;lt; FOF&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # rhel-GHOST-test.sh -  GHOST vulnerability tester. Only for CentOS/RHEL based servers.  #&lt;br /&gt;
 # Version 3&lt;br /&gt;
 # Credit : Red Hat, Inc - https://access.redhat.com/labs/ghost/ #&lt;br /&gt;
 echo &amp;quot;Installed glibc version(s)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rv=0&lt;br /&gt;
 for glibc_nvr in \$( rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc ); do&lt;br /&gt;
     glibc_ver=\$( echo &amp;quot;\$glibc_nvr&amp;quot; | awk -F- '{ print \$2 }' )&lt;br /&gt;
     glibc_maj=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$1 }')&lt;br /&gt;
     glibc_min=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$2 }')&lt;br /&gt;
 &lt;br /&gt;
     echo -n &amp;quot;- \$glibc_nvr: &amp;quot;&lt;br /&gt;
     if [ &amp;quot;\$glibc_maj&amp;quot; -gt 2 -o \( &amp;quot;\$glibc_maj&amp;quot; -eq 2  -a  &amp;quot;\$glibc_min&amp;quot; -ge 18 \) ]; then&lt;br /&gt;
         # fixed upstream version&lt;br /&gt;
         echo 'not vulnerable'&lt;br /&gt;
     else&lt;br /&gt;
         # all RHEL updates include CVE in rpm %changelog&lt;br /&gt;
         if rpm -q --changelog &amp;quot;\$glibc_nvr&amp;quot; | grep -q 'CVE-2015-0235'; then&lt;br /&gt;
             echo &amp;quot;not vulnerable&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             echo &amp;quot;vulnerable&amp;quot;&lt;br /&gt;
             rv=1&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 if [ \$rv -ne 0 ]; then&lt;br /&gt;
     cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
 &lt;br /&gt;
 This system is vulnerable to CVE-2015-0235. &amp;lt;https://access.redhat.com/security/cve/CVE-2015-0235&amp;gt;&lt;br /&gt;
 Please refer to &amp;lt;https://access.redhat.com/articles/1332213&amp;gt; for remediation steps&lt;br /&gt;
 EOF&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 exit \$rv&lt;br /&gt;
 &lt;br /&gt;
 FOF&lt;br /&gt;
* Execute the script&lt;br /&gt;
 chmod +x rhel-GHOST-test.sh&lt;br /&gt;
 ./rhel-GHOST-test.sh&lt;br /&gt;
* '''You should not see the 'vulnerable' string displayed'''&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
* https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&lt;br /&gt;
* https://access.redhat.com/articles/1332213&lt;br /&gt;
* http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/GHOST</id>
		<title>GHOST</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/GHOST"/>
				<updated>2015-02-03T14:56:15Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Fixed vulnerability script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:GHOST: The glibc's gethostbyname vulnerability}}&lt;br /&gt;
&lt;br /&gt;
On January 27, 2015, a vulnerability named &amp;quot;GHOST&amp;quot; in the glibc library was publicly announced. GHOST is also referred as '''CVE-2015-0235'''. The vulnerability is a buffer overflow in the gethostbyname family of functions that can allow arbitrary code execution.&lt;br /&gt;
&lt;br /&gt;
= Affected Products =&lt;br /&gt;
* TMG800, TMG3200, TMG7800-CTRL&lt;br /&gt;
* Tdev Linux server with (CentOS, RedHat, etc) running Toolpack software&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
The impact of this vulnerability on TelcoBridges products depends on their configuration. The vulnerability may only be triggered through requests for domain name resolution. Therefore, only units that enable such services may be exposed to the issue.&lt;br /&gt;
&lt;br /&gt;
= Software Versions and Fixes =&lt;br /&gt;
The TelcoBridges CentOS 5 repository has been updated with the latest glibc version. Services that use glibc must be restarted. Because glibc is thoroughly used in the Linux operating system, it is highly recommended to reboot the unit.&lt;br /&gt;
&lt;br /&gt;
= Update procedure =&lt;br /&gt;
* login with root account&lt;br /&gt;
 [root@TB011107 ~]# uname -m&lt;br /&gt;
 x86_64&lt;br /&gt;
* If the result is not &amp;quot;x86_64&amp;quot;, [[Support:Contacting TelcoBridges technical support|please contact TelcoBridges]] support, otherwise you can proceed with either method below.&lt;br /&gt;
&lt;br /&gt;
== Command line interface - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ==&lt;br /&gt;
* login with root account&lt;br /&gt;
* update OS packages with yum&lt;br /&gt;
 yum clean all&lt;br /&gt;
 yum update&lt;br /&gt;
* reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
== TMG unit or Linux server '''without access to Internet''' ==&lt;br /&gt;
* download the following packages to your PC:&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-common-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-devel-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-headers-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* Using WinSCP or similar tool, upload the files to the TMG unit using the root account&lt;br /&gt;
* login with root account&lt;br /&gt;
* Install packages&lt;br /&gt;
 yum localinstall glibc-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-common-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-devel-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-headers-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* '''Note''': that operation might take a long time since yum will probably experience timeouts when trying to access the external repositories.&lt;br /&gt;
* Reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
= How to verify if the vulnerability is fixed? =&lt;br /&gt;
* login with root account&lt;br /&gt;
* execute the following to create a test script&lt;br /&gt;
 cat &amp;gt; rhel-GHOST-test.sh &amp;lt;&amp;lt; FOF&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # rhel-GHOST-test.sh -  GHOST vulnerability tester. Only for CentOS/RHEL based servers.  #&lt;br /&gt;
 # Version 3&lt;br /&gt;
 # Credit : Red Hat, Inc - https://access.redhat.com/labs/ghost/ #&lt;br /&gt;
 echo &amp;quot;Installed glibc version(s)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rv=0&lt;br /&gt;
 for glibc_nvr in \$( rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc ); do&lt;br /&gt;
     glibc_ver=\$( echo &amp;quot;\$glibc_nvr&amp;quot; | awk -F- '{ print \$2 }' )&lt;br /&gt;
     glibc_maj=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$1 }')&lt;br /&gt;
     glibc_min=\$( echo &amp;quot;\$glibc_ver&amp;quot; | awk -F. '{ print \$2 }')&lt;br /&gt;
 &lt;br /&gt;
     echo -n &amp;quot;- \$glibc_nvr: &amp;quot;&lt;br /&gt;
     if [ &amp;quot;\$glibc_maj&amp;quot; -gt 2 -o \( &amp;quot;\$glibc_maj&amp;quot; -eq 2  -a  &amp;quot;\$glibc_min&amp;quot; -ge 18 \) ]; then&lt;br /&gt;
         # fixed upstream version&lt;br /&gt;
         echo 'not vulnerable'&lt;br /&gt;
     else&lt;br /&gt;
         # all RHEL updates include CVE in rpm %changelog&lt;br /&gt;
         if rpm -q --changelog &amp;quot;\$glibc_nvr&amp;quot; | grep -q 'CVE-2015-0235'; then&lt;br /&gt;
             echo &amp;quot;not vulnerable&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             echo &amp;quot;vulnerable&amp;quot;&lt;br /&gt;
             rv=1&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 if [ \$rv -ne 0 ]; then&lt;br /&gt;
     cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
 &lt;br /&gt;
 This system is vulnerable to CVE-2015-0235. &amp;lt;https://access.redhat.com/security/cve/CVE-2015-0235&amp;gt;&lt;br /&gt;
 Please refer to &amp;lt;https://access.redhat.com/articles/1332213&amp;gt; for remediation steps&lt;br /&gt;
 EOF&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 exit \$rv&lt;br /&gt;
 &lt;br /&gt;
 FOF&lt;br /&gt;
* Execute the script&lt;br /&gt;
 chmod +x rhel-GHOST-test.sh&lt;br /&gt;
 ./rhel-GHOST-test.sh&lt;br /&gt;
* '''You should not see the 'vulnerable' string displayed'''&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
* https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&lt;br /&gt;
* https://access.redhat.com/articles/1332213&lt;br /&gt;
* http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Security_advisories</id>
		<title>Security advisories</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Security_advisories"/>
				<updated>2015-02-03T14:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added GHOST&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Security Advisories}}&lt;br /&gt;
The purpose of this page is to provide information on important high-profile vulnerabilities and their impact on TelcoBridges products. The vulnerabilities are presented in chronological order.&lt;br /&gt;
&lt;br /&gt;
'''January 27th, 2015'''&lt;br /&gt;
* [[GHOST|GHOST - glibc gethostbyname vulnerability (CVE-2015-0235)]]&lt;br /&gt;
&lt;br /&gt;
'''September 24th, 2014'''&lt;br /&gt;
* [[ShellShock|ShellShock - GNU Bash Injection Vulnerability (CVE-2014-6271, CVE-2014-7169)]]&lt;br /&gt;
&lt;br /&gt;
'''April 4th, 2014'''&lt;br /&gt;
* [[Heartbleed | Heartbleed - OpenSSL Heartbeat Extension Vulnerability (CVE-2014-0160)]]&lt;br /&gt;
&lt;br /&gt;
[[category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/GHOST</id>
		<title>GHOST</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/GHOST"/>
				<updated>2015-02-03T14:28:23Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Initial page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:GHOST: The glibc's gethostbyname vulnerability}}&lt;br /&gt;
&lt;br /&gt;
On January 27, 2015, a vulnerability named &amp;quot;GHOST&amp;quot; in the glibc library was publicly announced. GHOST is also referred as '''CVE-2015-0235'''. The vulnerability is a buffer overflow in the gethostbyname family of functions that can allow arbitrary code execution.&lt;br /&gt;
&lt;br /&gt;
= Affected Products =&lt;br /&gt;
* TMG800, TMG3200, TMG7800-CTRL&lt;br /&gt;
* Tdev Linux server with (CentOS, RedHat, etc) running Toolpack software&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
The impact of this vulnerability on TelcoBridges products depends on their configuration. The vulnerability may only be triggered through requests for domain name resolution. Therefore, only units that enable such services may be exposed to the issue.&lt;br /&gt;
&lt;br /&gt;
= Software Versions and Fixes =&lt;br /&gt;
The TelcoBridges CentOS 5 repository has been updated with the latest glibc version. Services that use glibc must be restarted. Because glibc is thoroughly used in the Linux operating system, it is highly recommended to reboot the unit.&lt;br /&gt;
&lt;br /&gt;
= Update procedure =&lt;br /&gt;
* login with root account&lt;br /&gt;
 [root@TB011107 ~]# uname -m&lt;br /&gt;
 x86_64&lt;br /&gt;
* If the result is not &amp;quot;x86_64&amp;quot;, [[Support:Contacting TelcoBridges technical support|please contact TelcoBridges]] support, otherwise you can proceed with either method below.&lt;br /&gt;
&lt;br /&gt;
== Command line interface - TMG unit or Linux server '''with access to Internet''' (i.e. with DNS configured) ==&lt;br /&gt;
* login with root account&lt;br /&gt;
* update OS packages with yum&lt;br /&gt;
 yum clean all&lt;br /&gt;
 yum update&lt;br /&gt;
* reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
== TMG unit or Linux server '''without access to Internet''' ==&lt;br /&gt;
* download the following packages to your PC:&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-common-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-devel-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/glibc-headers-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
** http://repo.telcobridges.com/centos/5.7/updates/x86_64/RPMS/nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* Using WinSCP or similar tool, upload the files to the TMG unit using the root account&lt;br /&gt;
* login with root account&lt;br /&gt;
* Install packages&lt;br /&gt;
 yum localinstall glibc-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-common-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-devel-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   glibc-headers-2.5-123.el5_11.1.x86_64.rpm \&lt;br /&gt;
   nscd-2.5-123.el5_11.1.x86_64.rpm&lt;br /&gt;
* '''Note''': that operation might take a long time since yum will probably experience timeouts when trying to access the external repositories.&lt;br /&gt;
* Reboot the unit&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
= How to verify if the vulnerability is fixed? =&lt;br /&gt;
* login with root account&lt;br /&gt;
* execute the following to create a test script&lt;br /&gt;
 cat &amp;gt;&amp;gt; rhel-GHOST-test.sh &amp;lt;&amp;lt; FOF&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # rhel-GHOST-test.sh -  GHOST vulnerability tester. Only for CentOS/RHEL based servers.  #&lt;br /&gt;
 # Version 3&lt;br /&gt;
 # Credit : Red Hat, Inc - https://access.redhat.com/labs/ghost/ #&lt;br /&gt;
 echo &amp;quot;Installed glibc version(s)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rv=0&lt;br /&gt;
 for glibc_nvr in $( rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc ); do&lt;br /&gt;
     glibc_ver=$( echo &amp;quot;$glibc_nvr&amp;quot; | awk -F- '{ print $2 }' )&lt;br /&gt;
     glibc_maj=$( echo &amp;quot;$glibc_ver&amp;quot; | awk -F. '{ print $1 }')&lt;br /&gt;
     glibc_min=$( echo &amp;quot;$glibc_ver&amp;quot; | awk -F. '{ print $2 }')&lt;br /&gt;
 &lt;br /&gt;
     echo -n &amp;quot;- $glibc_nvr: &amp;quot;&lt;br /&gt;
     if [ &amp;quot;$glibc_maj&amp;quot; -gt 2   -o  \&lt;br /&gt;
         \( &amp;quot;$glibc_maj&amp;quot; -eq 2  -a  &amp;quot;$glibc_min&amp;quot; -ge 18 \) ]; then&lt;br /&gt;
         # fixed upstream version&lt;br /&gt;
         echo 'not vulnerable'&lt;br /&gt;
     else&lt;br /&gt;
         # all RHEL updates include CVE in rpm %changelog&lt;br /&gt;
         if rpm -q --changelog &amp;quot;$glibc_nvr&amp;quot; | grep -q 'CVE-2015-0235'; then&lt;br /&gt;
             echo &amp;quot;not vulnerable&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             echo &amp;quot;vulnerable&amp;quot;&lt;br /&gt;
             rv=1&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 if [ $rv -ne 0 ]; then&lt;br /&gt;
     cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
 &lt;br /&gt;
  This system is vulnerable to CVE-2015-0235. &amp;lt;https://access.redhat.com/security/cve/CVE-2015-0235&amp;gt;&lt;br /&gt;
  Please refer to &amp;lt;https://access.redhat.com/articles/1332213&amp;gt; for remediation steps&lt;br /&gt;
  EOF&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 exit $rv&lt;br /&gt;
 FOF&lt;br /&gt;
* Execute the script&lt;br /&gt;
 chmod +x rhel-GHOST-test.sh&lt;br /&gt;
 ./rhel-GHOST-test.sh&lt;br /&gt;
* '''You should not see the 'vulnerable' string displayed'''&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
* https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&lt;br /&gt;
* https://access.redhat.com/articles/1332213&lt;br /&gt;
* http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6</id>
		<title>Toolpack prerequisite Debian6 2-6</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6"/>
				<updated>2012-04-02T15:12:34Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added make/g++ prerequisite for Toolpack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites required for compiling and running TelcoBridges applications on Debian 6. Most procedures assume supervisor (root) access on the system.&lt;br /&gt;
&lt;br /&gt;
== Debian 6 OS installation ==&lt;br /&gt;
&lt;br /&gt;
The configuration used for redacting this page was installed using the debian-6.0.4-amd64-CD-1.iso CD image (http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso). Only the SSH server and standard utilities were installed. No network packages were used.&lt;br /&gt;
&lt;br /&gt;
Make sure sources.list has squeeze in the sources package list (it will not be present if the installation did not use the network packages). If you have problems with apt-get, edit /etc/apt/sources.list and make sure to add these lines (and comment everything else):&lt;br /&gt;
&lt;br /&gt;
  vi /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
  deb http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb-src http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
  deb-src http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for compiling TelcoBridges packages ==&lt;br /&gt;
&lt;br /&gt;
Get build tools (zlib and libxml2 are required for higher level applications):&lt;br /&gt;
  apt-get install make g++ libxml2-dev zlib1g-dev libmysqlclient-dev unixodbc-dev libssl-dev&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174:&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
TelcoBridges only support 64-bit applications on Debian 6. When compiling, use the '''X86_64=1''' flag. For example:&lt;br /&gt;
  make all X86_64=1 DBG=1&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running custom TelcoBridges applications ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed:&lt;br /&gt;
  apt-get install libxml2 zlib1g&lt;br /&gt;
&lt;br /&gt;
The following prerequisites may be required if the applications use MySQL:&lt;br /&gt;
  apt-get install libmysqlclient unixodbc&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running Toolpack ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed. An older version of the MySQL server is required in order to be compatible with the Ruby version. Make and g++ are required to build the custom version of Ruby.&lt;br /&gt;
  apt-get install make g++ libxml2 zlib1g libmysqlclient unixodbc libmyodbc libfcgi libfcgi-dev lighttpd sysv-rc-conf&lt;br /&gt;
  apt-get install mysql-server-core-5.1=5.1.49-3&lt;br /&gt;
  apt-get install mysql-server-5.1=5.1.49-3&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174 (same procedure as mentioned above):&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
Install ODBC driver:&lt;br /&gt;
  odbcinst -i -f /usr/share/libmyodbc/odbcinst.ini -d&lt;br /&gt;
&lt;br /&gt;
Set up mysql:&lt;br /&gt;
  mysql -u root -p&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Set up my.cnf:&lt;br /&gt;
  vi /etc/mysql/my.cnf&lt;br /&gt;
* Uncomment the '''server-id''' and '''log_bin''' lines&lt;br /&gt;
* Change '''max_allowed_packet''' to 200M&lt;br /&gt;
* Add '''max_allowed_packet=200M''' in the '''[mysqldump]''' section&lt;br /&gt;
Restart MySQL server:&lt;br /&gt;
  service mysql restart&lt;br /&gt;
&lt;br /&gt;
Remove lighttpd from init scripts (remove X's in the lighttpd line):&lt;br /&gt;
  sysv-rc-conf&lt;br /&gt;
  service lighttpd stop&lt;br /&gt;
&lt;br /&gt;
Install ruby gems:&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/rubygems-1.3.5.tgz&lt;br /&gt;
  tar -zxf rubygems-1.3.5.tgz&lt;br /&gt;
  cd rubygems-1.3.5&lt;br /&gt;
  ruby setup.rb&lt;br /&gt;
&lt;br /&gt;
Install fcgi gem:&lt;br /&gt;
  gem install fcgi&lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[toolpack_installer_2-6|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6</id>
		<title>Toolpack prerequisite Debian6 2-6</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6"/>
				<updated>2012-04-02T14:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites required for compiling and running TelcoBridges applications on Debian 6. Most procedures assume supervisor (root) access on the system.&lt;br /&gt;
&lt;br /&gt;
== Debian 6 OS installation ==&lt;br /&gt;
&lt;br /&gt;
The configuration used for redacting this page was installed using the debian-6.0.4-amd64-CD-1.iso CD image (http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso). Only the SSH server and standard utilities were installed. No network packages were used.&lt;br /&gt;
&lt;br /&gt;
Make sure sources.list has squeeze in the sources package list (it will not be present if the installation did not use the network packages). If you have problems with apt-get, edit /etc/apt/sources.list and make sure to add these lines (and comment everything else):&lt;br /&gt;
&lt;br /&gt;
  vi /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
  deb http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb-src http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
  deb-src http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for compiling TelcoBridges packages ==&lt;br /&gt;
&lt;br /&gt;
Get build tools (zlib and libxml2 are required for higher level applications):&lt;br /&gt;
  apt-get install make g++ libxml2-dev zlib1g-dev libmysqlclient-dev unixodbc-dev libssl-dev&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174:&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
TelcoBridges only support 64-bit applications on Debian 6. When compiling, use the '''X86_64=1''' flag. For example:&lt;br /&gt;
  make all X86_64=1 DBG=1&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running custom TelcoBridges applications ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed:&lt;br /&gt;
  apt-get install libxml2 zlib1g&lt;br /&gt;
&lt;br /&gt;
The following prerequisites may be required if the applications use MySQL:&lt;br /&gt;
  apt-get install libmysqlclient unixodbc&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running Toolpack ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed. An older version of the MySQL server is required in order to be compatible with the Ruby version.&lt;br /&gt;
  apt-get install libxml2 zlib1g libmysqlclient unixodbc libmyodbc libfcgi libfcgi-dev lighttpd sysv-rc-conf&lt;br /&gt;
  apt-get install mysql-server-core-5.1=5.1.49-3&lt;br /&gt;
  apt-get install mysql-server-5.1=5.1.49-3&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174 (same procedure as mentioned above):&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
Install ODBC driver:&lt;br /&gt;
  odbcinst -i -f /usr/share/libmyodbc/odbcinst.ini -d&lt;br /&gt;
&lt;br /&gt;
Set up mysql:&lt;br /&gt;
  mysql -u root -p&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Set up my.cnf:&lt;br /&gt;
  vi /etc/mysql/my.cnf&lt;br /&gt;
* Uncomment the '''server-id''' and '''log_bin''' lines&lt;br /&gt;
* Change '''max_allowed_packet''' to 200M&lt;br /&gt;
* Add '''max_allowed_packet=200M''' in the '''[mysqldump]''' section&lt;br /&gt;
Restart MySQL server:&lt;br /&gt;
  service mysql restart&lt;br /&gt;
&lt;br /&gt;
Remove lighttpd from init scripts (remove X's in the lighttpd line):&lt;br /&gt;
  sysv-rc-conf&lt;br /&gt;
  service lighttpd stop&lt;br /&gt;
&lt;br /&gt;
Install ruby gems:&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/rubygems-1.3.5.tgz&lt;br /&gt;
  tar -zxf rubygems-1.3.5.tgz&lt;br /&gt;
  cd rubygems-1.3.5&lt;br /&gt;
  ruby setup.rb&lt;br /&gt;
&lt;br /&gt;
Install fcgi gem:&lt;br /&gt;
  gem install fcgi&lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[toolpack_installer_2-6|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6</id>
		<title>Toolpack prerequisite Debian6 2-6</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Debian6_2-6"/>
				<updated>2012-04-02T14:39:55Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created page with 'This page shows the prerequisites required for compiling and running TelcoBridges applications on Debian 6. Most procedures assume supervisor (root) access on the system.  == Deb…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the prerequisites required for compiling and running TelcoBridges applications on Debian 6. Most procedures assume supervisor (root) access on the system.&lt;br /&gt;
&lt;br /&gt;
== Debian 6 OS installation ==&lt;br /&gt;
&lt;br /&gt;
The configuration used for redacting this page was installed using the debian-6.0.4-amd64-CD-1.iso CD image (http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso). Only the SSH server and standard utilities were installed. No network packages were used.&lt;br /&gt;
&lt;br /&gt;
Make sure sources.list has squeeze in the sources package list (it will not be present if the installation did not use the network packages). If you have problems with apt-get, edit /etc/apt/sources.list and make sure to add these lines (and comment everything else):&lt;br /&gt;
&lt;br /&gt;
  vi /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
  deb http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb-src http://ftp.debian.org/debian/ squeeze main contrib&lt;br /&gt;
  deb http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
  deb-src http://security.debian.org/ squeeze/updates main contrib&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for compiling TelcoBridges packages ==&lt;br /&gt;
&lt;br /&gt;
Get build tools (zlib and libxml2 are required for higher level applications):&lt;br /&gt;
  apt-get install make g++ libxml2-dev zlib1g-dev libmysqlclient-dev unixodbc-dev libssl-dev&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174:&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
TelcoBridges only support 64-bit applications on Debian 6. When compiling, use the '''X86_64=1''' flag. For example:&lt;br /&gt;
  make all X86_64=1 DBG=1&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running custom TelcoBridges applications ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed:&lt;br /&gt;
  apt-get install libxml2 zlib1g&lt;br /&gt;
&lt;br /&gt;
The following prerequisites may be required if the applications use MySQL:&lt;br /&gt;
  apt-get install libmysqlclient unixodbc&lt;br /&gt;
&lt;br /&gt;
== Prerequisites for running Toolpack ==&lt;br /&gt;
&lt;br /&gt;
Make sure all prerequisites are already installed. An older version of the MySQL server is required in order to be compatible with the Ruby version.&lt;br /&gt;
  apt-get install libxml2 zlib1g libmysqlclient unixodbc libmyodbc libfcgi libfcgi-dev lighttpd sysv-rc-conf&lt;br /&gt;
  apt-get install mysql-server-core-5.1=5.1.49-3&lt;br /&gt;
  apt-get install mysql-server-5.1=5.1.49-3&lt;br /&gt;
&lt;br /&gt;
Install ruby 1.8.7-p174 (same procedure as mentioned above):&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  tar -zxf ruby-1.8.7-p174.tar.gz&lt;br /&gt;
  cd ruby-1.8.7-p174&lt;br /&gt;
  ./configure --libdir=/usr/local/lib64 --enable-shared&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  cd ext/openssl&lt;br /&gt;
  ruby extconf.rb&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
  ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;
  ln -s /usr/local/lib64/libruby.so.1.8 /lib64/libruby.so.1.8&lt;br /&gt;
&lt;br /&gt;
Install ODBC driver:&lt;br /&gt;
  odbcinst -i -f /usr/share/libmyodbc/odbcinst.ini -d&lt;br /&gt;
&lt;br /&gt;
Set up mysql:&lt;br /&gt;
  mysql -u root -p&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL PRIVILEGES ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  FLUSH PRIVILEGES;&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Set up my.cnf:&lt;br /&gt;
  vi /etc/mysql/my.cnf&lt;br /&gt;
Uncomment the '''server-id''' and '''log_bin''' lines&lt;br /&gt;
Change '''max_allowed_packet''' to 200M&lt;br /&gt;
Add '''max_allowed_packet=200M''' in the '''[mysqldump]''' section&lt;br /&gt;
  service mysql restart&lt;br /&gt;
&lt;br /&gt;
Remove lighttpd from init scripts (remove X's in the lighttpd line):&lt;br /&gt;
  sysv-rc-conf&lt;br /&gt;
  service lighttpd stop&lt;br /&gt;
&lt;br /&gt;
Install ruby gems:&lt;br /&gt;
  cd ~&lt;br /&gt;
  wget http://download.distribution.telcobridges.com/3rdparty/prerequisite/src/centos/rubygems-1.3.5.tgz&lt;br /&gt;
  tar -zxf rubygems-1.3.5.tgz&lt;br /&gt;
  cd rubygems-1.3.5&lt;br /&gt;
  ruby setup.rb&lt;br /&gt;
&lt;br /&gt;
Install fcgi gem:&lt;br /&gt;
  gem install fcgi&lt;br /&gt;
&lt;br /&gt;
== Toolpack System installation ==&lt;br /&gt;
&lt;br /&gt;
Now that the prerequisite are installed, now it is time to install the [[toolpack_installer_2-6|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Web_Portal_Tutorial_Guide_v2.5</id>
		<title>Web Portal Tutorial Guide v2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Web_Portal_Tutorial_Guide_v2.5"/>
				<updated>2012-01-18T21:39:17Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added RADIUS section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
This guide is designed to provide users with a scenario-based approach to installing  [[Tmedia]] and [[Tdev]] systems, using the Web Portal configuration tool. This means that users must first go through the steps that are general to all installations, and subsequently follow the instructions that are specific to their particular application scenario (this corresponds to the type of service, and hardware system being set up).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
This document assumes that the [[Tmedia]] or [[Tdev]] devices are installed as described in their Quick Reference Guides, and in the case of the Tmedia system communication has been established with the control network.&lt;br /&gt;
&lt;br /&gt;
(Note: Tmedia devices are shipped with the Tmedia Web Portal pre-installed, while Tdev devices require that Toolpack be installed as described in the [http://download.distribution.telcobridges.com/documentation/TMP6400_Installation_Guide.pdf TMP6400 Installation Guide].)&lt;br /&gt;
&lt;br /&gt;
Furthermore, in the case of a Tdev device and the initial configuration of the [[Toolpack]] application server, the following will have been provided:&lt;br /&gt;
*The Tdev device to which the Web Portal will first connect.&lt;br /&gt;
*The Tdev device will have been pre-configured with its physical TDM interface.&lt;br /&gt;
*The serial number of the Tdev device will have been entered into the configuration file.&lt;br /&gt;
*The application software for the Tdev device will have been pre-installed on the Toolpack application server, as described in the [http://download.distribution.telcobridges.com/documentation/TMP6400_Installation_Guide.pdf TMP6400 Installation Guide].&lt;br /&gt;
&lt;br /&gt;
This document also assumes familiarity with topics, such as [[ISDN]] signaling, [[SIP]] signaling, [[SS7]], [[CAS|CAS R2]] signaling, and [[SIGTRAN]] signaling.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Concepts==&lt;br /&gt;
*'''System:''' A system is defined as the complete solution that is designed for a network. If a system solution is comprised of 4 TMP6400’s and a TMS1600, then the combination of these TelcoBridges devices is termed a system.&lt;br /&gt;
*'''Hardware:''' Each TelcoBridges devices, whether it is a TMP6400, TMG3200, or TMS1600 is referred to as a hardware device or hardware adapter.&lt;br /&gt;
*'''Line Interface:''' The physical TDM module installed on the TelcoBridges device is referred to as a line interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General Web Portal Applications ==&lt;br /&gt;
&lt;br /&gt;
'''''IMPORTANT!''''' The Topics covered in the following table are common to &amp;lt;u&amp;gt;all&amp;lt;/u&amp;gt; TMedia installations. Therefore, this section should be consulted before moving on to any other. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Topics covered here:''' &lt;br /&gt;
&lt;br /&gt;
*The basic knowledge needed to properly navigate through the Web Portal '''(A)'''. &lt;br /&gt;
*The fundamentals of user account management and permission masks '''(B)'''. &lt;br /&gt;
*The initial steps required for first starting the Web Portal, and verifying that it is functioning properly '''(C)'''. &lt;br /&gt;
*The process involved in backing up your database for the first time '''(D)'''. &lt;br /&gt;
*The process involved in first configuring your IP interfaces '''(E)'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: none repeat scroll 0% 0% rgb(239, 239, 239); -moz-background-inline-policy: continuous;&amp;quot; | (Topic A) &amp;lt;br&amp;gt;Web Portal Basics &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: none repeat scroll 0% 0% rgb(239, 239, 239); -moz-background-inline-policy: continuous;&amp;quot; | (Topic B) &amp;lt;br&amp;gt;Log-on and User Access Levels &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: none repeat scroll 0% 0% rgb(239, 239, 239); -moz-background-inline-policy: continuous;&amp;quot; | (Topic C) &amp;lt;br&amp;gt;Application Start-up and Verification &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: none repeat scroll 0% 0% rgb(239, 239, 239); -moz-background-inline-policy: continuous;&amp;quot; | (Topic D) &amp;lt;br&amp;gt;Database Backup&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Navigating the Web Portal|Navigating the Web Portal]] &lt;br /&gt;
*[[Typographic conventions|Typographic Conventions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Connecting to the Web Server and logging on to the web portal|Connect to the web server and log on to the Web Portal]] &lt;br /&gt;
*[[Toolpack:User access|User Access]] &lt;br /&gt;
**[[Toolpack v2.5:Viewing the User List|Viewing the User List]] &lt;br /&gt;
**[[Toolpack v2.5:Creating a New User|Creating a New User]] &lt;br /&gt;
**[[Toolpack v2.5:Deleting a User|Deleting a User]] &lt;br /&gt;
**[[Toolpack v2.5:Logging Off Toolpack|Logging Off]] &lt;br /&gt;
*[https://forums.telcobridges.com/viewtopic.php?f=12&amp;amp;t=248&amp;amp;p=1101&amp;amp;hilit=privilege#p1101 User privilege level]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Viewing the List of Installed Applications|Viewing the List of Installed Applications]] &lt;br /&gt;
*[[Toolpack v2.5:Starting an Application|Starting an Application]] &lt;br /&gt;
*[[Toolpack:Verifying that an Application is Operating|Verifying that an Application is Operating]] &lt;br /&gt;
**[[Toolpack v2.5:Verifying the Application Path|Verifying the Application Path]] &lt;br /&gt;
*[[Toolpack v2.5:Activating the Configuration|Activating the Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Status Menus:Applications|Verifying status]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Database Backup|Carrying out a First Database Backup]]&lt;br /&gt;
*[[Toolpack v2.5:Downloading a Database Backup|Downloading a Database Backup]]&lt;br /&gt;
*[[Toolpack v2.5:Uploading a Database Backup|Uploading a Database Backup]]&lt;br /&gt;
*[[Toolpack v2.5:Restoring a Database Backup|Restoring a Database Backup]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: none repeat scroll 0% 0% rgb(239, 239, 239); -moz-background-inline-policy: continuous;&amp;quot; | (Topic E) &amp;lt;br&amp;gt;Configure IP Interfaces&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Configuring IP Interfaces|Configure IP Interfaces]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=ISDN-SIP Gateway Configuration=&lt;br /&gt;
&lt;br /&gt;
The following tables contain a typical configuration scenario for an [[ISDN]] to [[SIP]] gateway. This type of installation allows for the transfer of information from traditional [[ISDN]] signaling to [[SIP]] protocol for [[VoIP]] applications. Please follow each step one after another as these are listed in logical order.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The steps are as follows:'''&lt;br /&gt;
&lt;br /&gt;
*1) Log On and Create a New Configuration&lt;br /&gt;
*2) Allocate Physical Interfaces&lt;br /&gt;
*3) Configure ISDN-PRI Signaling&lt;br /&gt;
*4) Configure Clocking Source&lt;br /&gt;
*5) Configure SIP Signaling&lt;br /&gt;
*6) Configure Codecs and Tone Detection&lt;br /&gt;
*7) Configure Network Access Points (NAPs)&lt;br /&gt;
*8) Create Call Routing Rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;'''IMPORTANT!'''&amp;lt;/b&amp;gt; After completing the setup process, remember to '''activate the configuration''', as outlined in the [[Web_Portal_Tutorial_Guide_v2.5#General_Web_Portal_Applications|General Web Portal Applications section]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Log On and Create a New Configuration&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configure ISDN-PRI Signaling&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Clocking Source&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Connecting_to_the_Web_Server_and logging on to the web portal|Connect to the web server and log on to the Web Portal]]&lt;br /&gt;
*[[Toolpack_v2.5:Copying_the_Default_Configuration|Copy the default configuration]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Interface|Create a new line interface]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Service|Create a new line service]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Configuring_an_ISDN_Stack|Configure an ISDN stack]]&lt;br /&gt;
OR&amp;lt;br/&amp;gt;&lt;br /&gt;
*[[Configure NFAS]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Defining_a_Clocking_Source|Define a clocking source]] &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configure SIP Signaling&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 6) &amp;lt;br&amp;gt;Configure Codecs and Tone Detection&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 7) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 8) &amp;lt;br&amp;gt;Create Call Routing Rules&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_IP_Port_Range|Create an IP port range]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_SIP_Stack|Create a SIP stack]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_SIP_Transport_Server|Create a SIP transport server]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Service_Access_Point_(SAP)|Create a service access point (SAP)]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Accessing_Codec_and_Tone_Detection_Profiles_and_Validating_Settings|Access profiles and validate settings]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Allocating_an_ISDN_Network_Access_Point_(NAP)|Allocate an ISDN NAP]]&lt;br /&gt;
*[[Toolpack_v2.5:Allocating_a_SIP_Network_Access_Point_(NAP)|Allocate a SIP NAP]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_First_Call_Route|Create a first call route]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuring SS7=&lt;br /&gt;
&lt;br /&gt;
The following table contains information on configuring the [[SS7]] signaling protocol.&lt;br /&gt;
The various control layers of the [[SS7]] protocol are listed individually in each column. These layers are:&lt;br /&gt;
&lt;br /&gt;
* [[MTP2_Layer|MTP2]] layer '''(Step 1)'''&lt;br /&gt;
* [[MTP3_Layer|MTP3]] layer '''(Step 2)'''&lt;br /&gt;
* [[ISUP]] layer '''(Step 3)'''&lt;br /&gt;
* [[SCCP]] layer '''(Step 4)'''&lt;br /&gt;
* [[TCAP]] layer '''(Step 5)'''&lt;br /&gt;
&lt;br /&gt;
'''Follow the topics listed in each column from left to right in order to configure an SS7 protocol stack.'''&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Configuring the MTP2 Layer &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Configuring the MTP3 Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Configuring the ISUP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configuring the SCCP Layer&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configuring the TCAP Layer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_MTP2_Configuration|Create an MTP2 Configuration]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_MTP2_Links|Create an MTP2 Link]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_MTP3_Configuration|Create an MTP3 Configuration]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_MTP3_Network|Create an MTP3 Network]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_SS7_Point_Codes|Create an MTP3 Point Code]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_an_MTP3_Linkset|Create an MTP3 Linkset]]&lt;br /&gt;
***[[Toolpack_v2.5:Creating_MTP3_Links|Create MTP3 Links]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_an_MTP3_Route|Create an MTP3 Route]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_ISUP_Stack|Create an ISUP Stack]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_ISUP_Network|Create an ISUP Network]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_ISUP_User_Part|Create an ISUP User Part]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_ISUP_Interface|Create an ISUP Interface]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_SCCP_Stack| Create an SCCP Stack]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_SCCP_Network|Create an SCCP Network]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_an_SCCP_Userpart|Create an SCCP Userpart]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_an_SCCP_LSAP|Create an SCCP LSAP]]&lt;br /&gt;
***[[Toolpack_v2.5:Creating_an_SCCP_Route|Create an SCCP Route]]&lt;br /&gt;
****[[Toolpack_v2.5:Creating_an_SCCP_SSN|Create an SCCP SSN]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_SCCP_GTT_Association|Create an SCCP GTT Association]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_an_SCCP_GTT_Address_Map|Create an SCCP GTT Address Map]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_TCAP_Stack|Create a TCAP Stack]]&lt;br /&gt;
**[[Toolpack_v2.5:Creating_a_TCAP_Userpart| Create a TCAP Userpart]]&lt;br /&gt;
*[[Toolpack_v2.5:Activating_the_Configuration|Activating the Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=SIGTRAN Application Scenarios=&lt;br /&gt;
&lt;br /&gt;
Toolpack version 2.5 enables you to configure SIGTRAN and thereby extend SS7 signalling functionality to the IP network. Toolpack enables you to configure a number of SIGTRAN applications based upon your requirements. These applications are listed below as follows: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*[[M2PA]] system. See column '''(A)''' below. In this configuration the SS7 MTP2 layer is replaced by the SIGTRAN M2PA layer which extends MTP2 signalling functionality into the IP network. This application is typically used between a Signalling Gateway and an IP Signalling Point, or between two IP Signalling Points. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[M2UA]] system. See columns '''(B)''' and '''(C)''' below. An M2UA system on a Signalling Gateway Controller interfaces with an M2UA system on a Media Gateway Controller. In this configuration, M2UA bridges the SS7 MTP2 layer of a Signalling Gateway, across an IP network, with the SS7 MTP3 layer of a Media Gateway Controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[IUA]] system. See column '''(D)''' below. An IUA system on a Signalling Gateway Controller interfaces with an IUA system on a Media Gateway Controller. In this configuration, IUA bridges the SS7 MTP2 layer of a Signalling Gateway, across an IP network, with the SS7 MTP3 layer of a Media Gateway Controller.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
*[[M3UA]] system on two IP signalling points. See column '''(E''') below. In this configuration the SS7 MTP2 and MTP3 layers are replaced entirely by the SIGTRAN M3UA layer. This application is typically used between two IP Signalling Points.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
*[[M3UA]] system. See columns '''(F)''' and '''(G)''' below. An M3UA system on a Signalling Gateway Process interfaces with an M3UA system on an Application Server Process. In this configuration, the MTP3 links are extended across the IP network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''A SIGTRAN scenario walkthrough is provided in the table columns below, to illustrate the order that must be followed when configuring SIGTRAN.''' &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario A) &amp;lt;br&amp;gt;Configuring an M2PA System &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario B) &amp;lt;br&amp;gt;Configuring an M2UA System on a Signalling Gateway &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario C) &amp;lt;br&amp;gt;Configuring an M2UA System on a Media Gateway Controller &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario D) &amp;lt;br&amp;gt;Configuring an IUA System on a Signalling Gateway &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario E) &amp;lt;br&amp;gt;Configuring an M3UA System on IP Signalling Points &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario F) &amp;lt;br&amp;gt;Configuring an M3UA System on a Signalling Gateway &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Scenario G) &amp;lt;br&amp;gt;Configuring an M3UA System on an Application Server&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Interface|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Service|Create Line services]] &lt;br /&gt;
*[[Toolpack v2.5:Editing the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the M2PA Configuration|Create an M2PA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M2PA SAP|Create an M2PA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Adding M2PA Links|Add M2PA Links]] &lt;br /&gt;
*[[Toolpack v2.5:Creating SS7 Point Codes|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an MTP3 Configuration|Create an MTP3 Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Network|Create an MTP3 Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Linkset|Create an MTP3 Linkset]] &lt;br /&gt;
***[[Toolpack v2.5:Creating MTP3 Links (M2PA)|Create MTP3 Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Route|Create an MTP3 Route]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an ISUP Stack|Create an ISUP Stack]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Network|Create an ISUP Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP User Part|Create an ISUP User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Interface|Create an ISUP Interface]] &lt;br /&gt;
***[[Toolpack v2.5:Creating ISUP CIC Groups|Create ISUP CIC Groups]] &lt;br /&gt;
**[[Toolpack v2.5:Creating a NAP (SIGTRAN)|Create a NAP]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Interface|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Service|Create Line services]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an MTP2 Configuration|Create an MTP2 Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating MTP2 Links|Create MTP2 Links]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the M2UA Configuration|Create an M2UA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M2UA SAP|Create an M2UA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M2UA Cluster|Create an M2UA Cluster]] &lt;br /&gt;
**[[Toolpack v2.5:Creating M2UA Links|Create M2UA Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating M2UA Peers|Create M2UA Peers]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Editing the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the M2UA Configuration|Create an M2UA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M2UA SAP|Create an M2UA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M2UA Cluster|Create an M2UA Cluster]] &lt;br /&gt;
**[[Toolpack v2.5:Creating M2UA Links|Create M2UA Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating M2UA Peers|Create M2UA Peers]] &lt;br /&gt;
*[[Toolpack v2.5:Creating SS7 Point Codes|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an MTP3 Configuration|Create an MTP3 Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Network|Create an MTP3 Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Linkset|Create an MTP3 Linkset]] &lt;br /&gt;
**[[Toolpack v2.5:Creating MTP3 Links (M2UA)|Create MTP3 Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Route|Create an MTP3 Route]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an ISUP Stack|Create an ISUP Stack]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Network|Create an ISUP Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP User Part|Create an ISUP User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Interface|Create an ISUP Interface]] &lt;br /&gt;
***[[Toolpack v2.5:Creating ISUP CIC Groups|Create ISUP CIC Groups]] &lt;br /&gt;
**[[Toolpack v2.5:Creating a NAP (SIGTRAN)|Create a NAP]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Interface|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Service|Create Line services]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating the IUA Configuration|Create an IUA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an IUA SAP|Create an IUA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an IUA Cluster|Create an IUA Cluster]] &lt;br /&gt;
**[[Toolpack v2.5:Creating IUA Links|Create IUA Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating IUA Peers|Create IUA Peers]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Editing the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating SS7 Point Codes|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an M3UA Configuration (IPSP)|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA SAP|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Network|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA User Part|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Signalling Process (IPSP)|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Server|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Route|Create an M3UA Route]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an ISUP Stack|Create an ISUP Stack]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Network|Create an ISUP Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP User Part|Create an ISUP User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Interface|Create an ISUP Interface]] &lt;br /&gt;
***[[Toolpack v2.5:Creating ISUP CIC Groups|Create ISUP CIC Groups]] &lt;br /&gt;
**[[Toolpack v2.5:Creating a NAP (SIGTRAN)|Create a NAP]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Creating a Line Interface|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an MTP2 Configuration|Create an MTP2 Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating MTP2 Links|Create MTP2 Links]] &lt;br /&gt;
*[[Toolpack v2.5:Editing the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating SS7 Point Codes|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an MTP3 Configuration|Create an MTP3 Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Network|Create an MTP3 Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Linkset|Create an MTP3 Linkset]] &lt;br /&gt;
**[[Toolpack v2.5:Creating MTP3 Links (M3UA)|Create MTP3 Links]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an MTP3 Route|Create an MTP3 Route]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an M3UA Configuration (SGP)|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA SAP|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Network|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA User Part|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Signalling Process (SGP)|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Server|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Route (SGP)|Create an M3UA Route]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack v2.5:Editing the SCTP Configuration|Edit the SCTP Configuration]] &lt;br /&gt;
*[[Toolpack v2.5:Creating SS7 Point Codes|Create SS7 Point Codes]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an M3UA Configuration (ASP)|Create an M3UA Configuration]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA SAP|Create an M3UA SAP]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Network|Create an M3UA Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA User Part|Create an M3UA User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Signalling Process (ASP)|Create an M3UA Peer Signalling Process]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Peer Server|Create an M3UA Peer Server]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA Route|Create an M3UA Route]] &lt;br /&gt;
*[[Toolpack v2.5:Creating an ISUP Stack|Create an ISUP Stack]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an M3UA ISUP Network|Create an M3UA ISUP Network]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP User Part|Create an ISUP User Part]] &lt;br /&gt;
**[[Toolpack v2.5:Creating an ISUP Interface|Create an ISUP Interface]] &lt;br /&gt;
***[[Toolpack v2.5:Creating ISUP CIC Groups|Create ISUP CIC Groups]] &lt;br /&gt;
**[[Toolpack v2.5:Creating a NAP (SIGTRAN)|Create a NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuring CAS R2=&lt;br /&gt;
&lt;br /&gt;
Toolpack v2.5 allows you to configure CAS R2 signaling stacks. The following table lists the basic steps that must be followed in order to configure CAS R2.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; |&amp;lt;br&amp;gt;Configuring a CAS R2 stack&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack v2.5:Adding an Adapter|Adding an Adapter]] &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Interface|Create Line Interfaces]] &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Service|Create Line services]] &lt;br /&gt;
*[[Toolpack v2.5:Copy variant script|Copy variant script]]&lt;br /&gt;
*[[Toolpack v2.5:Create CAS R2 stack|Create CAS R2 stack]]&lt;br /&gt;
*[[Toolpack v2.5:Setting CAS R2 BACK DIGITS variable|Set backward digits string]] &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_CAS_R2_NAP|Create a NAP]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuring H.248=&lt;br /&gt;
&lt;br /&gt;
The following table contains steps for configuring an H.248 media gateway control protocol&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 1) &amp;lt;br&amp;gt;Add a Hardware Adapter &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 2) &amp;lt;br&amp;gt;Allocate Physical Interfaces&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 3) &amp;lt;br&amp;gt;Create IP Port Ranges&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 4) &amp;lt;br&amp;gt;Configure Network Access Points (NAPs)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Adding_an_Adapter|Adding an Adapter]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Interface|Create line interfaces]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Line_Service|Create line services]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_IP_Port_Range|Create IP port ranges]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Allocating_a_VoIP_Network_Access_Point_(NAP)|Allocate a VoIP network access point (NAP)]]&lt;br /&gt;
*[[Toolpack_v2.5:Allocating_a_TDM_Network_Access_Point_(NAP)|Allocate a TDM network access point (NAP)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 5) &amp;lt;br&amp;gt;Configure the Media Gateway for H.248 mode&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 6) &amp;lt;br&amp;gt;Create an H.248 Configuration &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 7) &amp;lt;br&amp;gt;Add a New Media Gateway Controller&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 8) &amp;lt;br&amp;gt;Associate NAPs with the H.248 Configuration&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Configure the Media_Gateway_for_H248_Mode|Configure the Media Gateway for H.248 mode]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_H.248_Configuration|Create a new H.248 configuration]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
*[[Toolpack_v2.5:Adding_a_Media_Gateway_Controller_(MGC)|Add a new media gateway controller (MGC)]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Associating_NAPs_with_an_H.248_Configuration|Associate the NAPs with the H.248 configuration]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (Step 9) &amp;lt;br&amp;gt;Select Timeslots for TDM Terminations &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
*[[Toolpack_v2.5:Selecting_Timeslots_for_TDM_Interfaces|Select timeslots for the TDM interfaces]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuring an H.323 to SIP Converter=&lt;br /&gt;
&lt;br /&gt;
The following table contains steps for configuring NAPs that wil allow an interface between the web portal and a YATE H.323 to SIP signal converter:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | &amp;lt;br&amp;gt; Configuring an H.323 to SIP Signal Converter&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
* [[Toolpack_v2.5:Creating_H.323_NAP_Columns|Create H.323 NAP columns]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_an_IP_Port_Range|Create an IP port range]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_SIP_Stack|Create a SIP stack]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_SIP_Transport_Server|Create a SIP transport server]]&lt;br /&gt;
*[[Toolpack_v2.5:Creating_a_Service_Access_Point_(SAP)|Create a service access point (SAP)]]&lt;br /&gt;
* [[Toolpack_v2.5:Creating_SIP_NAPs_(H.323)|Create SIP NAPs]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuring SNMP=&lt;br /&gt;
&lt;br /&gt;
To use the Simple Network Management Protocol (SNMP)on your machine, you must first configure the '''tbSnmpAgent'''.&lt;br /&gt;
&amp;lt;br/&amp;gt;The '''tbSnmpAgent''' is a software application that interfaces between the TMedia system hardware and the [http://www.net-snmp.org NetSnmp] implementation of the SNMP that is supported by TelcoBridges.&lt;br /&gt;
By default, tbSnmpAgent is '''disabled'''. In order to use the SNMP protocol to monitor and manage your hardware, complete the following tasks:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Activate the tbSnmpAgent&lt;br /&gt;
* Configure the tbSnmpAgent as required&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
These tasks can be completed using the [[Web Portal]]:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
#[[Activating tbSnmpAgent|Activate tbSnmpAgent]]&lt;br /&gt;
#[[Configuring tbSnmpAgent|Configure tbSNMPAGENT to suit your needs]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Once these tasks are completed, your TMedia platform is ready to expose system variables for polling with the Simple Network management Protocol (SNMP).&lt;br /&gt;
&lt;br /&gt;
=Configuring RADIUS=&lt;br /&gt;
&lt;br /&gt;
Toolpack v2.5 can send accounting requests containing CDR data to a remote RADIUS server. In order to do so, refer to the [[Toolpack_v2.5:Configuring_RADIUS|Configuring RADIUS]] page.&lt;br /&gt;
&lt;br /&gt;
=Status Menus=&lt;br /&gt;
&lt;br /&gt;
The Web Portal configuration tool will guide you through a number of status menus, each of which indicate the current state of a certain hardware service (assuming said service has been configured).&lt;br /&gt;
The following table contains the general conventions of the Web Portal's display '''(A)''', as well as a variety of specific status menus '''(B)'''.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (A) &amp;lt;br&amp;gt;Menus Overview &lt;br /&gt;
! width=&amp;quot;200&amp;quot; style=&amp;quot;background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;&amp;quot; | (B) &amp;lt;br&amp;gt;Individual Menu Descriptions&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*[[Toolpack_v2.5:Tmedia_Status_Menus|Tmedia Status Menus]]&lt;br /&gt;
**[[Toolpack_v2.5:Status_Menus:Navigation|Navigation]]&lt;br /&gt;
**[[Toolpack_v2.5:Status_Menus:Screen_Conventions|Status Screen Conventions]]&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:System|System]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:Adapters_and_IP_Interfaces|Adapters and IP Interfaces]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:Hosts|Hosts]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:Applications|Applications]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:TDM_Lines|TDM Lines]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SCTP|SCTP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_MTP2|SS7 MTP2]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_M2UA|SS7 M2UA]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_IUA|SS7 IUA]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_M2PA|SS7 M2PA]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_M3UA|SS7 M3UA]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_MTP3|SS7 MTP3]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_ISUP|SS7 ISUP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_SCCP|SS7 SCCP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SS7_TCAP|SS7 TCAP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:ISDN|ISDN]]&lt;br /&gt;
**[[Toolpack_v2.5:Status_Menus:NFAS|NFAS]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:CAS R2|CAS R2]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:SIP|SIP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:Clock|Clock]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:TMS|TMS]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:NAP|NAP]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:H.248|H.248]]&lt;br /&gt;
*[[Toolpack_v2.5:Status_Menus:CDR|CDR]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Further Reading=&lt;br /&gt;
For further information, refer to the following reading list. Please note that all guides listed below are in portable document format (*.PDF), and can be downloaded:&lt;br /&gt;
&lt;br /&gt;
*[[media:TMedia System Architecture Description.pdf|TMedia System Architecture Overview for Developers of VoIP and TDM Solutions]]&lt;br /&gt;
*[[Media:Tb640 user's guide.pdf|TB640 User's Guide]]&lt;br /&gt;
*[[media:SS7 user's guide.pdf|TelcoBridges SS7 User's Guide]]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Toolpack]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_create_success.png</id>
		<title>File:RADIUS v2 6 server create success.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_create_success.png"/>
				<updated>2012-01-18T21:32:46Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_create_new.png</id>
		<title>File:RADIUS v2 6 server create new.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_create_new.png"/>
				<updated>2012-01-18T21:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_cfg.png</id>
		<title>File:RADIUS v2 6 server cfg.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_server_cfg.png"/>
				<updated>2012-01-18T21:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_menu_radius.png</id>
		<title>File:RADIUS v2 6 gw menu radius.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_menu_radius.png"/>
				<updated>2012-01-18T21:32:25Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_menu_configurations.png</id>
		<title>File:RADIUS v2 6 gw menu configurations.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_menu_configurations.png"/>
				<updated>2012-01-18T21:32:17Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_cdr_mode.png</id>
		<title>File:RADIUS v2 6 gw cdr mode.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_cdr_mode.png"/>
				<updated>2012-01-18T21:32:09Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_cdr_check.png</id>
		<title>File:RADIUS v2 6 gw cdr check.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_gw_cdr_check.png"/>
				<updated>2012-01-18T21:32:03Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_client_cfg_create_success.png</id>
		<title>File:RADIUS v2 6 client cfg create success.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_client_cfg_create_success.png"/>
				<updated>2012-01-18T21:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_client_cfg_create.png</id>
		<title>File:RADIUS v2 6 client cfg create.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_6_client_cfg_create.png"/>
				<updated>2012-01-18T21:31:47Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_v2.6:Configuring_RADIUS</id>
		<title>Toolpack v2.6:Configuring RADIUS</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_v2.6:Configuring_RADIUS"/>
				<updated>2012-01-18T21:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Created RADIUS configuration page for Toolpack v2.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to configure a RADIUS server for accounting in Toolpack v2.6.&lt;br /&gt;
&lt;br /&gt;
1- Select '''Gateway -&amp;gt; Configurations''' from the navigation panel.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_gw_menu_configurations.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Verify that the box '''Use CDR behavior''' is checked.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_gw_cdr_check.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3- Configure the CDR behavior in the '''CDR Options''' section:&lt;br /&gt;
* Select the desired '''CDR Mode''':&lt;br /&gt;
** '''RADIUS CDR only''': send RADIUS accounting requests&lt;br /&gt;
** '''Text and RADIUS CDR''': send RADIUS accounting requests and also save the same CDRs in text files&lt;br /&gt;
** '''RADIUS CDR with text CDR fallback''': send RADIUS accounting requests, and if they fail, save the CDRs in text files&lt;br /&gt;
* Click '''Save''' to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_gw_cdr_mode.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4- Verify that the '''Gateway configuration was successfully updated.''' message appears.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_5_gw_cfg_success.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5- Select '''Gateway -&amp;gt; RADIUS''' from the navigation panel.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_gw_menu_radius.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6- Configure the RADIUS client:&lt;br /&gt;
* In the '''Advanced Parameters''' section, verify that the settings correspond to your desired setup. The '''Maximum accounting concurrent records''' field specifies the number of RADIUS requests that can be simultaneously sent to the RADIUS server. The '''Maximum accounting queued records''' specifies the number of CDR records that can be queued by the RADIUS client when no more simultaneous requests can be sent. When the queue is full, records are discarded (unless text CDR fallback is configured).&lt;br /&gt;
* Click '''Create''' to create the RADIUS client.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_client_cfg_create.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7- Verify that the '''RADIUS client configuration successfully created.''' message appears.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_client_cfg_create_success.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8- In the '''Radius servers''' section, click '''Create new RADIUS server'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_server_create_new.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9- Configure the RADIUS server configuration:&lt;br /&gt;
* Set the server '''Name'''. It can be anything as it is only used in the Web Portal.&lt;br /&gt;
* Set the '''Radius server address and port'''.&lt;br /&gt;
* Set the '''Server secret'''.&lt;br /&gt;
* Click the '''Create''' button to create the RADIUS server configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_server_cfg.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10- Verify that the '''RADIUS server was successfully created.''' message appears.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_6_server_create_success.png|border]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack:Configuring_RADIUS_A</id>
		<title>Toolpack:Configuring RADIUS A</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack:Configuring_RADIUS_A"/>
				<updated>2012-01-18T21:06:20Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: Added borders&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to configure a RADIUS server for accounting in Toolpack v2.5 or earlier.&lt;br /&gt;
&lt;br /&gt;
1- Select '''Gateway -&amp;gt; Configurations''' from the navigation panel.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_5_gw_menu_configurations.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Verify that the box '''Use CDR behavior''' is checked.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_5_gw_cdr_check.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3- Configure the CDR behavior in the '''CDR Options''' section:&lt;br /&gt;
* Select '''Radius CDR''' in the '''CDR Mode''' combo box.&lt;br /&gt;
* In the '''Radius server parameters''' section, set the '''Radius server address and port''' and '''Server secret''' fields.&lt;br /&gt;
* Click '''Save''' to save your changes.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_5_gw_cdr_configuration.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4- Verify that the '''Gateway configuration was successfully updated.''' message appears.&lt;br /&gt;
&lt;br /&gt;
[[Image:RADIUS_v2_5_gw_cfg_success.png|border]]&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cfg_success.png</id>
		<title>File:RADIUS v2 5 gw cfg success.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cfg_success.png"/>
				<updated>2012-01-18T21:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cdr_configuration.png</id>
		<title>File:RADIUS v2 5 gw cdr configuration.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cdr_configuration.png"/>
				<updated>2012-01-18T20:59:03Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cdr_check.png</id>
		<title>File:RADIUS v2 5 gw cdr check.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_cdr_check.png"/>
				<updated>2012-01-18T20:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_menu_configurations.png</id>
		<title>File:RADIUS v2 5 gw menu configurations.png</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/File:RADIUS_v2_5_gw_menu_configurations.png"/>
				<updated>2012-01-18T20:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Atremblay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Atremblay</name></author>	</entry>

	</feed>