Skip to main content

What is this

Asterisk is a full-featured PBX (Private Branch eXchange) Software.

As telephony traditionally has used ISDN and Analog Devices, it would be desirable to be able to connect the 'old' Devices to the PBX in order to utilize its features and connect via VOIP as well as traditional Landlines.

NT-Mode is required to drive a S0 Bus, which is where you usually connect your ISDN Phones to.

The Setup used here is :

AVM Fritz!Card ISDN v2            (chan_capi, ISDN Line)
         |
         |
     Asterisk
         |
         |
Typhoon Quick Com ISDN 128 PCI    (mISDN, NT-Mode)

                                  Here the ISDN Phones are
                                  connected.

 

Modules to load

edit /etc/init.d/mISDN to contain :

# $MODPROBE hfcpci protocol=0x2 layermask=0xf # TE-Mode
$MODPROBE hfcpci protocol=0x12 layermask=0x3 # NT-Mode

 

The resulting order of loaded Modules is :

modprobe mISDN_core
modprobe mISDN_l1 debug=0
modprobe mISDN_l2 debug=0
modprobe l3udss1
modprobe mISDN_dsp debug=0 options=0x0
modprobe hfcpci protocol=0x12 layermask=0x3

 

 

Messages that you should get upon loading the Modules:


Modular ISDN Stack core $Revision: 1.23 $
mISDNd: kernel daemon started
ISDN L1 driver version 1.11
ISDN L2 driver version 1.19
mISDN: DSS1 Rev. 1.26
mISDN_dsp: Audio DSP  Rev. 1.10 (debug=0x0)
HFC card cc865000 dch cc865088 bch1 cc865208 bch2 cc865394
mISDN: HFC-PCI driver Rev. 1.38
PCI: Enabling device 0000:00:11.0 (0000 -> 0003)
PCI: Found IRQ 10 for device 0000:00:11.0
mISDN: HFC-PCI card manufacturer: CCD/Billion/Asuscom card name: 2BD0
HFC-PCI: defined at mem 0xd0c82c00 fifo 0xc6248000(0x6248000) IRQ 10 HZ 1000
spin_lock_adr=cc865064 now(d0ca0a5c)
busy_lock_adr=cc865068 now(d0ca0a5c)
reset_hfcpci: entered
HFC_PCI: resetting HFC ChipId(30)
HFC-PCI status(4) before reset
HFC-PCI status(2) after reset
HFC-PCI status(4) after 5us
init_card: entered
inithfcpci: entered
HFC PCI: IRQ 10 count 21
HFC card c6176800 dch c6176888 bch1 c6176a08 bch2 c6176b94
mISDN: HFC-PCI driver Rev. 1.38
HFC-PCI: No more PCI cards found
HFC 1 cards installed
mISDNd: test event done

 

 

NOTE:

in some cases mISDN would report an internal error, which
could only be resolved by rebooting, unload/load modules
did just display the same error.

Errorchecking also is somewhat incomplete - incorrect
configuration of misdn.conf can cause segfaults in asterisk.

misdn.conf

/etc/asterisk/misdn.conf

[general] 
debug=0
tracefile=/var/log/misdn.trace
trace_calls=false
trace_dir=/var/log
bridging=yes                           ;mISDN_dsp bridge the calls in HW
stop_tone_after_first_digit=yes        ;tops dialtone after getting first digit
;
append_digits2exten=yes                ;append dialed Digits Extension
l1_info_ok=yes
clear_l3=no

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; CRYPTION STUFF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Wether to look for dynamic crypting attempt
;
dynamic_crypt=no                       ;look for dynamic crypting attempt
crypt_prefix=**                        ;what is used for crypting Protocol
crypt_keys=test,muh                    ;keys in dialplan/dynamic encr
; name your sections as you which but not "general" !
; the secions are Groups, you can dial out in extensions.conf
; with Dial(mISDN/g:extern/101) where extern is a section name,
; chan_misdn tries every port in this section to find a
; new free channel
[default]
context=misdn                          ;default context
language=en                            ; default language
nationalprefix=0
internationalprefix=00
; set rx/tx gains between -8 and 8 to change the RX/TX Gain
rxgain=0
txgain=0

; te_choose_channel=no                  ; Maybe for CH and NL Telcos
early_bconnect=yes                     ; connect bchannel early
dialplan=0                             ; 0=Unkn,1=Nat,2=Internat,4=Subscriber
use_callingpres=yes                    ; yes=user asterisk settings
;hold_allowed=yes
language=en
callgroup=1
pickupgroup=1

presentation=not_screened              ; not_screened , allowed (outg.CID)
echocancel=0                           ; number of taps (outgoing calls)
echocancelwhenbridged=no
echotraining=1
[internal]
ports=1nt
context=internal
;callerid=15
msns=1234,1235,1236

 

 

 

Why not bristuff ?

I didn't like the fact that bristuff patches all ends of asterisk and releated libraries - and thus is restricted to a certain version of the code.

mISDN appears to have all the features I need at this time, is fairly simple to configure - so Why Not ?

Links/References

http://www.asterisk.org/ |The Asterisk PBX

http://www.beronet.com/download/ |BeroNet mISDN Download ( get install-misdn.tar.gz)

http://sourceforge.net/projects/chan-capi/ |chan_capi for other cards (can run parallel to mISDN with own Card)

http://www.voip-info.org/wiki-Asterisk |A valuabe Source of Information and Tips