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.11.x86_64.tgz (2019-10-29)
*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
-> D150-ETH-Find a free PCI slot insider a server to install
-> D150-BOX- Find a well ventilated flat surface, or install in optional rack mount
---------Attach Power supply
-> D150-ETH- use molex power from server power supply 2A @ 5V (10W),
or external power supply 2A @ 5V (10W)
-> D150-BOX- external power supply 2A @ 5V (10W)
---------Plug the Ethernet cable into your transcoder to attach to your network
* Note: There is no on-board Ethernet switch on the D150, so once plugging in the Ethernet Cable, there is direct access to the transcoding module
Transcoding package installation
Download and Install the transcoding package on a server that is located on the same network as the D150 transcoder
* Note: same network installation is required because the sngtc_server (discussed later) communicates with the hardware via Ethernet-> wget <URL of Package>
-> tar xfz sng-tc-<ver>-<arch>.tgz
-> cd sng-tc-<arch>-<ver>
-> make
-> make installThe D150 transcoder will be detected through the server's Ethernet interface that connects to the network (typically Eth 0)
--------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 the network, such as Eth0)
--> 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 ethX interface has a IP address (replace ‘X’ with the interface of the network)* 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 -> D150 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 D150 transcoder located on the network (through the LAN) 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 D150. All D150 transcoders on the network will be treated as one big transcoding resource. There is no option to manually control individual D150 transcoders. Auto detection is performed through the main LAN.
--> sngtc_cfg --server --freeswitch
or
--> sngtc_cfg --server --freeswitch --fsdir=/usr/local/freeswitch/conf/autoload_configs
The result of the above command creates an IP address for the transcoding card, by default [ <X.X.X>.150] is used
If multiple interfaces have detected the D150 transcoder, then you may have multiple LAN connections to this server. 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 D150 on the network "sngtc_server.conf" will only list information of the first D150 detected (i.e IP address). The rest of the D150 configurations are hidden and will use consecutive IP addresses. (i.e first D150- 10.1.1.150, second D150- 10.1.1.151, third D150- 10.1.1.152...)
If the server has more than one Ethernet interface connected to the network, "sngtc_server.conf" will list all Ethernet interfaces that have detected the D150(s) and populate the exact same information in each EthX tag
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. If you require additional codecs please go to the FreeSWITCH Codec Configuration page
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