HFC-Karte mit Dahdi und Asterisk 1.6

Ich hab nur dahdi und dahdi_zaphfc geladen. Ist dahdi_dummy nötig ? Davon habe ich bisher nichts gelesen.

Aber wenn ich das richtig sehe kann mein Asterisk 1.4 gar kein DAHDI ...

Code:
pupsi*CLI> core show channeltypes
Type        Description                              Devicestate  Indications  Transfer    
----------  -----------                              -----------  -----------  --------    
SIP         Session Initiation Protocol (SIP)        yes          yes          yes         
Gtalk       Gtalk Channel Driver                     no           yes          no          
IAX2        Inter Asterisk eXchange Driver (Ver 2)   yes          yes          yes         
Agent       Call Agent Proxy Channel                 yes          yes          no          
MGCP        Media Gateway Control Protocol (MGCP)    yes          yes          no          
Zap         Zapata Telephony Driver w/PRI            no           yes          no          
DS          Application for sending device state mes yes          no           no          
Phone       Standard Linux Telephony API Driver      no           yes          no          
Console     OSS Console Channel Driver               no           yes          no          
Skinny      Skinny Client Control Protocol (Skinny)  no           yes          no          
Local       Local Proxy Channel Driver               yes          yes          no          
----------
11 channel drivers registered.


UPDATE
Hat sich erledigt. Dahdi ist erst ab Version 1.4.22 bzw. Version 1.6 drin in Asterisk. Bei mir läuft 1.4.21. Würde damit sowieso nicht gehen.
 
Zuletzt bearbeitet:
Hat sich erledigt. Dahdi ist erst ab Version 1.4.22 bzw. Version 1.6 drin in Asterisk. Bei mir läuft 1.4.21. Würde damit sowieso nicht gehen.
Was spricht gegen ein Update? Oder habe ich Dich falsch interpretiert?
Selbst ein Upgrade auf 1.6 ist eigentlich in recht kurzer Zeit erledigt...reichlich Kaffee und Tabak und ab gehts! ;)
Und mit ein kleines bisschen Extra-Zeit liessen sich die neuen/geänderten configs anpassen und die neuen Features, wie z.B. Fax aktivieren.

Im Ernst: Alles in allem habe ich meine Test-Kiste (dort, wo dahdi-zaphfc im Test läuft) innerhalb von 1-2 Stunden von 1.4 auf 1.6 umgekrempelt...
 
Was spricht gegen ein Update? Oder habe ich Dich falsch interpretiert?
Selbst ein Upgrade auf 1.6 ist eigentlich in recht kurzer Zeit erledigt...reichlich Kaffee und Tabak und ab gehts! ;)
Und mit ein kleines bisschen Extra-Zeit liessen sich die neuen/geänderten configs anpassen und die neuen Features, wie z.B. Fax aktivieren.

Im Ernst: Alles in allem habe ich meine Test-Kiste (dort, wo dahdi-zaphfc im Test läuft) innerhalb von 1-2 Stunden von 1.4 auf 1.6 umgekrempelt...

Ich hab mich nochmal versucht :) Mit den dahdi-kernel Modul 2.2.0 gings definitiv nicht. Hab die Sourcen gezogen und dazu nen Patch wegen zaphfc. Modul dahdi und zaphfc konnte zwar geladen werden, aber endete dann bei nem

dahdi DAHDI_SPANCONFIG invalid argument 22

Den Source hatte ich auch von dort wo der Patch lag. Später dann einfach mal Asterisk 1.4.25.1 gezogen und auch gleich gesehen das das dahdi Kernel Modul in einem Update (2.2.0.1) vorlag. Zum Glück funktionierte der zaphfc Patch auch mit dieser Version noch - und das Beste - mit 2.2.0.1 zaphfc patched war dann auch der invalid Argument Fehler weg und die Karte wurde sauber initialisiert.

Jetzt habe ich aber noch ein Problem mit Asterisk. Im compilen bin ich nicht ganz so fit. Zwar gibt es hin und wieder paar Progs die ich selber compile statt die fertigen Binary Packages zu nehmen, aber mache ich eher selten. Zum Glück war aber Asterisk sehr freundlich zu bauen.

