V100 User Manual

 

 

 

General Safety Instructions

     CAUTION

                             1.  The computers that have V100 card installed must comply with the country’s specific safety regulations.

                              2.Only service personnel should go to install V100 card.

                              3.Before installing V100 card, please unplug the power cord and remove the cover from your PC.

                              4.For avoiding personal injuries and damages to your machine and

                                  V100 card, make sure bracket of the card is secured to the PC’s chassis ground by fastening the card with a screw.

                              5.Electrical Surges, ESD are very destructive to the equipment. To avoid it, make sure there is a low impedance discharge path from your computer to chassis                                        ground.

                              6. To reduce the risk of damage or injury, please follow all steps or procedures as instructed.

 

Test Environments

CentOS-5.5

Kernel version: 2.6.18-194.el5

V100: opvx_tc_linux_x86-1.1.0

Asterisk: 1.6.2.11

DAHDI: dahdi-linux-complete-current

Hardware: Openvox V100

Chapter 1 Overview

1.1 What is Asterisk

The Definition of Asterisk is described as follows:

Asterisk is a complete PBX in software. It runs on Linux, BSD, Windows (emulated) and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in four protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware. Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It has support for three-way calling, caller ID services, ADSI, IAX, SIP, H323 (as both client and gateway), MGCP(call manager only) and SCCP/Skinny(voip-info.org).

                                                                

 

Figure 1 Topology

1.2 What is V100

V100 is a high density voice transcoding device. Because of low bandwidth requirements, the voice data compression codecs, such as G.729, G.726, iLBC, are commonly used in VoIP applications, the G.711 codecs are widespread in legacy telephone network. The voice signal must be converted in real-time when a call passes through two different networks and each supports its own codec. Compared with transformation in software, V100 makes full use of multicore-DSP, which is able to convert more sessions of different codec modes such as gsm,ilbc, g729, g726, g723, g722, g711, amr, siren14. It also reduces bandwidth occupation ratio and relieves system resources.

 

Target Applications

  • Hosted VoIP GateWay
  • Conferencing Server
  • IVR Server
  • IP Network Peering
  • Distributed Office PBX
  • Call Centers
  • SIP Trunking

Chapter 2 Software installation and configuration

There are three different interface types of V100, which are PCI, PCI-E and RJ45. V100 implements aggregation and distribution mode codec transcoding, so users are able to select a type according to the specific environment. Figures are stated as below.

 

Figure 2 Aggregation Transcoding

 

Figure 3 Distribution Transcoding

 

2.1 Download

Download V100 package by command below:

 

#_wget_http://downloads.openvox.cn/pub/drivers/transcoding_cards/opvx_tc_linux_x86-current.tar.gz

 

2.2 Installtion

1. Hardware detection

Check the V100 hardware by command: lspci -vvvv

If V100 Ethernet controller is found, outputs are as follows:

                                                         

Figure 4 PCI hardware detection

 

Figure 5 PCI-E hardware detection

 

If V100 is not able to be detected, then you need to install the corresponding NIC driver. We offer the V100 NIC driver of PCI-E interface in the directory of

../opvx_tc_linux_x86-xxx/eth_drivers/tg3

Once you finish the network driver, perform "ifconfig" to check NIC details and ascertain V100 NIC device number according to Hwaddr address, details are showed as following.

                                                                    

Figure 6 V100 NIC information

 

Caution: Remember to disable SELinux service. Perform "vim /etc/selinux/config", change the value of parameter SELINUX to disabled, and then reboot your computer please.     

 

                                                                               

Figure 7 SELinux configuration file

 

2. Software installation

Some dependencies are crucial. If any of them is absent, the software installation process would not go through successfully. Let’s run "yum install XX" (XX stands for the dependency’s name) to check the availability of dependencies.

 

# yum install bison

# yum install bison-devel

# yum install ncurses

# yum install ncurses-devel

# yum install zlib

# yum install zlib-devel

# yum install openssl

# yum install openssl-devel

# yum install gnutls-devel

# yum install gcc

# yum install gcc-c++

# yum install libxml2

 

If there is no kernel source in the system, users should also install it by running like:

# yum install kernel-devel

If the dependency has been installed, system indicates that nothing to do which means you could go to next one directly. Otherwise, the system will keep on installing it.

 

Among DAHDI, Asterisk and V100, let’s install DAHDI firstly. Please execute those commands under the directory of /usr/src/ in generally:

 

# cd /usr/src

# tar –xzvf openvox_dahdi- linux-complete-XX

# cd dahdi-linux-complete-XX

# make

# make install

# make config

 

Caution: If there is something wrong after "make", please refer to HERE. In the url link, the moderator introduces you a method how to patch. After patching, save your changes and exit. Then run "make" again, if successfully done, it is time for you to install Asterisk.

 

