<?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=Jcharest</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=Jcharest"/>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Special:Contributions/Jcharest"/>
		<updated>2026-06-09T22:26:23Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-5</id>
		<title>Toolpack prerequisite Windows XP 2-5</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-5"/>
				<updated>2011-08-12T12:10:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-5 prerequisites for Windows XP.&lt;br /&gt;
&lt;br /&gt;
== Toolpack Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Basic packages ===&lt;br /&gt;
&lt;br /&gt;
The software listed below is required by the host machines.&lt;br /&gt;
&lt;br /&gt;
1) Go to http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/ and download:&lt;br /&gt;
   iconv-1.9.2.win32.zip&lt;br /&gt;
   libxml2-2.7.3.win32.zip&lt;br /&gt;
   zlib-1.2.3.win32.zip&lt;br /&gt;
2) Decompress and copy the DLL files to C:\Windows\System32&lt;br /&gt;
   iconv.dll&lt;br /&gt;
   libxml2.dll&lt;br /&gt;
   zlib1.dll&lt;br /&gt;
&lt;br /&gt;
==== MSVC8 Redistributable ====&lt;br /&gt;
If you plan on using TBToolPack-x.y.zz-&amp;lt;b&amp;gt;msvc8&amp;lt;/b&amp;gt;-Setup.exe, then you need to install the following:&lt;br /&gt;
&lt;br /&gt;
[http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/vcredist_x86.exe Microsoft MSVC8 Redistributables 8.0.50727.4053 after kb973923 automatic update]&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Database ===&lt;br /&gt;
&lt;br /&gt;
The Toolpack system database is used by the main host and requires mySQL database server version 5.1 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.mysql.com/ and download MySQL Community Server 5.1 installer&lt;br /&gt;
&lt;br /&gt;
2) Install MySQL 5.1&lt;br /&gt;
&lt;br /&gt;
*Choose complete installation&lt;br /&gt;
*Run MySQL Server Instance Configuration Wizard. (You should be prompted to do so after selecting complete installation.)&lt;br /&gt;
*Choose standard configuration&lt;br /&gt;
*Install as a Windows service and check, Launch Automatically.&lt;br /&gt;
*Choose Include Bin Directory in Windows PATH.&lt;br /&gt;
*Enter a User Name and Password, and note them down on paper as you will need them later in the installation process.&lt;br /&gt;
*Enable access from remote machines if you plan to run Tmedia Toolpack on more than one host machine.&lt;br /&gt;
&lt;br /&gt;
3) Create new database user (tbdb) with all privilege access&lt;br /&gt;
*Log in mysql and create a new user with priviledge&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
4) Install Mysql ODBC driver&lt;br /&gt;
*Get and install Mysql ODBC connector from http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/mysql-connector-odbc-3.51.27-win32.zip&lt;br /&gt;
*Install Mysql ODBC connector&lt;br /&gt;
&lt;br /&gt;
5) Enable mysql database replication&lt;br /&gt;
*Open configuration file at location similar to c:\Program Files\MySQL\MySQL Server 5.1\my.ini&lt;br /&gt;
*Add 2 new variable in the mysql config file, and make sure it is in the [mysqld] section:&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=[UniqueId]       &amp;lt;--- [UniqueId] must be a non-zero value, and must be unique when used one each host of an HA system&lt;br /&gt;
&lt;br /&gt;
Add max_allowed_packet to increase the maximum size of binary blobs in the database.&lt;br /&gt;
Make sure it is in the [mysqld] section AND [mysqldump] section&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  [mysqld]&lt;br /&gt;
  port=3306&lt;br /&gt;
  basedir=&amp;quot;C:/Program Files/MySQL/MySQL Server 5.1/&amp;quot;&lt;br /&gt;
  datadir=&amp;quot;C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/&amp;quot;&lt;br /&gt;
  default-character-set=latin1&lt;br /&gt;
  default-storage-engine=INNODB&lt;br /&gt;
  # Enable mysql database replication&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=132&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
  #&lt;br /&gt;
  sql-mode=&amp;quot;STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&amp;quot;&lt;br /&gt;
  max_connections=100&lt;br /&gt;
  &lt;br /&gt;
  # section [mysqld_safe]&lt;br /&gt;
  table_cache=256&lt;br /&gt;
  tmp_table_size=18M&lt;br /&gt;
  thread_cache_size=8&lt;br /&gt;
  &lt;br /&gt;
  [mysqldump]&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
6) Disable virus scanning &lt;br /&gt;
&lt;br /&gt;
It is '''mandatory''' to disable the anti-virus software’s on access scan on the MYSQL database directory (generally C:\Program Files\MySQL\MySQL Server 5.0\data) and the Windows temporary directory(typically identified by the TEMP environmental variable), as this will prevent database backup operation to complete properly upon Toolpack System Update.&lt;br /&gt;
&lt;br /&gt;
7) Restart the mysql service&lt;br /&gt;
  net stop MySQL51&lt;br /&gt;
  net start MySQL51&lt;br /&gt;
*Warning: You may have a different service name in your system (ex. MySQL51, MySQL50, etc.). To open the service control panel, run:&lt;br /&gt;
  services.msc&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Web Portal ===&lt;br /&gt;
&lt;br /&gt;
1) Install Ruby&lt;br /&gt;
*Go to http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/ and download:&lt;br /&gt;
   ruby186-27_rc2.exe&lt;br /&gt;
*Install Ruby 1.8.6, make sure the ''Add Ruby Executable to your path'' option is checked&lt;br /&gt;
2) Install Mongrel using the following commands.&lt;br /&gt;
*gem install mongrel --include-dependencies&lt;br /&gt;
*choose option 4. mongrel 1.1.5 (x86-mswin32-60)&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Stream Server ===&lt;br /&gt;
&lt;br /&gt;
The Tmedia Toolpack Stream Server requires WinPCAP 4.0 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.winpcap.org/ and download WinPcap_4_0_2.exe&lt;br /&gt;
&lt;br /&gt;
2) Install WinPCAP 4.0   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Development Prerequisite ===&lt;br /&gt;
&lt;br /&gt;
Available soon.&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (Optional) ==&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;
&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-5|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Jcharest</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>2011-07-28T12:08:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-5 prerequisites for CentOS 5.5.&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 CentOS 5.5 installed. If you don't want to update your host, 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 &amp;lt;b&amp;gt;MUST NOT&amp;lt;/b&amp;gt; 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&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CentOS update ==&lt;br /&gt;
&lt;br /&gt;
Update your system to CentOS 5.5&lt;br /&gt;
&lt;br /&gt;
 yum update&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.5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5&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.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-tb&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;
&lt;br /&gt;
== Configure Toolpack Prerequisites ==&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&lt;br /&gt;
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;
&lt;br /&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/lib/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 2 new variables in the file under the [mysqld] section:&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;
  &lt;br /&gt;