Code:
cd /usr/src/asterisk-1.4.25.1
./configure --prefix=/usr/local

make
make install
make samples

Und schon war Asterisk schon fast wieder einsatzbereit. Meine Config Dateien aus /etc/asterisk übernommen (extensions.conf + sip.conf) und schon liefs. Aber mein Problem besteht jetzt noch beim dahdi.

core show channeltypes

listet leider nicht dahdi auf und funktioniert auch wirklich nicht. ok. Also nochmal compiled mit

./configure --prefix=/usr/local --with-dahdi=/usr/src/modules/dahdi-kernel-2.2.0.1/include/dahdi

usw.

Aber leider war danach immer noch nicht das Asterisk dahdi Modul da. Hast Du da noch nen Tipp oder weißt Du wo mein Fehler liegt?
 
Hab die Sourcen gezogen und dazu nen Patch wegen zaphfc.
Die Patches kannst Du auch von hier aus diesem Thread holen ;)

mit 2.2.0.1 zaphfc patched war dann auch der invalid Argument Fehler weg und die Karte wurde sauber initialisiert.
Ach guck an...Freut mich, dass der Fehler bei Dir weg ist; wobei ich immer noch nicht nachvollziehen kann, wo der Fehler herkommen soll (außer, ich lade dahdi_dummy vor zaphfc)

cd /usr/src/asterisk-1.4.25.1
./configure --prefix=/usr/local

make
make install
make samples

[...]
Aber leider war danach immer noch nicht das Asterisk dahdi Modul da. Hast Du da noch nen Tipp oder weißt Du wo mein Fehler liegt?
Mach doch mal nach dem ./configure ein make menuconfig. Dort kannst Du haarklein einstellen, was Du brauchst und was nicht...Vielleicht findest Du dort auch noch das eine oder andere interessante.
Besonders bei Channel Drivers solltest Du mal nachgucken, ob chan_dahdi überhaupt ausgewählt ist...
 
Danke für den Tipp mit make menuconfig. Da war chan_dahdi XXX bei mir. Nach etwas herumprobieren ging es dann. Hatte die binary Packages von dahdi-tools installieren. Diese habe ich runtergeschmissen und dahdi-tools selbst compiled. Danach war chan_dahdi bei mir auswählbar.

Zur Zeit kämpfe ich nur noch am Signalling bei chan_dahdi.conf. bri_cpe_ptmp wird nicht akzeptiert wie im Beispiel vor paar Posts von jemanden genannt.
 
UPDATE:

Bin gerade dabei Asterisk 1.6.1.1 zu testen. IN 1.4.25.1 scheint BRI nicht im chan_dahdi mit dirn zu sein.


UPDATE2:
Mit Asterisk 1.6.1.1 ging Signalling BRI_CPRE_PTMP problemlos. Hat's erkannt. System läuft nun einwandfrei bei mir.
 
Zuletzt bearbeitet:
back to Asterisk 1.4.21 und Zaptel 1.4.12

Moin,

mal ein kurzer Zwischenstand. Ich nutz seit heute wieder Asterisk 1.4.21 und Zaptel 1.4.12 aus den Debian Packages. Der Grund dafür ist wahrscheinlich ein Bug im Dahdi Treiber / zaphfc Patch. Nebst Asterisk, den zur Zeit nur ich nutze (Langzeittest stabilität) sind noch 2 ISDN Telefone am S0 angeschlossen.

Das Problem besteht darin das auf einmal nur noch knacksen und rauschen in der Leitung zu hören ist bei den ISDN Telefonen. Der Gesprächspartner ist gar nicht mehr zu verstehen. Wenn ich das ISDN Kabel (ISDN HFC Karte) vom S0 abziehe klingt die Leitung sofort wieder sauber. Stecke ich es wieder rein nur noch rauschen und abgehackt. Erst nach einem Neuladen (rmmod + modprobe) von zaphfc ist es wieder ok bis zum nächsten mal. Man kann drauf warten. Dauert keine paar Stunden bis das Problem wieder da ist. In den Logs und so vom Server ist gar nix zu sehen ...

