Debian Lenny, Asterisk 1.4.21 und eine AVM Fritzcard PCI v2.0 ISDN

yznou

Neuer User
Mitglied seit
12 Jan 2011
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo an Alle,

Wie im Titel angedeutet, versuche ich seit geraumer Zeit eine Fritzcard unter Debian Lenny so mit Asterisk anzusprechen, dass ich das Ganze irgendwann einmal als Telefonanlagen-Ersatz benutzen kann.

Bisher - also nach gefühlt endlosen Versuchen - sieht das ganze so aus:

Code:
root@Gimli:~# lspci | grep AVM
03:04.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN (rev 01)

root@Gimli:~# lsmod | grep fc
fcpci                 590240  0
kernelcapi             34580  2 capi,fcpci

root@Gimli:~# lsmod | grep capi
capi                   12096  0
capifs                  4136  2 capi
kernelcapi             34580  2 capi,fcpci

Code:
root@Gimli:~# capiinfo
Number of Controllers : 1
Controller 1:
Manufacturer: AVM GmbH
CAPI Version: 2.0
Manufacturer Version: 3.11-07  (49.23)
Serial Number: 1000001
BChannels: 2
Global Options: 0x00000039
-- cut --

Für mich und auch die Anleitungen die ich bislang benutzt habe, waren das alles immer gute Anzeichen dafür, dass ich auf dem richtigen Weg bin...

Dann habe ich die aktuelle Version von chan_capi heruntergeladen und ge"make"ed, siehe da ... chan_capi.so Version 1.1.5, Asterisk lädt die auch, seitdem in der modules.conf folgendes drinsteht:
Code:
root@Gimli:~# cat /etc/asterisk/modules.conf
[modules]
autoload=yes
--cut--
load => res_features.so
load => chan_capi.so
--cut--
[global]
chan_capi.so = yes

Code:
*CLI> capi info
Common ISDN API Driver (1.1.5) www.chan-capi.org
Contr1: 2 B channels total, 2 B channels free.

Die capi.conf habe ich aus dem .tar von chan_capi kopiert und nichts geändert, bei Bedarf kann ich die nachreichen...

Jetzt die extensions.conf: (123456 sei die Telefonnummer ohne Ortsvorwahl, 0177123456 die Handynummer)

Code:
root@Gimli:~# cat /etc/asterisk/extensions.conf
[default]
exten => 1001,1,Answer()
exten => 1001,n,Playback(hello-world)
exten => 1001,n,Wait(2)
exten => 1001,n,Hangup()

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

;Die Idee: Wenn ich die 901 wähle, ruft der mein Handy an:

exten => 901,1,Set(CALLERID(all)=123456)
;exten => 901,n,SetCallerPres(prohib)
exten => 901,n,Dial(Capi/ISDN1/0177123456/bo)
exten => 901,n,Hangup()

[isdn-in]
exten => 123456,1,Answer()
exten => 123456,n,Playback(hello-world)
exten => 123456,n,Hangup()

Übrigens: Telefonieren mit Sip-Clients funktioniert, das war der erste Versuch mit Asterisk ...
Und jetzt mal 901 wählen:

Code:
Connected to Asterisk 1.4.21.2~dfsg-3+lenny1 currently running on Gimli (pid = 5123)
Gimli*CLI> core set verbose 5
Verbosity was 0 and is now 5
Gimli*CLI> capi debug
CAPI Message Debugging Enabled
    -- Saved useragent "SIP Communicator1.0-alpha6-nightly.build.3193Windows 2000" for peer 2001
[Jan 12 01:13:42] NOTICE[5223]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2001
    -- Executing [901@default:1] Set("SIP/2001-09fc93a0", "CALLERID(all)=123456") in new stack
    -- Executing [901@default:2] Dial("SIP/2001-09fc93a0", "Capi/ISDN1/0177123456/bo") in new stack
       > data = ISDN1/0177123456/bo format=8
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' 'bo'
       > capi request for interface 'ISDN1'
  == ISDN1#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' 'bo'
       > capi: peerlink -1 allocated, peer is unlinked
  == ISDN1#02: Call CAPI/ISDN1#02/0177123456-0 with B3 overlap (pres=0x00, ton=0x00)
CONNECT_REQ                ID=002 #0x0004 LEN=0051
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>
  CallingPartyNumber              = <00 80>123456
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Called ISDN1/0177123456/bo
CAPI: ApplId=0x0002 Command=0x02 SubCommand=0x81 MsgNum=0x0004 NCCI=0x00000101
CONNECT_CONF               ID=002 #0x0004 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'In use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'In use'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
    -- ISDN1#02: activehangingup (cause=0) for PLCI=0x101
DISCONNECT_REQ             ID=002 #0x0005 LEN=0013
  Controller/PLCI/NCCI            = 0x101
  AdditionalInfo                  = default

  == Spawn extension (default, 901, 2) exited non-zero on 'SIP/2001-09fc93a0'
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
CAPI: ApplId=0x0002 Command=0x04 SubCommand=0x81 MsgNum=0x0005 NCCI=0x00000101
DISCONNECT_CONF            ID=002 #0x0005 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

Also nur der Vollständigkeit halber: Das Handy klingelt nicht ;)

Naja, ich bin ratlos ... Alles sieht gut und richtig aus, aber es funktioniert nicht und ich finde meinen Fehler nicht. Wahrscheinlich überseh ich irgendetwas und jetzt bitte ich Euch um Hilfe.

Danke schonmal für jede Mühe,

