Asteriskanbindung an elmeg c88m via AVM Fritz PCI

liberavia

Neuer User
Mitglied seit
12 Mai 2008
Beiträge
92
Punkte für Reaktionen
0
Punkte
0
Hallo,

Im Rahmen eines Ausbildungs-Abschlussprojektes, ist in meinem Team ein Asterisk im Einsatz (Mein erster echter Test ;) ). Obwohl an unserem Switch bisher kein QoS konfiguriert ist und ich sämtliche Sounddateien als mp3 abgelegt habe, funktioniert die Anlage intern ziemlich gut und war auch schnell aufzusetzen (IVR,Warteschlange, Feierabendschaltung etc.).

Verwendet habe ich im Gegensatz zu den Empfehlungen von Stefan Wintermeyer einen Asterisk aus den Paketquellen von Ubuntu 8.04 (Astrerisk 1.4.17). Hierzu gab es auch ein Paket chan_capi, habe also nix kompiliert.

Leider hing ich am Freitag, den ganzen Tag daran ein Problem mit der ISDN Verbindung in den Griff zu bekommen. Angeschlossen sind wir über eine AVM Fritz PCI an eine andere Gruppe, die eine elmeg c88m Anlage betreibt und sozusagen unsere Telekom ist.

Ausgehender Anruf Mit Amtsholung (0) + MSN eines Apparates der elmeg-Anlage
  1. Es klingelt
  2. Gegenüber nimmt ab
  3. Eine Verbindung besteht, aber der Ton ist extrem verzerrt
  4. Nach dem vermeintlichen Beenden der Verbindung durch beiderseitiges auflegen, lässt sich asterisk nicht mehr per "stop gracefully" runterfahren -> Prozess muss dann gekillt werden

