B.1. Installation der Sangoma B700 FlexBRI

Philipp Kempgen

Zusammenfassung
Installationsbeschreibung Sangoma FlexBRI (B700) auf einem Asterisk-System. Mit Beispiel für den Anschluss an das öffentliche ISDN-Netz und ein internes analoges Fax.

Anmerkung

In dieser Anleitung wird Wanpipe in der Version current-beta (das ist derzeit eine 3.5) installiert statt current-stable (derzeit 3.4). Das ist momentan notwendig, da die FlexBRI-Karte erst ab Wanpipe Version 3.5 betrieben werden kann.[165]
image
Sangoma B700 FlexBRI
Die von Sangoma für den europäischen Markt entwickelte B700-FlexBRI-Karte[166] ist die erste hybride Karte mit 4 BRI-ISDN-Ports (also 8 B-Kanälen) und 2 analogen FXS-Ports, also genau das, worauf in Deutschland viele kleine Firmen mit einem analogen Faxgerät und einem ISDN-Telefonanschluss schon lange gewartet haben. Die Karte ist verfügbar für PCI[167]- und PCI-Express[168]-Steckplätze (Slots) mit 5 V oder 3,3 V. Sie verwendet die hervorragende Hardware-Echounterdrückung (Echo Cancellation) von Octasic.
Die FlexBRI ist sehr gut für kleine bis mittelgroße Installationen geeignet, wo z. B. zusätzlich zur VoIP-Anbindung – oder auch ausschließlich – bis zu 8 B-Kanäle ins öffentliche ISDN-Netz und ein bis zwei interne analoge Faxe betrieben werden sollen. Es sind aber auch andere Szenarien denkbar. Die 4 ISDN-Ports lassen sich paarweise auf TE[169] oder NT[170] einstellen. Eine kleinere Variante der Karte bietet nur 2 ISDN-Ports und 2 analoge FXS-Ports. Diese Installationsanleitung gilt alle Karten der B700er-Serie.

Die FlexBRI-Karte einbauen

Geliefert wird die B700 in einer kleinen blauen Box, komplett mit Port-Splitter-Kabeln. Die Y-Kabel werden benötigt, um aus den ISDN- und der analogen Buchse jeweils 2 Leitungen mit RJ-45[171]- bzw. RJ-11[172]-Steckern herauszuführen. Außerdem liegt eine CD bei, mit Handbüchern, Treibern, Firmware etc. und auch dem Hinweis zur Registrierung bei Sangoma, wodurch man dann Gewährleistung erhält. Dass Sie beim Auspacken der Karte darauf achten, geerdet zu sein, versteht sich von selbst.
Ob die ISDN-Ports auf TE- oder NT-Modus eingestellt sind, wird dadurch bestimmt, wie die 2 BRI-Module in die Karte eingesteckt sind. Durch die Sichtfenster kann man das gut erkennen. Das linke Modul ist zuständig für Port 1 und 2, das rechte für 3 und 4. Gegebenenfalls steckt man die Module andersherum ein. In dieser Anleitung stellen wir beide Module auf TE, da wir die Karte an das öffentliche ISDN-Netz anschließen wollen. Für den TE-Modus müssen alle Leitungswiderstände (termination resistors) ausgeschaltet sein (für NT an), siehe http://wiki.sangoma.com/sangoma-wanpipe-smg-asterisk-bri-installation#HardwareInstallation.
Auf der Karte gibt es 8 kleine Schalter für die Wiederstände, jeweils einer für ein Adernpaar, also 2 für einen ISDN-Port bzw. 4 für eine Buchse an der Karte, da die Karte ja in einer Buchse 2 Ports herausführt. Es müssen pro BRI-Modul also die jeweiligen DIP-Doppel-Schalter Sw1 und Sw2 bzw. Sw3 und Sw4 alle gleich eingestellt sein.
Gute Schema-Zeichnungen zum Einbau der FlexBRI finden Sie in http://www.sangoma.com/data/docs/flex_bri_installation_manual.pdf.
Bei den BRI-Ports ist es wichtig, dass der Port 1 an das öffentliche ISDN-Netz angeschlossen wird, da dieser den Zeittakt übernimmt. Port 1 wird aus Buchse 1 herausgeführt; das ist die am weitesten von der Schraublasche der PCI-Blende entfernte Buchse, oder anders gesagt die Buchse mit dem geringsten Abstand vom PCI-Sockel auf dem Mainboard.
Es wird ein FXS[173]-Analog-Modul mitgeliefert. Auf dem Modul im FXO/FXS-Steckplatz muss also FXS zu lesen sein. Damit das FXS-Modul Strom liefern kann, muss die Karte beim Einbauen am hinteren Ende an einen normalen Molex-Stecker angeschlossen werden.
Für diese Anleitung wird ein frisch installiertes Debian GNU/Linux 5 (Lenny) vorausgesetzt[174].
Bitte loggen Sie sich nach der Installation als Benutzer root am System ein, und führen Sie alle hier angegebenen Befehle mit diesem Benutzer aus.
Es versteht sich eigentlich von selbst, dass man auf einem frisch installierten System die Paketlisten für aptitude aktualisiert und wichtige Updates einspielt:
debian:~# aptitude update
[...]
Paketlisten werden gelesen... Fertig
debian:~# aptitude upgrade
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
debian:~# 
Für den Fall, dass beim Upgrade der Pakete auch ein neuer Kernel installiert wurde, müssen wir jetzt das System rebooten:
debian:~# shutdown -r now
Loggen Sie sich nach dem Hochfahren des Rechners bitte wieder als root ein, und kontrollieren Sie dann, dass die Karte richtig erkannt wird:
debian:~# lspci -nn -v -d 1923:
00:06.0 Network controller [0280]: Sangoma Technologies Corp. A200/Remora FXO/FXS Analog AFT card [1923:0040]
        Subsystem: Device [a700:3400]
        Flags: bus master, medium devsel, latency 255, IRQ 17
        Memory at 4a100000 (32-bit, non-prefetchable) [size=64K]