Jetzt warte ich erstmal ab ob das Problem immer noch besteht. Ansonsten hat die ISDN Karte vielleicht einen defekt ...
 
Zwischenstatus

Mit Asterisk 1.4.21 und dem Zaptel 1.4.12 läuft die Karte nun seit ein paar Tagen komplett fehlerfrei und es treten bei den ISDN Telefonen, die direkt am S0 hängen, keinerlei Probleme auf. Also kommt die Störung eindeutig vom Dahdi Treiber bzw. dem zaphfc Patch für den Dahdi 2.2.0(.1).

Schade eigentlich :(
 
Ich versuche nun seit über 2 Woche ein Asterisk zum laufen zu bringen, mit mISDN hat es nicht geklappt, nun versuche ich es mit dahdi.

Hier ist ein ptp Analagenanschluß mit 30 Nummern an einer HFC-S Karte, telefoniert soll nur über Software-Sipphones werden.
Soweit läuft wohl auch alles, die Karte wir auch angezeigt, aber es kommen keine Gespräche rein und es gehen keine raus :confused:

Derzeit versuche ich eine einfache Testkonfiguration zum laufen zu bringen...

Code:
server:~# dahdi_scan
[1]
active=yes
alarms=OK
description=HFC-S PCI A ISDN card 0 [TE] layer 1 AC
name=ZTHFC1
manufacturer=
devicetype=
location=
basechan=1
totchans=3
irq=0
type=digital-
syncsrc=0
lbo=399-533 feet (DSX-1)
coding_opts=AMI
framing_opts=CCS
coding=AMI
framing=CCS
server:~# dahdi_hardware 
pci:0000:00:0a.0     zaphfc-      1397:2bd0 HFC-S ISDN BRI card

Asterisk:
Code:
CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret        Blocked    State     
 pseudo            default                    default                         In Service
      1            default         de         default                         In Service
      2            default         de         default                         In Service

/etc/dahdi/system.conf
Code:
span=1,1,3,ccs,ami
bchan=1
dchan = 2
echocanceller=mg2,1-2
loadzone        = de
defaultzone     = de

/etc/asterisk/chan_dahdi.conf
Code:
[trunkgroups]

[channels]
language=de
switchtype=euroisdn
pridialplan=dynamic
;prilocaldialplan=unknown
internationalprefix = 00
nationalprefix = 0
localprefix = 0211
privateprefix = 02114325410
unknownprefix =
facilityenable = yes
signalling = bri_cpe
; p2p TE mode  => bri_cpe
; p2mp TE mode => bri_cpe_ptmp
; p2p NT mode  => bri_net
; p2mp NT mode => bri_net_ptmp
;
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=yes
;echotraining=800
;rxgain=2.0
;txgain=3.0
;
group=1
callgroup=1
pickupgroup=1
mohinterpret=default
mohsuggest=default
;
context=default
signalling = bri_cpe
immediate=yes
channel => 1
callerid = asreceived

context=default
signalling = bri_cpe
immediate=yes
channel => 2
callerid = asreceived

extensions.conf
Code:
[default]
exten => 4325410,1,Answer()
exten => 4325410,2,Playback(hello-world)
exten => 4325410,3,Hangup()

exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)

exten => _X.,1,Dial(DAHDI/g1/${EXTEN})

;exten => _X.,1,Dial(SIP/2000)
 
Hallo photek,

als erstes solltest Du überprüfen was alles an dahdi Treibern geladen ist. Welche Dahdi Version hast Du ? (2.2.0.1?) Ist diese zaphfc gepatcht mit dem Patch von paar Posts vorher?

Zudem solltest Du in

/etc/dahdi/modules

alle Module auskommentieren. Wichtig dabei ist nach der Raute "#" ein Leerzeichen zu lassen! Und als letztes einfach "zaphfc" ergänzen. Damit wird nur das zaphfc, dahdi und paar andere Sachen geladen. Aber nicht eben das gesamte Treiberpaket. Wichtig auch: Achte darauf das keineswegs der zaphfc dummy Treiber geladen ist!

Deine
cat /proc/dahdi

würde mich ma interessieren.

Und Du hast einen Fehler in
/etc/dahdi/system.conf