Gruß
 
Im CONNECT_REQ ist deine Handynummer nicht zu sehen - Called Party Number ist leer, so wir nur die Leitung belegt und dann wieder freigegeben...

Zeig' mal deine capi.conf...

Lass' auch mal das /bo beim Dial weg, weil das "o" für overlapped dialling steht, also Leitungsbelegung und dann Wahl Ziffer für Ziffer.

Gruß Mario
 
Okay, ich habe also erstmal das /bo weggenommen und wieder einen Anruf gestartet ... siehe da, in dem von Dir genannten Feld erscheint jetzt auch die Handynummer...

Code:
Connected to Asterisk 1.4.21.2~dfsg-3+lenny1 currently running on Gimli (pid = 5147)
Gimli*CLI> core set verbose 5
Verbosity was 0 and is now 5
Gimli*CLI> capi debug
CAPI Message Debugging Enabled
    -- Registered SIP '2001' at 192.168.1.61 port 5060 expires 600
    -- Saved useragent "SIP Communicator1.0-alpha6-nightly.build.3193Windows 2000" for peer 2001
[Jan 12 17:29:21] NOTICE[5268]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2001
    -- Executing [901@default:1] Set("SIP/2001-087070a0", "CALLERID(all)=123456") in new stack
    -- Executing [901@default:2] Dial("SIP/2001-087070a0", "Capi/ISDN1/0177123456") in new stack
       > data = ISDN1/0177123456 format=8
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' ''
       > capi request for interface 'ISDN1'
  == ISDN1#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' ''
       > capi: peerlink -1 allocated, peer is unlinked
  == ISDN1#02: Call CAPI/ISDN1#02/0177123456-0   (pres=0x00, ton=0x00)
CONNECT_REQ                ID=002 #0x0004 LEN=0064
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  [B]CalledPartyNumber               = <80>0177123456[/B]
  CallingPartyNumber              = <00 80>123456
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = <01 00>

    -- Called ISDN1/0177123456
CAPI: ApplId=0x0002 Command=0x02 SubCommand=0x81 MsgNum=0x0004 NCCI=0x00000101
CONNECT_CONF               ID=002 #0x0004 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'In use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'In use'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
    -- ISDN1#02: activehangingup (cause=0) for PLCI=0x101
DISCONNECT_REQ             ID=002 #0x0005 LEN=0013
  Controller/PLCI/NCCI            = 0x101
  AdditionalInfo                  = default

  == Spawn extension (default, 901, 2) exited non-zero on 'SIP/2001-087070a0'
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
CAPI: ApplId=0x0002 Command=0x04 SubCommand=0x81 MsgNum=0x0005 NCCI=0x00000101
DISCONNECT_CONF            ID=002 #0x0005 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

Und nun die capi.conf, so wie gefragt...

Code:
root@Gimli:~# cat /etc/asterisk/capi.conf
;
; CAPI config
;
;

; general section

[general]
nationalprefix=0        ; or for example "+49"
internationalprefix=00  ; or for example "+"
;subscriberprefix=+4969 ; prefix including area code (some lines need this)
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.


; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each ISDN port!
;ntmode=yes      ;if the ISDN card operates in NT-mode, set this to 'yes'
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
incomingmsn=*    ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123  ;set a default caller ID to that interface for dial-out,
                 ;this caller ID will be used when the dial option 'd' is set.
;controller=0    ;ISDN4BSD default
;controller=7    ;ISDN4BSD USB default
controller=1     ;CAPI controller number of this interface/port
group=1          ;dialout group
;prefix=0        ;set a prefix to the calling number on incoming calls
softdtmf=on      ;enable/disable software DTMF detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed DTMF detection
faxdetect=off    ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
faxdetecttime=0  ;Only detect faxes during the first 'n' seconds of the call.
                 ;(default '0' meaning for the whole duration of the call)
accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=isdn-in  ;context for incoming calls
;holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
;immediate=yes   ;DID: immediate start of PBX with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start PBX on CONNECT_IND and do not wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1   ;_VERY_PRIMITIVE_ echo suppression. Disable it before you start recording voicemail
                 ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
