BeroNet BN2S0 with Asterisk and misdn

| | Comments (0) | TrackBacks (0)
Scenario: Two ISDN phones (a wireless DECT one and a comfortable one with cable) are to be connected to my Asterisk server which calls out via IAX2, SIP and ISDN.

As my mini case (which contains a VIA embedded board) does only have one PCI slot (via riser card), I chose the BN2S0 from BeroNet (Berlin).
It features a Cologne Chipset Design HFC chipset with 2 S0 (ISDN S/T) interfaces (click to enlarge):

IMG_41432.jpgEach port has to be configured for NT (acting as a phone line) or TE (acting as a client/phone device) mode.
The following photo illustrates the location of the important jumpers (click to enlarge):

IMG_41432_script.jpg
For our setup we need an NT port (to connect the ISDN phones) and a TE port (for the ISDN line). Port 2 will be our NT port so I changed the jumper setting to NT mode (it is the upper jumper block). The jumper on the right is for the voltage of the PCI bus. My board has a 3,3V PCI bus, so the jumper is by default on the right setting.

At the end, the little installation looks like this:
IMG_4144.jpg IMG_4147g.jpg

The next step was to configure the card.
You will need:


To configure the card, just boot and try:

# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8623 [Apollo CLE266]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
00:14.0 ISDN controller: Cologne Chip Designs GmbH ISDN network Controller [HFC-4S] (rev 01)
01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics (rev 03)


You will notice the "ISDN controller". If it does not show up there's a problem with your BIOS settings or with the riser card not sitting properly. I got that problem with my VIA setup, I had to delete ECSD data (accessible with a BIOS function).

Next step:

# mISDN scan
1 mISDN compatible device(s) found:
>> BN2S0


Perfect. The card is recognized.
You may type now:

# mISDN config
Writing /etc/mISDN.conf for 1 mISDN compatible device(s):
>> BN2S0


You have to change now the misdn setting for port 2 to NT mode (the jumper above changed the hardware setting, and mISDN does not recognize automatically the port type):

Just change

        <card type="BN2S0">
                <port mode="te" link="ptmp">1</port>
                <port mode="te" link="ptmp">2</port>
        </card>


to:

        <card type="BN2S0">
                <port mode="te" link="ptmp">1</port>
                <port mode="nt" link="ptmp">2</port>
        </card>


The second port is now defined as NT.



To start the mISDN subsystem, enter:

# mISDN start

As last step, use this command:

# misdnportinfo
Port  1: TE-mode BRI S/T interface line (for phone lines)
 -> Protocol: DSS1 (Euro ISDN)
 -> childcnt: 2
--------
Port  2: NT-mode BRI S/T interface port (for phones)
 -> Interface can be Poin-To-Point/Multipoint.
--------

mISDN_close: fid(3) isize(131072) inbuf(0x804d060) irp(0x804d060) iend(0x804d060)


That's it. Ready to run!

Declare your new ports to Asterisk by putting them in your /etc/asterisk/misdn.conf (or wherever the configuration in your setup is located):

# ISDN provider line
[TEports]
context=from-isdn
senddtmf=yes
ports=1
msns=<insert the MSNs given to you by your ISDN providers here, use * when it should react on every MSN>
hold_allowed=yes
overlapdial=no

# Use port 2 as NT device:
[NTports]
context=default
ports=2
hold_allowed=yes
language=fr



In this example, incoming calls on Port 2 will get the default context in Asterisk. And as I speak french fluently and I like the language, I want french error codes.

To access the NT line in your extensions.conf, just use the port number "2". Example:

Dial(mISDN/2/4242)

In this example you have to make sure that there is a connected phone on this ISDN line reacting on MSN 4242.


Hint:
To set up a point-to-point ("Anlagenanschluss") connection on your NT port (because you want to connect an ISDN PBX), use:

[NTPorts]
ports = 2ptp


Use extension numbers as dial numbers:

Dial(mISDN/2/30)

for ext 30 of your ISDN PBX connected to the NT port.


Update:
When calling from the internal ISDN phone to a number reachable by the outgoing ISDN line, it will do native bridging:

P[ 2] * Making Native Bridge between XXXXXXXX and XXXXXXXX


sassandra*CLI> misdn show channels
Chan List: 0x823d460
* Pid:26 Prt:2 Ch:1 Mode:NT Org:I dad:XXXXXXXX oad:XXXXXXXX rad: ctx:default state:CONNECTED
  --> astname: mISDN/3-u41
  --> ch_l3id: 10040
  --> ch_addr: 0
  --> bc_addr: 50010202
  --> bc_l3id: 10040
  --> display:
  --> activated: 0
  --> state: BCHAN_BRIDGED
  --> capability: Speech
  --> echo_cancel: 0
  --> notone : rx 0 tx:0
  --> bc_hold: 0
* Pid:27 Prt:1 Ch:1 Mode:TE Org:* dad: oad:XXXXXXXX rad: ctx:from-isdn state:CONNECTED
  --> astname: mISDN/1-u45
  --> ch_l3id: 30007
  --> ch_addr: 50010102
  --> bc_addr: 50010102
  --> bc_l3id: 30007
  --> display:
  --> activated: 0
  --> state: BCHAN_BRIDGED
  --> capability: Speech
  --> echo_cancel: 0
  --> notone : rx 0 tx:0
  --> bc_hold: 0




0 TrackBacks

Listed below are links to blogs that reference this entry: BeroNet BN2S0 with Asterisk and misdn.

TrackBack URL for this entry: http://southbrain.com/mt/mt-tb.cgi/46

Leave a comment