Asterisk Codec Module Configuration

This step will create Asterisk codec module configuration files.  Perform the following step ONLY on the Asterisk machine(s) that will be sngtc server clients to the remote transcoder. 

This step must be performed for each server that is a client to the remote transcoder

  1. Download and install Sangoma Transcode Software
    -> cd /usr/src/
    -> wget <URL of Package>
    -> tar xfz sng-tc-<ver>-<arch>.tgz
    -> cd sng-tc-<arch>-<ver>

    -> make asterisk
    -> make install

  2. Asterisk Sangoma Transcoding Configuration: 
    --> sngtc_cfg --asterisk   (assuming asterisk is located in /etc/asterisk)
    or
    --> sngtc_cfg --asterisk --astdir=/etc/asterisk  (to manually indicate where asterisk is located)

    The above commands will generate Asterisk codec configuration files in:
    /etc/asterisk/sangoma_codec.conf

  3. After the above configuration file has been created, it must be edited in order to specify:
    a.  the location of the Sngtc server on the network from this particular sngtc client in order to send transcoding session requests 
    b.  the return location of the transcoded session(s) from the remote transcoder hardware 

    --> vi /etc/asterisk/sangoma_codec.conf
    add the following lines:
    --> soapserver= <LAN IP of machine with transcoder>:<Port of machine with transcoder>
    --> rtpip= <LAN IP of Asterisk sngtc client> 

     

    The PORT information for the sngtc server specified above must match the information you selected in /etc/sngtc/sngtc_server.conf for 'bindport".  If you also decided to specify a unique "bindaddr" in the same file, then you must match that IP address with the value for "soapserver" above

  4. Start the Sngtc server (on main server with D100) so that the sngtc server clients can interact with the transcoder hardware 
    --> sngtc_server_ctrl start  

    If any changes are made to any of the above files, the Sngtc server must be restarted:
    --> sngtc_server_ctrl restart 


Asterisk Routing Configuration

 

For the purpose of the rest of the discussion, Host A will represent the Asterisk server (sngtc client) and Host B will represent the server hosting the transcoder

  1. When Host A (remote to server with transcoder) requires a transcoding session from the remote transcoder in Host B, it will require to know how to route to the transcoder's internal vocallo module (ex. 10.1.1.151).  Since the vocallo module IP is unknown to Host A, a route must be added in the Host A's routing table.  To add a route to the routing table in Host A, type the following in the Linux CLI:

    -> route add -net 10.1.1.0 netmask 255.255.255.0 gw <LAN IP of Host B> dev <ethX> , where "ethX" represents the ethernet device of Host A's main LAN

    ---> Multiple routes can be added in Host A if you have multiple connections to the network and want more than one access point for transcoding requests.  Simply add a new route with the ethX of the next ethernet interface to configure
    ---> Perform the above step for all Asterisk servers

    A route in Host B's routing table will NOT be required because when the returning transcoded RTP stream from the vocallo module cannot find its destination through Host B's routing table (i.e. rtpip=Host A) it will route to Host B's default gateway, which will know about Host A and send the stream back to Host A.

    *  If you are certain that your default gateway does not know about Host A, then you will require to add the route:
    -> route add -net <first 3 octets of Host A. 0> netmask 255.255.255.0 gw <gateway> dev <ethX> ,where "ethX" represents the ethernet device of Host B's main LAN

 

Return to Documentation Home I Return to Sangoma Support