HFC nachträglich zu chan_capi-cm

heinzelrumpel

Neuer User
Mitglied seit
4 Apr 2006
Beiträge
172
Punkte für Reaktionen
0
Punkte
0
Hi,

habe zusätzlich eine HFC Karte in meinen Asterisk eingebaut. Es läuft dort bisher Asterisk 1.2.10 mit chan_capi-cm. Alle HFC Module etc. sind kompeliert und installiert

Code:
salsa:/usr/local/src/bristuff-0.3.0-PRE-1s# cat /proc/zaptel/1
Span 1: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] layer 1 ACTIVATED (F7)" AMI/CCS

           1 ZTHFC1/0/1 Clear
           2 ZTHFC1/0/2 Clear
           3 ZTHFC1/0/3 HDLCFCS
salsa:/usr/local/src/bristuff-0.3.0-PRE-1s#

Da trotz richtiger Einträge in der extensions.conf auf der HFC Karte keine Anrufe angenommen werden, habe ich die Vermutung, das ich Asterisk wohl neu kompelieren muss, da wohl HFC Support noch nicht mit eingebaut ist. Liege ich da richtig? Wie kann ich meine derzeitige Asteriskversion sichern, fall beim Installieren etwas schief geht?
 
Die zaptel.conf ist zu bearbeiten:

Code:
# hfc-s pci a span definition
# most of the values should be bogus because we are not really zaptel
loadzone=nl
defaultzone=nl

# HFC ISDN card
span=1,1,3,ccs,ami
bchan=1-2
dchan=3

und zum Aktivieren noch folgendes:


insmod zaptel
insmod zaphfc modes=1
ztcfg -vvvv
 
Hmm, verstehe Deine Antwortet auf meine Frage nicht. Die HFC Karte läuft doch schon, nur Asterisk kann mit Ihr nichts anfangen. Das hat ja nichts mit zaptel.conf oder zapata.conf zu tun, sondern mit Asterisk, welches ursprünglich kompeliert wurde, als nur die Fritz drin war.
 
Die fli4l-Pakete (bristuff/asterisk) erstelle ich auf einem alten notebook, dass weder eine hfc noch eine Fritz-Karte (capi) drinnen hat und trozdem laufen die opts!

Da du den bristuff schon vollständig installiert hast, sind somit alle Voraussetzungen für den Betrieb der hfc-Karte getroffen worden.

Das Kompilieren ist absolut unabhängig von irgendwelcher Hardware die sich zu diesem Zeitpunkt im PC befindet!

Wenn bei dir die hfc-Karte nicht will, liegt es (wie bereits erwähnt) an den Einstellungen sprich zaptel.conf, Laden der Treiber mit 'insmod' und Einrichten mit ztcfg!

Gruss

Netview
 
Dies muss vor dem asterisk-startup erfolgen:

Code:
insmod zaptel
insmod zaphfc modes=1
ztcfg -vvvv

mit 'cat /proc/interrupts' kannst du sehen ob er die Karte überhaupt erkannt hat!
 
Code:
salsa:~# cat /proc/interrupts
           CPU0
  0: 1296886282          XT-PIC  timer
  2:          0          XT-PIC  cascade
  9:  635659912          XT-PIC  fcpci, eth0
 10: 1780897449          XT-PIC  zaphfc
 14:     416139          XT-PIC  ide0
 15:         11          XT-PIC  ide1
NMI:          0
LOC:          0
ERR:          0
MIS:          0
salsa:~#

Code:
# hfc-s pci a span definition
# most of the values should be bogus because we are not really zaptel
loadzone=nl
defaultzone=nl

span=1,1,3,ccs,ami
bchan=1-2
dchan=3

Code:
salsa:~# cat /proc/zaptel/1
Span 1: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] layer 1 ACTIVATED (F7)" AMI/CCS

           1 ZTHFC1/0/1 Clear
           2 ZTHFC1/0/2 Clear
           3 ZTHFC1/0/3 HDLCFCS
salsa:~#

Es sieht doch alles normal aus. Trotzdem reagiert der Asterisk nicht.
 
Die zaptel.conf muss im /etc-Verzeichnis stehen und dann bitte mal folgende Befehle absetzen und den output posten:

Code:
insmod zaptel
insmod zaphfc modes=1
ztcfg -vvvv

erst dann kann asterisk gestartet werden!
 
Netview schrieb:
Die zaptel.conf muss im /etc-Verzeichnis stehen und dann bitte mal folgende Befehle absetzen und posten:

Code:
insmod zaptel
insmod zaphfc modes=1
ztcfg -vvvv

erst dann kann asterisk gestartet werden!

also

Code:
salsa:~# insmod zaptel
insmod: can't read 'zaptel': No such file or directory
salsa:~#


Wieso modes=1? Ich habe nur 1 HFC Karte und daher muss modes=0 sein.

Auf allen anderen Asterisken habe ich auch nie mehr als

