FoneBRIDGE2 750-4000

From KlavoWiki
Share/Save/Bookmark
Jump to: navigation, search

NOTE: I do not recommend that you use this product.

Here is a list of reasons as to why I won’t recommend this product.

  1. there is no current documentation on how to install/configure (besides this wiki page) that I could find. The documentation that does exist is 4 plus years old and does not make any sense (to me) whatsoever.
  2. the device does not support the latest DAHDI drivers. You have to use version Linux 2.3.0.1 and Tools 2.3.0
  3. it is not a straight forward install. There are prerequisite software required which has their own dependencies (althought not uncommon for Linux).
  4. as there is no support in my time zone (Oceanic) communications are very slow.
  5. talking to support I get the impression that they have no sound knowledge of Asterisk.


Contents

DAHDI Linux and Tools

DAHDI Linux version 2.3.0.1 needs to be installed. I installed dahdi-tools 2.3.0. If you install the latest version more than likely your server will panic when the dahdi service is started.

Make sure you install LibPRI first as you still need this library.

The main difference when configuring your span is instead of using span you will use dynamic.

dynamic=ethmf,em3/00:50:C2:65:DC:82/0,31,0
  • ethmf is the interface used. Redfone specific
  • em3 is the interface on my Linux system that will be communicating with Redfone device. The device has a default IP of 192.168.1.254. If the device is dual span capable then it will have a second IP of 192.168.1.253. Configure the NIC with a 192.168.1.x/24 IP address so it can communicate with the device
  • 00:50:C2:65:DC:82 is the MAC address of the network card in your Linux system that will be communicating with the Redfone device.
  • 0 I’m not sure what this is. I think if you have more than 1 span it will be the span that you want to use.
  • 31 is the number of channels that the span is capable of. T1 is 24 and E1 is 31. If you are only use 10 channels still enter the number that the T1/E1 is capable of.
  • 0 is the timing.

An example of my /etc/dahdi/system.conf file is:

dynamic=ethmf,em3/00:50:C2:65:DC:82/0,31,1
bchan=1-10
dchan=16
alaw=1-10

fonulator prerequisites

For simplicity I use rpmforge otherwise you will have to source the following packages as they are not include in the distribution.

install rpmforge

rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

prerequisites

yum -y install libpcap libpcap-devel libnet libnet-devel

argtable

Argtable is part of rpmforge but for some reason I could not get fonulator to accept this version of argtable so I used the version from redfone.

wget http://support.red-fone.com/downloads/tools/argtable2/argtable2-8.tar.gz
tar -xvf argtable2-8.tar.gz
cd argtable2-8
./configure
make
make install

If you are using a 64 bit distribution then I had to copy the libargtable2* files to /usr/lib/ as when I went to build fonulator it could not find the files even though they were installed.

scp /usr/local/lib/libargtable2* /usr/lib/

install libfb

wget http://support.red-fone.com/downloads/fonulator/libfb-2.0.2.tar.gz
tar -xvf libfb-2.0.2.tar.gz
cd libfb-2.0.2
./configure
make
make install

install fonulator

wget http://support.red-fone.com/downloads/fonulator/fonulator-2.0.3.tar.gz
tar -xvf fonulator-2.0.3.tar.gz
cd fonulator-2.0.3
./configure
make
make install

download redfone.conf

cd /etc
wget http://support.red-fone.com/downloads/fonulator/redfone.conf

Edit /etc/redfone.conf

Enter the servers MAC address into server= remark span 2, 3 and 4.

Here is an example of my file.

[globals]
fb=192.168.1.254
port=1
# Which Asterisk server destination MAC address for TDMoE Traffic?
server=D4:BE:D9:EF:F8:FD

# Determines which span is to derive timing from telco
priorities=0,1,2,3
#
# E1 PRI SPAN WITH CRC4
[span1]
framing=ccs
encoding=hdb3
crc4

test fonulator

Firstly execute fonulator

fonulator

Secondaly view the config as seen by fonulator

fonulator -vq

dahdi fix

shutdown_dynamic

If you try to stop the dahdi services and it fails to stop stating that there are some modules in use or if you try to reboot and the server and the server goes into a panic then you need to modify the dahdi init script to allow for shutdown_dynamic. Edit the file /etc/init.d/dahdi and search for shutdown_dynamic. It will currently be prefixed with a #. Remove the #.

