.titleBar { margin-bottom: 5px!important; }

2 B Kanäle besetzt, chan_capi.c:408 _capi_put_cmsg: CAPI error sending DATA_B3_REQ

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von mko, 4 Okt. 2006.

  1. mko

    mko Neuer User

    Registriert seit:
    22 Okt. 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 mko, 4 Okt. 2006
    Zuletzt bearbeitet: 5 Okt. 2006
    Hallo Zusammen

    Wenn beide B-Kanäle besetzt sind möchte ich, dass der 3. Anrufer ein "Besetztzeichen" hört.
    Über die Auswertung von BCHANNELINFO funktioniert das auch - ab und zu -

    Meist kommt aber der Spruch: "der Anrufer ist vorrübergehend nicht erreichbar"

    Auf der Konsole sehe ich, dass ich gar nich bis zur extensions.conf komme
    vorher kommt schon ein Fehler:

    Code:
    Oct  4 11:54:12 ERROR[9762]: chan_capi.c:408 _capi_put_cmsg: CAPI error sending DATA_B3_REQ ID=001 #0x8213 LEN=0030
      Controller/PLCI/NCCI            = 0x10101
      Data32                          = 0x8144e0c
      DataLength                      = 0xa0
      DataHandle                      = 0xf38b
      Flags                           = 0x0
      Data64                          = 0x0
     (NCCI=0x10101) (error=0x1103 The message could not be accepted because of a queue full condition !! The error code does not imply that CAPI cannot receive messages directed to another controller, PLCI or NCCI)
    
    Meine Capi.Conf

    Code:
    ;
    ; CAPI config
    ;
    ;
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.2
    txgain=0.2
    language=ch     
    ulaw=no        	
    
    [ISDN1] 
    isdnmode=msn
    incomingmsn=9140404,9140407
    defaultcid=9140407  
    controller=1     
    group=1          
    softdtmf=on      
    relaxdtmf=on     
    faxdetect=off    
    accountcode=     
    context=capi-in  
    immediate=yes   
    echocancel=yes  
    echocancelold=no 
    devices=2        
    
    Besten Dank für eure Hilfe !
     

    Anhänge:

  2. armincm

    armincm Aktives Mitglied

    Registriert seit:
    3 Aug. 2005
    Beiträge:
    1,006
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Diese Fehlermeldung hat nicht direkt mit dem dritten Anruf zu tun. Denn beim
    dritten Anruf besteht ja noch gar keine Sprachverbindung, die Meldung ziegt aber Probleme beim DATA-REQ (Sprachdaten).

    Es ist notwendig, ein komplettes Log zu haben, also
    set verbose 5
    capi debug
    und Problem reprduzieren. (Eventuell sogar mit 'set verbose 9', aber dann wird's gross).

    Armin
     
  3. mko

    mko Neuer User

    Registriert seit:
    22 Okt. 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Armin

    Besten Dank für deine Hilfe.

    Numsi schrieb mir....
    <Zitat>
    5) Änderungen der Packetgröße in dem Quellcode von chan_capi:
    Bei passiven isdn/capi Karten wird die Anzahl der Buffer worin die Daten abgelegt werden mittels Software gelöst!
    Bei aktiven Karten ist das durch den verbauten Hardwarespeicher begrenzt! Bei der AVMb1 existieren z.B. 8 Buffer.
    Basierend darauf ist es bei aktiven Karten wichtig nicht zu kleine Packete zu senden das sonst die Buffer ueberlaufen und es zum Fehler kommt.
    Die Fehlermeldung lautet: "error DATA_B3_REQ (error=1103, datalen=160) auf der Asterisk-Konsole.
    Wobei: 0x1103 == capi send queue full und die 160 die übertragene Packetgröße ist.
    Passive Karten scheinen da flexibler zu sein was die Anzahl der Buffer betrifft.
    Nachdem die Buffergroesse im chan_capi_pvt.h größer 200 gesetzt wird, nahm zwar die Latenzzeit zu aber die Audioqualitaet auch.
    Unter Zuhilfenahme der Echoparameter in der capi.conf kann man nun, was das telefonieren betrifft, super Ergebnisse erzielen.
    Diverse Telefonate zum Testen ergaben: die Gesprächspartner haben nicht gemerkt, das dort ein PC mit einer ISDN Karte dazwischen hing.
    </Zitat>

    Ich hab darauf ich in der Source (usr/srv/chan-capi-Head) in der Datei Chan_capi.h
    den Wert
    #define CAPI_MAX_B3_BLOCK_SIZE auf 254 gestellt und neu compiliert.

    Ich weiss zwar nicht ganz genau was der Wert bewirkt aber der Fehler tritt seither nicht mehr auf.

    Der Wert wurde anscheinend auch noch nicht diskutiert, denn im Forum finde ich keine Einträge darüber.

    Vieleicht kannst du dem abhelfen ;)

    Besten Dank

    Martin
     
  4. detejo

    detejo Mitglied

    Registriert seit:
    17 Juli 2006
    Beiträge:
    502
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hier habe ich beschrieben, dass ich diese Fehlermeldung auch bei einer Fritz!Card A1 PCI bekomme, was aus meiner Sicht gegen die Hardware-Puffer-Theorie spricht.

    #define CAPI_MAX_B3_BLOCK_SIZE 320 stellen hat bei mir nichts gebracht - der Fehler tritt weiterhin auf.

    hat jemand noch eine Idee, was ich noch ausprobieren könnte?
    Ich habe auch mal den AVM Quellcode durchgesehen, aber nicht wirklich einen Ansatz gefunden...