Da ist sie (1923 ist der PCI-Hersteller-Code von Sangoma).
Lassen Sie sich übrigens nicht von den Farben der LEDs in den Buchsen verwirren. Die BRI-Module leuchten rot für TE (grün für NT), und das FXS-Analog-Modul leuchtet grün (FXO: rot).

Build-Umgebung

In den weiteren Abschnitten benötigen wir eine Build-Umgebung, also Compiler usw.:
debian:~# aptitude install build-essential
debian:~# aptitude install libncurses5-dev flex bison
debian:~# aptitude install bzip2
Und auch die Linux-Kernel-Header:
debian:~# aptitude install linux-headers-`uname -r`

Quellen von Zaptel und Asterisk

Wanpipe, also der Sangoma-Treiber, beinhaltet ein Skript namens Setup, das sich um die Installation kümmert. Dieses Skript führt auch verschiedene Tests in den Source-Verzeichnissen von Zaptel und Asterisk durch. Sie müssen entsprechend vor der Installation von Wanpipe die Quellen von Zaptel und Asterisk herunterladen und installieren.

Wichtig

Es ist sehr wahrscheinlich, dass sich 2009 oder 2010 in diesem Installations-Howto Veränderungen ergeben. Bitte überprüfen Sie die Webseite zum Buch (http://das-asterisk-buch.de) auf Updates.
Zaptel:
debian:~# aptitude install udev libnewt-dev
debian:~# cd /usr/src/
debian:/usr/src# wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.12.1.tar.gz
debian:/usr/src# tar xzf zaptel-1.4.12.1.tar.gz 
debian:/usr/src# rm zaptel-1.4.12.1.tar.gz 
debian:/usr/src# cd zaptel-1.4.12.1/
debian:/usr/src/zaptel-1.4.12.1# ./configure 
debian:/usr/src/zaptel-1.4.12.1# make
debian:/usr/src/zaptel-1.4.12.1# make install
debian:/usr/src/zaptel-1.4.12.1# make config
[...]
I think that the zaptel hardware you have on your system is:
pci:0000:00:06.0     wanpipe-     1923:0040 Sangoma Technologies Corp. A200/Remora FXO/FXS Analog AFT card
debian:/usr/src/zaptel-1.4.12.1# update-rc.d -f zaptel remove
debian:/usr/src/zaptel-1.4.12.1# update-rc.d zaptel defaults 15 30
Asterisk[175]:
debian:~# aptitude install libssl-dev libncurses5-dev libcurl3-dev
debian:~# cd /usr/src/
debian:/usr/src# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.21.tar.gz
debian:/usr/src# tar xzf asterisk-1.4.21.tar.gz 
debian:/usr/src# rm asterisk-1.4.21.tar.gz 
debian:/usr/src# cd asterisk-1.4.21/
debian:/usr/src/asterisk-1.4.21# ./configure 
debian:/usr/src/asterisk-1.4.21# make
debian:/usr/src/asterisk-1.4.21# make install
debian:/usr/src/asterisk-1.4.21# make samples
debian:/usr/src/asterisk-1.4.21# make config
debian:/usr/src/asterisk-1.4.21# update-rc.d -f asterisk remove
debian:/usr/src/asterisk-1.4.21# update-rc.d asterisk defaults 50 15

Installation von Wanpipe

Eine Build-Umgebung haben wir bereits[176]. Außerdem brauchen wir noch udev und lksctp:
debian:~# aptitude install udev lksctp-tools libsctp-dev
Auch logrotate sollte vorher vorhanden sein, damit das Skript automatisch eine entsprechende logrotate-Definition erstellen kann:
debian:~# aptitude install logrotate
Als Nächstes installieren wir die aktuelle Version von Wanpipe:
debian:~# cd /usr/src/
debian:/usr/src# wget -O wanpipe-current-beta.tgz \
  ftp://ftp.sangoma.com/linux/current_wanpipe/current-beta.tgz
debian:/usr/src# tar xzf wanpipe-*.tgz 
debian:/usr/src# rm wanpipe-*.tgz 
debian:/usr/src# cd wanpipe-*
Das Skript Setup kümmert sich um die Kompilierung und würde es melden, falls wir notwendige Software nicht installiert hätten. Dabei benutzen wir überall die Default-Werte. Als Compilation Mode verwenden wir Nr. 7 (SMG (BRI) + TDM Voice).
debian:/usr/src/wanpipe-3.5.2# ./Setup install
        ----------------------------------------------------------
                  WANPIPE v3.5.2 Installation Script
            Copyright (c) 1995-2008, Sangoma Technologies Inc.
        ----------------------------------------------------------
[...]
Would you like to install WANPIPE now? [y] (y/n) y
[...]
Verifying files and fixing permissions ...Done
Checking for C developement tools ...(gcc) OK
Checking for C++ developement tools ...OK
Checking for Make utility ...OK
Checking for ncurses library ... OK
Checking for Perl developement tools ...OK
Checking for AWK ...OK
Checking for FLEX ...OK
Checking for Patch ...OK
Checking for libtermcap-devel...OK
Checking for bison...OK

Press [Enter] to continue... enter
[...]
Please specify absolute path name of your linux directory


Press Enter for Default: /lib/modules/2.6.26-1-686/build

#> enter
Setting linux directory to /lib/modules/2.6.26-1-686/build

Upgrading WANPIPE kernel documentation ...Done.


Upgrading WANPIPE kernel headers ...Done.

Upgrading WANPIPE kernel drivers ...Done.

WANPIPE device drivers upgraded successfully!

Press [Enter] to continue... enter
[...]
        Please Select Compilation Mode
[...]

7. SMG (BRI) + TDM Voice (Zaptel)
       Default for: Asterisk BRI + PRI + Analog

[...]

Please select (1,2,3,4,5,6,7,8 or 9) [Default: 1]: 7
Enabling the AFT TE1 Support
Looking for zaptel directory in /usr/src ...
-------------------------------------------
1 : /usr/src/zaptel-1.4.12.1 
------------------------------------------ 
------------------------------------------ 
m : Enter zaptel path manually

(ctrl-c to Exit)
Please select working zaptel directory [1-1][m]: 1
Enabling the TDM Voice Asterisk Support
                                                      
Zaptel HW HDLC Support Detected: Enabling DCHAN Feature
Native Zaptel HW HDLC Support Detected - No patch required
Zaptel source unmodified
                        
Checking for UDEV Zaptel compatibility...OK
  UDEV permissions not found/or not used 

Checking for SCTP Utilities....OK.
Looking for Asteris/CallWeaver directory in /usr/src ...
-------------------------------------------
1 : /usr/src/asterisk-1.4.21 
------------------------------------------ 
------------------------------------------ 
m : Enter Asterisk/CallWeaver path manually

(ctrl-c to Exit)
Please select working Asterisk/CallWeaver directory [1-1][m]: 1
Source kernel name:2.6.26-1-686

Checking for SMP support ...Enabled.

Checking current processor type ...i686

[...]

Checking for REGPARM kernel option ...Enabled.

Compiling General WANPIPE Driver for 2.6.X Kernel .....Done.


WAN HWEC module enabled and compiled!

Linking Wanpipe Driver and protocols ...Done.

Updating Kernel Modules ...Done.

Visually Confirm that driver compilation was successful! (y/n) y
[...]

WANPIPE META CONFIGURATION

There are two configuration files associated with WANPIPE.  

1) /usr/src/wanpipe-3.5.2/wanrouter.rc: 
        - defines locations of important files such as lock
          and configuration files as well as start/stop 
          order of multiple WANPIPE devices.