Before

        # Unload drivers
        #shutdown_dynamic # FIXME: needs test from someone with dynamic spans
        echo -n "Unloading DAHDI hardware modules: "
        if unload_modules; then

After

        # Unload drivers
        shutdown_dynamic # FIXME: needs test from someone with dynamic spans
        echo -n "Unloading DAHDI hardware modules: "
        if unload_modules; then

dahdi dummy

We need to remove dahdi_dummy from loading as this will cause a timing issue.

Before

        if [ ! -e /proc/dahdi/1 ]; then
                echo "No hardware timing source found in /proc/dahdi, loading dahdi_dummy"
                modprobe dahdi_dummy 2> /dev/null
        fi

After

 #       if [ ! -e /proc/dahdi/1 ]; then
 #               echo "No hardware timing source found in /proc/dahdi, loading dahdi_dummy"
 #               modprobe dahdi_dummy 2> /dev/null
 #       fi

panic on reboot fix

If you reboot your server or try to stop dahdi then you need to change the order of the network and dahdi unload order.

This is what you need to do: In the folder /etc/rc.d/rc0.d and /etc/rc.d/rc6.d rename the dahdi to a lower number than the network but a higher number to asterisk.

Example: Before

lrwxrwxrwx. 1 root root 19 Apr 16 12:47 K10saslauthd -> ../init.d/saslauthd
lrwxrwxrwx  1 root root 15 Apr 16 12:58 K15httpd -> ../init.d/httpd
lrwxrwxrwx. 1 root root 14 Apr 16 12:49 K25sshd -> ../init.d/sshd
lrwxrwxrwx. 1 root root 18 Apr 16 12:47 K30sendmail -> ../init.d/sendmail
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K50netconsole -> ../init.d/netconsole
lrwxrwxrwx  1 root root 18 Apr 17 09:50 K60asterisk -> ../init.d/asterisk
lrwxrwxrwx. 1 root root 13 Apr 16 12:34 K60nfs -> ../init.d/nfs
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K69rpcsvcgssd -> ../init.d/rpcsvcgssd
lrwxrwxrwx. 1 root root 14 Apr 16 12:45 K74ntpd -> ../init.d/ntpd
lrwxrwxrwx. 1 root root 15 Apr 16 12:48 K75netfs -> ../init.d/netfs
lrwxrwxrwx. 1 root root 17 Apr 16 12:45 K75ntpdate -> ../init.d/ntpdate
lrwxrwxrwx. 1 root root 19 Apr 16 12:34 K75udev-post -> ../init.d/udev-post
lrwxrwxrwx. 1 root root 14 Apr 16 12:34 K80fcoe -> ../init.d/fcoe
lrwxrwxrwx. 1 root root 16 Apr 16 12:34 K80lldpad -> ../init.d/lldpad
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K85rpcgssd -> ../init.d/rpcgssd
lrwxrwxrwx. 1 root root 19 Apr 16 12:34 K85rpcidmapd -> ../init.d/rpcidmapd
lrwxrwxrwx. 1 root root 15 Apr 16 12:35 K86cgred -> ../init.d/cgred
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K86nfslock -> ../init.d/nfslock
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K87multipathd -> ../init.d/multipathd
lrwxrwxrwx. 1 root root 21 Apr 16 12:34 K87restorecond -> ../init.d/restorecond
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K87rpcbind -> ../init.d/rpcbind
lrwxrwxrwx. 1 root root 16 Apr 16 12:35 K88auditd -> ../init.d/auditd
lrwxrwxrwx  1 root root 15 Apr 17 09:50 K88iscsi -> ../init.d/iscsi
lrwxrwxrwx. 1 root root 17 Apr 16 12:35 K88rsyslog -> ../init.d/rsyslog
lrwxrwxrwx. 1 root root 16 Apr 16 12:34 K89iscsid -> ../init.d/iscsid
lrwxrwxrwx. 1 root root 15 Apr 16 12:34 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx. 1 root root 17 Apr 16 12:48 K90network -> ../init.d/network
lrwxrwxrwx  1 root root 15 Apr 17 09:50 K91dahdi -> ../init.d/dahdi
lrwxrwxrwx. 1 root root 19 Apr 16 12:49 K92ip6tables -> ../init.d/ip6tables
lrwxrwxrwx. 1 root root 18 Apr 16 12:48 K92iptables -> ../init.d/iptables
lrwxrwxrwx. 1 root root 18 Apr 16 12:35 K95cgconfig -> ../init.d/cgconfig
lrwxrwxrwx. 1 root root 22 Apr 16 12:34 K99lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 17 Apr 16 12:48 S00killall -> ../init.d/killall
lrwxrwxrwx. 1 root root 14 Apr 16 12:48 S01halt -> ../init.d/halt

