[gelöst] Faxemfpang mit Asterisk, afaxd und chan_capi

klassenblatt

Neuer User
Mitglied seit
6 Apr 2007
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo Boardler,

ich habe seit neuem ein Problem mit meinem Asterisk.

Ich weiss nicht genau wie lange schon, jedoch bekomme ich keine Mail mehr wenn ich Faxe empfange.

Hier mal der Logauszug:
Code:
Aug 11 10:46:46 VERBOSE[5891] logger.c:   == ISDN1#02: Incoming call '0221123456789' -> '123456'
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing Set("CAPI/ISDN1/123456-0", "MAILEMPF=mail.empfä[email protected]") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing Set("CAPI/ISDN1/123456-0", "FAXID=0221123456789") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing Goto("CAPI/ISDN1/123456-0", "handlefax|s|1") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Goto (handlefax,s,1)
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing Set("CAPI/ISDN1/123456-0", "FAXFILE=/var/spool/asterisk/fax/1249980406.0") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing System("CAPI/ISDN1/123456-0", "echo "/var/spool/asterisk/fax/1249980406.0" > /faxid.txt") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing System("CAPI/ISDN1/123465-0", "echo "0221123456789" > /faxid2.txt") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing System("CAPI/ISDN1/123456-0", "echo "" > /faxid3.txt") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing System("CAPI/ISDN1/836294-0", "echo "mail.empfä[email protected]" > /faxid4.txt") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:     -- Executing capiCommand("CAPI/ISDN1/123456-0", "receivefax|/var/spool/asterisk/fax/1249980406.0") in new stack
Aug 11 10:46:46 VERBOSE[5900] logger.c:   == ISDN1#02: Answering for 123456
Aug 11 10:47:09 VERBOSE[5891] logger.c:        > ISDN1#02: CAPI INFO 0x3490: Normal call clearing
Aug 11 10:47:09 VERBOSE[5900] logger.c:  capi receivefax: fax receive successful.
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '0221123456789'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '0221123456789'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 's'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'handlefax'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'CAPI/ISDN1/123456-0'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '(null)'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'capiCommand'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'receivefax|/var/spool/asterisk/fax/1249980406.0'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '2009-08-11 10:46:46'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '2009-08-11 10:46:46'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '2009-08-11 10:47:09'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '23'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '23'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'ANSWERED'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is 'DOCUMENTATION'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '(null)'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '1249980406.0'
Aug 11 10:47:09 DEBUG[5900] pbx.c: Function result is '(null)'
Aug 11 10:47:09 VERBOSE[5900] logger.c:   == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 4

In meiner extensions.conf sieht es so aus:
Code:
[handlefax]
exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
exten => s,n,System(echo "${FAXFILE}" > /faxid.txt)
exten => s,n,System(echo "${FAXID}" > /faxid2.txt)
exten => s,n,System(echo "${FAXPAGES}" > /faxid3.txt)
exten => s,n,System(echo "${MAILEMPF}" > /faxid4.txt)
exten => s,n,capicommand(receivefax|${FAXFILE}|||kf)
exten => h,n,System(/var/lib/asterisk/fax2mail.sh "${FAXFILE}" "${FAXID}" "1" "${FAXRATE}" "${MAILEMPF}")

Nun zu meinem Problemansatz - Wenn im Asterisk die Meldung "CAPI Hangingup" kommt, bekomme ich im /var/log/messages folgende Meldung:

Code:
Aug 11 10:47:08 webserver: kernel: kcapi: app1 1 ncci 0x10101 down

Ich bin mir keines CAPI, Kernel oder Asterisk Updates bewusst, von daher kan ich mir den Fehler nicht erklären.

Für den Faxversand nutze ich AFAXD, aber damit hat das bestimmt nichts zu tun.

capiinfo gibt folgendes:
Code:
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
   internal controller supported
   DTMF supported
   Supplementary Services supported
   channel allocation supported (leased lines)
B1 protocols support: 0x4000011f
   64 kbit/s with HDLC framing
   64 kbit/s bit-transparent operation
   V.110 asynconous operation with start/stop byte framing
   V.110 synconous operation with HDLC framing
   T.30 modem for fax group 3
   Modem asyncronous operation with start/stop byte framing
B2 protocols support: 0x00000b1b
   ISO 7776 (X.75 SLP)
   Transparent
   LAPD with Q.921 for D channel X.25 (SAPI 16)
   T.30 for fax group 3
   ISO 7776 (X.75 SLP) with V.42bis compression
   V.120 asyncronous mode
   V.120 bit-transparent mode
B3 protocols support: 0x800000bf
   Transparent
   T.90NL, T.70NL, T.90
   ISO 8208 (X.25 DTE-DTE)
   X.25 DCE
   T.30 for fax group 3
   T.30 for fax group 3 with extensions
   Modem

  0100
  0200
  39000000
  1f010040
  1b0b0000
  bf000080
  00000000 00000000 00000000 00000000 00000000 00000000
  01000001 00020000 00000000 00000000 00000000

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

Ich hoffe ihr habt eine Idee woher der Fehler kommt.

Verwendete Linux Version:
Code:
uname -a:
Linux webserver 2.6.18-6-686 #1 SMP Fri Dec 12 16:48:28 UTC 2008 i686 GNU/Linux

Verwendete Asterisk Version:
Code:
show version:
Asterisk 1.2.13 built by pbuilder @ grnetbox on a x86_64 running Linux on
2008-04-26 20:53:45 UTC

Der Asterisk ist die Installation aus dem Debian Repository (installiert via apt-get)

Ich hoffe die Angaben genügen, wenn nicht einfach kurz bescheid geben.
 
Zuletzt bearbeitet:
Die Zeile
exten => h,n,System ...
sollte eher
exten => h,1,System ...
lauten.

Armin
 
Fehler Gefunden!!!

Es lag am exten => s,n,...

Nun gehts:
Code:
[handlefax]
exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
exten => s,2,System(echo "${FAXFILE}" > /faxid.txt)
exten => s,3,System(echo "${FAXID}" > /faxid2.txt)
exten => s,4,System(echo "${FAXPAGES}" > /faxid3.txt)
exten => s,5,System(echo "${MAILEMPF}" > /faxid4.txt)
exten => s,6,capicommand(receivefax|${FAXFILE})
exten => h,1,System(/var/lib/asterisk/fax2mail.sh "${FAXFILE}" "${FAXID}" "1" "${FAXRATE}" "${MAILEMPF}")
 
Bei s, sollte 'n' natürlich gehen, wenn das erste die '1' hat.
Da aber h ja auch wieder mit 1 anfangen muss, sollte der erste Eintrag hier auch die 1 statt n haben.

Armin
 
Bei "s" ging das auch nicht - nur so wie ich es nun gelöst habe klappt es
 
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.