trixbox CE 2.6.1 - Digium B410P HOWTO
I recently had to setup trixbox with a Digium b410p card. All the documentation I found was a little out of date so here's mine. I have used parts of other HOWTO's and instructions that are still relevant to create this one. Thanks go out to those authors for said documents. :)
trixbox repos now have all the packages you need for ISDN, so you don't need to download / compile any source packages. Good work guys! Iz very naice!
Firstly make sure that your trixbox installation is fully up to date:
#yum update
Shutdown the system and install the card.
#shutdown -h now
Before installing your card, make sure you set the jumpers and dip switches correctly for your hardware. I connected my card to an OnRamp2 NT1 (in Australia) so I set my card to TE mode with No Termination. Someone on IRC said I could set Termination to ON as the termination only effects voice quality and that if I had a short cable it wouldn't matter anyway. Digium's documentation gives the impression that TE mode is -NOT- to have termination. I have not tested this yet so I can't comment. (is someone able to confirm this for me?).
Once jumpers and dip switches are set, install the Digium B410P card into your machine. I put my card into the PCI slot closest to the CPU.
Boot the machine up and check that the operating system can see your card:
#lspci
You should see your card somewhere at the end of the list.
If you can't see your card, perhaps try a different PCI slot or swap it with another card you have in your system. Check for IRQ conflicts. Better still, remove all other cards while you configure your B410P.
Now lets install the ISDN components we need. (bc and usbutils are needed for mISDN, but are not a dependency for it, perhaps someone maintaining the packages can update this? You may already have it installed but I've included it here anyway to avoid confusion as misdn-init scan etc wont run without it)
#yum install bc, usbutils, mISDN, mISDN-modules, mISDNuser, asterisk-chan_misdn
The next thing to do is create an misdn configuration file. This is done with the following steps:
#misdn-init scan
You should see a message saying "[OK] found the following devices". Make sure it finds your card.
#misdn-init config
You should see a message: /etc/misdn-init.conf created. It's now safe to run "/usr/sbin/misdn-init start"
But BEFORE we start misdn, first we're going to edit the config file we just created to change a few entries for our setup.
#nano /etc/misdn-init.conf
Find the entry "nt_ptmp=1,2,3,4" under the Port Settings section. It should be around line 50. Read the comment block and set your ports accordingly. I set mine to “nt_ptp=1,2,3,4”.
I also had to put “dtmf” on the end of my “card” line, so it looked like this:
card=1,0x4,dtmf
Press CTRL-X and save your changes on exit
Now we can start the misdn drivers:
#misdn-init start
You should see the drivers load.
Now we need to configure Asterisk for mISDN. I copied the sample misdn.conf file that came with the “asterisk-chan_misdn” package. You can find its location by typing:
#rpm -ql asterisk-chan_misdn
The output should look something like this:
/etc/asterisk-1.4.19_samples/misdn.conf
/usr/lib/asterisk/modules/chan_misdn.so
So lets copy that sample file into /etc/asterisk:
#cp /etc/asterisk-1.4.19_samples/misdn.conf /etc/asterisk/
Now edit the file:
#nano /etc/asterisk/misdn.conf
Make the following changes, listed in the order you'll find them in the file:
Under the "[default]" section, change "context=default" to "context=from-pstn"
Change "far_alerting=no" to "far_alerting=yes".
Change "internationalprefix=00" to "internationalprefix=03" (03 is for Australia, use whatever your country international prefix is here)
Change "method=standard" to "method=round_robin"
Change ";echocancel=no" to say "echocancel=yes" (Note to take away the semicolon!)
At the end of the file, add the following:
[out]
ports=1,2,3,4 ; change this to list only the ports you are connecting
context=from-pstn
msns=*
If your ISDN lines don't have MSN or DDI numbers, then you also need to:
Change ";immediate=no" to say "immediate=yes" in the [default] section. (Note to take away the semicolon!)
Press CTRL-X and save your changes on exit
Now we need to put the misdn-init command into rc.local so it will load drivers before asterisk starts on bootup.
#nano /etc/rc.d/rc.local
Enter the following 1 line BEFORE the “/usr/sbin/amportal start” entry:
“/usr/sbin/misdn-init start”
So you should now have something like the following in your rc.local file:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/sbin/misdn-init start
/usr/sbin/amportal start
chmod 755 /usr/local/sbin/motd.sh && /usr/local/sbin/motd.sh > /etc/motd
This will make sure misdn loads on your next boot.
Ok, lets check everything is working:
Connect up your ISDN line(s) and reboot the machine:
#shutdown -r now
Once its back up, login and go into asterisk by typing:
#asterisk -r
Enter "misdn show stacks". You should see the connected ports showing Up. If your NT1 on the wall has a sync light, it should blink and then come on solid.
Now setup your inbound route's and test by calling the ISDN number. Your sip phone should ring if you have setup a route to that phone.
Side note: I have a 4 port BRI card AND a 4 port analog PSTN card working together in this machine. I use outbound through SIP / VoIP and failover to analog PSTN so I don't have outbound through BRI setup. If someone wants to put some details on how to do that here that would be great.
*** UPDATE ***
I have found some documentation on how to place oubound calls though BRI / ISDN. I have not tested this so if someone is able to confirm that would be great.
In the FreePBX GUI, add a new Custom Trunk and put the following in the Custom Dial String:
mISDN/1/$OUTNUM
It wasn't documented as such, but I presume you can add in 4 trunks, incrementing the trunk number for each. Ie. 1,2,3,4 for each 4 trunks. Please let me know how you go.
Hi Interspective
Great instructions, I've been struggling to install 410P for about a year. I still have a problem, maybe you can help. I recently upgraded to CE 2.6.2.3 running on 2.6.18-128.1.10.el5. Following your instructions everything works up to a point and then I get the following message.
[trixbox1.localdomain ~]# misdn-init scan
[OK] found the following devices:
card=1,0x4
[ii] run "/usr/sbin/misdn-init config" to store this information to /etc/misdn-init.conf
[trixbox1.localdomain ~]# nano /etc/misdn-init.conf
[trixbox1.localdomain ~]# misdn-init start
FATAL: Module mISDN_core not found.
FATAL: Module mISDN_l1 not found.
FATAL: Module mISDN_l2 not found.
FATAL: Module l3udss1 not found.
FATAL: Module mISDN_capi not found.
-----------------------------------------
Loading module(s) for your misdn-cards:
-----------------------------------------
/sbin/modprobe --ignore-install hfcmulti type=0x204 protocol=0x12,0x12,0x12,0x12 layermask=0x3,0x3,0x3,0x3 poll=128 debug=0
FATAL: Module hfcmulti not found.
/sbin/modprobe mISDN_dsp debug=0x0 options=0 poll=128 dtmfthreshold=100
FATAL: Module mISDN_dsp not found.
[trixbox1.localdomain ~]#
What to do next? I'm a newby at linux but this looks like the modules where not found. How do I fix this.
Anyone else that can maybe assist, I really want my BRI card to work.
Thanks
Herman

Member Since:
2007-06-08