bchan und dchan Angabe ist falsch! Du hast Leitung immer 2 B-Kanäle und 1 D-Kanal. Daraus ergibt sich:

bchan=1-2
dchan=3

Aber echochanceller haste richtig :) Da hätte es Dir auffällen müssen mit b und dchan ;)

dahdi_cfg -vv erneut ausführen.

/etc/asterisk/chan_dahdi.conf

kick den letzten Block raus. Das ist überflüssig! Und beim ersten Block ändere chanel in

channel => 1-2

Code:
context=default
signalling = bri_cpe
immediate=yes
channel => 1
callerid = asreceived

context=default
signalling = bri_cpe
immediate=yes
channel => 2
callerid = asreceived

Mit etwas Glück sind damit Deine Probleme beseitigt :)

Falls es immer noch nicht geht: cat /proc/dahdi* posten und Logauszüge per

asterisk -r -vvvv

Dann könnte man mal sehen was passiert bei Anrufen. Gibt dann den meisten Aufschluß darüber wo's schief geht. Achja, welche Asterisk Version nutzt Du ?
 
Zuletzt bearbeitet:
Hey, danke für Dein Post.


ich hatte bereits in /etc/dahdi/modules nur zaphfc eingetragen.
Dahdi Version 2.2.0.1, das Patch aus Post 16 hatte ich angewandt.
Deine Änderungen habe ich auch ausgeführt, leider ohne erfolg...:confused:

Code:
server:~# cat /proc/dahdi
cat: /proc/dahdi: Ist ein Verzeichnis

asterisk -vvvvvc
Code:
[Jul 30 09:46:21] ERROR[3657]: chan_dahdi.c:14599 process_dahdi: Unknown signalling method 'bri_cpe' at line 14.
[Jul 30 09:46:21] ERROR[3657]: chan_dahdi.c:14599 process_dahdi: Unknown signalling method 'bri_cpe' at line 43.
    -- Registered channel 1, ISDN PRI signalling
    -- Registered channel 2, ISDN PRI signalling
    -- Automatically generated pseudo channel
[Jul 30 09:46:21] WARNING[3657]: chan_dahdi.c:14992 process_dahdi: Ignoring any changes to 'userbase' (on reload) at line 23.
[Jul 30 09:46:21] WARNING[3657]: chan_dahdi.c:14992 process_dahdi: Ignoring any changes to 'vmsecret' (on reload) at line 31.
[Jul 30 09:46:21] WARNING[3657]: chan_dahdi.c:14992 process_dahdi: Ignoring any changes to 'hassip' (on reload) at line 35.
[Jul 30 09:46:21] WARNING[3657]: chan_dahdi.c:14992 process_dahdi: Ignoring any changes to 'hasiax' (on reload) at line 39.
[Jul 30 09:46:21] WARNING[3657]: chan_dahdi.c:14992 process_dahdi: Ignoring any changes to 'hasmanager' (on reload) at line 47.
  == Registered channel type 'DAHDI' (DAHDI Telephony Driver)
  == Manager registered action DAHDITransfer
  == Manager registered action DAHDIHangup
  == Manager registered action DAHDIDialOffhook
  == Manager registered action DAHDIDNDon
  == Manager registered action DAHDIDNDoff
  == Manager registered action DAHDIShowChannels
  == Manager registered action DAHDIRestart
 chan_dahdi.so => (DAHDI Telephony)
  == Registered translator 'alawtoulaw' from format alaw to ulaw, cost 1
  == Registered translator 'ulawtoalaw' from format ulaw to alaw, cost 1

Aha, da ist wohl das Problem... Ich habe kein libpri installiert, hängt das evtl. damit zusammen?

Danke,

photek
 
Achso, ich nutze Asterisk 1.6....
 
Code:
server:~# cat /proc/dahdi
cat: /proc/dahdi: Ist ein Verzeichnis

Da fehlt die Wildcard ;)

cat /proc/dahdi* < so korrekt

libpri MUSS natürlich installiert sein! Diese wird beim compilen für Asterisk 1.6 zwingend benötigt.
 
Code:
server:/etc/asterisk# cat /proc/dahdi*
cat: /proc/dahdi: Ist ein Verzeichnis
:)