Hier das Ganze auf der CLI:
Code:
*CLI>     -- Executing [090@telefone:1] Dial("SIP/11-0820dda0", "CAPI/ISDN1/90") in new stack
       > data = ISDN1/90 format=8
       > capi request for interface 'ISDN1'
  == ISDN1#02: Call CAPI/ISDN1#02/90-0   (pres=0x00, ton=0x00)
    -- Called ISDN1/90
    -- ISDN1#02: received CONNECT_CONF PLCI = 0x101
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0!
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Unknown control '14' (14) ] [ISDN1#02]
    -- CAPI/ISDN1#02/90-0 is making progress passing it to SIP/11-0820dda0
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Unknown control '15' (15) ] [ISDN1#02]
    -- CAPI/ISDN1#02/90-0 is proceeding passing it to SIP/11-0820dda0
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x5!
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Ringing (3) ] [ISDN1#02]
    -- CAPI/ISDN1#02/90-0 is ringing
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9!
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Answer (4) ] [ISDN1#02]
    -- CAPI/ISDN1#02/90-0 answered SIP/11-0820dda0
[May  9 14:34:23] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
[May  9 14:34:23] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
[May  9 14:34:23] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
[May  9 14:34:23] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
[May  9 14:34:23] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown

Das wiederholt sich dann so lange das Gespräch andauert


Code:
[May  9 14:34:24] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
[May  9 14:34:24] NOTICE[9210]: channel.c:2529 __ast_read: Dropping incompatible voice frame on CAPI/ISDN1#02/90-0 of format ulaw since our native format has changed to unknown
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Hangup (1) ] [ISDN1#02]
    -- ISDN1#02: activehangingup (cause=16) for PLCI=0x101
  == Spawn extension (telefone, 090, 1) exited non-zero on 'SIP/11-0820dda0'
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x8f!
  == ISDN1#02: Interface cleanup PLCI=0x101
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x91!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x92!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x93!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x94!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x95!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x96!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x97!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x98!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x99!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9a!

*CLI>        > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9b!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9c!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9d!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9e!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x9f!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa0!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa1!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa2!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa3!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa4!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa5!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa6!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa7!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa8!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xa9!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xaa!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xab!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0xac!

Eingehender Anruf von der elmeg-Anlage

Code:
Asterisk Ready.
*CLI> capi debug
CAPI Debugging Enabled
*CLI>        > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x6912!
    -- CONNECT_IND (PLCI=0x101,DID=45,CID=90,CIP=0x10,CONTROLLER=0x1)
    -- Executing [45@capi-in:1] Dial("CAPI/ISDN1#02/45-0", "SIP/80") in new stack
[May  9 14:03:54] WARNING[12303]: channel.c:3284 ast_request_with_uniqueid: No translator path exists for channel type SIP (native 65535) to 0
[May  9 14:03:54] WARNING[12303]: app_dial.c:1210 dial_exec_full: Unable to create channel of type 'SIP' (cause 58 - Bearer capability not available)
  == Everyone is busy/congested at this time (1:0/0/1)
  == Auto fallthrough, channel 'CAPI/ISDN1#02/45-0' status is 'CHANUNAVAIL'
  == Started pbx on channel CAPI/ISDN1#02/45-0
    -- CAPI queue frame:[0;3 [ TYPE: Control (4) SUBCLASS: Hangup (1) ] [ISDN1#02]
  == ISDN1#02: Interface cleanup PLCI=0xdead0000
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x691c!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x691d!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x691e!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x691f!
       > CAPI: Command=INFO_IND,0x8492: no interface for PLCI=0x1, MSGNUM=0x6920!

Sorgen machen mir auf jeden Fall die Capi-Meldungen
Code:
*CLI> capi debug
CAPI Debugging Enabled
*CLI> 
*CLI> capi info
Common ISDN API Driver (1.0.2) www.chan-capi.org
Contr1: 0 B channels total, 0 B channels free.
*CLI> 
*CLI> module show like capi
Module                         Description                              Use Count 
chan_capi.so                   Common ISDN API Driver (1.0.2)           0         
1 modules loaded
*CLI>

Hier die Meldung vom System (Ubuntu 8.04)
Code:
root@tkanlage:/home/tkadmin# capiinfo
Number of Controllers : 1
Controller 1:
Manufacturer: 
CAPI Version: 2.0
Manufacturer Version: 49.23
Serial Number: 1000001
BChannels: 0
Global Options: 0x00000000
B1 protocols support: 0x00000000
B2 protocols support: 0x00000000
B3 protocols support: 0x00000000

  0100
  0000
  00000000
  00000000
  00000000
  00000000
  00000000 00000000 00000000 00000000 00000000 00000000
  00000000 00000000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
   Hold / Retrieve
   Terminal Portability
   ECT
   3PTY
   Call Forwarding
   Call Deflection
   MCID
   CCBS

root@tkanlage:/home/tkadmin#

capi.conf
Code:
[general]
nationalprefix=0
internationalprefix=00
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

[ISDN1]
isdnmode=msn     
msn=45
incomingmsn=*    
controller=1     ;capi controller number of this interface/port
group=1          ;dialout group
softdtmf=on      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
faxdetect=on
context=capi-in  
echocancelold=yes
devices=2 
mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
extensions.conf
Code:
[sonstige]


[telefone]
; Je nachdem, ob Arbeitszeit oder Feierabend ist, 
; wird der entsprechende Context includiert
; include => context|<uhrzeit>|<wochentag>|<tag-des-monats>|<monat>

; Die ein- und ausgehenden Anrufe sollen zu jeder Tageszeit möglich sein
include => capi-in
exten => _0X.,1,Dial(CAPI/ISDN1/${EXTEN:1})

include => arbeitszeit|08:00-15:00|mon-fri|*|*
include => feierabend

...usw
...usw
...usw

[capi-in]
;Dieser Context ist der default Context in der Datei capi.conf
exten => 45,1,Dial(SIP/80)

Alle Hinweise, die ich durch Netzrecherche aufgrund der Fehlermeldungen erhalten habe, beziehen sich dabei auf einen möglichen Fehlenden Codec. Könnte das eine Erklärung sein?

Eine Übersicht der Gesamtkonstruktion des Netzwerkes kann man auf unserer Wiki Dokumentation anschauen:
http://wiki.fisi-itse.de/index.php/Der_Aufbau_des_Netzwerkes

Vielen Dank für eure Hilfe

André
 
Das Problem ist gelöst

Schuld war ein Bug in Ubuntu 8.04 im Zusammenhang mit der Fritz firmware aus den Paketquellen.

Oben ist ja zu sehen, dass die Ausgabe von capiinfo nur nullen ausgibt. Ebenso zeit die Eingabe von capi info in der CLI ja auch an dass kein B-Kanal zur Verfügung steht.

Ich habe die Telefonanlage jetzt mit dem Vorgänger Ubuntu 7.10 aufgesetzt und siehe da: Es funktioniert. Anfangs hatte ich noch einen verzerrten Ton. Das war aber mit dem Auskommentieren von
Code:
ulaw=yes
in der capi.conf auch behoben.

Gruß

André
 
Kann jemand die Treiberprobleme bestätigen?
Ich habe die selben Pakete benutzt und erhalte ebenfalls die Meldung

"of format ulaw since our native format has changed to unknown"

Gibt es eine Möglichkeit zu testen, ob das Problem an der Karte, am Treiber oder an Asterisk liegt?

Danke & Grüße
 
In der shell:
>$ capiinfo

in Asterisk CLI:
CLI>capi info
 
Lösung

# apt-get build-dep asterisk-chan-capi
# apt-get source --build asterisk-chan-capi
# dpkg -i asterisk-chan-capi_1.0.2-1_i386.deb
# /etc/init.d/asterisk restart
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,873
Beiträge
2,303,518
Mitglieder
378,534
Neuestes Mitglied
test-forcepaster