Code:
modprobe zaphfc modes=x
ztcfg -vvvv

eingegeben. Es hat immer funktioniert.
 
Modes=x hat nur indirekt mit der Anzahl Karten zu tun sondern bestimmt den modus:

load the card in NT1 mode you'll need to set the 'modes' option when loading the driver:

insmod ./zaphfc.o modes=1

or if you have more cards (example: two) you can use

insmod ./zaphfc.o modes=1 #(binary: 0 1) card0: NT mode, card1: TE mode
or
insmod ./zaphfc.o modes=2 #(binary: 1 0) card0: TE mode, card1: NT mode
or
insmod ./zaphfc.o modes=3 #(binary: 1 1) card0: NT mode, card1: NT mode
and so on

und ohne den zaptel-driver läuft nix!

Hast du das gemacht:

wget http://www.asterisk-support.de/mirror/zaptel/zaptel-1.2.6.tar.gz
cd zaptel
patch -p1 < ../patches/zaptel.patch

und dann make clean;make install ?
 
Code:
salsa:~# lsmod
Module                  Size  Used by
zaphfc                 13332  0
zaptel                227844  1 zaphfc
af_packet              20872  2
crc_ccitt               2432  1 zaptel
capi                   17728  4
capifs                  6024  2 capi
ipv6                  229892  10
deflate                 3840  0
zlib_deflate           20760  1 deflate
twofish                36096  0
serpent                13056  0
aes_i586               39156  0
blowfish                9856  0
des                    11648  0

Meine Karte läuft im TE Modus mit modes=0. So soll es auch sein,denn ich will keinen internen S0 damit aufbauen.
 
ok schön - zaptel und zaphfc sind also geladen!

Ich hatte weiter oben schon mal nach dem output von 'ztcfg -vvvv' gefragt - was kommt denn da?
 
Netview schrieb:
ok schön - zaptel und zaphfc sind also geladen!

Ich hatte weiter oben schon mal nach dem output von 'ztcfg -vvvv' gefragt - was kommt denn da?


Hier ist der Output ;)

Code:
salsa:~# ztcfg -vvvvv

Zaptel Configuration
======================

SPAN 1: CCS/ AMI Build-out: 399-533 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Slaves: 01)
Channel 02: Clear channel (Default) (Slaves: 02)
Channel 03: D-channel (Default) (Slaves: 03)

3 channels configured.

Changing signalling on channel 1 from Unused to Clear channel
Changing signalling on channel 2 from Unused to Clear channel
Changing signalling on channel 3 from Unused to HDLC with FCS check
salsa:~#

Sehe da nichts, was da nicht hingehört.
 
Gut - dann nächster Schritt (asterisk im debugmode) starten:

asterisk -dddvvvr

Poste mal den output wenn du über die hfc rauswählst!
 
Netview schrieb:
Gut - dann nächster Schritt (asterisk im debugmode) starten:

asterisk -dddvvvr

Poste mal den output wenn du über die hfc rauswählst!

Ich wähle doch nicht über HFC raus. die Karte läuft im TE Modus, also nur rein.

Auch im debug Modus rührt sich Asterisx kein Stück. Es kommt absolut keine Meldung.

Hier mal meine /etc/asterisk/zapata.conf

Code:
[channels]

switchtype = euroisdn
echocancel=yes
echotraining=100
echocancelwhenbridged=yes
immediate=no
#nationalprefix=0
#internationalprefix=00
usecallerid=yes
usecallingpres=yes
#localprefix=421
hidecallerid=no
callwaitingcallerid=yes



signalling = bri_cpe_ptmp
pridialplan=local
prilocaldialplan=local
overlapdial = yes
context=incoming
group = 1
channel => 1-2

Die installierte Asterisk Version ist die 1.2.9.1 die bristuff Module kommen aus der aktuellen pre. Ich glaube ja, das Asterisk damit nicht klar kommt und ich daher die "aktuelle" 1.2.10 aus der pre installieren muss.
 
Ich wähle doch nicht über HFC raus. die Karte läuft im TE Modus, also nur rein.

Auch im debug Modus rührt sich Asterisx kein Stück. Es kommt absolut keine Meldung.


Ob rein oder raus wäre ja egal gewesen, im log hätte was stehen müssen!

Die installierte Asterisk Version ist die 1.2.9.1 die bristuff Module kommen aus der aktuellen pre. Ich glaube ja, das Asterisk damit nicht klar kommt und ich daher die "aktuelle" 1.2.10 aus der pre installieren muss.

Wenn du einen mix-mode fährst brauchst du dich auch nicht zu wundern ;-)

Ich würde mal den aktuell bristuff versuchen:
http://www.junghanns.net/downloads/bristuff-0.3.0-PRE-1v.tar.gz
 
Habe gerade noch was merkwürdiges festgestellt. Der Kontext, in dem die HFC Karte landet ist dieser hier.