2) /usr/src/wanpipe-3.5.2/wanpipe1.conf:
        - main configuration file for each WANPIPE device.
        - defines interfaces, hardware and protocol information.
        - this file can be created using the 'wancfg' GUI
          utility or manually based on sample files located
          in /etc/wanpipe/samples.
          
Please read the WanpipeInstallation.(pdf/txt) manual for further
information.

Press [Enter] to continue... enter
Please specify a desired location for WANPIPE configuration files.

        (Press Enter for Default: /etc/wanpipe)

<specify path:> enter
Please specify a desired location for WANPIPE interface files.

        (Press Enter for Default: /etc/wanpipe/interfaces)

<specify path:> enter
Please specify a location for WANPIPE binary, firmware files.

        (Press Enter for Default: /etc/wanpipe/firmware)

<specify path:> enter
[...]

WANPIPE UTILITIES SETUP

WANPIPE utilities are used to:
        1) create configuration files: for Zaptel and Asterisk
                /usr/sbin/wancfg_zaptel #Zaptel and Asterisk
                /usr/sbin/wancfg_smg    #BRI/SS7, Zaptel and Asterisk
                /usr/sbin/wancfg_tdmapi #TDM API
        2) create WANPIPE WAN/IP configuration files.
                (/usr/sbin/wancfg)
        3) start,stop,restart individual/all devices and interfaces.
                (/usr/sbin/wanrouter)
        4) debug line, protocol and driver problems.
                (/usr/sbin/wanpipemon)
        5) aid in WANPIPE API development
                (/etc/wanpipe/api)

Refer to the WanpipeInstallation.(pdf/txt) for more information.

Press [Enter] to continue... enter
Compiling WANPIPE Utilities ...Done.


Compiling WANPIPE WanCfg Utility ...
Done.


Compiling WANPIPE Misc Utilities ...Done.


Compiling WANPIPE LibSangoma TDM API library ...Done.


Compiling WANPIPE API Development Utilities ...Failed!

        ERROR: Failed to compile WANPIPE API Tools !!!
        
Please contact Sangoma Technologies
Press [Enter] to continue...

Compiling WANPIPE HWEC Utilities ...Done.

        WANPIPE Environment Setup Complete !!!

Press [Enter] to continue... enter
Installing WANPIPE Files ... !
Installing  WANPIPE Utilities in /usr/sbin
Installing wanrouter.rc in /etc/wanpipe
Installing wanpipe libraries in /etc/wanpipe
Installing firmware in /etc/wanpipe/firmware
Installing documentation in /usr/share/doc/wanpipe
Installing sample api code in /etc/wanpipe/api
Installing AFT Firmware update utility in /etc/wanpipe/util
Installing driver headers in /etc/wanpipe/api/include/linux
Installing Hardware Echo Cancel Utilites
Press [Enter] to continue... enter
[...]

WANPIPE BOOTSTRAP CONFIGURATION

Your system uses System V -style initialization scripts.  You have an option
to add router start-up script to those scripts so that the router will start
automatically when system enters multi-user mode and shut down when it enters
single-user mode or when it is halted.

i.e. By selecting this option WANPIPE will startup on system bootup and 
     stop on system shutdown.

Would you like to install WANPIPE start-up scripts? (y/n) y
[...]
Current boot level is 2

Wanrouter boot scripts configuration...

Removing existing wanrouter boot scripts...OK
Enabling wanrouter boot scripts ...(level:8)
Enabling wanrouter shutdown scripts ...(level:91)
Would you like to auto-execute ztcfg after wanrouter start? (y/n) y
[...]
Installing Sangoma Media Gateway Daemon...

Installing SMG Daemon...

Warning: asterisk is running
Would you like to stop asterisk? (y/n) y
Checking Syslog ....
 found /etc/rsyslog.conf 
Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
Ok

Checking logrotate ...
Error: Logrotate dir: /etc/logrotate.d not found !
OK.

Checking for SCTP Utilities....
OK.

Checking for SCTP modules...
OK.

Compiling Sangoma MGD ...
[...]
install -D -m 755 sangoma_mgd /usr/sbin/sangoma_mgd
BRI control scripts installed
install -D -m 755 ../sangoma_bri/smg_ctrl /usr/sbin/smg_ctrl
sangoma_mgd Installed
Ok.
Compiling Woomera Channel ...
[...]
install -D -m 755 chan_woomera.so /usr/lib/asterisk/modules/chan_woomera.so
chan_woomera Installed
Ok.
---------------------------------

 SMG Install Done

--> Config: /etc/sangoma_mgd.conf
--> Start:  sangoma_mgd -bg

 Chan Woomera Install Done

--> Config: /etc/asterisk/woomera.conf
--> Start: start asterisk (part of asterisk)

---------------------------------


Installing SMG BRI Daemon...

----------------------------------------
Sangoma BRI Installation Complete

 -> To configure for BRI run:
 -> /usr/bin/wancfg_smg

----------------------------------------
Append sample config in Asterisk Extensions and Iax Conf (y/n) y
cat: ./conf_bri/woomera_ext.conf: Datei oder Verzeichnis nicht gefunden
Asterisk extensions.conf file updated with woomera config
cat: ./conf_bri/woomera_iax.conf: Datei oder Verzeichnis nicht gefunden
Asterisk iax.conf file updated with bri guest config
Press [Enter] to continue... enter
[...]

WANPIPE INSTALLATON: COMPLETE
        
WANPIPE installation is now complete. WANPIPE kernel drivers 
and configuration/debug utilities have been compiled and installed.

        1) Proceed to configure the WANPIPE drivers:
                Asterisk/Zaptel: /usr/sbin/wancfg_zaptel
                TDM API        : /usr/sbin/wancfg_tdmapi
                SMG SS7/BRI    : /usr/sbin/wancfg_smg
                WAN Routing/API: /usr/sbin/wancfg
        2) Use the /usr/sbin/wanrouter startup scrip to start and stop
           the router. (eg: wanrouter start)
        3) To uninstall WANPIPE package run ./Setup remove
                
Please read http://wiki.sangoma.com for further instructions.
Wanpipe / Zaptel & SMG BRI Configuration
========================================

wancfg_smg configurator can create all wanpipe config files
for ZAPTEL as well as for SMG BRI.
Optionally: the configurator can also create Asterisk zapata.conf
-----------------------------------------------------
Would you like to configure wanpipe devices for ZAPTEL & BRI? (y/n) y
[...]

Generating configuration files for Sangoma Media Gateway
[...]
---------------------------------------------
Configuring T1/E1 cards [A101/A102/A104/A108]
---------------------------------------------
------------------------------------
Configuring ISDN BRI cards [A500/B700]
------------------------------------
DYDBG dev: [1 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=10 : PORT=1 : HWEC=16 : V=34
]
DYDBG card_model 700 port 1
Jetzt geht es um die Konfiguration der BRI-Ports. Zur Erinnerung: Point to multipoint = Mehrgeräteanschluß, also normales ISDN, Point to point = Anlagenanschluß:
-----------------------------------------------------------
AFT-700 detected on slot:6 bus:0
-----------------------------------------------------------

Would you like to configure AFT-700 port 1 on slot:6 bus:0
 1. YES
 2. NO
 3. Exit
[1-3]: 1
Configuring port 1 on AFT-700 [slot:6 bus:0 span:1]

Select connection type for port 1
 1. Point to multipoint
 2. Point to point
[1-2, ENTER='Point to multipoint']: 1
Input the group for this port
: 1
Select dialplan context for group:1
 1. from-pstn
 2. Custom
[1-2]: 1
Configuring span:1 as TEI:127
 1. YES - Keep this setting
 2. NO  - Specify a different TEI
[1-2, ENTER='YES']: enter
Das Gleiche machen wir noch einmal für Port 2, 3 und 4:
[...]

Would you like to configure AFT-700 port 2 on slot:6 bus:0
 1. YES
 2. NO
 3. Exit
[1-3, ENTER='YES']: enter
Configuring port 2 on AFT-700 [slot:6 bus:0 span:2]

Select connection type for port 2
 1. Point to multipoint
 2. Point to point
[1-2, ENTER='Point to multipoint']: enter
Input the group for this port
def="1": 1
Configuring span:2 as TEI:127
 1. YES - Keep this setting
 2. NO  - Specify a different TEI
[1-2, ENTER='YES']: enter
[...]

DYDBG dev: [5 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=10 : PORT=5 : HWEC=16 : V=34
]
DYDBG card_model 700 port 5

ISBN BRI card configuration complete

Press any key to continue: enter
Dann konfigurieren wir den Analog-Port:
-----------------------------------------------------------
AFT-700 Analog detected on slot:6 bus:0
-----------------------------------------------------------

Would you like to configure AFT-700 on slot:6 bus:0
 1. YES
 2. NO
[1-2]: 1
Would you like to enable hardware DTMF detection?
 1. YES
 2. NO
[1-2, ENTER='YES']: 2
Which codec will be used?
 1. ALAW - Europe
 2. MULAW - North America
[1-2]: 1
Which Operation Mode will be used?
 1. FCC
 2. TBR21
 3. AUSTRALIA
[1-3, ENTER='FCC']: 2
Press any key to continue: enter
A700 configured on slot:6 bus:0 span:1

Analog card configuration complete

Press any key to continue: enter
[...]

###################################################################
#                             SUMMARY                             #
###################################################################

  0 T1/E1 port(s) detected, 0 configured
  4 ISDN BRI port(s) detected, 4 configured
  1 analog card(s) detected, 1 configured
  0 usb device(s) detected, 0 configured

Configurator will create the following files:
        1. Wanpipe config files in /etc/wanpipe
        2. sangoma_brid config file /etc/wanpipe/smg_bri
        3. Zaptel config file /etc/zaptel.conf
        4. Zapata config file /etc/asterisk/zapata.conf


Your original configuration files will be saved to:
        1. /etc/zaptel.conf.bak 
        2. /etc/asterisk/zapata.conf.bak 


Your configuration has been saved in /etc/wanpipe/debug-2009-01-13.tgz.
When requesting support, email this file to techdesk@sangoma.com


###################################################################

Configuration Complete! Please select following:
 1. YES - Continue
 2. NO - Exit
[1-2]: 1
Zaptel and Wanpipe configuration complete: choose action
 1. Save cfg: Restart Asterisk & Wanpipe now
 2. Save cfg: Restart Asterisk & Wanpipe when convenient
 3. Save cfg: Stop Asterisk & Wanpipe now
 4. Save cfg: Stop Asterisk & Wanpipe when convenient
 5. Do not save cfg: Exit
[1-5]: 1
[...]

Would you like to continue?
 1. No - exit
 2. YES
[1-2, ENTER='No']: 2
[...]

Wanrouter start complete...
Current boot level is 2

Wanrouter boot scripts configuration...

Removing existing wanrouter boot scripts...OK
Would you like wanrouter to start on system boot?
 1. YES
 2. NO
[1-2]: 1
Verifying Zaptel boot scripts...Enabled (level:15)
Verifying Zaptel shutdown scripts...Enabled (level:30)
Enabling wanrouter boot scripts ...(level:14)
Enabling wanrouter shutdown scripts ...(level:29)
Verifying Network boot scripts...Not installed
Would you like smg_ctrl to start/stop on wanrouter start?
 1. YES
 2. NO
[1-2]: 1
smgbri start scrtip installed scuessfully
smgbri stop script installed successfully
Sangoma cards configuration complete, exiting...
Im Default-Runlevel 2 sollten jetzt folgende Einträge stehen:
debian:/usr/src/wanpipe-3.5.2# ls -l /etc/rc2.d/
[...]
lrwxrwxrwx 1 root root  19 10. Jan 12:00 S14wanrouter -> ../init.d/wanrouter
lrwxrwxrwx 1 root root  16 10. Jan 12:00 S15zaptel -> ../init.d/zaptel
lrwxrwxrwx 1 root root  18 10. Jan 12:00 S16smg_ctrl -> ../init.d/smg_ctrl
[...]
lrwxrwxrwx 1 root root  18 10. Jan 12:00 S50asterisk -> ../init.d/asterisk
Wichtig sind dabei nicht die genauen Nummern, sondern die Reihenfolge beim Hochfahren: wanrouter, zaptel, smg_ctrl, asterisk.
Falls dies nicht der Fall ist oder Sie andere Runlevel bevorzugen, können Sie diese folgendermaßen einrichten:
debian:/usr/src/wanpipe-3.5.2# update-rc.d -f smg_ctrl remove
debian:/usr/src/wanpipe-3.5.2# update-rc.d smg_ctrl defaults 16 20

Konfiguration für die FlexBRI

Das Setup-Skript hat die Konfiguration für die Sangoma B700 FlexBRI angelegt. Daher soll die Konfigurationsdatei hier nur der Vollständigkeit halber erwähnt werden. Wenn man im Setup alles richtig eingegeben hat, muss man nichts verändern. Sollte man die Konfiguration der Ports erneut vornehmen wollen, kann man später setup-sangoma aufrufen.

Wanpipe

Die Wanpipe-Konfiguration befindet sich im Verzeichnis /etc/wanpipe/. Darin gibt es mehrere Dateien wanpipeX.conf, wobei X für die Nummer des Ports steht. 1 bis 4 sind die BRI-Ports, 5 der Analog-Port.

Sangoma Media Gateway (SMG) / Woomera

An der Datei /etc/sangoma_mgd.conf müssen wir nichts ändern. Auch die /etc/wanpipe/smg_bri.conf kann fast so bleiben, wie sie ist. Für eine detaillierte Beschreibung der Parameter siehe http://wiki.sangoma.com/BriAdvancedOptions. Das einzige, was wir hier ändern, ist:
national_prefix=0
international_prefix=00

Zaptel

Die /etc/zaptel.conf wurde ebenfalls automatisch generiert:
# Autogenerated by /usr/local/sbin/sangoma/setup-sangoma -- do not hand edit
# Zaptel Channels Configurations (zaptel.conf)
#
loadzone=us
defaultzone=us


#Sangoma A700 [slot:6 bus:0 span:1] <wanpipe5>
fxoks=1
fxoks=2
Natürlich hindert uns nichts daran, hier de statt us einzutragen.[177]
Bitte wundern Sie sich nicht, warum hier fxo steht. fxoks ist die Signalisierung für FXS[178].

Asterisk

Im Folgenden sehen Sie die Einstellungen in der Asterisk-Konfiguration für die Sangoma B700 FlexBRI.
zapata.conf für die FlexBRI
Wie nicht anders zu erwarten war, ist die /etc/asterisk/zapata.conf auch schon für die 2 analogen Kanäle konfiguriert. Hier sehen Sie einen Ausschnitt:
;Sangoma A700 [slot:6 bus:0 span:1]  <wanpipe5>

context=from-internal
group=1
signalling = fxo_ks
channel => 1

context=from-internal
group=1
signalling = fxo_ks
channel => 2
woomera.conf für die FlexBRI
Auch die Konfiguration der BRI-Kanäle in der /etc/asterisk/woomera.conf für chan_woomera ist fertig:
[settings]
debug=2

[default]
host=localhost
port=42420
audio_ip=127.0.0.1
default_context=sangoma
debug=2
dtmf_enable=1
jb_enable=0
progress_enable=0

context=from-pstn
group=1
extensions.conf für die FlexBRI
Nun erzeugen wir manuell noch die dazu passende /etc/asterisk/extensions.conf. Dabei gehen wir davon aus, dass Sie einen solchen Dialplan lesen und verstehen können. Falls Sie gerade erst mit Asterisk angefangen haben, empfiehlt sich ein Blick in Kapitel 2, Hello World.
; Context(e) für Anrufe, die von den BRI-Ports der FlexBRI
; eingehen. Der Name entspricht dem/den in der
; /etc/asterisk/woomera.conf eingestellten Context(en).

[from-pstn]

exten => _X.,1,Verbose(1,### Eingehender Anruf von ${CALLERID(num)} an ${EXTEN})
exten => _X.,n,Ringing()
exten => _X.,n,Wait(8)
exten => _X.,n,Answer()
exten => _X.,n,Playback(demo-congrats)
exten => _X.,n,Hangup()

exten => 123456,1,Verbose(1,### Eingehender Anruf von ${CALLERID(num)} an ${EXTEN})
exten => 123456,n,Dial(SIP/10)
exten => 123456,n,Hangup()

exten => 99,1,Verbose(1,### Eingehendes Fax von ${CALLERID(num)})
exten => 99,n,Dial(Zap/1,60)  ; interne analoge Leitung 1
exten => 99,n,Hangup()

; Context(e) für Anrufe von intern, also z. B. vom analogen
; Port der FlexBRI. Der Name entspricht dem in der
; /etc/asterisk/zapata.conf eingestellten Context.

[from-internal]

exten => _X.,1,Verbose(1,### Anruf von intern an ${EXTEN})
exten => _X.,n,Dial(WOOMERA/g1/${EXTEN})  ; Gruppe 1
exten => _X.,n,Hangup()

Wichtige Befehle für Wanpipe

Folgende Befehle sind beim Arbeiten mit Wanpipe/Wanrouter nützlich und zeigen z. B. Informationen über die verbaute FlexBRI-Karte an.
wanrouter version oder /etc/init.d/wanrouter version zeigt die installierte Version von Wanpipe:
debian:~# wanrouter version

WANPIPE Release: 3.5.2
wanrouter summary oder /etc/init.d/wanrouter summary zeigt eine Übersicht über die Konfigurationsdateien /etc/wanpipe/wanpipe*.conf[179]:
debian:~# wanrouter summary

Configuration File Summary in : /etc/wanpipe/

Device    Protocol          Type Cpu/Io Slot/Irq Bus State
---------------------------------------------------------------
wanpipe1  WAN_AFT_ISDN_BRI  PCI  A      6        0   Connected
wanpipe2  WAN_AFT_ISDN_BRI  PCI  A      6        0   Connecting
wanpipe3  WAN_AFT_ISDN_BRI  PCI  A      6        0   Connecting
wanpipe4  WAN_AFT_ISDN_BRI  PCI  A      6        0   Connecting
wanpipe5  WAN_AFT_ANALOG    PCI  A      6        0   Inactive
wanrouter status oder /etc/init.d/wanrouter status zeigt den Status aller aktiven Ports[180]:
debian:~# wanrouter status

Devices currently active:
        wanpipe1 wanpipe2 wanpipe3 wanpipe4 wanpipe5


Wanpipe Config:

Device name | Proto.Map | Adapter            | IRQ | Slot/IO | If's | CLK |
wanpipe1    | N/A       | A500/B700          | 17  | 6       | 1    | N/A |
wanpipe2    | N/A       | A500/B700          | 17  | 6       | 1    | N/A |
wanpipe3    | N/A       | A500/B700          | 17  | 6       | 1    | N/A |
wanpipe4    | N/A       | A500/B700          | 17  | 6       | 1    | N/A |
wanpipe5    | N/A       | A200/A400/B600/B700| 17  | 6       | 1    | N/A |

Wanrouter Status:

Device name | Protocol | Station | Status        |
wanpipe1    | AFT ISDN | N/A     | Connected     |
wanpipe2    | AFT ISDN | N/A     | Connecting    |
wanpipe3    | AFT ISDN | N/A     | Disconnected  |
wanpipe4    | AFT ISDN | N/A     | Disconnected  |
wanpipe5    | A-ANALOG | N/A     | Connected     |
wanrouter hwprobe oder /etc/init.d/wanrouter hwprobe zeigt Informationen über die installierte Wanpipe-Hardware:
debian:~# wanrouter hwprobe

-------------------------------
| Wanpipe Hardware Probe Info |
-------------------------------
1 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=1 : HWEC=16 : V=34
2 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=2 : HWEC=16 : V=34
3 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=3 : HWEC=16 : V=34
4 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=4 : HWEC=16 : V=34
5 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=5 : HWEC=16 : V=34

Card Cnt: B700=1 
wanrouter hwprobe verbose funktioniert wie wanrouter hwprobe, zeigt aber noch zusätzliche Informationen wie den TE/NT-Modus:
debian:~# wanrouter hwprobe verbose

-----------------------------------------
| Wanpipe Hardware Probe Info (verbose) |
-----------------------------------------
1 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=1 : HWEC=16 : V=34
+01:TE: PCI: NONE: C01
2 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=2 : HWEC=16 : V=34
+02:TE: PCI: NONE: C01
3 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=3 : HWEC=16 : V=34
+03:TE: PCI: NONE: C01
4 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=4 : HWEC=16 : V=34
+04:TE: PCI: NONE: C01
5 . AFT-B700-SH : SLOT=6 : BUS=0 : IRQ=17 : PORT=5 : HWEC=16 : V=34
+01:FXS: PCI: NONE
+02:FXS: PCI: NONE

Card Cnt: B700=1 
Und dann gibt es natürlich die ganz normalen Befehle /etc/init.d/wanrouter {start|stop|restart} wie bei jedem Skript in /etc/init.d/ zum Starten bzw. Stoppen des Dienstes.
Durch Aufruf von wanrouter ohne weitere Optionen erhalten Sie eine Liste aller möglichen Befehle.
Mit wanpipemon -g bekommen Sie ein grafisches Menü zur Analyse der Wanpipe-Ports.
Mittels cat /proc/interrupts können Sie prüfen, ob sich die Karte PCI-Interrupts mit anderen Geräten (Festplatte, Netzwerkkarte, ...) teilen muss:
debian:~# cat /proc/interrupts 
[...]
 17:    1979007   IO-APIC-fasteoi   wanpipe1, wanpipe2, wanpipe3, wanpipe4, wanpipe5
Experten finden weitere Status-Informationen in speziellen Dateien im Verzeichnis /proc/net/wanrouter/.


[165] (Irgendwann wird 3.5 als stable, also stabil, deklariert und wird dann zur Version 3.6.) Eine funktionierende Version dieser Anleitung finden Sie vorübergehend auf http://www.kempgen.net/asterisk/sangoma-b700-flexbri.html.

[168] abgekürzt: PCIe oder PCI-E (nicht PCI-X), http://de.wikipedia.org/wiki/PCI-Express

[169] Terminal Equipment, Endeinrichtung, d. h., unsere Seite agiert als Endgerät, also extern.

[170] Network Termination, Netzabschluss, die Seite, die einem Endgerät eine Teilnehmeranschlussleitung (TAL, engl.: local loop) bereitstellt, also intern

[171] 8P8C

[172] 6P4C

[173] FXS = Foreign Exchange Station, liefert Betriebsstrom und Wählton, ist also von der TK-Anlage aus gesehen intern. Das Gegenteil wäre FXO = Foreign Exchange Office, also von der TK-Anlage aus gesehen extern.

[174] Die Vorgängerversion 4 (Etch) funktioniert ebenfalls.

[175] Falls vorher bereits eine ältere Version von Asterisk installiert war, müssen Sie zuerst die alten Module entfernen:

debian:~# rm -rf /usr/lib/asterisk/modules

[176] Hätten wir sie noch nicht, müssten wir sie so installieren:

debian:~# aptitude install build-essential flex bison libncurses5-dev
debian:~# aptitude install linux-headers-`uname -r`

[177] Man könnte das auch in der Vorlage /etc/wanpipe/wancfg_zaptel/templates/zaptel.conf ändern, damit es nach einem erneuten Aufruf von setup-sangoma erhalten bleibt.

[178] Umgekehrt wäre fxsks die Signalisierung für FXO.

[179] Die Ausgabe wurde hier etwas in der Breite gekürzt.

[180] Die Ausgabe wurde hier etwas in der Breite gekürzt.