Aber soll ich Dir was sagen, nach dem ich libpri installiert und dahdi neu gepacht habe kommen auch anrufe rein!!! :p

Allerdings nur so: exten => s,1,Dial(SIP/2000)
extensions.conf
Code:
[default]
exten => 1001,1,Answer()
exten => 1001,2,Playback(hello-world)
exten => 1001,3,Hangup()

exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)

exten => _X.,1,Dial(DAHDI/g1/${EXTEN})

;exten => _X.,1,Dial(SIP/2000)


exten => s,1,Dial(SIP/2000)

raus geht immer noch nichts :confused:
 
Code:
*CLI>     -- Restart on requested on entire span 1
       > Saved useragent "SJphone/1.60.299a/L (SJ Labs)" for peer 2000
  == Using SIP RTP CoS mark 5
    -- Executing [017812345@default:1] Dial("SIP/2000-09d59dc0", "DAHDI/g1/017812345") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/017812345

sonst passiert nichts....
 
Bei sieht das bei einem ausgehenden Anruf wie folgt aus

Code:
    -- Executing [0157123456@default:1] Set("SIP/200-0a0239b0", "CALLERID(num)=123456") in new stack
    -- Executing [0157123456@default:2] Set("SIP/200-0a0239b0", "CALLERID(name)=123456") in new stack
    -- Executing [0157123456@default:3] Dial("SIP/200-0a0239b0", "DAHDI/g1/0157123456||tT") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/0157123456
    -- DAHDI/1-1 is proceeding passing it to SIP/200-0a0239b0
    -- DAHDI/1-1 is making progress passing it to SIP/200-0a0239b0
    -- DAHDI/1-1 is ringing
    -- Hungup 'DAHDI/1-1'
  == Spawn extension (default, 0157123456, 3) exited non-zero on 'SIP/200-0a0239b0'

CALLERID(num) und CALLERID(name) bezeichnen die beim Anrufer anzuzeigende MSN.
 
wie sieht denn Deine extensions.conf aus?

Ich habe die Befüchtung, dass ptp mit Dahdi Probleme macht....
 
So, nun klappt es :p:p:p:p (Hoffentlich auch stabil)

Das war wirklich eine Menge Arbeit und Zeit bis der erste Anruf rein- und raus ging....

Also, folgende Einstellungen sind nötig für einen funktionierenden PTP-Anschluß:


chan_dahdi.conf (Ganz wichtig immediate=no)
Code:
context=default
signalling = bri_cpe
; overlapdial=yes
immediate=no
channel => 1-2
callerid = asreceived

extensions.conf
Code:
exten => 0,1,Dial(SIP/2000) ; Durchwahl 0 ankommend
exten => _X.,n,Dial(DAHDI/g1/${EXTEN})  ; Rausgehende Anrufe

Jetzt kann ich mich an das Konfigurieren machen...

Vielen Dank!!!

photek

Kann man den Thread sticky machen? Mir war das hier eine große Hilfe!
 
So, nun klappt es :p:p:p:p (Hoffentlich auch stabil)

Das war wirklich eine Menge Arbeit und Zeit bis der erste Anruf rein- und raus ging....

Also, folgende Einstellungen sind nötig für einen funktionierenden PTP-Anschluß:


chan_dahdi.conf (Ganz wichtig immediate=no)
Code:
context=default
signalling = bri_cpe
; overlapdial=yes
immediate=no
channel => 1-2
callerid = asreceived

extensions.conf
Code:
exten => 0,1,Dial(SIP/2000) ; Durchwahl 0 ankommend
exten => _X.,n,Dial(DAHDI/g1/${EXTEN})  ; Rausgehende Anrufe

Jetzt kann ich mich an das Konfigurieren machen...

Vielen Dank!!!

photek

Kann man den Thread sticky machen? Mir war das hier eine große Hilfe!

Was hast Du nun in Deiner chan_dahdi.cinf anders gemacht? Seh da momentan nicht den Unterschied ... bzw woran lags nun ?
 

Statistik des Forums

Themen
246,089
Beiträge
2,245,919
Mitglieder
373,557
Neuestes Mitglied
rauchfreiezone
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.