Skip to main content

R4FXO card Installation note

Last year I have played with trixbox for two week and leave it sit under my desk for a long time. Last week I just got a new card to play with. It's Rhino R4FXO[4 FXO ports]. My goal now is make trixbox know the card and config it properly. I start with reinstall trixbox with the almost latest version[trixbox ce 2.4.2]. Upgrade all packages[Include zaptel driver 1.4.9.2-4]

note: this zaptel driver is not work with current rhino driver in repos[for now 21/03/08]. It need to manual download the driver and install from console[more detail]

After base system is ready. Install R4FXO card.
1. Shutdown the box.
2. Put R4FXO card to the pci slot.

Boot trixbox again and run command 'genzaptelconf' to generate configuration files automatically. The config file is '/etc/zaptel.conf' and '/etc/asterisk/zapata-chanels.conf'. mine is look like this.
[trixbox1.localdomain ~]# cat /etc/asterisk/zapata-channels.conf
; Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is intended
; to be #include-d by /etc/zapata.conf that will include the global settings
;

; Span 1: Rhino RCB4FXO/1 "Rhino RCB4FXO/1" (MASTER)
;;; line="1 FXO/1/0 FXSKS (In use)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
context=default

;;; line="2 FXO/1/1 FXSKS (In use)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
context=default

;;; line="3 FXO/1/2 FXSKS (In use)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
context=default

;;; line="4 FXO/1/3 FXSKS (In use)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
context=default

[trixbox1.localdomain ~]# cat /etc/zaptel.conf
# Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit
# Zaptel Configuration File
#
# This file is parsed by the Zaptel Configurator, ztcfg
#

# It must be in the module loading order


# Span 1: Rhino RCB4FXO/1 "Rhino RCB4FXO/1" (MASTER)
fxsks=1
fxsks=2
fxsks=3
fxsks=4

# Global data

loadzone = us
defaultzone = us
[trixbox1.localdomain ~]#
note that from zapata-channels.conf I have 1 group call group0 compose of channel "1","2","3" and "4". [These channels and group are used when creat trunk]

reload new configuration and see the result by 'ztcfg -vvv'.
[trixbox1.localdomain ~]# ztcfg -vvv

Zaptel Version: 1.4.9.2-
Echo Canceller: Oslec
Configuration
======================


Channel map:

Channel 01: FXS Kewlstart (Default) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Slaves: 02)
Channel 03: FXS Kewlstart (Default) (Slaves: 03)
Channel 04: FXS Kewlstart (Default) (Slaves: 04)

4 channels to configure.

[trixbox1.localdomain ~]#
From above message all 4 channels are configured as FXS_KS signaling, that means they will act as FXO ports.

Use 'zttool' command to check status of R4FXO.

Adding these two properties in the /etc/asterisk/zapata.conf file under the [channels] section will enable busy detect on the system.
busydetect=yes
busycount=5

and that's it. next thing to do is create a zap trunk to connect outside world.

Comments

Popular posts from this blog

Fixing sendmail take a long time to start

I notice that my database box[FC6+Oracle10.2] take along time to startup. Sendmail and sm-client very very slow to start[ about 5 minutes ]. There's something wrong in /etc/hosts file. 'newalises' command take long time to update and finish with error below. [root@ora10g ~]# newaliases WARNING: local host name (ora10g) is not qualified; see cf/README: WHO AM I? /etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.55 ora10g [root@ora10g ~]# To fix this, custom hostname[ora10g] need to append to localhost line in /etc/hosts. [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ora10g 192.168.1.55 ora10g [root@ora10g ~]# newaliases /etc/alia

Too many open files

Last week tomcat log file report many error about "Too many open files" when it has high traffic. Some in catalina_log say 2007-04-07 16:13:40 HttpProcessor[80][272] Starting background thread 2007-04-07 16:13:40 HttpConnector[80] accept: java.net.SocketException: Too many open files and here is from localhost_log 2007-04-07 16:13:40 StandardWrapperValve[myservlet]: Servlet.service() for servlet myservlet threw exception java.io.FileNotFoundException: /home/log/mylog_070407.log (Too many open files) This is because too many file descriptors're opened by tomcat. File descriptor can be limited in both system level and shell level. To check maximum number of fd in system type 'cat /proc/sys/fs/file-max'. In my case it is 65536(someone said it should set to 200000). Tomcat error when try to open socket number 272 so I think 65536 is ok for me for now. Anyway if u want to set it add 'fs.file-max = 200000' to /etc/sysctl.conf pnix@pnix-a7:~$ cat /proc/sys/fs/fil

using Class.getResource() load resource file in Eclipse

There are many ways to load resource file in java app. What sun recommended is using Class.getResource(" resource_name ") or Class.getResourceAsStream(" resource_name ") then you will get URL and InputStream respectively. If resource_name is specified without "/", it will be prepend with Class package. So resource file must be in same place[folder structure] as the Class. What I love to do is call getResource() with "/" and put resource file at the root of package. This way i can have separate resource folder. below is in Eclipse, 1. From Package explorer right click src folder->click import 2. In import dialog, Choose General->File System ->next 3. from directory:->Browse to your resource folder. 4. to folder:-> I add "resource" as a folder name under src folder. then click "Finish". In the code, load resource with this.getClass().getResource("/resource/buttons1.png") or this.getClass().getResourceAs