;echocancel=yes  ;Dialogic(R) Diva(R) (CAPI) echo cancellation (yes=g165)
                 ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelpath=1;Dialogic(R) Diva(R) (CAPI) echo cancellation path
                 ;(possible values: default '1' - E.1/T.1/S0, '2' - IP, '3' - both)
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64     ;echo cancel tail setting (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
                 ;incorporate variable gain in the signal path.
;bridge=yes      ;native bridging (CAPI line interconnect) if available
;callgroup=1     ;PBX call group
;pickupgroup=1   ;PBX pickup group (which call groups are we allowed to pickup)
;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
;language=de     ;set language for this device (overwrites default language)
;disallow=all    ;RTP codec selection (valid with Dialogic(R) Diva(R) Media Boards only)
;allow=all       ;RTP codec selection (valid with Dialogic(R) Diva(R) Media Boards only)
devices=2        ;number of concurrent calls (B-Channels) on this controller
                 ;(2 makes sense for single BRI, 30/23 for PRI/T1)
;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
;qsig=1           ;enable use of Q.SIG extensions. ECMA Variant
;qsig_prnum=1234  ;enable inbound bridging - this should be an QSIG-network-wide unique number

Vielen Dank schonmal, es scheint ja besser zu werden...

Gruß
 
Naja nachdem hier ja schon seit Tagen keine neue Antwort mehr kommt, offensichtlich keiner mehr eine Antwort hat, habe ich dank irc einen alternativen Weg gefunden. Auch wenn das Ganze dabei dann nicht mit der Fritzcard laufen wird.

Trotzdem Danke an m.goegel, auch wenn du einfach Bescheid hättest geben können, dass du auch nicht mehr weiter weißt, dann hätte ich hierfür nicht 5 Tage warten brauchen.


Gruß
 
Ich tippe hier auf ein Problem mit der ISDN-Karte, bzw. dem Anschluss. Dass bei /bo die Nummer nicht erscheint ist völlig korrekt, da hier erstmal die Leitung belegt wird und erst bei OK hier die Nummer gewählt wird (wie beim Abnehmen des Hörers, Wählton warten und dann Nummer wählen. Da aber nach dem Belegen (CONNECT_REQ) keine Antwort mehr kommt, scheint vom ISDN her was nicht zu stimmen. Also prüfe mal den Anschluss, an dem die Karte hängt.

Armin
 
Ich vermute auch ein Hardware-Problem, aber das Kabel hab ich schon zwei mal getauscht, zur Zeit ist ein cat5-Patchkabel dran, hab gelesen, dass soll auch gehen .. Also bei 3 Kabeln wäre das schon n mega-Zufall ...
Bliebe noch die Karte oder der S0-Anschluss ... Die Karte funktioniert aber ja nach innen ... Die Programme können über die Treiber Informationen abrufen und in Asterisk kommt ja erstmal auch kein Fehler...
Der Anschluss am NTBA funktioniert mit der Hardware-Telefonanlage einwandfrei ...

Das einzig interessante, was ich jetzt noch rausgefunden hab, ob mit oder ohne Kabel, die Ausgabe in Asterisk ändert sich nicht ...

Ich hab keine Idee, was ich noch versuchen soll um das Problem einzugrenzen

Gruß
 
Also ich wähle ja mit Asterisk 1.4.21.2~dfsg-3+lenny1, über meine Fritz!Card etwas anders:
Dial(CAPI/ISDN1/${ISDNMSNfordialout}:${EXTEN},,tT)
ohne Variablen z.b. abgehend 46 als MSN nutzen, und die 33 anklingeln lassen:
Dial(CAPI/ISDN1/46:33,,tT)

Ich glaube mich daran zu erinnern dass man eine abgehende MSN zwingend angeben muss, bei dir seh ich aber keine. Ich korrigiere, das o von der bo-Option sollte die "MSN" ja setzen...

Grüße
Genbian
¤dit: Das mit o und setzen der MSN ist KÄSE! o schaltet "overlap dial" ein. Es ist eine Option von chan_capi (siehe dessen Readme) und keine Option vom Asterisk dial-Kommando. Die Optionen vom Asterisk dial-Kommando werden durch Kommas getrennt, die von chan_capi durch Schrägstriche (und Doppelpunkte).
 
Zuletzt bearbeitet:
@genbian: Soweit ich das weiß, kommt das auf die Version von chan_capi an ...
Zwischen den Versionen sehen auch die capi.conf-Dateien anders aus ...

Gruß
 
Code:
*CLI> capi info
Common ISDN API Driver (1.1.1) www.chan-capi.org
Contr1: 2 B channels total, 2 B channels free.
Konnte auf die Schnelle nicht finden, wann sich der DIAL-Syntax geändert haben soll.
ftp://ftp.chan-capi.org/chan-capi/CHANGES
sagt zwischen 1.1.1 und 1.1.5 z.B. nichts dazu.

Genbian.
 
Zuletzt bearbeitet:
da hab ich wohl mist erzählt, ich seh da auch keine änderung in der richtung ...
naja ich hab Deinen Vorschlag mal eingefügt und probiert, an der Ausgabe ändert sich leider nichts.

Das ganze ist doch ätzend :-/
 
Dinge die bei mir anders sind und noch nicht erwähnt wurden:
Code:
:~# lspci | grep AVM
05:01.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN (rev 02)
In der modules.conf von Asterisk bin ich minimalistich:
Code:
[modules]
autoload=yes
Da steht nix zu capi drin, ausser das autoload = yes.
capi.conf von Asterisk:
Code:
[general]
nationalprefix=0
internationalprefix=49
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law
;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.

; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each isdn port!
;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
incomingmsn=46  ;allow incoming calls to this list of MSNs/DIDs, * = any
defaultcid=46  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
;controller=0    ;ISDN4BSD default
;controller=7    ;ISDN4BSD USB default
controller=1     ;capi controller number of this interface/port
group=1          ;dialout group
;prefix=0        ;set a prefix to calling number on incoming calls
softdtmf=on      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
faxdetect=off    ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=isdn-in  ;context for incoming calls
holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
immediate=yes   ;DID: immediate start of pbx with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
echosquelch=0   ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
                 ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
echocancel=no  ;Dialogic Diva (Capi) echo cancelation (yes=g165)
                 ;(possible values: 'no', 'yes', 'force', 'g164', 'g165') 
echocancelold=no;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)

; echosquelch=1 ;<- setzen falls SIP-Nutzer in Afrika ueber echo meckert.(Latenzproblem?!)

;echotail=64     ;echo cancel tail setting (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
                 ;incorporate variable gain in the signal path.
bridge=yes      ;native bridging (CAPI line interconnect) if available 

; bridge yes turned on perhaps it's helping to forward calls. /genbian 2010-09-15

;callgroup=1     ;PBX call group
;pickupgroup=1   ;PBX pickup group (which call groups are we allowed to pickup)
;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
;language=de     ;set language for this device (overwrites default language)
;disallow=all    ;RTP codec selection (valid with Dialogic Diva only)
;allow=all       ;RTP codec selection (valid with Dialogic Diva only)
devices=2        ;number of concurrent calls (b-channels) on this controller
                 ;(2 makes sense for single BRI, 30/23 for PRI/T1)
;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
;qsig=1           ;enable use of Q.SIG extensions. ECMA Variant
;qsig_prnum=1234  ;enable inbound bridging - this should be an QSIG-network-wide unique number

In meiner /etc/isdn/capi.conf steht nur fcpci drin.

Wie und wann hast du dein Kernelmodul (fcpci) kompiliert?
Das hat mich damals(TM) einiges kopfzerbrechen und Patches gekostet...
Seitdem habe ich mich nicht mehr getraut ein Kernelupdate zu fahren...
(Aktuelle Blogeinträge die ich ergooglet habe:
http://frickelblog.de/?p=463
http://www.hagen-bauer.de/blog/2010/07/fritz-capi-unter-debian.html
keine Ahnung wo die jeweils den Sourcecode her haben, will sagen mir sind die ohne weitere Überprüfung erstmal "suspekt"....
Der "Klassiker" für Kernelmodul-Sourcecode ist eigentlich http://foehr-it.de/cms/index.php/support/treiber und sein Forum: http://www.foehr-it.de/hlp/index.php
Oliver Föhr "repariert" die Quellen des Treibers schon seit ein paar Jahren.)
Und er ist durchaus Hilfbereit. Heute eher in seinem Forum als im Usenet:
Beispiel dazu:
Startposting mit Kompilieranleitung für Debian lenny 2.6.26-1-686 #1 SMP (Message-ID: <[email protected]>)
Posting mit Lösung des Problems von 2.6.26 (Message-ID: <[email protected]>)

Schade, dass die Newsgroup de.comp.os.unix.linux.isdn jetzt dicht gemacht wird und stattdessen de.comp.os.unix.linux.hardware benutzt werden soll. :(

Grüße
Genbian
 
Guten Abend,

ja Kopfzerbrechen ist beim compilieren von fcpci ist noch nett ausgedrückt ... ich war heilfroh als es nach stundenlangem probieren funktioniert hat ...

Das aktuellste was ich da gefunden habe war die Datei: fcpci-suse93-3.11-07.tar.gz, die übrigens von dem ftp-server von avm stammt ...
Ich musste - so wie du auch - Patches darauf ausführen, und nachdem das alles dann getan war, klappte auch der make-durchlauf ...
Woher ich allerdings diese diff-files hatte, weiß ich jetzt nicht mehr, wie gesagt ich war froh als es klappte ...
Ich kann ja mal eine aktuellere Version von "deiner" Seite ausprobieren, davon werde ich beim nächsten mal berichten ... Und vielleicht finde ich in dem anderen Forum auch noch einen Hinweis

Die beiden links in die newsgroup, kannte ich schon, auf die bin ich bei meiner Recherche auch gestoßen, die Änderung die im zweiten Link angeführt wird (an der driver.c) hatte ich damals auch vorgenommen...

Vielen Dank auf jeden Fall für die Mühe

Gruß
 
Okay.
Da es bei mir mit der Newsgroupanleitung und den dort verlinkten Patches funktioniert:
Dann sind folgende Dinge bei uns unterschiedlich:
1. chan_capi (verschiedene Versionen)
2. Dial command
3. in der capi.conf von asterisk
Code:
defaultcid=46  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
4. Meine Fritz!Card PCI 2.0 ist Revision 02, deine 01


An einem davon muss es liegen. (Oder an kaputter Hardware.)
Weil die Newsgroup Anleitung bei mir hat funktioniert.
Es ist übrigens ein Unterschied ob das make durchläuft, oder ob dann dein Kernel damit korrekt arbeiten kann. Siehe das Firmwareloadingproblem in der Newsgroup. Dort ist auch das make durchgelaufen, der Linux-Kernel konnte das Modul fcpci sogar laden, aber am nachladen der Firmware ist es gescheitert.
Dies scheint aber bei dir zu funktionieren, da ja capiinfo dir "BChannels: 2" liefert, bei nicht geladener Firmware kommt ja "BChannels: 0"

Ich habe eher 1. bis 3. im Verdacht.
Ich bin nämlich immer noch der Meinung, dass du _keinerlei_ abgehende MSN definierst. (Leider weiß ich nicht defintiv ob das erforderlich ist, aber ich habe es im Verdacht.)
Okay ich habe die Optionen von dir in der README von chan_capi gefunden:
" 'o' : use overlap sending of number.
(Useful if additional digits should be send afterwards or together
with 'b' to get the dialtone and then send the number, e.g., if
no progress tones are available)"

"'b' : early B3 always.", klingt interessant, sollte ich auch mal ausprobieren... Vielleicht höre ich dann mal endlich Freizeichen am SIP-Ende bei allen Handyanrufen und nicht nur bei manchen...
Ich glaub ich werde am Wochenende mal mit dem Dial von dir spielen. Evtl. auch mal deine Version von chan_capi reinkopieren...

Ich bin jetzt auch (wieder?) durch die DIAL-Syntax bei chan_capi durchgestiegen.
Die Teile die von / getrennt werden sind in der README von chan_capi selber beschrieben.
Die weiteren Optionen, die per , getrennt werden sind die Standard Asterisk Optionen des Dial-Kommandos. Von dir werden davon keine benutzt.

Wie erzeuge ich eigentlich per SIP die Funktion der "R"-Taste ("Flash-Hook") von einem Analogtelefon, an einem ISDN S0 Bus? An meiner Telefonanlage gehen einige Funktionen damit, aber da ich bisher nie ein ISDN-Telefon besessen habe, hab ich keinen Plan wie diese Funktionen auf ISDN-Leitungen funktionieren.

genbian
 
Zuletzt bearbeitet:
Hallo, aalso ein erster Zwischenstand:

Da es bei mir mit der Newsgroupanleitung und den dort verlinkten Patches funktioniert:
Dann sind folgende Dinge bei uns unterschiedlich:
1. chan_capi (verschiedene Versionen)
2. Dial command
3. in der capi.conf von asterisk
4. Meine Fritz!Card PCI 2.0 ist Revision 02, deine 01
Sehe ich erstmal auch so, aber:
ich habe die Punkte 1-3 angepasst, hab die chan_capi Version 1.1.1 genommen, deinen Dial-Befehl, und hab die incomingmsn bzw defaultcid angepasst. Zu letzterem noch eine Verständnisfrage: Die MSN ist doch die Rufnummer ohne Ortsvorwahl?
Ergebnis: Keine Änderung am Verhalten.

Da bleibt für mich mal wieder nur ein Hardware-Problem, vielleicht ist die Karte echt kaputt?!

Und ich habe nochmal das Kernelmodul fcpci neu gemacht...
In der Diskussion die du als "Startposting" eingefügt hast gibt es einen Link auf: http://opensuse.foehr-it.de/rpms/11_0/src/fcpci-0.1-0.src.rpm

Lustig ist auch, dass auf der Mailing-Liste das Grundpaket von AVM extra angegeben wird, dabei ist das in dem opensuse rpm drin ... naja
Ich hab die patches vorher mit meinen verglichen, da gibt es Unterschiede, daraufhin hab ich das suse-paket entpackt, die patches angewendet und mit make erfolgreich ein fcpci.ko erstellt. Das ganze wird auch erfolgreich vom Kernel geschluckt, aaaber dann ...

Code:
Gimli*CLI> capi info
Common ISDN API Driver (1.1.1) www.chan-capi.org
Contr1: 0 B channels total, 0 B channels free.
oder auch wahlweise
Code:
Gimli*CLI> capi info
Common ISDN API Driver (1.1.5) www.chan-capi.org
Contr1: 0 B channels total, 0 B channels free.

mmh, nicht sonderlich erfolgreich...Dann gibt es ja noch die aktuelleren suse rpm's von Oliver Föhr, die werde ich jetzt am Wochenende ausprobieren und hier berichten.

Es ist übrigens ein Unterschied ob das make durchläuft, oder ob dann dein Kernel damit korrekt arbeiten kann.
Ja, das stimmt wohl, war mir aber in der Situation erstmal egal, ich wollte nur dasses klappt, dann konnte / und kam ja auch das nächste Problem.

naja, wie gesagt ich probiere nochmal die neueren rpm's, allerdings geh ich immer mehr von einer defekten ISDN-Karte aus.

Die weiteren Optionen, die per , getrennt werden sind die Standard Asterisk Optionen des Dial-Kommandos. Von dir werden davon keine benutzt.
Richtig, ich benutze keine davon, hatte nur zeitweise die timeout-Option gesetzt ... Aber ich gehe eigentlich davon aus, dass eine möglichst einfache Dial-Anweisung für den Anfang reichen sollte?
Finde auch jetzt auf den ersten Blick keine Optionen, die grundlegend das Verhalten ändern könnten.

Zu deiner Frage nach der R-Taste kann ich leider nichts sagen.

Gruß
 
Du bist auf dem richtigen Weg!
Was du nur vergessen ist, die Änderungen die Oliver Foehr im "Lösungsposting" gepostet hat per Hand einzupflegen:
> CAPI Version: 2.0
> Manufacturer Version: 49.23
> Serial Number: 1000001
> BChannels: 0

^^^^^^^^^^^^^^^^^^^^^^^^^

Da ist dein neues Problem, du musst:
strncpy (ctrl->manu, "AVM GmbH", CAPI_MANUFACTURER_LEN);
durch :
lib_strncpy (ctrl->manu, "AVM GmbH", CAPI_MANUFACTURER_LEN);
in der driver.c (zeile 197)ersetzen.
Die Datei befindet sich in den Kernel-Modul-Quellen:
./src/driver.c
Es muss natürlich geändert werden, bevor du den Treiber kompilierst.
Dein System sollte momentan in dem Zustand sein, wo er das Kernelmodul läd, aber die Firmware nicht nachladen kann.

Man müsste mal da ein ordentliches Howto zu schreiben. Momentan muss man diesen ganzen Usenet-Thread verstehen...
1. Patchen mittels der im 1. Usenet-Thread genannten Methode
2. Patchen per Hand in Zeile 197 der driver.c wie im Posting von Oliver Föhr beschrieben.
3. Kernel-Modul (Treiber) kompilieren
.
.
.
Das was man halt so macht um Kernelmodule zu laden und Capi anzuschalten.

So müsste es bei mir funktioniert haben.

Grüße
genbian
P.S.: Ich weiß nicht ob das in aktuelleren Patches schon enthalten ist... Der Usenet-Thread ist ja etwas älter, 2008, wenn ich mich nicht irre, inzwischen haben wir 2011...
 
Zuletzt bearbeitet:
Ah okay, daran hab ich garnicht mehr gedacht, okay das funktioniert mit der genannten Änderung, dann kommt auch wieder:
Code:
Gimli*CLI> capi info
Common ISDN API Driver (1.1.1) www.chan-capi.org
Contr1: 2 B channels total, 2 B channels free.

Allerdings ändert sich immernoch nichts an der Ausgabe...
Ich komm nicht von dem Gedanken los, dass es auch mit der vorherigen Konfiguration klappen würde, aber es ein Hardware Problem gibt...
Was passiert denn bei dir, wenn du das Kabel abmachst? Weil bei mir ändert sich garnichts.

Gruß
 
So. Habe jetzt mal meinen Asterisk direkt an den NTBA gehängt und die entscheidenten drei Zeilen aus deiner extensions.conf übernommen:
Code:
exten => 901,1,Set(CALLERID(all)=24)
exten => 901,n,Dial(Capi/ISDN1/0177123456/bo)
exten => 901,n,Hangup()
System immer noch:
Code:
*CLI> core show version
Asterisk 1.4.21.2~dfsg-3+lenny1 built by pbuilder @ grnetbox on a x86_64 running Linux on 2009-12-14 19:04:56 UTC
*CLI> capi info
Common ISDN API Driver (1.1.1) www.chan-capi.org
Contr1: 2 B channels total, 2 B channels free.
fcpci ist das wie es in dem Usenetthread beschrieben ist.

Bei angeschlossenem Kabel geht es:
Code:
   -- Executing [901@siptester:1] Set("SIP/tester-b5e0eff0", "CALLERID(all)=24") in new stack
    -- Executing [901@siptester:2] Dial("SIP/tester-b5e0eff0", "Capi/ISDN1/0177123456/bo") in new stack
       > data = ISDN1/0177123456/bo format=8
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' 'bo'
       > capi request for interface 'ISDN1'
  == ISDN1#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'ISDN1' 'NULL' '0177123456' 'bo'
       > capi: peerlink -1 allocated, peer is unlinked
  == ISDN1#02: Call CAPI/ISDN1#02/0177123456-6c with B3 overlap (pres=0x00, ton=0x00)
CONNECT_REQ ID=002 #0xd5a8 LEN=0045
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>
  CallingPartyNumber              = <00 80>24
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Called ISDN1/0177123456/bo
CAPI: ApplId=0x0002 Command=0x02 SubCommand=0x81 MsgNum=0xd5a8 NCCI=0x00000101
CONNECT_CONF ID=002 #0xd5a8 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/0177123456-6c is 'In use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'In use'
CAPI: ApplId=0x0002 Command=0x08 SubCommand=0x82 MsgNum=0xe33d NCCI=0x00000101
INFO_IND ID=002 #0xe33d LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x800d
  InfoElement                     = default

INFO_RESP ID=002 #0xe33d LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element SETUP ACK
INFO_REQ ID=002 #0xd5a9 LEN=0026
  Controller/PLCI/NCCI            = 0x101
  CalledPartyNumber               = <80>0177123456
  AdditionalInfo                  = default

       > ISDN1#02: sent CALLEDPARTYNUMBER INFO digits = '0177123456' (PLCI=0x101)
CAPI: ApplId=0x0002 Command=0x08 SubCommand=0x82 MsgNum=0xe33e NCCI=0x00000101
INFO_IND ID=002 #0xe33e LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <82 88>

INFO_RESP ID=002 #0xe33e LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element PI 82 88
       > ISDN1#02: In-band information available
CONNECT_B3_REQ ID=002 #0xd5aa LEN=0013
  Controller/PLCI/NCCI            = 0x101
  NCPI                            = default

    -- ISDN1#02: sent CONNECT_B3_REQ PLCI=0x101
    -- chan_capi queue frame: [ TYPE: Control (4) SUBCLASS: Unknown control '14' (14) ] [ISDN1#02]
CAPI: ApplId=0x0002 Command=0x08 SubCommand=0x82 MsgNum=0xe33f NCCI=0x00000101
    -- CAPI/ISDN1#02/0177123456-6c is making progress passing it to SIP/tester-b5e0eff0
INFO_IND ID=002 #0xe33f LEN=0016
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x18
  InfoElement                     = <89>

INFO_RESP ID=002 #0xe33f LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element CHANNEL IDENTIFICATION 89
CAPI: ApplId=0x0002 Command=0x08 SubCommand=0x81 MsgNum=0xd5a9 NCCI=0x00000101
INFO_CONF ID=002 #0xd5a9 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

CAPI: ApplId=0x0002 Command=0x82 SubCommand=0x81 MsgNum=0xd5aa NCCI=0x00010101
CONNECT_B3_CONF ID=002 #0xd5aa LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  Info                            = 0x0

CAPI: ApplId=0x0002 Command=0x83 SubCommand=0x82 MsgNum=0xe340 NCCI=0x00010101
CONNECT_B3_ACTIVE_IND ID=002 #0xe340 LEN=0013
  Controller/PLCI/NCCI            = 0x10101
  NCPI                            = default

CONNECT_B3_ACTIVE_RESP ID=002 #0xe340 LEN=0012
  Controller/PLCI/NCCI            = 0x10101

CAPI: ApplId=0x0002 Command=0x86 SubCommand=0x82 MsgNum=0xe341 NCCI=0x00010101
DATA_B3_IND ID=002 #0xe341 LEN=0030
  Controller/PLCI/NCCI            = 0x10101
  Data32                          = 0x895a68a
  DataLength                      = 0xa0
  DataHandle                      = 0x13
  Flags                           = 0x0
  Data64                          = 0x0

DATA_B3_RESP ID=002 #0xe341 LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  DataHandle                      = 0x13

    -- ISDN1#02: DATA_B3_IND (len=160) fr.datalen=160 fr.subclass=8
CAPI: ApplId=0x0002 Command=0x86 SubCommand=0x82 MsgNum=0xe342 NCCI=0x00010101
DATA_B3_IND ID=002 #0xe342 LEN=0030
  Controller/PLCI/NCCI            = 0x10101
  Data32                          = 0x895ae8a
  DataLength                      = 0xa0
  DataHandle                      = 0x14
  Flags                           = 0x0
  Data64                          = 0x0

DATA_B3_RESP ID=002 #0xe342 LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  DataHandle                      = 0x14

.
.
.



.
.
.
 -- ISDN1#02: DATA_B3_IND (len=160) fr.datalen=160 fr.subclass=8
CAPI: ApplId=0x0002 Command=0x86 SubCommand=0x82 MsgNum=0xe4ac NCCI=0x00010101
DATA_B3_IND ID=002 #0xe4ac LEN=0030
  Controller/PLCI/NCCI            = 0x10101
  Data32                          = 0x8959e8a
  DataLength                      = 0xa0
  DataHandle                      = 0x12
  Flags                           = 0x0
  Data64                          = 0x0

DATA_B3_RESP ID=002 #0xe4ac LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  DataHandle                      = 0x12

    -- ISDN1#02: DATA_B3_IND (len=160) fr.datalen=160 fr.subclass=8
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
    -- ISDN1#02: activehangingup (cause=0) for PLCI=0x101
DISCONNECT_B3_REQ ID=002 #0xd5ab LEN=0013
  Controller/PLCI/NCCI            = 0x10101
  NCPI                            = default
  == Spawn extension (siptester, 901, 2) exited non-zero on 'SIP/tester-b5e0eff0'
       > chan_capi devicestate requested for ISDN1#02/0177123456-6c is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456-6c is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'Not in use'
CAPI: ApplId=0x0002 Command=0x84 SubCommand=0x81 MsgNum=0xd5ab NCCI=0x00010101
DISCONNECT_B3_CONF ID=002 #0xd5ab LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  Info                            = 0x0

CAPI: ApplId=0x0002 Command=0x84 SubCommand=0x82 MsgNum=0xe4ad NCCI=0x00010101
DISCONNECT_B3_IND ID=002 #0xe4ad LEN=0015
  Controller/PLCI/NCCI            = 0x10101
  Reason_B3                       = 0x3301
  NCPI                            = default

DISCONNECT_B3_RESP ID=002 #0xe4ad LEN=0012
  Controller/PLCI/NCCI            = 0x10101

DISCONNECT_REQ ID=002 #0xd5ac LEN=0013
  Controller/PLCI/NCCI            = 0x101
  AdditionalInfo                  = default

CAPI: ApplId=0x0002 Command=0x04 SubCommand=0x81 MsgNum=0xd5ac NCCI=0x00000101
DISCONNECT_CONF ID=002 #0xd5ac LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

CAPI: ApplId=0x0002 Command=0x04 SubCommand=0x82 MsgNum=0xe4ae NCCI=0x00000101
DISCONNECT_IND ID=002 #0xe4ae LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Reason                          = 0x3400

DISCONNECT_RESP ID=002 #0xe4ae LEN=0012
  Controller/PLCI/NCCI            = 0x101

  == ISDN1#02: Interface cleanup PLCI=0x101
Man merke sich das "== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5" welches gegen Ende kommt, nachdem ich am SIP-Klienten aufgelegt habe (ich hab am Handy mal nicht abgenommen...)

Mit abgezogenem Kabel geht es erwartungsgemäß nicht. Wobei ich eine halbwegs sinnvolle Fehlermeldung erhalte:
Code:
   -- Executing [901@siptester:1] Set("SIP/tester-b5e131b0", "CALLERID(all)=24") in new stack
    -- Executing [901@siptester:2] Dial("SIP/tester-b5e131b0", "Capi/ISDN1/13/bo") in new stack
       > data = ISDN1/13/bo format=8
       > parsed dialstring: 'ISDN1' 'NULL' '13' 'bo'
       > capi request for interface 'ISDN1'
  == ISDN1#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'ISDN1' 'NULL' '13' 'bo'
       > capi: peerlink -1 allocated, peer is unlinked
  == ISDN1#02: Call CAPI/ISDN1#02/13-6e with B3 overlap (pres=0x00, ton=0x00)
CONNECT_REQ ID=002 #0xd5ae LEN=0045
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>
  CallingPartyNumber              = <00 80>24
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Called ISDN1/13/bo
CAPI: ApplId=0x0002 Command=0x02 SubCommand=0x81 MsgNum=0xd5ae NCCI=0x00000101
CONNECT_CONF ID=002 #0xd5ae LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/13-6e is 'In use'
       > chan_capi devicestate requested for ISDN1#02/13 is 'In use'
CAPI: ApplId=0x0002 Command=0x04 SubCommand=0x82 MsgNum=0xe4b0 NCCI=0x00000101
DISCONNECT_IND ID=002 #0xe4b0 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Reason                          = 0x3301

DISCONNECT_RESP ID=002 #0xe4b0 LEN=0012
  Controller/PLCI/NCCI            = 0x101

       > ISDN1#02: CAPI INFO 0x3301: Protocol error layer 1 (broken line or B-channel removed by signalling protocol)
    -- chan_capi queue frame: [ TYPE: Control (4) SUBCLASS: Hangup (1) ] [ISDN1#02]
  == ISDN1#02: CAPI Hangingup for PLCI=0xdead0000 in state 4
  == ISDN1#02: Interface cleanup PLCI=0xdead0000
    -- No one is available to answer at this time (1:0/0/0)
       > chan_capi devicestate requested for ISDN1#02/13-6e is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/13 is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/13-6e is 'Not in use'
    -- Executing [901@siptester:3] Hangup("SIP/tester-b5e131b0", "") in new stack
  == Spawn extension (siptester, 901, 3) exited non-zero on 'SIP/tester-b5e131b0'
       > chan_capi devicestate requested for ISDN1#02/13 is 'Not in use'
Man merke sich
"> ISDN1#02: CAPI INFO 0x3301: Protocol error layer 1 (broken line or B-channel removed by signalling protocol)"
Mit anschließendem
"== ISDN1#02: CAPI Hangingup for PLCI=0xdead0000 in state 4"

Mir gehen die Ideen aus.
Bei dir wird die (nicht funktionierende) Verbindung auch im state 5 getrennt, wie bei mir die erfolgreiche. (Dein Log:)
Code:
    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/0177123456-0 is 'In use'
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'In use'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
    -- ISDN1#02: activehangingup (cause=0) for PLCI=0x101
DISCONNECT_REQ             ID=002 #0x0005 LEN=0013
  Controller/PLCI/NCCI            = 0x101
  AdditionalInfo                  = default
Auch erscheint bei dir ein "activehangingup" welches bei mir nur kommt, wenn ich "aktiv" auflege. Bzw. wenn er mit state 5 aussteigt.
Bei abgezogenem Kabel kommt sofort ein "== ISDN1#02: Interface cleanup PLCI=0xdead0000"
Bei funktionierenden Anrufen erscheint das "== ISDN1#02: Interface cleanup PLCI=0x101" wesentlich später (ganz am Ende?).

Wieviel Zeit vergeht denn bei dir zwischen den Zeilen
Code:
    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > chan_capi devicestate requested for ISDN1#02/0177123456 is 'In use'
und
Code:
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 5
?
5 Sekunden sind der "normale" ISDN-Timeout, wenn irgendwas beim Wählen nicht stimmt.


Also sind wir, bzw. du, genau da, wo du am 18.01.2011 um 05:03 nach dem Kommentar von armincm, schonmal warst. Kabel- oder Anschluss-, evtl. Kartenfehler.


Was habe ich noch gelernt:
Es ist bei der Telekom am NTBA egal, welche MSN man als abgehende MSN angibt, sollte diese nicht zu diesem ISDN-Anschluss gehören, wird die Haupt-MSN des Anschlusses übertragen.
chan_capi brauch irgendeine Form von MSN bzw. Caller-ID in legalem ISDN-Format.
Ansonsten schlägt das Wählen fehl:
"> ISDN1#02: CAPI INFO 0x349c: Invalid number format" falls ${CALLERID(all)} im Format '"sipusername" <24>' vorliegt.
Entweder verändert man wie yznou die komplette CallerID mittels SET-Befehl, so das nur noch Zahlen drin sind.
Oder man macht es wie ich in meinem Normalbetrieb und übergibt chan_capi eine MSN als Teil des Dial-Kommandos:
exten => 901,n,Dial(Capi/ISDN1/${CALLERID(num)}:13/bo)

Gute Nacht
Genbian
 
Hallo,

Zu der Frage nach der Zeit, die vergeht zwischen den zwei von dir zitierten Meldungen:
Ich kann da unendlich lange warten, es kommen keine neuen Meldungen auf dem CLI, sodass mir dann irgendwann garnichts anderes übrigbleibt als aktiv aufzulegen. Das ist dann auch der Grund für activehangup in den Logs. Ich hatte auc mal einen timeout angegeben beim Dial-Befehl, dann wird der Anruf erwartungsgemäß beendet, auch dann mit state 5...

Also sind wir, bzw. du, genau da, wo du am 18.01.2011 um 05:03 nach dem Kommentar von armincm, schonmal warst. Kabel- oder Anschluss-, evtl. Kartenfehler.
Genau so sehe ich das ganze auch ...
Ich mich jetzt mal um einen Karten-Ersatz kümmern, das ganze noch mal auf einem anderen Mainboard probieren...
 
Guten Abend,

also, nachdem ich vorhin die Karte auf ein anderes Mainboard gesteckt, Debian installiert und danach die Konfiguration wiederholt habe, funktionierte die Fritzkarte einwandfrei...

Vielen Dank für jede Mühe und die Hilfsbereitschaft.

Gruß

--closed--
 
Ich wollte nochmal nachtragen, dass momentan http://belug.de/hilfe-howtos-fcpci.html als Kernelmodulquelle für die billige Fritz!Card PCI v2.0 angesagt ist. Dort ist alles schon fertig gepatcht und die Seite scheint auch noch ab und an aktualisiert zu werden. Anleitung für die Nutzung von DKMS ist dort auch drin. Und es ist nicht auf Suse ausgerichtet.

Grüße
genbian
 
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.