Asterisk D100 Single Server Installation


 

 

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 

 


Transcoding Package Downloading & Installing 

To install the transcoding package follow the steps below. Insure you get the URL of the package you need from the list above. 

  • Note: If you are doing this on an Official FreePBX Distro machine, please run yum install asterisk<ver>-devel libxml2-devel first 

-> cd /usr/src/
-> wget <URL of Package>
-> tar xfz sng-tc-<ver>-<arch>.tgz
-> cd sng-tc-<arch>-<ver>

  1. make 

  2. make install


Hardware Installation & Configuration

  1. Insert the card in the server and boot it up.

  2. The PCIe version will appear as a Broadcom NIC and the PCI will show up as a Micrel NIC. 

  3. To check if the driver is installed run "ifconfig -a" and see if the new NIC is shown. 

  4. If the card is not detected then you will need to update the Ethernet driver to the latest release. Below is the steps to preform the update. 

-> cd sng-tc-<ver>/server/eth_driver
-> ./install.sh 
The install script will auto detect the NIC ( Broadcom & Micrel).
If drivers are not found it will try to build them for the current kernel you are running or contact Sangoma Technical Support. 
--------------

Configuring the Ethernet device

Note this step is distro-dependent

To Configure the network interface (RedHat/Fedora/CentOS-5.x)

--> run: system-config-network
--> Select new eth device created on eth driver module load
--> Specify a private IP address that is on different subnet than your local LAN.           
      eg: 10.1.1.1  netmask 255.255.255.0   
--> Leave gateway ip empty 

To apply network settings

--> run: /etc/init.d/network restart

If there are more than one D100 devices in the machine, each D100 eth device must have
     its own subnet IP.
       Eg: D100 card1 - IP 10.1.1.1/24
             D100 card2 - IP 10.1.2.1/24

Firmware Update

To check if the firmware requires updating run the firmware update utility

--> Run: sngtc_tool –dev ethX –firmware  (replace ‘X’ with the interface of the transcoder)

--> 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 transcoder)

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 Asterisk is on the same server as the transcoder. If Asterisk only exists on other servers please go to -> Asterisk D100 Distributed Sngtc Server Configuration

The steps below will install the Asterisk trancoding module, so please insure you have the Asterisk headers already installed (ie: /usr/include/asterisk/)

 

  1. cd sng-tc-<arch>-<ver>

  2. make asterisk

  3. make install

  4. [ -d /usr/lib64/asterisk/modules ] && cp /usr/lib/asterisk/modules/codec_sangoma.so /usr/lib64/asterisk/modules/codec_sangoma.so

The Asterisk Codec Module is now installed and requires configuration via the following steps. This step will auto detect ALL D100 transcoders located on the same network and will create Asterisk codec module configuration files.  All transcoders detected will all be treated as one big transcoding resource.  There is no option to manually control particular D100 cards.  Auto detection is performed through the Ethernet interface of your main LAN.

 --> sngtc_cfg --server --asterisk 
or
--> sngtc_cfg --server --asterisk --astdir=/etc/asterisk

The result of the above command creates an IP address for the transcoding card, by defaul <X.X.X>.150 is used

 Asterisk Sangoma Transcoding Config file:         
/etc/asterisk/sangoma_codec.conf

Transcoder Hardware Configuration file:
/etc/sngtc/sngtc_server.conf

If you have more than one D100 on the network "sngtc_server.conf" will only list information of the first D100 detected (i.e IP address).  The rest of the D100 configurations are hidden and will use consecutive IP addresses. (i.e first D100- 10.1.1.150, second D100- 10.1.1.151, third D100- 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 D100(s) and populate the exact same information in each EthX tag

 Asterisk now needs to be configured to load the "codec_sangoma" module each time it starts. 

 --> vi /etc/asterisk/modules.conf

 --> Add the line "load => codec_sangoma.so" into the file; save and quit

 By default G729 is the only codec registered with Asterisk.  If you require additional codecs please go to the following wiki page to configure them --> codec support and configuration.


Operation

  • The sngtc_server is at the heart of the transcoding environment. It interfaces the transcoder hardware and codec module (the codec module, in asterisk, communicates with the sngtc_server in order to pass information to/from transcoder). It controls all Sangoma transcoders that are located on the same computer (this means you cannot have multiple sngtc_servers controlling/communicating with specific transcoders).   

    The sngtc_server needs to be started before transcoding can be done. Below is the usage of the sng_tc_server_ctrl command. 

--> sngtc_server_ctrl (start|stop|restart)

 

  • To enable Asterisk to connect to the sngtc_server and then to the transcoder you will need the have the module codec_sangoma loaded. To load the module run the command below. 

 Asterisk CLI> module load codec_sangoma.so

WARNING: There is a bug in Asterisk that may lead to crashes when loading codecs if there are 2 different modules providing the same translation paths. See this bug report for more information: http://issues.asterisk.org/view.php?id=17092. You can also read the sample configuration comments in sng-tc-<version>/codec/asterisk/sangoma_codec.conf.sample to learn more about work-arounds in case you face the problem.

 

  • To status the codec_sangoma module use the commands below. 

Asterisk CLI> sangoma show translators(Shows codecs registered by codec_sangoma)  

Asterisk CLI> sangoma show transcoding sessions(Shows active transcoding sessions) 

Asterisk CLI> sangoma show rtp statistics(Shows real time RTP stats including dropped packets)

 


D-Series Firmware Upgrade Instructions

 

If you have purchased your transcoder card before November 10th, 2010, a manual firmware upgrade is required in order to use software releases 1.2.0 and above.   Cards shipped after this date will include the latest firmware. The following instructions will guide you through the firmware upgrade procedure.  

 

  1. Verify the transcoder card is not in use and stop the sngtc server.  To stop the server, simply run the following command in the Linux CLI:
    -> sngtc_server_ctrl stop
    -

  2. Skip to step 6 if you are using the transcoder with Sangoma Media Gateway (SMG).  Do not download/install the transcoder release if you have SMG, otherwise it will corrupt your entire package
    - 

  3. Download the architecture specific software package: Media Transcoding Download
    -

  4. Install the software package in a location of your choice (i.e. /usr/src) on the system containing the transcoding module
    -> cd sng-tc-<arch>-<ver>/
    -> make
    -> make install
    -

  5. Access the firmware utility directory and install
    -> cd server/sngtc_tool
    -> make install
    -

  6. Run the following command to update the firmware on the transcoder card

 

      -> sngtc_tool -dev ethX -firmware  

 

(ethX must be replaced with the ethernet interface of the transcoder card you wish to upgrade)

 

The firmware upgrade is now complete, please reboot your system before using the transcoder card again

 

If you experience any error messages during the firmware update, please contact Sangoma Technical Support

 

 

Return to Documentation Home I Return to Sangoma Support