Add max_allowed_packet to increase the maximum size of binary blobs in the database.&lt;br /&gt;
Make sure it is in the [mysqld] section AND [mysqldump] section&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
Example:&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;
  # 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;
  [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 !(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;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended) ==&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;
&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>Jcharest</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>2011-07-28T12:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-5 prerequisites for CentOS 5.5.&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 CentOS 5.5 installed. If you don't want to update your host, 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 &amp;lt;b&amp;gt;MUST NOT&amp;lt;/b&amp;gt; use the steps on this page before doing a cleanup of the installed files from the manual procedure. 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&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CentOS update ==&lt;br /&gt;
&lt;br /&gt;
Update your system to CentOS 5.5&lt;br /&gt;
&lt;br /&gt;
 yum update&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.5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5&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.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-tb&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;
&lt;br /&gt;
== Configure Toolpack Prerequisites ==&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&lt;br /&gt;
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;
&lt;br /&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/lib/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 2 new variables in the file under the [mysqld] section:&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;
  &lt;br /&gt;
Add max_allowed_packet to increase the maximum size of binary blobs in the database.&lt;br /&gt;
Make sure it is in the [mysqld] section AND [mysqldump] section&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
Example:&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;
  # 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;
  [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 !(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;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended) ==&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;
&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>Jcharest</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>2011-07-28T12:00:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-5 prerequisites for CentOS 5.5.&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 CentOS 5.5 installed. If you don't want to update your host, 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]] before you MUST not use the steps on this page before doing a cleanup of the installed files from the manual procedure. 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&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CentOS update ==&lt;br /&gt;
&lt;br /&gt;
Update your system to CentOS 5.5&lt;br /&gt;
&lt;br /&gt;
 yum update&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.5/os/$basearch/&lt;br /&gt;
 gpgcheck=1&lt;br /&gt;
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5&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.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-tb&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;
&lt;br /&gt;
== Configure Toolpack Prerequisites ==&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&lt;br /&gt;
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;
&lt;br /&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/lib/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 2 new variables in the file under the [mysqld] section:&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;
  &lt;br /&gt;
Add max_allowed_packet to increase the maximum size of binary blobs in the database.&lt;br /&gt;
Make sure it is in the [mysqld] section AND [mysqldump] section&lt;br /&gt;
  max_allowed_packet = 200MB&lt;br /&gt;
&lt;br /&gt;
Example:&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;
  # 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;
  [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 !(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;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (highly recommended) ==&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;
&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>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-20T20:29:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG Host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
You can check if you need to install the required package by typing the following in a terminal on the TMG host:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
yum list installed vconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output is similar to the any of the following lines then you do not need to install the package since it is already installed:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.x86_64 1.9-3 installed&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.ppc 1.9-6.tb1 @/vconfig-1.9-6.tb1.ppc&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the case you do not see this output, the host is missing a package for the feature to work correctly so we need to install it.&lt;br /&gt;
&lt;br /&gt;
=== TMG has internet access ===&lt;br /&gt;
# Install the package on the TMG unit:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
yum install vconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TMG has NO internet access ===&lt;br /&gt;
# Download package from telcobridges (http://download.distribution.telcobridges.com/TBLinux/updates/1/os/vconfig-1.9-6.tb1.ppc.rpm)&lt;br /&gt;
# Upload package to the TMG unit. You can use Winscp to do a file transfer to the tmg.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
yum localinstall vconfig-1.9-6.tb1.ppc.rpm&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring the Switch ==&lt;br /&gt;
Since the network redundancy feature requires VLAN tagging, the switches where the physical ports are connected to need to be configured for H.248 network redundancy. Usually the switch configuration for VLANs is to specify which ports are part of the VLAN but it could also be to specify untagged ports (if the H.248 traffic needs to be untagged for the MGC).&lt;br /&gt;
&lt;br /&gt;
== Configuring System Virtual IP Interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;br /&gt;
&lt;br /&gt;
== Configuring H.248 ==&lt;br /&gt;
Now in the H.248 configuration you need to set the local IP field to the system virtual IP interface that was created for H.248. Then you just need to apply the configuration to complete the configuration.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T14:24:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG Host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
You can check if you need to install the required package by typing the following in a terminal on the TMG host:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
yum list installed vconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output is similar to the any of the following lines then you do not need to install the package since it is already installed:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.x86_64 1.9-3 installed&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.ppc 1.9-6.tb1 @/vconfig-1.9-6.tb1.ppc&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the case you do not see this output, the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
# Download package from telcobridges&lt;br /&gt;
# Upload package to the TMG unit.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&lt;br /&gt;
== Configuring the Switch ==&lt;br /&gt;
Since the network redundancy feature requires VLAN tagging, the switches where the physical ports are connected to need to be configured for H.248 network redundancy. Usually the switch configuration for VLANs is to specify which ports are part of the VLAN but it could also be to specify untagged ports (if the H.248 traffic needs to be untagged for the MGC).&lt;br /&gt;
&lt;br /&gt;
== Configuring System Virtual IP Interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;br /&gt;
&lt;br /&gt;
== Configuring H.248 ==&lt;br /&gt;
Now in the H.248 configuration you need to set the local IP field to the system virtual IP interface that was created for H.248. Then you just need to apply the configuration to complete the configuration.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T14:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG Host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
You can check if you need to install the required package by typing the following in a terminal on the TMG host:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
yum list installed vconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output is similar to the any of the following lines then you do not need to install the package since it is already installed:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.x86_64 1.9-3 installed&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
vconfig.ppc 1.9-6.tb1 @/vconfig-1.9-6.tb1.ppc&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
# Download package from telcobridges&lt;br /&gt;
# Upload package to the TMG unit.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&lt;br /&gt;
== Configuring the Switch ==&lt;br /&gt;
Since the network redundancy feature requires VLAN tagging, the switches where the physical ports are connected to need to be configured for H.248 network redundancy. Usually the switch configuration for VLANs is to specify which ports are part of the VLAN but it could also be to specify untagged ports (if the H.248 traffic needs to be untagged for the MGC).&lt;br /&gt;
&lt;br /&gt;
== Configuring System Virtual IP Interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;br /&gt;
&lt;br /&gt;
== Configuring H.248 ==&lt;br /&gt;
Now in the H.248 configuration you need to set the local IP field to the system virtual IP interface that was created for H.248. Then you just need to apply the configuration to complete the configuration.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:43:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG Host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
# Download package from telcobridges&lt;br /&gt;
# Upload package to the TMG unit.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&lt;br /&gt;
== Configuring the Switch ==&lt;br /&gt;
Since the network redundancy feature requires VLAN tagging, the switches where the physical ports are connected to need to be configured for H.248 network redundancy. Usually the switch configuration for VLANs is to specify which ports are part of the VLAN but it could also be to specify untagged ports (if the H.248 traffic needs to be untagged for the MGC).&lt;br /&gt;
&lt;br /&gt;
== Configuring System Virtual IP Interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;br /&gt;
&lt;br /&gt;
== Configuring H.248 ==&lt;br /&gt;
Now in the H.248 configuration you need to set the local IP field to the system virtual IP interface that was created for H.248. Then you just need to apply the configuration to complete the configuration.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:36:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG Host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
# Download package from telcobridges&lt;br /&gt;
# Upload package to the TMG unit.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&lt;br /&gt;
== Configuring System Virtual IP Interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;br /&gt;
&lt;br /&gt;
== Configuring H.248 ==&lt;br /&gt;
Now in the H.248 configuration you need to set the local ip field to the system virtual IP interfaces that was created for H.248. Then you just need to apply the configuration to complete the configuration.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:34:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ethernet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
# Download package from telcobridges&lt;br /&gt;
# Upload package to the TMG unit.&lt;br /&gt;
# Install the package on the TMG unit.&lt;br /&gt;
&lt;br /&gt;
== Configuring system virtual IP interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping (ICMP echo) requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration. When a routing change occurs ARP broadcasts are sent on the new physical port so that the Ehternet switch adapts to the change.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
&lt;br /&gt;
== Configuring system virtual IP interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected then it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
&lt;br /&gt;
== Configuring system virtual IP interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy</id>
		<title>H.248 Network Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/H.248_Network_Redundancy"/>
				<updated>2011-07-19T13:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: Created page with 'Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but w…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network redundancy is achieved when the H.248 stack can be reached by at least two physical networks ports on the TMG. On the TMG800/3200, usually H.248 uses the mgmt port, but with the network redundancy feature it is possible to use the VOIP0/1 and ETH0/1 port combinations. For example if we use a VOIP0/1 combination, initially the traffic will go through VOIP0 and if a failure is detected it will switch to using the VOIP1 port. The switch will be transparent for the MGC, in fact only the Ethernet switch will see the difference and it should adapt very quickly.&lt;br /&gt;
&lt;br /&gt;
== Technically speaking ==&lt;br /&gt;
When using the network redundancy feature, the H.248 stack will bind itself to a special VLAN tagged (802.1Q) interface that is routed (level 2 routing) to a physical port. The [[TMG-CONTROL]] software will monitor the link:&lt;br /&gt;
# Ethernet link&lt;br /&gt;
# Ping requests on a specified IP address&lt;br /&gt;
When either of the monitoring techniques finds a failure the routing will change to the next available physical port specified in the configuration.&lt;br /&gt;
&lt;br /&gt;
Some additional steps are necessary in order to use this feature:&lt;br /&gt;
&lt;br /&gt;
== Installing vconfig on the TMG host ==&lt;br /&gt;
This is only needed for TMG800/3200 that were bought before the H.248 network redundancy was advertised. You do not need to do this otherwise and you should skip this step.&lt;br /&gt;
&lt;br /&gt;
In these cases the host is missing a package for the feature to work correctly so we need to install it:&lt;br /&gt;
&lt;br /&gt;
== Configuring system virtual IP interfaces ==&lt;br /&gt;
The next step is to configure a virtual IP interface that will encompass two physical ports. This is done in the web portal menu item: &amp;quot;System Virtual IP Interfaces&amp;quot;. From there you can create a virtual IP interface for H.248 and specify:&lt;br /&gt;
# VLAN Id&lt;br /&gt;
# IP confiuration&lt;br /&gt;
# Physical ports to use&lt;br /&gt;
# Polling params&lt;/div&gt;</summary>
		<author><name>Jcharest</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>2011-06-17T13:24:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text [[call detail record|call detail records]] (CDR) are saved in a log file on disk.&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;
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;
For example, the following variable will be replaced by the called number:&lt;br /&gt;
@{CalledNumber}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling text CDR ==&lt;br /&gt;
Text CDR functionality is enabled through the Toolpack Web Portal:&lt;br /&gt;
*Go to the '''Gateway-&amp;gt;Configuration''' menu.&lt;br /&gt;
*Click on the '''Edit''' link of the configuration you wish to enable CDR for.&lt;br /&gt;
*Click on '''Use CDR behavior''' to enable the CDR behavior&lt;br /&gt;
*Expand the '''CDR Options''' section&lt;br /&gt;
*Click on '''Use text CDR''' to enable text-based CDR&lt;br /&gt;
*Expand the '''Text CDR parameters''' section&lt;br /&gt;
*Configure the '''Text CDR parameters''' the way you want, using the parameters describe below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration parameters  ==&lt;br /&gt;
&lt;br /&gt;
*'''CDR log file path''': Path of the CDR log file, relative to the current working directory of the Gateway application (e.g.[...]/toolpack/setup/12358/apps/gateway). &lt;br /&gt;
*'''CDR format (start)''': Format of the text CDR log written at the time the call is answered (or terminated if it was never answered). This format contains variables automatically replaced (see below). &lt;br /&gt;
*'''CDR format (update)''': Format of the text CDR log written periodically during call if the CDR option '''Enable periodic CDR update''' is used. This format contains variables automatically replaced (see below). &lt;br /&gt;
*'''CDR format (end)''': Format of the text CDR log written at the time the call is terminated. This format contains variables automatically replaced (see below). &lt;br /&gt;
*'''Rotation delay in seconds''': Delay, in seconds, at which the log file is rotated and gzipped. A delay of 3600 seconds will make log file rotate every hour, for example. '''NOTE''': This parameter cannot be larger then 86400 seconds (1 day). A value of 0 will be considered as the equivalent of the maximum value. &lt;br /&gt;
*'''Max total size of gzipped CDR logs''': Maximum total size (in bytes) of all gzipped log file segments on disk. If ever total size exceeds this limit, older gzipped log files will be deleted. A value of 0 will be considered as unlimited size.&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;
 *@{ApplicationName}:        Name of the application that has written this log (&amp;quot;Gateway&amp;quot;)&lt;br /&gt;
 *@{CalledNumber}:           Called number&lt;br /&gt;
 *@{CallingNumber}:          Calling number&lt;br /&gt;
 *@{CallType}:               Call type (&amp;quot;Telephony&amp;quot; or &amp;quot;VOIP&amp;quot;)&lt;br /&gt;
 *@{Codec}:                  Codec used for this call (&amp;quot;G711&amp;quot; for example)&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 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;
 *@{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 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 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;
 *@{LegId}:                  Unique Id for this leg (32 bits value, but may eventually be upgraded to 64 bits value).&lt;br /&gt;
                              Please note that in current implementation this Id is unique at a given time,&lt;br /&gt;
                              but it can be reused later for subsequent calls. This Id will, however, remain constant&lt;br /&gt;
                              even if there is a HA switchover between any active and standby components of the system.&lt;br /&gt;
 *@{LinkId}:                 Unique Id of the link between two call legs (32 bits value, but may eventually be upgraded to 64 bits value).&lt;br /&gt;
                             Please note that in current implementation this Id is unique at a given time, but it can be reused later for subsequent calls.&lt;br /&gt;
 *@{MediaInfo}:              Protocol type dependent information on the call leg.&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;&lt;br /&gt;
 *@{NAP}:                    Name of the NAP this call leg is from&lt;br /&gt;
 *@{OrginatorName}:          Direction of the call:&lt;br /&gt;
                              - &amp;quot;originate&amp;quot; (incoming call leg) - &amp;quot;answer&amp;quot; (outgoing call leg)&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;
 *@{RemoteIP}:               For VOIP calls, IP address of the remote peer for this call leg.&lt;br /&gt;
 *@{RemotePort}:             For VOIP calls, UDP port of the remote peer for this call leg.&lt;br /&gt;
 *@{SessionId}:              Unique call identifier, in the form of 4 values of 32 bits, printed as 4 blocks of 8 hexadecimal charaters separated by a space.&lt;br /&gt;
                             Currently the first value is the incoming leg id, the second value is the outgoing leg id and the other values are 0.&lt;br /&gt;
                             Please note that in current implementation this Id is unique at a given time, but it can be reused later for subsequent calls. &lt;br /&gt;
                             Since 2.5.66 the session id is incremental so it will be unique as long as there are not 2^32 call records in the cdr log.                             &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 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;
 *@{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 an string value&lt;br /&gt;
 *@{TerminationSource}:      Identifies which of the legs has initiated the call termination first: &amp;quot;LocalLeg&amp;quot; or &amp;quot;ConnectedLeg&amp;quot;&lt;br /&gt;
 *@{TimeslotNumber}:         For TDM (Telephony) calls, timeslot number that this call was using for audio.&lt;br /&gt;
 *@{Timestamp}:              Time where this CDR log entry was written.&lt;br /&gt;
                              Note that slightly differs from the @{Timestamp}, since the 'End' CDR trace is printed once the call has finished terminating,&lt;br /&gt;
                              while @{EndTime} reports the time where the call has started terminating (upon hangup for example).&lt;br /&gt;
 *@{Timestamp:format}:       Same as @{Timestamp} but with custom print format (local time zone), using 'strftime' style, with added 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;
 *@{TrunkName}:              For TDM (Telephony) calls, name of the trunk that this call was using for audio.&lt;br /&gt;
 *@{UserName}:               For SIP calls, name of the user.&lt;br /&gt;
 *@{ChargeIndicator}:        For TDM (SS7 and CASR2); received charge indicator in Alert message.&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
In a redundant Toolpack system with two Gateway applications, the active Gateway application writes the CDR logs.&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, sorting the entries by timestamp for example.&lt;br /&gt;
&lt;br /&gt;
It is worth noting that an entry will never be duplicated. It can, however, be lost during transition from active to standby Gateway applications following a system fault. Consequently, a CDR analysis script must thus handle the case where a call answered log does not match any call termination log.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default values  ==&lt;br /&gt;
&lt;br /&gt;
The default values are as follows: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; For the CDR that is printed when the call leg is answered: &lt;br /&gt;
&lt;br /&gt;
 @{Timestamp:%Y-%m-%d&amp;amp;nbsp;%H:%M:%S.@m%z},BEG,SessionId='@{SessionId}',LegId='@{LegId}',&lt;br /&gt;
 StartTime='@{StartTime}',ConnectedTime='@{ConnectedTime}',Calling='@{CallingNumber}', &lt;br /&gt;
 Called='@{CalledNumber}',NAP='@{NAP}',Protocol='@{Protocol}',Direction='@{OrginatorName}' &lt;br /&gt;
&lt;br /&gt;
(Note: the above is a signle line!)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the CDR that is printed throught the call at periodic intervals (if this option is enable on the CDR behavior): &lt;br /&gt;
&lt;br /&gt;
 @{Timestamp:%Y-%m-%d&amp;amp;nbsp;%H:%M:%S.@m%z}: SessionId='@{SessionId}' LegId='@{LegId}'&lt;br /&gt;
&lt;br /&gt;
For the CDR that is printed when the call leg is terminated: &lt;br /&gt;
&lt;br /&gt;
 @{Timestamp:%Y-%m-%d&amp;amp;nbsp;%H:%M:%S.@m%z},END,SessionId='@{SessionId}',LegId='@{LegId}',&lt;br /&gt;
 StartTime='@{StartTime}',ConnectedTime='@{ConnectedTime}', EndTime='@{EndTime}',&lt;br /&gt;
 FreedTime='@{Timestamp}',TerminationCause='@{TerminationCauseString}', &lt;br /&gt;
 Calling='@{CallingNumber}',Called='@{CalledNumber}',NAP='@{NAP}',Direction='@{OrginatorName}' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
(Note: the above is a signle line!)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
For example, one may define a short comma-separated value-based  (CSV) CDR log file to minimize disk space requirements:&lt;br /&gt;
 &amp;quot;@{LegId},@{ConnectedTime},@{EndTime},@{CallingNumber},@{CalledNumber},@{NAP}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
As another example, one may define a XML-based CDR log file:&lt;br /&gt;
 &amp;lt;cdr_start&amp;gt;&lt;br /&gt;
  &amp;lt;time timestamp=&amp;quot;@{Timestamp}&amp;quot; start_time=&amp;quot;@{StartTime}&amp;quot; connect_time=&amp;quot;@{ConnectedTime}&amp;quot; end_time=&amp;quot;@{EndTime}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;id session_id=&amp;quot;@{SessionId}&amp;quot; leg_id=&amp;quot;@{LegId}&amp;quot; link_id=&amp;quot;@{LinkId}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;number calling=&amp;quot;@{CallingNumber}&amp;quot; called=&amp;quot;@{CalledNumber}&amp;quot; direction=&amp;quot;@{OrginatorName}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;info nap=&amp;quot;@{NAP}&amp;quot; protocol=&amp;quot;@{Protocol}&amp;quot; called=&amp;quot;@{CalledNumber} media=&amp;quot;@{MediaInfo}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;termination cause=&amp;quot;@{TerminationCauseString}&amp;quot; source=&amp;quot;@{TerminationSource}&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/cdr_start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to retrieve CDR  ==&lt;br /&gt;
&lt;br /&gt;
There are 2 ways to retrieve the test CDR manually or automatically. The procedures are describe [[TMG:Retrieve_Text_CDR|here]].&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. However, the TMG3200 with SATA disk option is OK (use command cat /proc/device-tree/model to identify your device model).&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;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Compiling_Toolpack</id>
		<title>Compiling Toolpack</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Compiling_Toolpack"/>
				<updated>2011-02-16T16:11:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Toolpack is provided with most of it's source code, so developers can develop their own applications, use example code, and even debug problems within the Toolpack framework if necessary.&lt;br /&gt;
The following procedure explains how to compile Toolpack.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
The following procedure provide examples for package 2.5.53 for centos5 64 bits. Please adapt the procedure below for your platform and build number.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
Before compiling Toolpack's source code, make sure your host has all [[Toolpack_installation_2-5|Toolpack prerequisites]]. In this case the &amp;quot;Toolpack Development Prerequisite&amp;quot; are NOT optional&lt;br /&gt;
&lt;br /&gt;
== Download source code and pre-compiled libraries ==&lt;br /&gt;
A couple of packages need to be downloaded. Some that contain source code, other that contain pre-compiled binaries and libraries for your platform.&lt;br /&gt;
&lt;br /&gt;
Please download the following source code packages:&lt;br /&gt;
* tb640_2.5.53_common.tgz&lt;br /&gt;
* tbcmc_2.5.53_common.tgz&lt;br /&gt;
&lt;br /&gt;
Please download the following binary packages (where 2.X.X is the version you wish to compile, and [platform] is your platform, like &amp;quot;x86_64-linux64_centos5_release&amp;quot;):&lt;br /&gt;
* tb640_2.5.53_x86_64-linux64_centos5_release.tgz&lt;br /&gt;
* tbcmc_2.5.53_x86_64-linux64_centos5_release.tgz&lt;br /&gt;
&lt;br /&gt;
You can also download documentation package:&lt;br /&gt;
* tb-doc.zip&lt;br /&gt;
&lt;br /&gt;
== Unzip all packages ==&lt;br /&gt;
Unzip all the packages above in the same folder (say &amp;quot;yes&amp;quot; when asked to replace duplicated files):&lt;br /&gt;
* tar -zxf tb640_2.5.53_common.tgz&lt;br /&gt;
* tar -zxf tb640_2.5.53_x86_64-linux64_centos5_release.tgz&lt;br /&gt;
* tar -zxf tbcmc_2.5.53_common.tgz&lt;br /&gt;
* tar -zxf tbcmc_2.5.53_x86_64-linux64_centos5_release.tgz&lt;br /&gt;
&lt;br /&gt;
== Compile in release ==&lt;br /&gt;
To compile in release (use X86_64=1 flag only for 64 bits packages):&lt;br /&gt;
* cd tb/src&lt;br /&gt;
* make all X86_64=1&lt;br /&gt;
&lt;br /&gt;
== Compile in debug ==&lt;br /&gt;
To compile in debug (use X86_64=1 flag only for 64 bits packages):&lt;br /&gt;
* '''For elease 2.4 and less only: mv lib/release lib/debug'''&lt;br /&gt;
* cd src&lt;br /&gt;
* make all DBG=1 X86_64=1&lt;br /&gt;
&lt;br /&gt;
== Compilation results ==&lt;br /&gt;
The libraries pre-compiled from the packages are located in&lt;br /&gt;
* lib/official/x86_64-linux64/&lt;br /&gt;
The libraries you compiled yourself are located in&lt;br /&gt;
* lib/release/x86_64-linux64/&lt;br /&gt;
or &lt;br /&gt;
* lib/debug/x86_64-linux64/&lt;br /&gt;
Makefiles, when linking, will first use the libraries you compiled (if present), otherwise the official libraries. This allow compiling only applications, or only some libraries of the package, without having to recompile the whole thing.&lt;/div&gt;</summary>
		<author><name>Jcharest</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>2011-01-04T14:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &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;
  called_number = caf_call.get :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;
  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 takes 2 arguments, the call parameters (hash) and the route parameters (hash).&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules&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 refuse a call with a reason code argument parameters : &lt;br /&gt;
  caf_call.refuse :reason =&amp;gt; :temporary_failure&lt;br /&gt;
&lt;br /&gt;
The supported values are described in the section &amp;quot;Reason values&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Call parameters ==&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object:&lt;br /&gt;
&lt;br /&gt;
* calling&lt;br /&gt;
* calling_noa&lt;br /&gt;
* calling_npi&lt;br /&gt;
* calling_display_type&lt;br /&gt;
* calling_display&lt;br /&gt;
* calling_presentation&lt;br /&gt;
* calling_screening&lt;br /&gt;
* calling_category&lt;br /&gt;
* private_display&lt;br /&gt;
* private_display_type&lt;br /&gt;
* private_address&lt;br /&gt;
* called&lt;br /&gt;
* called_noa&lt;br /&gt;
* called_npi&lt;br /&gt;
* redirecting_number_forward_enabled&lt;br /&gt;
* redirecting_number_noa&lt;br /&gt;
* redirecting_number_npi&lt;br /&gt;
* redirecting_number_presentation&lt;br /&gt;
* redirecting_number_screening&lt;br /&gt;
* redirecting_number_reason&lt;br /&gt;
* redirecting_number_counter&lt;br /&gt;
* original_called_number&lt;br /&gt;
* original_called_number_noa&lt;br /&gt;
* original_called_number_npi&lt;br /&gt;
* original_called_number_presentation&lt;br /&gt;
* original_called_number_screening&lt;br /&gt;
* original_called_number_reason&lt;br /&gt;
* original_called_number_counter&lt;br /&gt;
* nap&lt;br /&gt;
* uui&lt;br /&gt;
* uui_forward_enabled&lt;br /&gt;
* oli&lt;br /&gt;
* request_uri&lt;br /&gt;
* request_uri_forward_enabled&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;
* &amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_specific&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_national_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_international_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;abbreviated_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;test_line_test_code&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;call_950_number&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;
* &amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;gt; Type is unspecified.&lt;br /&gt;
* &amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&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;
* &amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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 ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;not_available&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;restricted&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;
=== Screening values ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;pass&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;fail&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_provided&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting number reason values ===&lt;br /&gt;
ISDN:&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;
* &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;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;
=== UUI (user-to-user indication) values ===&lt;br /&gt;
Byte array printed as hexadecimal string (each byte printed as two hexadecimal characters).&lt;br /&gt;
Example: &amp;quot;00ac3eff51&amp;quot; would represent a 5 bytes UUI&lt;br /&gt;
&lt;br /&gt;
=== OLI (originating line information) values ===&lt;br /&gt;
The OLI parameter is a string that represents an integer value from 0 to 255.&lt;br /&gt;
&lt;br /&gt;
=== redirecting_number_forward_enabled values ===&lt;br /&gt;
Controls forwarding or discarding of redirecting number 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;
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.&lt;br /&gt;
The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== uui_forward_enabled values ===&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 to outgoing call leg&lt;br /&gt;
1/true: UUI is forwarded to outgoing call leg&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.&lt;br /&gt;
The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
=== request_uri_forward_enabled values ===&lt;br /&gt;
Controls forwarding or discarding of request uri 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: Request uri is not forwarded to outgoing call leg&lt;br /&gt;
1/true: Request uri is forwarded to outgoing call leg&lt;br /&gt;
The value for this parameter at input of routing script is always false.&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;
&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;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
All CMC reason codes are available for use by the routing scripts. See the TBCMC_CALL_REASON_CODE enum in the tbcmc_call.h file.&lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  /* isdn/ss7 reason code style */&lt;br /&gt;
  /* Toolpack engine will convert reason code from sip to isdn/ss7 or isdn/ss7 to sip according to RFC3398 */&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;
  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_CONN_OPERATIONAL&lt;br /&gt;
  TEMPORARY_FAILURE&lt;br /&gt;
  SWITCHING_EQUIP_CONGESTION&lt;br /&gt;
  ACCESS_INFO_DISCARDED&lt;br /&gt;
  REQUESTED_CIRCUIT_NOT_AVAILABLE&lt;br /&gt;
  PRECEDENCE_CALL_BLOCKED&lt;br /&gt;
  RESOURCE_UNAVAILABLE&lt;br /&gt;
  QOS_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;
  MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  IE_NON_EXISTENT&lt;br /&gt;
  INVALID_IE_CONTENT&lt;br /&gt;
  MSG_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  RECOVERY_ON_TIMER_EXPIRY&lt;br /&gt;
  PARAMETER_NON_EXISTENT_PASSED_ON&lt;br /&gt;
  MESSAGE_WITH_NON_RECOGNIZED_PARAMETERS_DISCARDED&lt;br /&gt;
  PROTOCOL_ERROR&lt;br /&gt;
  INTERWORKING_UNSPECIFIED&lt;br /&gt;
  &lt;br /&gt;
  /* Toolpack specific errors */&lt;br /&gt;
  NORMAL&lt;br /&gt;
  RESOURCE_ERROR&lt;br /&gt;
  TIMEOUT&lt;br /&gt;
  NO_ROUTE&lt;br /&gt;
  CALL_COLLISION&lt;br /&gt;
  SYNC_DROP&lt;br /&gt;
  SIGNALING_ERROR&lt;br /&gt;
  LOCALLY_REJECTED&lt;br /&gt;
  INTERFACE_NOT_AVAILABLE&lt;br /&gt;
  RESET_IN_PROGRESS&lt;br /&gt;
  ADAPTER_REJECT&lt;br /&gt;
  MISSING_INVALID_IE&lt;br /&gt;
  INCOMING_ONLY&lt;br /&gt;
  SYSTEM_CONFIGURATION_CHANGED&lt;br /&gt;
  RESOURCE_NO_MORE_AVAILABLE&lt;br /&gt;
  INCOMPATIBLE_MEDIA&lt;br /&gt;
  RES_ALLOC_FAILED&lt;br /&gt;
  DATA_PATH_NOT_AVAILABLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&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;
  #define NAP_STATS_FIELDS \&lt;br /&gt;
    /* Field,                                 szName,                            szDescription,                                        szOptions */ \&lt;br /&gt;
    ( SIGNALING_TYPE,                         &amp;quot;signaling_type&amp;quot;,                  &amp;quot;Signaling type.&amp;quot;,                                    &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( INCOMING_CALL_CNT,                      &amp;quot;inst_incoming_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of incoming calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( OUTGOING_CALL_CNT,                      &amp;quot;inst_outgoing_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of outgoing calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABLE_CNT,                          &amp;quot;available_cnt&amp;quot;,                   &amp;quot;Number of available circuits or channels.&amp;quot;,          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( UNAVAILABLE_CNT,                        &amp;quot;unavailable_cnt&amp;quot;,                 &amp;quot;Number of unavailable circuits or channels.&amp;quot;,        &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_PCT,                       &amp;quot;availability_percent&amp;quot;,            &amp;quot;Percentage of available circuits or channels.&amp;quot;,      &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( USAGE_PCT,                              &amp;quot;usage_percent&amp;quot;,                   &amp;quot;Percentage of used circuits or channels.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( TOTAL_INCOMING_CALL_CNT,                &amp;quot;total_incoming_call_cnt&amp;quot;,         &amp;quot;Total Count of incoming calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( ASR_STRUCT,                             &amp;quot;asr_statistics_struct&amp;quot;,           &amp;quot;Detailed Answer-Seizure Rate Statistics.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( GLOBAL_ASR_PCT,                       &amp;quot;global_asr_percent&amp;quot;,              &amp;quot;Global calculated ASR percentage.&amp;quot;,                  &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TOTAL_OUTGOING_CALL_CNT,              &amp;quot;total_outgoing_call_cnt&amp;quot;,         &amp;quot;Total Count of outgoing calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_ASR_PCT,                     &amp;quot;last_24h_asr_percent&amp;quot;,            &amp;quot;Last 24 hours calculated ASR percentage.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_OUTGOING_CALL_CNT,           &amp;quot;last_24h_outgoing_call_cnt&amp;quot;,      &amp;quot;Last 24 hours outgoing calls.&amp;quot;,                      &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_ASR_PCT,                         &amp;quot;current_hour_asr_percent&amp;quot;,        &amp;quot;Current hour calculated ASR percentage.&amp;quot;,            &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_OUTGOING_CALL_CNT,               &amp;quot;current_hour_outgoing_call_cnt&amp;quot;,  &amp;quot;Current hour outgoing calls.&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_HOUR_ASR_PCT,                    &amp;quot;last_hour_asr_percent&amp;quot;,           &amp;quot;Last hour calculated ASR percentage.&amp;quot;,               &amp;quot;&amp;quot; ) \&lt;br /&gt;
       ( LAST_HOUR_OUTGOING_CALL_CNT,         &amp;quot;last_hour_outgoing_call_cnt&amp;quot;,     &amp;quot;Last hour outgoing calls.&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_DETECTION_STRUCT,          &amp;quot;availability_detection_struct&amp;quot;,   &amp;quot;Detailed availibility detection Statistics&amp;quot;,         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( POLL_REMOTE_PROXY,                    &amp;quot;poll_remote_proxy&amp;quot;,               &amp;quot;Remote proxy polling enabled&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_AVAILABLE,                         &amp;quot;is_available&amp;quot;,                    &amp;quot;Remote proxy actually available or not&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_POLLING,                   &amp;quot;time_since_polling&amp;quot;,              &amp;quot;Time since the last availibility polling&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_AVAILABLE_SECONDS,               &amp;quot;time_available_seconds&amp;quot;,          &amp;quot;Number of seconds since the NAP is available&amp;quot;,       &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_UNAVAILABLE_SECONDS,             &amp;quot;time_unavailable_seconds&amp;quot;,        &amp;quot;Number of seconds since the NAP is unavailable&amp;quot;,     &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    ( REGISTRATION_STRUCT,                    &amp;quot;registration_struct&amp;quot;,             &amp;quot;Detailed registration Statistics&amp;quot;,                   &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( REGISTER_TO_PROXY,                    &amp;quot;register_to_proxy&amp;quot;,               &amp;quot;Register to proxy enabled&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_REGISTERED,                        &amp;quot;registered&amp;quot;,                      &amp;quot;Actually registered or not&amp;quot;,                         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_REFRESH,                   &amp;quot;time_since_refresh&amp;quot;,              &amp;quot;Time since the last refresh&amp;quot;,                        &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_REGISTERED_SECONDS,              &amp;quot;time_registered_seconds&amp;quot;,         &amp;quot;Number of seconds since the NAP is registered&amp;quot;,      &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_NOT_REGISTERED_SECONDS,          &amp;quot;time_not_registered_seconds&amp;quot;,     &amp;quot;Number of seconds since the NAP is not registered&amp;quot;,  &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    /*!&amp;amp;lt; Nap Status Fields */&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;
== Test parameters  ==&lt;br /&gt;
&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;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;/div&gt;</summary>
		<author><name>Jcharest</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>2011-01-04T14:51:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &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;
  called_number = caf_call.get :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;
  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 takes 2 arguments, the call parameters (hash) and the route parameters (hash).&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules&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 refuse a call with a reason code argument parameters : &lt;br /&gt;
  caf_call.refuse :reason =&amp;gt; :temporary_failure&lt;br /&gt;
&lt;br /&gt;
The supported values are described in the section &amp;quot;Reason values&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Call parameters ==&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object:&lt;br /&gt;
&lt;br /&gt;
* calling&lt;br /&gt;
* calling_noa&lt;br /&gt;
* calling_npi&lt;br /&gt;
* calling_display_type&lt;br /&gt;
* calling_display&lt;br /&gt;
* calling_presentation&lt;br /&gt;
* calling_screening&lt;br /&gt;
* calling_category&lt;br /&gt;
* private_display&lt;br /&gt;
* private_display_type&lt;br /&gt;
* private_address&lt;br /&gt;
* called&lt;br /&gt;
* called_noa&lt;br /&gt;
* called_npi&lt;br /&gt;
* redirecting_number_forward_enabled&lt;br /&gt;
* redirecting_number_noa&lt;br /&gt;
* redirecting_number_npi&lt;br /&gt;
* redirecting_number_presentation&lt;br /&gt;
* redirecting_number_screening&lt;br /&gt;
* redirecting_number_reason&lt;br /&gt;
* redirecting_number_counter&lt;br /&gt;
* original_called_number&lt;br /&gt;
* original_called_number_noa&lt;br /&gt;
* original_called_number_npi&lt;br /&gt;
* original_called_number_presentation&lt;br /&gt;
* original_called_number_screening&lt;br /&gt;
* original_called_number_reason&lt;br /&gt;
* original_called_number_counter&lt;br /&gt;
* nap&lt;br /&gt;
* uui&lt;br /&gt;
* uui_forward_enabled&lt;br /&gt;
* oli&lt;br /&gt;
* request_uri&lt;br /&gt;
* request_uri_forward_enabled&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;
* &amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_specific&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_national_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_international_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;abbreviated_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;test_line_test_code&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;call_950_number&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;
* &amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;gt; Type is unspecified.&lt;br /&gt;
* &amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&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;
* &amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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 ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;not_available&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;restricted&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;
=== Screening values ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;pass&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;fail&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_provided&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirecting number reason values ===&lt;br /&gt;
ISDN:&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;
* &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;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;
=== UUI (user-to-user indication) values ===&lt;br /&gt;
Byte array printed as hexadecimal string (each byte printed as two hexadecimal characters).&lt;br /&gt;
Example: &amp;quot;00ac3eff51&amp;quot; would represent a 5 bytes UUI&lt;br /&gt;
&lt;br /&gt;
=== OLI (originating line information) values ===&lt;br /&gt;
The OLI parameter is a string that represents an integer value from 0 to 255.&lt;br /&gt;
&lt;br /&gt;
=== redirecting_number_forward_enabled values ===&lt;br /&gt;
Controls forwarding or discarding of redirecting number 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;
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.&lt;br /&gt;
The script may change this value to override the Gateway configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== uui_forward_enabled values ===&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 to outgoing call leg&lt;br /&gt;
1/true: UUI is forwarded to outgoing call leg&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.&lt;br /&gt;
The script may change this value to override the Gateway configuration.&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;
&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;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
All CMC reason codes are available for use by the routing scripts. See the TBCMC_CALL_REASON_CODE enum in the tbcmc_call.h file.&lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  /* isdn/ss7 reason code style */&lt;br /&gt;
  /* Toolpack engine will convert reason code from sip to isdn/ss7 or isdn/ss7 to sip according to RFC3398 */&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;
  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_CONN_OPERATIONAL&lt;br /&gt;
  TEMPORARY_FAILURE&lt;br /&gt;
  SWITCHING_EQUIP_CONGESTION&lt;br /&gt;
  ACCESS_INFO_DISCARDED&lt;br /&gt;
  REQUESTED_CIRCUIT_NOT_AVAILABLE&lt;br /&gt;
  PRECEDENCE_CALL_BLOCKED&lt;br /&gt;
  RESOURCE_UNAVAILABLE&lt;br /&gt;
  QOS_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;
  MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  IE_NON_EXISTENT&lt;br /&gt;
  INVALID_IE_CONTENT&lt;br /&gt;
  MSG_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  RECOVERY_ON_TIMER_EXPIRY&lt;br /&gt;
  PARAMETER_NON_EXISTENT_PASSED_ON&lt;br /&gt;
  MESSAGE_WITH_NON_RECOGNIZED_PARAMETERS_DISCARDED&lt;br /&gt;
  PROTOCOL_ERROR&lt;br /&gt;
  INTERWORKING_UNSPECIFIED&lt;br /&gt;
  &lt;br /&gt;
  /* Toolpack specific errors */&lt;br /&gt;
  NORMAL&lt;br /&gt;
  RESOURCE_ERROR&lt;br /&gt;
  TIMEOUT&lt;br /&gt;
  NO_ROUTE&lt;br /&gt;
  CALL_COLLISION&lt;br /&gt;
  SYNC_DROP&lt;br /&gt;
  SIGNALING_ERROR&lt;br /&gt;
  LOCALLY_REJECTED&lt;br /&gt;
  INTERFACE_NOT_AVAILABLE&lt;br /&gt;
  RESET_IN_PROGRESS&lt;br /&gt;
  ADAPTER_REJECT&lt;br /&gt;
  MISSING_INVALID_IE&lt;br /&gt;
  INCOMING_ONLY&lt;br /&gt;
  SYSTEM_CONFIGURATION_CHANGED&lt;br /&gt;
  RESOURCE_NO_MORE_AVAILABLE&lt;br /&gt;
  INCOMPATIBLE_MEDIA&lt;br /&gt;
  RES_ALLOC_FAILED&lt;br /&gt;
  DATA_PATH_NOT_AVAILABLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&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;
  #define NAP_STATS_FIELDS \&lt;br /&gt;
    /* Field,                                 szName,                            szDescription,                                        szOptions */ \&lt;br /&gt;
    ( SIGNALING_TYPE,                         &amp;quot;signaling_type&amp;quot;,                  &amp;quot;Signaling type.&amp;quot;,                                    &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( INCOMING_CALL_CNT,                      &amp;quot;inst_incoming_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of incoming calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( OUTGOING_CALL_CNT,                      &amp;quot;inst_outgoing_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of outgoing calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABLE_CNT,                          &amp;quot;available_cnt&amp;quot;,                   &amp;quot;Number of available circuits or channels.&amp;quot;,          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( UNAVAILABLE_CNT,                        &amp;quot;unavailable_cnt&amp;quot;,                 &amp;quot;Number of unavailable circuits or channels.&amp;quot;,        &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_PCT,                       &amp;quot;availability_percent&amp;quot;,            &amp;quot;Percentage of available circuits or channels.&amp;quot;,      &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( USAGE_PCT,                              &amp;quot;usage_percent&amp;quot;,                   &amp;quot;Percentage of used circuits or channels.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( TOTAL_INCOMING_CALL_CNT,                &amp;quot;total_incoming_call_cnt&amp;quot;,         &amp;quot;Total Count of incoming calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( ASR_STRUCT,                             &amp;quot;asr_statistics_struct&amp;quot;,           &amp;quot;Detailed Answer-Seizure Rate Statistics.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( GLOBAL_ASR_PCT,                       &amp;quot;global_asr_percent&amp;quot;,              &amp;quot;Global calculated ASR percentage.&amp;quot;,                  &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TOTAL_OUTGOING_CALL_CNT,              &amp;quot;total_outgoing_call_cnt&amp;quot;,         &amp;quot;Total Count of outgoing calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_ASR_PCT,                     &amp;quot;last_24h_asr_percent&amp;quot;,            &amp;quot;Last 24 hours calculated ASR percentage.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_OUTGOING_CALL_CNT,           &amp;quot;last_24h_outgoing_call_cnt&amp;quot;,      &amp;quot;Last 24 hours outgoing calls.&amp;quot;,                      &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_ASR_PCT,                         &amp;quot;current_hour_asr_percent&amp;quot;,        &amp;quot;Current hour calculated ASR percentage.&amp;quot;,            &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_OUTGOING_CALL_CNT,               &amp;quot;current_hour_outgoing_call_cnt&amp;quot;,  &amp;quot;Current hour outgoing calls.&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_HOUR_ASR_PCT,                    &amp;quot;last_hour_asr_percent&amp;quot;,           &amp;quot;Last hour calculated ASR percentage.&amp;quot;,               &amp;quot;&amp;quot; ) \&lt;br /&gt;
       ( LAST_HOUR_OUTGOING_CALL_CNT,         &amp;quot;last_hour_outgoing_call_cnt&amp;quot;,     &amp;quot;Last hour outgoing calls.&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_DETECTION_STRUCT,          &amp;quot;availability_detection_struct&amp;quot;,   &amp;quot;Detailed availibility detection Statistics&amp;quot;,         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( POLL_REMOTE_PROXY,                    &amp;quot;poll_remote_proxy&amp;quot;,               &amp;quot;Remote proxy polling enabled&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_AVAILABLE,                         &amp;quot;is_available&amp;quot;,                    &amp;quot;Remote proxy actually available or not&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_POLLING,                   &amp;quot;time_since_polling&amp;quot;,              &amp;quot;Time since the last availibility polling&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_AVAILABLE_SECONDS,               &amp;quot;time_available_seconds&amp;quot;,          &amp;quot;Number of seconds since the NAP is available&amp;quot;,       &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_UNAVAILABLE_SECONDS,             &amp;quot;time_unavailable_seconds&amp;quot;,        &amp;quot;Number of seconds since the NAP is unavailable&amp;quot;,     &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    ( REGISTRATION_STRUCT,                    &amp;quot;registration_struct&amp;quot;,             &amp;quot;Detailed registration Statistics&amp;quot;,                   &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( REGISTER_TO_PROXY,                    &amp;quot;register_to_proxy&amp;quot;,               &amp;quot;Register to proxy enabled&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_REGISTERED,                        &amp;quot;registered&amp;quot;,                      &amp;quot;Actually registered or not&amp;quot;,                         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_REFRESH,                   &amp;quot;time_since_refresh&amp;quot;,              &amp;quot;Time since the last refresh&amp;quot;,                        &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_REGISTERED_SECONDS,              &amp;quot;time_registered_seconds&amp;quot;,         &amp;quot;Number of seconds since the NAP is registered&amp;quot;,      &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_NOT_REGISTERED_SECONDS,          &amp;quot;time_not_registered_seconds&amp;quot;,     &amp;quot;Number of seconds since the NAP is not registered&amp;quot;,  &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    /*!&amp;amp;lt; Nap Status Fields */&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;
== Test parameters  ==&lt;br /&gt;
&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;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/NTP</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/NTP"/>
				<updated>2010-12-01T21:29:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the following command to check if it's enabled:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;ntpdate -q&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;chkconfig --list | grep ntpd&amp;lt;/pre&amp;gt;&lt;br /&gt;
If all the columns are 'off', then it's not enabled.&lt;br /&gt;
&lt;br /&gt;
You can use the following command to enable NTP:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;yum install ntpd&lt;br /&gt;
chkconfig ntpd on&amp;lt;/pre&amp;gt; &lt;br /&gt;
Then use the following command to start it:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;service ntpd start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check if the time is in sync using:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;ntpq -p&amp;lt;/pre&amp;gt; &lt;br /&gt;
It will display a list of servers and the server which is currently synced should be prepended by a '*'. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     remote           refid      st t when poll reach   delay   offset  jitter&lt;br /&gt;
==============================================================================&lt;br /&gt;
*barricade.rack9 209.51.161.238   2 u 1001 1024  377   31.147   -0.369  20.074&lt;br /&gt;
+ip-72-167-42-82 204.123.2.5      2 u  754 1024  377  166.388  -29.692  28.223&lt;br /&gt;
+cheezum.mattnor 129.7.1.66       2 u   91 1024  377   45.715    1.504  47.753&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this case the host's time is synced with arricade.rack9.&lt;/div&gt;</summary>
		<author><name>Jcharest</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>2010-10-13T19:57:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &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;
  called_number = caf_call.get :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;
  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 takes 2 arguments, the call parameters (hash) and the route parameters (hash).&lt;br /&gt;
&lt;br /&gt;
Apply route remapping rules&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 refuse a call with a reason code argument parameters : &lt;br /&gt;
  caf_call.refuse :reason =&amp;gt; :temporary_failure&lt;br /&gt;
&lt;br /&gt;
The supported values are described in the section &amp;quot;Reason values&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Call parameters ==&lt;br /&gt;
&lt;br /&gt;
The following call parameters are available in the call object:&lt;br /&gt;
&lt;br /&gt;
* calling&lt;br /&gt;
* calling_noa&lt;br /&gt;
* calling_npi&lt;br /&gt;
* calling_display_type&lt;br /&gt;
* calling_display&lt;br /&gt;
* calling_presentation&lt;br /&gt;
* calling_screening&lt;br /&gt;
* calling_category&lt;br /&gt;
* private_display&lt;br /&gt;
* private_display_type&lt;br /&gt;
* private_address&lt;br /&gt;
* called&lt;br /&gt;
* called_noa&lt;br /&gt;
* called_npi&lt;br /&gt;
* nap&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;
* &amp;lt;tt&amp;gt;unknown_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_specific&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_national_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_routing_international_format&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;abbreviated_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;subscriber_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;national_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;international_number_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_operator_requested&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no_number_present_cut_through_call_to_carrier&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;test_line_test_code&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_subscriber_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_national_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;non_unique_international_number&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;call_950_number&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;
* &amp;lt;tt&amp;gt;call_params[:called_noa] = 0x70&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt; =&amp;gt; Type is unspecified.&lt;br /&gt;
* &amp;lt;tt&amp;gt;calling_party_name&amp;lt;/tt&amp;gt; =&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;
* &amp;lt;tt&amp;gt;call_params[:calling_display_type] = 0xB1&amp;lt;/tt&amp;gt;&lt;br /&gt;
or&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;
* &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;
=== Calling Presentation values ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;not_available&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;allowed&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;restricted&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 Screening values ===&lt;br /&gt;
* &amp;lt;tt&amp;gt;unspecified&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;no&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;pass&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;fail&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;network_provided&amp;lt;/tt&amp;gt;&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;
&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;
== Reason values  ==&lt;br /&gt;
&lt;br /&gt;
All CMC reason codes are available for use by the routing scripts. See the TBCMC_CALL_REASON_CODE enum in the tbcmc_call.h file.&lt;br /&gt;
&lt;br /&gt;
'''Notice:''' These values may change between major release. &lt;br /&gt;
&lt;br /&gt;
  /* isdn/ss7 reason code style */&lt;br /&gt;
  /* Toolpack engine will convert reason code from sip to isdn/ss7 or isdn/ss7 to sip according to RFC3398 */&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;
  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_CONN_OPERATIONAL&lt;br /&gt;
  TEMPORARY_FAILURE&lt;br /&gt;
  SWITCHING_EQUIP_CONGESTION&lt;br /&gt;
  ACCESS_INFO_DISCARDED&lt;br /&gt;
  REQUESTED_CIRCUIT_NOT_AVAILABLE&lt;br /&gt;
  PRECEDENCE_CALL_BLOCKED&lt;br /&gt;
  RESOURCE_UNAVAILABLE&lt;br /&gt;
  QOS_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;
  MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  IE_NON_EXISTENT&lt;br /&gt;
  INVALID_IE_CONTENT&lt;br /&gt;
  MSG_NOT_COMPATIBLE_WITH_CALL_STATE&lt;br /&gt;
  RECOVERY_ON_TIMER_EXPIRY&lt;br /&gt;
  PARAMETER_NON_EXISTENT_PASSED_ON&lt;br /&gt;
  MESSAGE_WITH_NON_RECOGNIZED_PARAMETERS_DISCARDED&lt;br /&gt;
  PROTOCOL_ERROR&lt;br /&gt;
  INTERWORKING_UNSPECIFIED&lt;br /&gt;
  &lt;br /&gt;
  /* Toolpack specific errors */&lt;br /&gt;
  NORMAL&lt;br /&gt;
  RESOURCE_ERROR&lt;br /&gt;
  TIMEOUT&lt;br /&gt;
  NO_ROUTE&lt;br /&gt;
  CALL_COLLISION&lt;br /&gt;
  SYNC_DROP&lt;br /&gt;
  SIGNALING_ERROR&lt;br /&gt;
  LOCALLY_REJECTED&lt;br /&gt;
  INTERFACE_NOT_AVAILABLE&lt;br /&gt;
  RESET_IN_PROGRESS&lt;br /&gt;
  ADAPTER_REJECT&lt;br /&gt;
  MISSING_INVALID_IE&lt;br /&gt;
  INCOMING_ONLY&lt;br /&gt;
  SYSTEM_CONFIGURATION_CHANGED&lt;br /&gt;
  RESOURCE_NO_MORE_AVAILABLE&lt;br /&gt;
  INCOMPATIBLE_MEDIA&lt;br /&gt;
  RES_ALLOC_FAILED&lt;br /&gt;
  DATA_PATH_NOT_AVAILABLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&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;
  #define NAP_STATS_FIELDS \&lt;br /&gt;
    /* Field,                                 szName,                            szDescription,                                        szOptions */ \&lt;br /&gt;
    ( SIGNALING_TYPE,                         &amp;quot;signaling_type&amp;quot;,                  &amp;quot;Signaling type.&amp;quot;,                                    &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( INCOMING_CALL_CNT,                      &amp;quot;inst_incoming_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of incoming calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( OUTGOING_CALL_CNT,                      &amp;quot;inst_outgoing_call_cnt&amp;quot;,          &amp;quot;Instantaneous Count of outgoing calls.&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABLE_CNT,                          &amp;quot;available_cnt&amp;quot;,                   &amp;quot;Number of available circuits or channels.&amp;quot;,          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( UNAVAILABLE_CNT,                        &amp;quot;unavailable_cnt&amp;quot;,                 &amp;quot;Number of unavailable circuits or channels.&amp;quot;,        &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_PCT,                       &amp;quot;availability_percent&amp;quot;,            &amp;quot;Percentage of available circuits or channels.&amp;quot;,      &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( USAGE_PCT,                              &amp;quot;usage_percent&amp;quot;,                   &amp;quot;Percentage of used circuits or channels.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( TOTAL_INCOMING_CALL_CNT,                &amp;quot;total_incoming_call_cnt&amp;quot;,         &amp;quot;Total Count of incoming calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( ASR_STRUCT,                             &amp;quot;asr_statistics_struct&amp;quot;,           &amp;quot;Detailed Answer-Seizure Rate Statistics.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( GLOBAL_ASR_PCT,                       &amp;quot;global_asr_percent&amp;quot;,              &amp;quot;Global calculated ASR percentage.&amp;quot;,                  &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TOTAL_OUTGOING_CALL_CNT,              &amp;quot;total_outgoing_call_cnt&amp;quot;,         &amp;quot;Total Count of outgoing calls.&amp;quot;,                     &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_ASR_PCT,                     &amp;quot;last_24h_asr_percent&amp;quot;,            &amp;quot;Last 24 hours calculated ASR percentage.&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_24H_OUTGOING_CALL_CNT,           &amp;quot;last_24h_outgoing_call_cnt&amp;quot;,      &amp;quot;Last 24 hours outgoing calls.&amp;quot;,                      &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_ASR_PCT,                         &amp;quot;current_hour_asr_percent&amp;quot;,        &amp;quot;Current hour calculated ASR percentage.&amp;quot;,            &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( HOUR_OUTGOING_CALL_CNT,               &amp;quot;current_hour_outgoing_call_cnt&amp;quot;,  &amp;quot;Current hour outgoing calls.&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( LAST_HOUR_ASR_PCT,                    &amp;quot;last_hour_asr_percent&amp;quot;,           &amp;quot;Last hour calculated ASR percentage.&amp;quot;,               &amp;quot;&amp;quot; ) \&lt;br /&gt;
       ( LAST_HOUR_OUTGOING_CALL_CNT,         &amp;quot;last_hour_outgoing_call_cnt&amp;quot;,     &amp;quot;Last hour outgoing calls.&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
    ( AVAILABILITY_DETECTION_STRUCT,          &amp;quot;availability_detection_struct&amp;quot;,   &amp;quot;Detailed availibility detection Statistics&amp;quot;,         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( POLL_REMOTE_PROXY,                    &amp;quot;poll_remote_proxy&amp;quot;,               &amp;quot;Remote proxy polling enabled&amp;quot;,                       &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_AVAILABLE,                         &amp;quot;is_available&amp;quot;,                    &amp;quot;Remote proxy actually available or not&amp;quot;,             &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_POLLING,                   &amp;quot;time_since_polling&amp;quot;,              &amp;quot;Time since the last availibility polling&amp;quot;,           &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_AVAILABLE_SECONDS,               &amp;quot;time_available_seconds&amp;quot;,          &amp;quot;Number of seconds since the NAP is available&amp;quot;,       &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_UNAVAILABLE_SECONDS,             &amp;quot;time_unavailable_seconds&amp;quot;,        &amp;quot;Number of seconds since the NAP is unavailable&amp;quot;,     &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    ( REGISTRATION_STRUCT,                    &amp;quot;registration_struct&amp;quot;,             &amp;quot;Detailed registration Statistics&amp;quot;,                   &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( REGISTER_TO_PROXY,                    &amp;quot;register_to_proxy&amp;quot;,               &amp;quot;Register to proxy enabled&amp;quot;,                          &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( IS_REGISTERED,                        &amp;quot;registered&amp;quot;,                      &amp;quot;Actually registered or not&amp;quot;,                         &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_SINCE_REFRESH,                   &amp;quot;time_since_refresh&amp;quot;,              &amp;quot;Time since the last refresh&amp;quot;,                        &amp;quot;&amp;quot; ) \&lt;br /&gt;
      ( TIME_REGISTERED_SECONDS,              &amp;quot;time_registered_seconds&amp;quot;,         &amp;quot;Number of seconds since the NAP is registered&amp;quot;,      &amp;quot;x&amp;quot; ) \&lt;br /&gt;
      ( TIME_NOT_REGISTERED_SECONDS,          &amp;quot;time_not_registered_seconds&amp;quot;,     &amp;quot;Number of seconds since the NAP is not registered&amp;quot;,  &amp;quot;x&amp;quot; ) \&lt;br /&gt;
    /*!&amp;amp;lt; Nap Status Fields */&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;
== Test parameters  ==&lt;br /&gt;
&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;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Routing script tutorial|Routing Script Tutorial]].&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-30T18:47:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! TMedia SIP stack support&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3204 MIME media types for ISUP and QSIG Objects&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* For more information please contact [[Support:Contacting_TelcoBridges_technical_support|customer support]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-30T18:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! TMedia SIP stack support&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3204 MIME media types for ISUP and QSIG Objects&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* For more information please contact [[Support:Contacting_TelcoBridges_technical_support|customer support]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-30T18:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! TMedia SIP stack support&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3204 MIME media types for ISUP and QSIG Objects&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Only For Session Timer Refresh)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (No P-Preferred-Identity)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* For more information please contact [[Support:Contacting_TelcoBridges_technical_support|customer support]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-30T18:40:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! TMedia SIP stack support&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3204 MIME media types for ISUP and QSIG Objects&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (only for session timer refresh)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (only for session timer refresh)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (no P-Preferred-Identity)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (no P-Preferred-Identity)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | yes&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* For more information please contact [[Support:Contacting_TelcoBridges_technical_support|customer support]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-21T22:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial*&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* For more information please contact customer support.&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-21T22:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! Toolpack API Support&lt;br /&gt;
! Media Gateway Application Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For more information please contact customer support.&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/SIP</id>
		<title>SIP</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/SIP"/>
				<updated>2010-07-21T21:52:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with [[H.323]] to provide signaling for voice over IP (VoIP) communications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelcoBridges and SIP ==&lt;br /&gt;
&lt;br /&gt;
[[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]].&lt;br /&gt;
&lt;br /&gt;
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling.&lt;br /&gt;
&lt;br /&gt;
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP/UDP), port number, IP interface, IP address, IP name, and [[SAP|SAPs]].&lt;br /&gt;
&lt;br /&gt;
A conceptual illustration is provided below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SIP stack conceptual illustration.jpg| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TelcoBridges' SIP Implementation ===&lt;br /&gt;
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TB-SIP-Architecture.jpg|400px| ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Supported SIP RFCs ===&lt;br /&gt;
TelcoBridges supports the following RFCs for SIP:&lt;br /&gt;
&lt;br /&gt;
'''SIP'''&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Specification&lt;br /&gt;
! Toolpack Support&lt;br /&gt;
! Gateway Support&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3261 Session Initiate Protocol &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2976 SIP INFO Method &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (For DTMF Tones Only)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3398 ISUP-SIP Mapping&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3515 Refer Method&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3578 Overlap &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling)&lt;br /&gt;
|-&lt;br /&gt;
| RFC 2327 Session Description Protocol&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3666 Public Switched Telephone Network (PSTN) Call Flows &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3892 Referred-By Mechanism &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No&lt;br /&gt;
|-&lt;br /&gt;
| RFC 3891 &amp;quot;Replaces&amp;quot; Header &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Complete&lt;br /&gt;
|-&lt;br /&gt;
| RFC 4028 Session Timers in the Session Initiation Protocol (SIP)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Partial (Refresh May Only Be Done Using UPDATE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related actions ==&lt;br /&gt;
'''Refer to the appropriate Toolpack release:'''&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.2#SIP_Signaling|Toolpack v2.2: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.3#SIP_Signaling|Toolpack v2.3: SIP Signaling]]&lt;br /&gt;
*[[Web_Portal_Tutorial_Guide_v2.4#SIP_Signaling|Toolpack v2.4: SIP Signaling]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article]&lt;br /&gt;
*[http://www.sipforum.org/ SIP Forum]&lt;br /&gt;
*[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Voip_Redundancy</id>
		<title>Voip Redundancy</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Voip_Redundancy"/>
				<updated>2010-07-20T21:27:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Redundancy of both RTP and SIP can be achieved by configuring one [[NAP]] per VoIP interface for a specific remote proxy. &lt;br /&gt;
&lt;br /&gt;
[[Image:VoIP Redundancy 0.png|400px|VoIP Redundancy Topology]] &lt;br /&gt;
&lt;br /&gt;
== Signaling Redundancy  ==&lt;br /&gt;
&lt;br /&gt;
In the above example, we have configured two [[NAP]] Network Access Point that reaches the same SIP destination. &amp;amp;nbsp;In the event the ethernet interface VOIP0 went down, the &amp;lt;u&amp;gt;'''''NAP A'''''&amp;lt;/u&amp;gt; would become unavailable, and thus routing would take place using &amp;lt;u&amp;gt;'''''NAP A''''''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Media Redundancy  ==&lt;br /&gt;
&lt;br /&gt;
The [[NAP]] is also associated to the media by assigning an UDP&amp;amp;nbsp;port range for the RTP. &amp;amp;nbsp;When [[NAP]] is unavailable at the signaling level, the assigned RTP ports aren't being used either. &amp;amp;nbsp;In the above example, if the &amp;lt;u&amp;gt;'''''NAP A'''''&amp;lt;/u&amp;gt; signaling is down, then all new outgoing calls would then be using VOIP1 ethernet interface for RTP.&lt;br /&gt;
&lt;br /&gt;
== Routing == &lt;br /&gt;
&lt;br /&gt;
To enable redundancy, we have to instruct the routing engine about the alternate route.  This accomplish by creating a route for a specific destination using &amp;lt;u&amp;gt;'''''NAP A'''''&amp;lt;/u&amp;gt;, and another route, for the exact same destination using &amp;lt;u&amp;gt;'''''NAP A''''''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
All routes using unavailable [[NAP]]s are ignored when routing takes place.  So if &amp;lt;u&amp;gt;'''''NAP A'''''&amp;lt;/u&amp;gt; is not available, then the route using &amp;lt;u&amp;gt;'''''NAP A''''''&amp;lt;/u&amp;gt; will be used to route the call to the specific destination.&lt;br /&gt;
&lt;br /&gt;
[[NAP]] availability is a feature of [[Scriptable Routing Engine]].&lt;br /&gt;
&lt;br /&gt;
== NAP ==&lt;br /&gt;
&lt;br /&gt;
On the VoIP side, we normally have one [[NAP]] per remote sip proxy.  On a configuration where VoIP redundancy is used, we have two [[NAP]]s, one for each VoIP ethernet interface.&lt;br /&gt;
&lt;br /&gt;
== Routes == &lt;br /&gt;
&lt;br /&gt;
Since the number of [[NAP]]s is double for a peer SIP proxy, then the number of routes mays also be doubled.&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-5</id>
		<title>Toolpack prerequisite Windows XP 2-5</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-5"/>
				<updated>2009-12-17T18:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: /* MSVC8 Redistributable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-5 prerequisites for Windows XP.&lt;br /&gt;
&lt;br /&gt;
== Toolpack Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Basic packages ===&lt;br /&gt;
&lt;br /&gt;
The software listed below is required by the host machines.&lt;br /&gt;
&lt;br /&gt;
1) Go to http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/ and download:&lt;br /&gt;
   iconv-1.9.2.win32.zip&lt;br /&gt;
   libxml2-2.7.3.win32.zip&lt;br /&gt;
   zlib-1.2.3.win32.zip&lt;br /&gt;
2) Decompress and copy the DLL files to C:\Windows\System32&lt;br /&gt;
   iconv.dll&lt;br /&gt;
   libxml2.dll&lt;br /&gt;
   zlib1.dll&lt;br /&gt;
&lt;br /&gt;
==== MSVC8 Redistributable ====&lt;br /&gt;
If you plan on using TBToolPack-x.y.zz-&amp;lt;b&amp;gt;msvc8&amp;lt;/b&amp;gt;-Setup.exe, then you need to install the following:&lt;br /&gt;
&lt;br /&gt;
[http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/vcredist_x86.exe Microsoft MSVC8 Redistributables 8.0.50727.4053 after kb973923 automatic update]&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Database ===&lt;br /&gt;
&lt;br /&gt;
The Toolpack system database is used by the main host and requires mySQL database server version 5.0 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.mysql.com/ and download mysql 5.0 installer&lt;br /&gt;
&lt;br /&gt;
2) Install mysql 5.0&lt;br /&gt;
&lt;br /&gt;
*Choose complete installation&lt;br /&gt;
*Run MySQL Server Instance Configuration Wizard. (You should be prompted to do so after selecting complete installation.)&lt;br /&gt;
*Choose standard configuration&lt;br /&gt;
*Install as a Windows service and check, Launch Automatically.&lt;br /&gt;
*Choose Include Bin Directory in Windows PATH.&lt;br /&gt;
*Enter a User Name and Password, and note them down on paper as you will need them later in the installation process.&lt;br /&gt;
*Enable access from remote machines if you plan to run Tmedia Toolpack on more than one host machine.&lt;br /&gt;
&lt;br /&gt;
3) Create new database user (tbdb) with all privilege access&lt;br /&gt;
*Log in mysql and create a new user with priviledge&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
4) Install Mysql ODBC driver&lt;br /&gt;
*Get and install Mysql ODBC connector from http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/mysql-connector-odbc-3.51.27-win32.zip&lt;br /&gt;
*Install Mysql ODBC connector&lt;br /&gt;
&lt;br /&gt;
5) Enable mysql database replication&lt;br /&gt;
*Open configuration file at location similar to c:\Program Files\MySQL\MySQL Server 5.1\my.ini&lt;br /&gt;
*Add 2 new variable in the mysql config file, and make sure it is in the [mysqld] section:&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=[UniqueId]       &amp;lt;--- [UniqueId] must be a non-zero value, and must be unique when used one each host of an HA system&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  [mysqld]&lt;br /&gt;
  port=3306&lt;br /&gt;
  basedir=&amp;quot;C:/Program Files/MySQL/MySQL Server 5.1/&amp;quot;&lt;br /&gt;
  datadir=&amp;quot;C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/&amp;quot;&lt;br /&gt;
  default-character-set=latin1&lt;br /&gt;
  default-storage-engine=INNODB&lt;br /&gt;
  # Enable mysql database replication&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=132&lt;br /&gt;
  #&lt;br /&gt;
  sql-mode=&amp;quot;STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&amp;quot;&lt;br /&gt;
  max_connections=100&lt;br /&gt;
  &lt;br /&gt;
  # section [mysqld_safe]&lt;br /&gt;
  table_cache=256&lt;br /&gt;
  tmp_table_size=18M&lt;br /&gt;
  thread_cache_size=8&lt;br /&gt;
&lt;br /&gt;
6) Disable virus scanning &lt;br /&gt;
&lt;br /&gt;
It is '''mandatory''' to disable the anti-virus software’s on access scan on the MYSQL database directory (generally C:\Program Files\MySQL\MySQL Server 5.0\data) and the Windows temporary directory(typically identified by the TEMP environmental variable), as this will prevent database backup operation to complete properly upon Toolpack System Update.&lt;br /&gt;
&lt;br /&gt;
7) Restart the mysql service&lt;br /&gt;
  net stop MySQL51&lt;br /&gt;
  net start MySQL51&lt;br /&gt;
*Warning: You may have a different service name in your system (ex. MySQL51, MySQL50, etc.). To open the service control panel, run:&lt;br /&gt;
  services.msc&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Web Portal ===&lt;br /&gt;
&lt;br /&gt;
1) Install Ruby&lt;br /&gt;
*Go to http://www.ruby-lang.org/en/downloads/ and download the latest 1.8.x ruby (do not install 1.9). &lt;br /&gt;
*Install Ruby 1.8.6 with the default installation parameters&lt;br /&gt;
2) Install Mongrel using the following commands.&lt;br /&gt;
*gem install mongrel --include-dependencies&lt;br /&gt;
*choose option 4. mongrel 1.1.5 (x86-mswin32-60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Stream Server ===&lt;br /&gt;
&lt;br /&gt;
The Tmedia Toolpack Stream Server requires WinPCAP 4.0 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.winpcap.org/ and download WinPcap_4_0_2.exe&lt;br /&gt;
&lt;br /&gt;
2) Install WinPCAP 4.0   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Development Prerequisite ===&lt;br /&gt;
&lt;br /&gt;
Available soon.&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (Optional) ==&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;
&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-5|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-3</id>
		<title>Toolpack prerequisite Windows XP 2-3</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/Toolpack_prerequisite_Windows_XP_2-3"/>
				<updated>2009-12-17T18:53:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: /* Toolpack Basic packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the Toolpack 2-3 prerequisites for Windows XP.&lt;br /&gt;
&lt;br /&gt;
== Toolpack Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Basic packages ===&lt;br /&gt;
&lt;br /&gt;
The software listed below is required by the host machines.&lt;br /&gt;
&lt;br /&gt;
1) Go to http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/ and download:&lt;br /&gt;
   iconv-1.9.2.win32.zip&lt;br /&gt;
   libxml2-2.7.3.win32.zip&lt;br /&gt;
   zlib-1.2.3.win32.zip&lt;br /&gt;
2) Decompress and copy the DLL files to C:\Windows\System32&lt;br /&gt;
   iconv.dll&lt;br /&gt;
   libxml2.dll&lt;br /&gt;
   zlib1.dll&lt;br /&gt;
&lt;br /&gt;
==== MSVC8 Redistributable ====&lt;br /&gt;
If you plan on using TBToolPack-x.y.zz-&amp;lt;b&amp;gt;msvc8&amp;lt;/b&amp;gt;-Setup.exe, then you need to install the following:&lt;br /&gt;
&lt;br /&gt;
[http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/vcredist_x86.exe Microsoft MSVC8 Redistributables 8.0.50727.4053 after kb973923 automatic update]&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Database ===&lt;br /&gt;
&lt;br /&gt;
The Toolpack system database is used by the main host and requires mySQL database server version 5.0 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.mysql.com/ and download mysql 5.0 installer&lt;br /&gt;
&lt;br /&gt;
2) Install mysql 5.0&lt;br /&gt;
&lt;br /&gt;
*Choose complete installation&lt;br /&gt;
*Run MySQL Server Instance Configuration Wizard. (You should be prompted to do so after selecting complete installation.)&lt;br /&gt;
*Choose standard configuration&lt;br /&gt;
*Install as a Windows service and check, Launch Automatically.&lt;br /&gt;
*Choose Include Bin Directory in Windows PATH.&lt;br /&gt;
*Enter a User Name and Password, and note them down on paper as you will need them later in the installation process.&lt;br /&gt;
*Enable access from remote machines if you plan to run Tmedia Toolpack on more than one host machine.&lt;br /&gt;
&lt;br /&gt;
3) Create new database user (tbdb) with all privilege access&lt;br /&gt;
*Log in mysql and create a new user with priviledge&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO '[DatabaseUsername]'@'%' IDENTIFIED BY '[DatabasePassword]';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
  mysql -u root&lt;br /&gt;
  CREATE USER 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  GRANT ALL privileges ON *.* TO 'tbdb'@'%' IDENTIFIED BY 'tbdbpw';&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
4) Install Mysql ODBC driver&lt;br /&gt;
*Get and install Mysql ODBC connector from http://download.distribution.telcobridges.com/3rdparty/prerequisite/bin/windows/mysql-connector-odbc-3.51.27-win32.zip&lt;br /&gt;
*Install Mysql ODBC connector&lt;br /&gt;
&lt;br /&gt;
5) Enable mysql database replication&lt;br /&gt;
*Open configuration file at location similar to c:\Program Files\MySQL\MySQL Server 5.1\my.ini&lt;br /&gt;
*Add 2 new variable in the mysql config file, and make sure it is in the [mysqld] section:&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=[UniqueId]       &amp;lt;--- [UniqueId] must be a non-zero value, and must be unique when used one each host of an HA system&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  [mysqld]&lt;br /&gt;
  port=3306&lt;br /&gt;
  basedir=&amp;quot;C:/Program Files/MySQL/MySQL Server 5.1/&amp;quot;&lt;br /&gt;
  datadir=&amp;quot;C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/&amp;quot;&lt;br /&gt;
  default-character-set=latin1&lt;br /&gt;
  default-storage-engine=INNODB&lt;br /&gt;
  # Enable mysql database replication&lt;br /&gt;
  log-bin&lt;br /&gt;
  server-id=132&lt;br /&gt;
  #&lt;br /&gt;
  sql-mode=&amp;quot;STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION&amp;quot;&lt;br /&gt;
  max_connections=100&lt;br /&gt;
  &lt;br /&gt;
  # section [mysqld_safe]&lt;br /&gt;
  table_cache=256&lt;br /&gt;
  tmp_table_size=18M&lt;br /&gt;
  thread_cache_size=8&lt;br /&gt;
&lt;br /&gt;
6) Disable virus scanning &lt;br /&gt;
&lt;br /&gt;
It is '''mandatory''' to disable the anti-virus software’s on access scan on the MYSQL database directory (generally C:\Program Files\MySQL\MySQL Server 5.0\data) and the Windows temporary directory(typically identified by the TEMP environmental variable), as this will prevent database backup operation to complete properly upon Toolpack System Update.&lt;br /&gt;
&lt;br /&gt;
7) Restart the mysql service&lt;br /&gt;
  net stop MySQL51&lt;br /&gt;
  net start MySQL51&lt;br /&gt;
*Warning: You may have a different service name in your system (ex. MySQL51, MySQL50, etc.). To open the service control panel, run:&lt;br /&gt;
  services.msc&lt;br /&gt;
&lt;br /&gt;
=== Toolpack System Web Portal ===&lt;br /&gt;
&lt;br /&gt;
1) Install Ruby&lt;br /&gt;
*Go to http://www.rubyonrails.org/ and download the latest 1.8.x version of Ruby (do not install 1.9.x). &lt;br /&gt;
*Install Ruby 1.8.6 with the default installation parameters&lt;br /&gt;
2) Install Mongrel using the following commands.&lt;br /&gt;
*gem install mongrel --include-dependencies&lt;br /&gt;
*choose option 4. mongrel 1.1.5 (x86-mswin32-60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Stream Server ===&lt;br /&gt;
&lt;br /&gt;
The Tmedia Toolpack Stream Server requires WinPCAP 4.0 or later. It can be downloaded from the following location:&lt;br /&gt;
&lt;br /&gt;
1) Go to http://www.winpcap.org/ and download WinPcap_4_0_2.exe&lt;br /&gt;
&lt;br /&gt;
2) Install WinPCAP 4.0   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Toolpack Development Prerequisite ===&lt;br /&gt;
&lt;br /&gt;
Available soon.&lt;br /&gt;
&lt;br /&gt;
== Validation Guide (Optional) ==&lt;br /&gt;
If you would like to verify your installation go to the [[Toolpack_Installation:Validate_Toolpack_Installation|Toolpack Validation Guide]]&lt;br /&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-3|Toolpack system]]&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux</id>
		<title>How to change host password on Linux</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux"/>
				<updated>2009-12-08T21:02:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To better protect your system, it is '''required''' to change the default password. Please see this page [http://www.usewisdom.com/computer/passwords.html] for guidelines on how to choose a good password. Additionally it is always more secure keep passwords in as less hands/heads as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change the password of the TMG3200 or TMG800 ==&lt;br /&gt;
&lt;br /&gt;
* Connect to the TMG3200 or TMG800 unit through ssh&lt;br /&gt;
&lt;br /&gt;
* Enter the passwd command&lt;br /&gt;
&lt;br /&gt;
:Example:&lt;br /&gt;
    [root@TB003540 ~]# passwd&lt;br /&gt;
&lt;br /&gt;
* The system will ask you to enter your new password twice&lt;br /&gt;
&lt;br /&gt;
* For more information&lt;br /&gt;
    man passwd&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux</id>
		<title>How to change host password on Linux</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux"/>
				<updated>2009-12-08T21:01:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To better protect your system, it is '''required''' to change the default password. Please see this page [http://www.usewisdom.com/computer/passwords.html] for guidelines on how to choose a good password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change the password of the TMG3200 or TMG800 ==&lt;br /&gt;
&lt;br /&gt;
* Connect to the TMG3200 or TMG800 unit through ssh&lt;br /&gt;
&lt;br /&gt;
* Enter the passwd command&lt;br /&gt;
&lt;br /&gt;
:Example:&lt;br /&gt;
    [root@TB003540 ~]# passwd&lt;br /&gt;
&lt;br /&gt;
* The system will ask you to enter your new password twice&lt;br /&gt;
&lt;br /&gt;
* For more information&lt;br /&gt;
    man passwd&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux</id>
		<title>How to change host password on Linux</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux"/>
				<updated>2009-12-08T21:00:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To better protect your system, it is required to change the default password. Please see this page [http://www.usewisdom.com/computer/passwords.html] for guidelines on how to choose a good password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change the password of the TMG3200 or TMG800 ==&lt;br /&gt;
&lt;br /&gt;
* Connect to the TMG3200 or TMG800 unit through ssh&lt;br /&gt;
&lt;br /&gt;
* Enter the passwd command&lt;br /&gt;
&lt;br /&gt;
:Example:&lt;br /&gt;
    [root@TB003540 ~]# passwd&lt;br /&gt;
&lt;br /&gt;
* The system will ask you to enter your new password twice&lt;br /&gt;
&lt;br /&gt;
* For more information&lt;br /&gt;
    man passwd&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	<entry>
		<id>https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux</id>
		<title>How to change host password on Linux</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/tbwiki/How_to_change_host_password_on_Linux"/>
				<updated>2009-12-08T21:00:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jcharest: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To better protect your system, it is required to change the default password. Please see this page [http://www.usewisdom.com/computer/passwords.html] for guideline on how to choose a good password:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change the password of the TMG3200 or TMG800 ==&lt;br /&gt;
&lt;br /&gt;
* Connect to the TMG3200 or TMG800 unit through ssh&lt;br /&gt;
&lt;br /&gt;
* Enter the passwd command&lt;br /&gt;
&lt;br /&gt;
:Example:&lt;br /&gt;
    [root@TB003540 ~]# passwd&lt;br /&gt;
&lt;br /&gt;
* The system will ask you to enter your new password twice&lt;br /&gt;
&lt;br /&gt;
* For more information&lt;br /&gt;
    man passwd&lt;/div&gt;</summary>
		<author><name>Jcharest</name></author>	</entry>

	</feed>