After

lrwxrwxrwx. 1 root root 19 Apr 16 12:47 K10saslauthd -> ../init.d/saslauthd
lrwxrwxrwx  1 root root 15 Apr 16 12:58 K15httpd -> ../init.d/httpd
lrwxrwxrwx. 1 root root 14 Apr 16 12:49 K25sshd -> ../init.d/sshd
lrwxrwxrwx. 1 root root 18 Apr 16 12:47 K30sendmail -> ../init.d/sendmail
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K50netconsole -> ../init.d/netconsole
lrwxrwxrwx  1 root root 18 Apr 17 09:50 K60asterisk -> ../init.d/asterisk
lrwxrwxrwx. 1 root root 13 Apr 16 12:34 K60nfs -> ../init.d/nfs
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K69rpcsvcgssd -> ../init.d/rpcsvcgssd
lrwxrwxrwx. 1 root root 14 Apr 16 12:45 K74ntpd -> ../init.d/ntpd
lrwxrwxrwx. 1 root root 15 Apr 16 12:48 K75netfs -> ../init.d/netfs
lrwxrwxrwx. 1 root root 17 Apr 16 12:45 K75ntpdate -> ../init.d/ntpdate
lrwxrwxrwx. 1 root root 19 Apr 16 12:34 K75udev-post -> ../init.d/udev-post
lrwxrwxrwx  1 root root 15 Apr 17 09:50 K77dahdi -> ../init.d/dahdi
lrwxrwxrwx. 1 root root 14 Apr 16 12:34 K80fcoe -> ../init.d/fcoe
lrwxrwxrwx. 1 root root 16 Apr 16 12:34 K80lldpad -> ../init.d/lldpad
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K85rpcgssd -> ../init.d/rpcgssd
lrwxrwxrwx. 1 root root 19 Apr 16 12:34 K85rpcidmapd -> ../init.d/rpcidmapd
lrwxrwxrwx. 1 root root 15 Apr 16 12:35 K86cgred -> ../init.d/cgred
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K86nfslock -> ../init.d/nfslock
lrwxrwxrwx. 1 root root 20 Apr 16 12:34 K87multipathd -> ../init.d/multipathd
lrwxrwxrwx. 1 root root 21 Apr 16 12:34 K87restorecond -> ../init.d/restorecond
lrwxrwxrwx. 1 root root 17 Apr 16 12:34 K87rpcbind -> ../init.d/rpcbind
lrwxrwxrwx. 1 root root 16 Apr 16 12:35 K88auditd -> ../init.d/auditd
lrwxrwxrwx  1 root root 15 Apr 17 09:50 K88iscsi -> ../init.d/iscsi
lrwxrwxrwx. 1 root root 17 Apr 16 12:35 K88rsyslog -> ../init.d/rsyslog
lrwxrwxrwx. 1 root root 16 Apr 16 12:34 K89iscsid -> ../init.d/iscsid
lrwxrwxrwx. 1 root root 15 Apr 16 12:34 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx. 1 root root 17 Apr 16 12:48 K90network -> ../init.d/network
lrwxrwxrwx. 1 root root 19 Apr 16 12:49 K92ip6tables -> ../init.d/ip6tables
lrwxrwxrwx. 1 root root 18 Apr 16 12:48 K92iptables -> ../init.d/iptables
lrwxrwxrwx. 1 root root 18 Apr 16 12:35 K95cgconfig -> ../init.d/cgconfig
lrwxrwxrwx. 1 root root 22 Apr 16 12:34 K99lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 17 Apr 16 12:48 S00killall -> ../init.d/killall
lrwxrwxrwx. 1 root root 14 Apr 16 12:48 S01halt -> ../init.d/halt