Please operate those commands to install Asterisk.

 

# cd /usr/src/

# tar –xzvf astersik-XX.tar.gz

# cd asterisk-XX

# ./configure

# make

# make install

# make samples

Please operate those commands to install V100

 

# cd /usr/src

# tar –xzvf opvx_tc_linux_x86-current.tar.gz

# cd opvx_tc_linux_x86-1.1.0/libopxtc/

# make install

# cd /usr/src/opvx_tc_linux_x86-1.1.0/codec/asterisk

# make install          

 

3. Configuration

3.1 Modify openvox_codec.conf

 

# vim /etc/asterisk/openvox_codec.conf

 

A. If using PCI or PCI-E as communication interface, in this situation, please simultaneously plugging V100 and asterisk cards to the same server. Sample configuration file openvox_codec.conf is as follows.

 

If your V100 is recognized as eth1 by the system, then you need to change the ethX to eth1. One thing you need to note is place V100 NIC IP and vocalloaddr IP to same network segment, and make these two IPs are different.

 

B. If using RJ45 as communication interface, please directly ignore step

3.2 below. In this case, you will need another PC to provide power to V100. Plug V100 to the PC, and then connect the Asterisk server with the PC over cable or other network devices. Sample of configuration file openvox_codec.conf are as follows.

 

The X in ethX means the network device that connects with Asterisk server. For example, if your server has two network interface cards, one is eth0, and the other is eth1, and suppose to connect eth1 with V100, then you will need to modify vocalloaddr to the same network segment as eth1.

 

3.2 Setting V100 NIC IP by running the below command. Right here, let’s take eth1 for an example.

# vim /etc/sysconfig/network-scripts/ifcfg-eth1

set BOOTPROTO =static

add two line: IPADDR=10.1.1.80

           NETMASK=255.255.255.0

 

                                                                   

Figure 8 ifcfg-eth1 configurations

 

After the network settings, remember to perform "service network restart" to restart the network and activate V100 NIC. See more V100 details by "ifconfig".   

 

3.3 Before starting Asterisk, please run "vim /etc/asterisk/modules.conf", and add a line "noload => res_timing_pthread.so" at the end of modules.conf, it will disable the timing module. Otherwise, it’s going to display many errors from asterisk.

 

3.4 Enable asterisk by running "asterisk –vvvvvvvgc", if it has been started before, run "asterisk -r" instead. In the CLI, perform "module load codec_openvox.so" to load V100 driver.

After entering into CLI, type "op" and press Tab. If it displays openvox, which means installation finished elementarily. Please also perform other commands to check related information, for instance, run "openvox show translators" to show supportive code conversion mode.

 

 

It will show license information as below after run "openvox show license".

 

2.3 Call test

Run command below to register two SIP phone, and add configuration at the end of sip.conf.

 

# vim /etc/asterisk/sip.conf

 

Figure 9 SIP phone register

Add dial plan at the end of extensions.conf.

 

# vim /etc/asterisk/extensions.conf

 

           Figure 10 dialplan

 

Follow the above dialplan to configure two SIP phones, one chooses G711 alaw/ulaw as audio encoding pattern, and the other choose G729. If call normally, it means installation is successful.

Chapter 3 Reference

www.openvox.cn

www.digium.com

www.asterisk.org

www.voip-info.org

www.asteriskguru.com

 

Tips

Any questions during installation, please consult in our forum or look up for answers from the following websites:

Forum

wiki


Appendix A Specifications

Dimension

•Includes Low Profile PCI Short Form Factor in 2U Chassis

• 64.1 × 119 × 8mm (PCB)

 

Interfaces

•PCI : 32bit/33MHz

•PCIe: ×1

•10/100/1000 BASE-T RJ45 

 

Power Requirements

•PCI: 2.5A, 3.3V

Or

•PCIe: 0.3A, 3.3V; 0.6A, 12V

 

Operating Temperature Range

•0 to 50 °C

 

Humidity

•10 to 90% NON-CONDENSING

 

 

Hardware and Software Requirements

•PC with PCI/PCIe Slot

•Windows/Linux in Host

 

Appendix B Transcoding

Codec Support

•G.711       •G.729        •iLBC

•G.722       •GSM        •AMR

•G.723       •G.726        •SIREN14

 

Transcoding Table

transcoder

Source code

 

ilbc

g722

g723

g726

g729

alaw

ulaw

gsm

amr

siren14

ilbc

 

g722

 

g723

 

g726

 

g729

 

alaw

 

ulaw

 

gsm

 

amr

 

siren14

 

 “” means the two codes are able to be transcoded.