Asterisk+isdn4bsd+FreeBSD+OpenVox BRI cards

hello, all of users:
Firstly, I must say thanks to Hans, and other friends to help me. Now it works with OpenVox B100P/B200P/B400PB/800P. It can support LEDs. wow! Since some users have problems with installation, I come out a more detailed instruction for them. maybe, it can help them. If I missed something in the doc, please add on it and try to be perfect. To install OpenVox BRI cards, you have to follow few steps:

  1. install freebsd-6.2 with source files:
    run: sysinstall->configure->distributions->base, kernels, src and sys
    and ports. If you are not sure that, please select more options.
    It is very important for compiling isdn4bsd and kernels. please check it carefully.
  2. portsnap fetch, it will take much time
  3. portsnap extract
  4. cd to asterisk port(usr/ports/net/asterisk(Asterisk 1.4.17)
    and make install clean to install asterisk with other packages.
  5. Install Subversion and created one dir call i4b under /usr/src
  6. Refer the doc from Hans website to install svn code: http://www.turbocat.net/~hselasky/isdn4bsd/
  7. Install chan_capi under /usr/src/i4b/i4b/trunk/chan_capi
  8. Recompile kernel with capi and i4b. Some people use kldload i4b, but i can not do that. Edit the GENERIC and add these values:

i4b required

option IPR_VJ
device "i4bdss1"
device "i4b"
device "i4btrc"
device
"i4bctl"
device "i4brbch"
device "i4btel"
device ihfc
device sound

and recompile it and make depend and make install. if you want to know about kernel-freebsd, please read freebsd handbook.
9) After compile the kernel, you have to edit the capi.conf and extensiosn.conf under /usr/local/etc/asterisk.
here, i list out my capi.conf and extensiosn.conf as a doc for you
********capi.conf
; example “capi.conf”
;;
[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0
txgain=1.0
;ulaw=yes ;set this, if you live in u-law world instead of a-law
debug=yes ;set this, if capi debugging should be enabled by default
[ISDN1]
isdnmode=msn ;‘MSN’ (point-to-multipoint)
incomingmsn=
;allow incoming calls to this list of MSNs/DIDs, * ==

controller=8 ;ISDN4BSD default (first controller)
group=2 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=1 ;enable/disable software dtmf detection
relaxdtmf=off ;in addition to softdtmf, you can use
accountcode= ;Asterisk accountcode to use in CDRs
context=isdn_in_te ;context for incoming calls
holdtype=local
immediate=yes ;immediate start of pbx with
echocancel=no ;disable echo canceller
bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;deflect=1234567
devices=2 ;number of concurrent calls on this controller

[ISDN2] ;this example interface gets name ‘ISDN1’ and may be any
;name not starting with ‘g’ or
isdnmode=msn ;‘MSN’ (point-to-multipoint)
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * ==;
controller=9 ;ISDN4BSD default (first controller)
group=2 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=0
relaxdtmf=off ;in addition to softdtmf, you can use
accountcode= ;Asterisk accountcode to use in CDRs
context=isdn_in_te ;context for incoming calls
holdtype=local
immediate=yes
echocancel=no ;disable echo canceller
;echotail=64 ;echo cancel tail setting
bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;deflect=1234567
devices=2 ;number of concurrent calls on this controller

[ISDN3] ;this example interface gets name ‘ISDN1’ and may be any
isdnmode=msn ;'MSN’
incomingmsn=*
controller=10 ;ISDN4BSD default (first controller)
group=2 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=0 ;enable/disable software dtmf detection
relaxdtmf=off
accountcode= ;Asterisk accountcode to use in CDRs
context=isdn_in_te ;context for incoming calls
holdtype=local
immediate=yes
echocancel=no ;disable echo canceller
;echotail=64 ;echo cancel tail setting
bridge=yes ;native bridging (CAPI line interconnect) if available
devices=2 ;number of
[ISDN4] ;this example interface gets name ‘ISDN1’ and may be any

isdnmode=msn ;‘MSN’ (point-to-multipoint)
incomingmsn=*
controller=11 ;ISDN4BSD default (first controller)
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=0 ;enable/disable software dtmf detection
relaxdtmf=off ;in addition to softdtmf, you can use
accountcode= ;Asterisk accountcode to use in CDRs
context=isdn_in_te ;context for incoming calls
holdtype=local
immediate=yes
echocancel=no
;echotail=64 ;echo cancel tail setting
bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;deflect=1234567
devices=2 ;number of concurrent calls on this controller
;dtmf_generate=yes ; set this if your [SIP] phone does

extensions.conf
[isdn_in_te]
exten => s,1,NoOp(Invalid incoming call ${EXTEN})
exten => s,2,Dial(SIP/600)
[from-internal]
exten => 100,1,Dial(CAPI/contr11/1342439XXXXXX/b1,100,Tt)
exten => 100,2,Hangup
exten => 500,1,Dial(sip/500)
exten => 500,2,Hganup
;
10) run the isdnconfig: isdnconfig -u 8(9,10,11) pcm_master -p DRVR_DSS1_TE to activate the controllers(8,9,10,11)
11) run asterisk: asterisk -vvvvvvvvvvgc, pleae check chan_capi.so
i called to controller 11, it works. i can make inbound calls and out bound calls using that port. That’s all I did. hope somebody add more and make it as much complete as possible.
Regards,
James.zhu

I have one offtopic question, realted to OpenVOX card. I’m planning to buy some of the ISDN OpenVOX cards, so I’m interested in their quality and stability. Did you satisfied with yours?

Thanks

BTW excellent tutorial :wink: