[HowTo] HowTo: Asterisk 1.8.5.0 + DAHDI 2.4.1 + zaphfc Debian squeeze (HFC-S) (ohne Patch)

Hat das HowTo finktioniert?

  • Ja

    Stimmen: 0 0.0%
  • Nein

    Stimmen: 0 0.0%

  • Anzahl der Umfrageteilnehmer
    0
  • Umfrage geschlossen .

pmgzed

Neuer User
Mitglied seit
26 Aug 2010
Beiträge
102
Punkte für Reaktionen
0
Punkte
0
Automatiches Installations Script für ein neuinstalliertes Debian (ohne GUI)
nach den durchlaufen des Script Asterisk starten un mit dahdi show status und dahdi show channels teste ob die ISDN Channels angezeigt werden
(Mit Asterisk 1.6 funktioniert das auch)
#/bin/bash
echo Installation Asterisk 1.8.7.0 mit Dahdi 2.5.0.1 für HFC-S Karten mir DAHADI-ZAPHFC treiber für Debian 6 squeeze
echo Das Script bitte nur zum testen verwenden
echo Nutzen des Scripts auf eigene Gefahr
echo Script als root ausfüren!!!!!!!!!!!!!!!!!!!!!!
echo beliebige Taste drücken zum fortfahren
read -n 1

aptitude install -y libncurses5-dev make gcc g++ linux-headers-`uname -r` git

mkdir asterisk-installation
cd asterisk-installation

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.7.0.tar.gz
tar xfvz asterisk-1.8.7.0.tar.gz

wget http://downloads.asterisk.org/pub/t...s/dahdi-linux-complete-2.5.0.1+2.5.0.1.tar.gz
tar xfvz dahdi-linux-complete-2.5.0.1+2.5.0.1.tar.gz

wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.12.tar.gz
tar xfvz libpri-1.4.12.tar.gz

git clone git://dahdi-zaphfc.git.sourceforge.net/gitroot/dahdi-zaphfc/dahdi-zaphfc




echo blacklist hfcpci >> /etc/modprobe.d/blacklist.conf
echo blacklist mISDN_core >> /etc/modprobe.d/blacklist.conf

rmmod hfcpci
rmmod mISDN_core

cd dahdi-zaphfc
make
make install-modules

modprobe zaphfc
modprobe dahdi-hfcs


cd ..
cd dahdi-linux-complete-2.5.0.1+2.5.0.1
make
make install
make config

cd ..
cd libpri-1.4.12
make
make install

cd ..
cd asterisk-1.8.7.0
./configure --disable-xmldoc
make
make install

cd ..
cd dahdi-zaphfc
make install-modules
modprobe zaphfc

dahdi_cfg -vvv
dahdi_cfg -vvv

dahdi_genconf -vvvvv
dahdi_cfg -vvvvv

echo [modules] > /etc/asterisk/modules.conf
echo autoload=yes >> /etc/asterisk/modules.conf

echo [channels] > /etc/asterisk/chan_dahdi.conf
cat /etc/asterisk/dahdi-channels.conf >> /etc/asterisk/chan_dahdi.conf
echo !!!!!!!!!!Bitte Rechner neustarten!!!!!!!!!!
echo !!!!!!!!!!Bitte Rechner neustarten!!!!!!!!!!











------------------------------------------------------------------------alt--------------------------------------------------------------
Hiho
Da mir hier so fleißig geholfen wurde will ich auch mal versuchen, dass was ich hier gelernt habe zusammen zu fassen.
Da ich leider noch nicht so der Experte im Gebiet bin würde ich mich freuen wenn ihr mich freundlich auf Fehler aufmerksam macht und mich berichtigt.

Zum testetn habe ich eine Creatix ISDN PCI Card CTX505 genommen die recht günstig auf Ebay zu bekommen sind (10 stück für 15¤ Ebay-Link

Als ausgangspunkt nehme ich ein Debian squeeze die kleinste Installation ohne GUI , Standart-Systemwekzeuge ...

System Vorbereiten
Als erstes benötigen wir die Packete: aptitude install libncurses5-dev make gcc g++ linux-headers-`uname -r` git


Danach schauen wir uns die Ausgabe von lsmod an.
Bei waren die Module hfcpci und mISDN_core aktiv.
hfcpci 18681 0
mISDN_core 54984 1 hfcpci
Das ist für diesen Versuch doch recht unpraktisch da DAHDI nich mit hfcpci zusammen arbeiten möchte und zaphfc und hfcpci nicht parallel laufen. Deshalb muss nun verhindert werden das die beiden Module geladen werden.
Dazu nehmen wir den Editor unserer Wahl und öffnen die Datei /etc/modprobe.d/blacklist.conf und fügen 2 Zeilen hinzu.
blacklist hfcpci
blacklist mISDN_core
Und reboot
Lsmod sollte nach den Neustart die beiden Module nicht mehr anzeigen.

Die Installation beginnt
1. Der HFC Treibe für DAHDI zaphfc
PHP:
mkdir zaphfc
 git clone git://dahdi-zaphfc.git.sourceforge.net/gitroot/dahdi-zaphfc/dahdi-zaphfc zaphfc/
cd zaphfc/
make
make install-modules
reboot

Nach den Neustart sollte in der lsmod Ausgabe
...
zaphfc 13437 0
...
stehen

Soweit so gut dan geht es weiter mit DAHDI
PHP:
mkdir dahdi
cd dahdi
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz
tar xfvz dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz
cd dahdi-linux-complete-2.4.1.2+2.4.1
make
make install
make config

Prüfen:
dahdi_hardware
Sollte soetwas wie
pci:0000:04:02.0 zaphfc+ 1397:2bd0 HFC-S ISDN BRI card
ausgeben

Libpri wird jetzt noch für die ISDN-Signalisierung gebraucht



So was jetzt noch fehlt ist Asterisk
PHP:
cd
mkdir asterisk
cd asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.5.0.tar.gz
tar xfvz asterisk-1.8.5.0.tar.gz
cd asterisk-1.8.5.0
./configure --disable-xmldoc
make 
make install

So schaut bis jetzt doch ganz gut aus :D
Nun die Datei /etc/dahdi/modules bearbeiten und das modul zaphfc hinzufügen

Jetzt soll uns DAHDI doch bitte die Konfiguration für unsere ISDN Karte erstellen das ganze passiert mit
PHP:
 dahdi_genconf -vvvvv
und sollte
Default parameters from /etc/dahdi/genconf_parameters
Generating /etc/dahdi/system.conf
Generating /etc/asterisk/dahdi-channels.conf
ausgeben.


Ob das ganze funktioniert hat erfahren wir mit
PHP:
dahdi_cfg  -vvvvv
Das sollte dan irgendwie so aussehen:
DAHDI Tools Version - 2.4.1

DAHDI Version: d632d2cM
Echo Canceller(s): HWEC
Configuration
======================

SPAN 1: CCS/ AMI Build-out: 0 db (CSU)/0-133 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 03)

3 channels to configure.

Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to none

Juhu die Installation ist durch



Zum Schluss noch eine kleine Testkonfig

/etc/asterisk/modules.conf
[modules]
autoload=yes

/etc/asterisk/sip.conf
[general]
language=de
port=5060
disallow=all
allow=alaw
allow=ulaw
allow=gsm
nat=yes
canreinvite=no
tos=lowdelay
context=default



[20]
type=friend
username=20
secret=1234
host=dynamic
callerid=foo20
context=default

[21]
type=friend
username=21
secret=1234
host=dynamic
callerid=foo21
context=default

und die /etc/asterisk/extensions.conf
[general]
static = yes
writeprotection=no

[default]
exten => 20,1,Dial(SIP,20,25,tT)
exten => 20,2,Hangup

exten => 21,1,Dial(SIP,21,25,tT)
exten => 21,2,Hangup

exten => _0.,1,Dial(DAHDI/G0/${EXTEN:1})
exten => _0.,2,Hangup

[from-pstn]
exten => externe-telefonnummer,1,Set(CALLERID(num)=0${CALLERID(num)})
exten => externe-telefonnummer,2,Dial(SIP/21)


Etwas weiter oben haben wir mit dahdi_genconf die Datei /etc/asterisk/dahdi-channels.conf erstellen lassen
Die öffnen wir jetzt un kopieren uns den nicht auskommentierten Bereich
z.b.
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = bri_cpe_ptmp
channel => 1-2
context = default
group = 63
und erstellen nun die datei /etc/asterisk/chan_dahdi.conf
mit
[channels] + was wir aus der Datei dahdi-channels.conf kopiert haben
bsp.
[channels]
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = bri_cpe_ptmp
channel => 1-2
context = default
group = 63

Die Zeile exten => _0.,1,Dial(DAHDI/G0/${EXTEN:1}) aus der extensions.conf und die Zeile group=0,11
aus der dahdi-channels.conf müssen zueinader passen:
group=0 definiert die Gruppe in der sich die Kanäle 1 und 2 sind
Dial(DAHDI/G0/${EXTEN:1}) = G0 ist die Gruppe die zum rauswälen benutzt werden soll

Wenn asterisk gestartet ist kann mit
dahdi show channels und dahdi show status überprüft werden ob Asterisk die Kanäle erkannt hat
Asterisk Ready.
*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-pstn default In Service
2 from-pstn default In Service
*CLI> dahdi show status
Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO
HFC-S PCI A ISDN card 0 [TE] OK 0 0 0 CCS AMI 0 db (CSU)/0-133 feet (DSX-1)
*CLI>



Jetzt kann versucht werden jemand anzurufen :)
(Asterisk starten nicht vergessen asterisk -cvvvvv)
 
Zuletzt bearbeitet:
Hallo und danke für die gute Anleitung, hab alles installieren können und bekomme auch die Treiber erfolgreich installiert. Beim Anwählen einer Nummer allerdings bekomme ich eine Fehlermeldung:

PHP:
    -- Executing [0103308003301000@LOKAL:1] Dial("SIP/41-00000001", "DAHDI/1/0103308003301000") in new stack
[Jul 28 15:56:09] WARNING[23861]: chan_dahdi.c:5098 dahdi_confmute: DAHDI confmute(0) failed on channel 1: Invalid argument
    -- Couldn't call DAHDI/1/0103308003301000
[Jul 28 15:56:09] WARNING[23861]: chan_dahdi.c:5098 dahdi_confmute: DAHDI confmute(0) failed on channel 1: Invalid argument
[Jul 28 15:56:09] WARNING[23861]: chan_dahdi.c:5041 restore_gains: Unable to restore gains: Invalid argument
[Jul 28 15:56:09] WARNING[23861]: chan_dahdi.c:4724 reset_conf: Failed to reset conferencing on channel 1: Invalid argument
    -- Hungup 'DAHDI/1-1'
  == Everyone is busy/congested at this time (0:0/0/0)

Eingehende Anrufe gehen ebensowenig.
Beim Downgrade auf Asterisk 1.6.2.19 bekomme ich keine Fehlermeldung mehr, der Anruf wird aber nicht durchgestellt. Auf eingehende Anrufe keinerlei Reaktion in der CLI.

Hast Du die beschriebene Konfiguration auf Funktion getestet? Mein Server hängt an einem Anlagenanschluss , hier meine dahdi/system.conf
PHP:
span=1,1,0,ccs,ami
# termtype: te
bchan=1-2
hardhdlc=3
echocanceller=mg2,1-2

# Global data

loadzone        = de
defaultzone     = de

Die Ausgabe des Befehls dahdi_cfg -vvvv
PHP:
DAHDI Tools Version - 2.4.1

DAHDI Version: 12f4b09M
Echo Canceller(s): HWEC, MG2
Configuration
======================

SPAN 1: CCS/ AMI Build-out: 0 db (CSU)/0-133 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 03)

3 channels to configure.

Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to none
Meine Karte mit dahdi_hardware:

PHP:
pci:0000:00:09.0     zaphfc+      1397:2bd0 HFC-S ISDN BRI card
Hat jemand einen Tip was der Fehler sein könnte ? Gibt es überhaupt eine funktionsfähige Lösung für diese Versionen?
 
Ich habe aber leider was vergessen
und zwar wird linpri für die ISDN-Signalisierung benötigt das muss mit installiert werden.
Ich habe das schnell mal geändert werde das versuchen am Wochenende nochmal zu überarbeiten

Hast du libpri installiert?
 
Hast du es hinbekommen?

schau mal in deine extension.conf
du hast DAHDI/1/0103308003301000
richtig müsste es DAHDI/G1/0103308003301000 sein
also es fehlt das g für group
 
Zuletzt bearbeitet:
Hi auch ich habe alles durchbekommen,
allerdings sagt mir die Asterisk Konsoles
Code:
[Aug  8 14:24:52] ERROR[1576]: chan_dahdi.c:13915 dahdi_pri_error: PRI Span: 1 Unable to receive TEI from network in state 3(Establish awaiting TEI)!

Jmd ne Idee an was das liegen kann? Desweiteren gibt es ne Möglichkeit um zu sehen ob ein Kanal belegt wird etc?
Danke für die Hilfe.
 
ist libpri installiert?
 
Hi ja das ist installiert. Ganz komisch. Ich komm irgendwie net raus oder rein :(
 
was steht den in deiner /etc/asterisk/chan_dahdi.conf
bzw die dahdi/system.conf hast du daran was verändert?
wenn ja versuch einfach mal mit dahdi_genconf die dahdi/system.conf neu erstellen zu lassen
 
Zuletzt bearbeitet:
Hi also in der chan_dahdi.conf steht
Code:
[channels]
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = bri_cpe_ptmp
channel => 1-2
context = default
group = 63
in der system.conf
Code:
# Autogenerated by /usr/sbin/dahdi_genconf on Mon Aug  8 13:57:15 2011
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] " 
span=1,1,0,ccs,ami
# termtype: te
bchan=1-2
hardhdlc=3
echocanceller=mg2,1-2

# Global data

loadzone	= de
defaultzone	= de

Nix verändert :( ist doch komisch. Hab es auch schon mal mit der neuen dahdi 2.5.0 versucht auch nix.
 
Sorry hatte ausversehen den falschen User. Starte morgen nochmal nen neuen Versuch.
 
So nun habe ich das nochmals versucht. Leider kein Erfolg. Er bringt in regelmäßigen Abständen die Fehlermeldung
Code:
ERROR[659]: chan_dahdi.c:13915 dahdi_pri_error: PRI Span: 1 Unable to receive TEI from network in state 3(Establish awaiting TEI)!

Weder eingehende noch ausgehende Gespräche funktionieren. Die HFC Karte hängt an einem PTMP Anschluss als TE konfiguriert. Sollte so passen. :(
 
Hat hier schon jemand Fortschritte gemacht? Hab bei mir eine FreePBX-Installation mit * 1.8.6.0, dahdi 2.5.0, libpri 1.4.12.
Leider bekommt meine Karte auch kein TEI.
 
Hallo,

ich hoffe noch auf eine Antwort, auch wenn der Thread ein wenig alt ist.
Meine Hardware & Software:

-> Asterisk 1.8.6
-> Debian 6 Squeeze
-> weiter Software & Hardware wie beschrieben aus dem Beitrag oben

Habe jeden Schritt befolgt, meine einzelnen Config Dateien angepasst. Leider bekomme ich jedes mal die Fehlermeldung:
Code:
Unable to create channel of type '' (cause 66 - Channel not implemented)

Würde mich über Hilfestelllungen oder eine Lösung sehr freuen!

Werde mich jetzt mal an eine Neuinstallation setzten und nocheinmal jeden Schritt befolgen, falls es klappt oder auch nicht lasse ich es euch wissen ;)

Gruß
 
Ich versuch gleich mal ein Video zu machen wie ich meine installation gemacht habe muss nur erstmal mein Testrechner ausgraben und ein frisches Debian 6 installieren
 
Die Meldung
PHP:
ERROR[659]: chan_dahdi.c:13915 dahdi_pri_error: PRI Span: 1 Unable to receive TEI from network in state 3(Establish awaiting TEI)!

bekomme ich wenn die ISDN Karte nicht mit den "Netz" verbunden ist
(Unable to receive TEI from network)
also wenn das isdn Kabel nicht drinne steckt bzw kein ISDN Signal anliegt

@JazzP hast bist du dir sicher das ein Signal anliegt? irgendwelche adapter zwichen mal ein ISDN-Telefon rangestekt?
 
Zuletzt bearbeitet:
So hier das Video (sind 2 teile)
Ausgehend von ein neu Installierten debian 6 Standarteinstellung mit Grafischer Oberflächer

ist leider nicht die beste Qualität

am ende habe ich das "[channels]" in der chan_dahadi.conf vergessen kommt im 2ten Video nach

Video1: [video=youtube;Go2f094jel8]http://www.youtube.com/watch?v=Go2f094jel8[/video]
Video2: [video=youtube;sah8ydJYKeE]http://www.youtube.com/watch?v=sah8ydJYKeE[/video]

das Ergebniss kann man nicht so wirklich gut erknnen aber da steht:
CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-pstn default In Service
2 from-pstn default In Service
4 from-pstn default In Service
5 from-pstn default In Service
7 from-pstn default In Service
8 from-pstn default In Service
10 from-pstn default In Service
11 from-pstn default In Service
13 from-pstn default In Service
14 from-pstn default In Service
 
Zuletzt bearbeitet:
Schade erstes Video nicht verfügbar?

Trotzdem vielen Dank wird mir bestimmt weiterhelfen!!!
 
ich lade es nacher nochmal hoch
 
So Youtube möchte nicht so bzw bekommt mit den video nicht klar (ich versuche es weiter hochzuladen muss aber erstmal gesplittet werden das Video)

Ich habe jetzt noch ein mal ein shellscript gebastel für die installation unter Debian 6 bei mir ist es grade ohne Probleme durchgelaufen

Script mit rootrechten ausfüren
1. Runterladen und entpacken der für die Installation benötigten Datein
2. misdn Treiber rausschmeißen
3. dahadi-zaphfc Treiber installieren und laden
4. dahadi installieren
5. libpri installieren
6. asterisk installieren
7. config für asterisk erstellen die alle verfügbaren Module lädt
8. config für die dahadi channels für asterisk erstellen

(Script im ersten Beitrag des Threads verschoben)
nach den durchlaufen der scripts muss noch die sip.conf und die extensions.conf erstellt werden
 
Zuletzt bearbeitet:
Hallo pmgzed,

also bei mir hat das how-to wunderbar funktioniert.

Gut, ich konnte ein paar Schritte auslassen, weil ich vorher asterisk-now installiert hatte, dennoch habe ich lange nach so einer einfachen Anleitung gesucht.

gruss Glorfindel
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.