[/CODE]
[15]
exten => 481,1,Answer
exten => 481,2,Background(ans_torsten)
exten => 481,3,Wait(5)
exten => 481,4,Playback(leider_torsten)
exten => 481,5,Dial(Zap/g1/19,50,tm)
#exten => 481,5,Dial(Capi/contr1/19,50,tm)
exten => 481,6,Hangup

exten => 1,1,Playback(signal_torsten)
exten => 1,2,Voicemail(s15)
exten => 2,1,Playback(verb_zentrale_torsten)
[/code]

Vor dem einbau der HFC Karte wurden eingehende Anrufe auf der Fritz auch weitervermittelt, hier durch drücken der 2. Jetzt habe ich den eintrag mal geändert, sodass solche Gespräche nicht über Capi, sondern über Zap rausgehen.
Leider scheint Asterisk dass aber voll zu ignorieren, denn Caoi wird nachwievor genommen. Ist mir ein Rätsel, wie das passieren kann.

Hier ein Auszug aus der CLI

Code:
CLI> show dialplan 15
[ Context '15' created by 'pbx_config' ]
  '1' =>            1. Playback(signal_torsten)                   [pbx_config]
                    2. Voicemail(s15)                             [pbx_config]
  '2' =>            1. Playback(verb_zentrale_torsten)            [pbx_config]
                    2. Dial(Capi/contr1/19|50|tm)                 [pbx_config]
  '481' =>          1. Answer()                                   [pbx_config]
                    2. Background(ans_torsten)                    [pbx_config]
                    3. Wait(5)                                    [pbx_config]
                    4. Playback(leider_torsten)                   [pbx_config]
                    5. Dial(Zap/g1/19|50|tm)                      [pbx_config]
                    6. Hangup()                                   [pbx_config]
  '6666' =>         1. Answer()                                   [pbx_config]
                    2. Goto(disa|6666|1)                          [pbx_config]
  '9999' =>         1. Answer()                                   [pbx_config]
                    2. VoiceMailMain(15)                          [pbx_config]
                    3. Hangup()                                   [pbx_config]

-= 5 extensions (15 priorities) in 1 context. =-

Wähle ich nun die 481, passiert dies:

Code:
CLI>     -- Executing Answer("CAPI/ISDN1/481-1", "") in new stack
    -- Executing Goto("CAPI/ISDN1/481-1", "15|481|1") in new stack
    -- Goto (15,481,1)
    -- Executing Answer("CAPI/ISDN1/481-1", "") in new stack
    -- Executing BackGround("CAPI/ISDN1/481-1", "ans_torsten") in new stack
    -- Playing 'ans_torsten' (language 'de')
  == ISDN1: Setting up DTMF detector (PLCI=0x101, flag=1)
  == CDR updated on CAPI/ISDN1/481-1
    -- Executing Playback("CAPI/ISDN1/481-1", "verb_zentrale_torsten") in new stack
    -- Playing 'verb_zentrale_torsten' (language 'de')
    -- Executing Dial("CAPI/ISDN1/481-1", "Capi/contr1/19|50|tm") in new stack
    -- Called contr1/19
    -- Started music on hold, class 'default', on channel 'CAPI/ISDN1/481-1'
    -- CAPI/ISDN1/19-2 is proceeding passing it to CAPI/ISDN1/481-1
Oct 26 15:48:15 WARNING[4904]: chan_capi.c:3951 capi_signal_progress: wrong channel state to signal PROGRESS
    -- CAPI/ISDN1/19-2 is making progress passing it to CAPI/ISDN1/481-1
Oct 26 15:48:15 WARNING[4904]: chan_capi.c:3951 capi_signal_progress: wrong channel state to signal PROGRESS
    -- CAPI/ISDN1/19-2 is ringing
    -- Stopped music on hold on CAPI/ISDN1/481-1

Die Priority 5 scheint ignoriert zu werden.
 
Die patches die du im * 1.2.9.1 drinnen hast sind sicherlich nicht kompatibel mit den Versionen/patches von zaptel, zaphfc und libpri.

Das beste wäre mal etwas zu bauen was zusammen gehört ->
bristuff-0.3.0-PRE-1v.tar.gz

Meine Meinung!

Gruss

Netview
 
Netview schrieb:
Ob rein oder raus wäre ja egal gewesen, im log hätte was stehen müssen!



Wenn du einen mix-mode fährst brauchst du dich auch nicht zu wundern ;-)

Ich würde mal den aktuell bristuff versuchen:
http://www.junghanns.net/downloads/bristuff-0.3.0-PRE-1v.tar.gz

Laut junghanns.net ist die 1s aber die aktuelle Version. Wieso würde denn die 1v zum installierten Asterisk 1.2.9.1 passen? Müsste ich da nicht ne alte Version nehmen, also vor 1s
 
Welchen kernel setzt du ein?

Falls 2.4.32 kannst du u.U. meine fli4l-packs verwenden!
 
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.