Transcoding Package
Download the Latest Sangoma Media Transcoding Release:
---> sng-tc-linux-1.3.8.i686.tgz (2016-01-07) ChangeLog
---> sng-tc-linux-1.3.8.x86_64.tgz (2016-01-07)
*A manual firmware upgrade is required to use the above 1.2.x releases for cards
purchased before November 10th, 2010
--> Firmware upgrade Procedure
Hardware Installation
Mount your transcoder, then boot the server
-> choose a server in your network and install the D500 in the PCI Express slot*Note: -> The PCI Express slot will server to provide power to the D500, where RTP traffic will flow through the LAN connection
-> An extra Ethernet interface may be brought up if your server has a Broadcom tg3 driver installed. Run "ifconfig" to verify. Disregard this extra interface (bring it down if necessary) as this interface is only used when using PCI Express Single Server installation.---------
Plug the Ethernet cable into your transcoder to attach to your network
Transcoding package installation
Download and Install the transcoding package on a server where you have installed the D500
-> wget <URL of Package>
-> tar xfz sng-tc-<ver>-<arch>.tgz
-> cd sng-tc-<arch>-<ver>
-> make
-> make installThe D500 transcoder will be detected through the server's main LAN Ethernet interface, typically Eth0
--------Firmware Update
To check if the firmware on the transcoder requires updating run the firmware update utility
--> Run: sngtc_tool –dev ethX –firmware (replace ‘X’ with the interface of main LAN, such as Eth0)
-> a broadcast message will be sent out Eth0 to any Sangoma transcoders on the network and will detect the D500 inside this server as it is connected to same network
--> If the FROM and TO version are the same you are up to date so cancel the update; if the versions are different please update.
--> If the update fails insure the RJ45 is properly connected to the D500 and is illuminated Green colour. Also verify your firewall/security is not blocking any communication
* Note sngtc_server must NOT be running during the update; sngtc_server_ctrl stop will stop the server if it is running.
Transcoding Module Installation and Configuration
*Note: This step assumes FreeSWITCH is on the same server as the server hosting the sngtc_server. If FreeSWITCH only exists on other server(s) please go to -> D500 LAN Distributed sngtc server configuration
The Sangoma FreeSWITCH codec is part of the FreeSWITCH git repository. It can be easily attained by running the following command in linux CLI:
--> git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
Note* You must have git installed
In the freeSWITCH source code edit:
--> modules.conf and uncomment:
--> # codecs/mod_sangoma_codec
Then compile FreeSWITCH Sangoma codec module:
make mod_sangoma_codec
make mod_sangoma_codec-install
The FreeSWITCH Codec Module is now installed and requires configuration via the following steps. This step will auto detect the D500 transcoder located on the network (through the LAN only) and will create FreeSWITCH codec module and sngtc_server configuration files. These files instruct FreeSWITCH that in order to reach the transcoding resource(s) it must communicate over the LAN to the sngtc_server, which serves as the gateway to the D500. All transcoding modules on the D500 will all be treated as one big transcoding resource. There is no option to manually control individual transcoding modules onboard the D500. Auto detection is performed through the main LAN.
--> sngtc_cfg --server --freeswitch
or
--> sngtc_cfg --server --freeswitch --fsdir=/usr/local/freeswitch/conf/autoload_configs
If multiple interfaces have detected the D500 transcoder, then you may have multiple LAN connections to this server, or the PCI Express Ethernet interface (tg3) has detected the D500. Select configuration for only the interface of the main LAN (and only one)
FreeSWITCH Sangoma Transcoding Config file:
/usr/local/freeswitch/conf/autoload_configs/sangoma_codec.conf.xml
Transcoder Hardware Configuration file:
/etc/sngtc/sngtc_server.conf
If you have more than one one module (480) on the D500 "sngtc_server.conf" will only list information of the first module detected (i.e IP address). The rest of the D500 module configurations are hidden and will use consecutive IP addresses. (i.e first D500 module- 10.1.1.150, second D500 module- 10.1.1.151, third D500 module- 10.1.1.152...)
Freeswitch now needs to be configured to load the "mod_sangoma_codec" module each time it starts.
--> vi conf/autoload_configs/modules.conf.xml
--> Add the line "<load module="mod_sangoma_codec"/>" into the file. It can be placed anywhere below the line "<load module="mod_sofia"/>"; save and quit
By default G729 is the only codec registered with FreeSWITCH.
Operation
The sngtc_server needs to be started before transcoding can be done. Below is the usage of the sngtc_server_ctrl command.
--> sngtc_server_ctrl (start|stop|restart)
*Note by default this script is started on system boot.
To enable FreeSWITCH to connect to the sngtc_server and then to the transcoder you will need to have the module mod_sangoma_codec loaded. To load the module run the command below.
FreeSWITCH CLI> load mod_sangoma_codec.so
*Note the step above shows you how to auto load this on FreeSWITCH start.
To status the mod_sangoma_codec module use the commands below:
FreeSWITCH CLI> show codecs
Several codecs will be listed, all codecs prefixed with "Sangoma" are registered by the module, for example: "Sangoma G729" or "Sangoma G.726 32k".
FreeSWITCH CLI> sangoma_codec sessions
This command will show all current RTP transcoding sessions created by FreeSWITCH along with some statistics about Rx/Tx and lost RTP packets and read average times that can be used for debugging purposes. The first column show the session unique identifier for the transcoding session, you can use that identifier to query more information about that particular session using "sangoma_codec stats"
FreeSWITCH CLI> sangoma_codec stats <session number>
This command will show the FreeSWITCH RTP statistics in the transcoding sessions. Each transcoding session has a RTP connection associated. You can dump the RTP counters with this command
FreeSWITCH CLI> sangoma_codec settings
This command will show each vocallo configured settings