Faxen mit Asterisk [Gelöst]

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen,

ich experimentiere gerdae ein bisschen mit Asterisk rum und will Faxe versenden. (Empfang klappt ohne Probleme). Wenn ich jedoch capicommand ausführe kommt folgednes:

*CLI> console dial [email protected]
== Console is full duplex
*CLI> -- Executing [[email protected]:1] capicommand("Console/dsp", "sendfax||4712") in new stack
[Nov 14 10:28:30] WARNING[5379]: chan_capi.c:4778 pbx_capicommand_exec: This capicommand works on capi channels only, check your extensions.conf!
== Spawn extension (fax-out, 4712, 1) exited non-zero on 'Console/dsp'
<< Hangup on console >>
Ich habe eine S2M Karte (30 B Kanäle (pri)) eingebaut und diese mit einer anderen S2M NT Karte verbunden, die mit CapiFax auf eingehende Faxe lauscht. Hat da einer vll eine Ahnung was da falsch läuft oder wie ich capicommand klar machen kann, dass es auf CAPI aufsetzen soll?

extensions.conf sieh so aus:

[general]
static=yes
writeprotect=no
chan_capi.so=yes


[default]
include => fax-out

[fax-out]
exten => 4712,1,capicommand(sendfax|${/var/spool/asterisk/fax/in/1226407484.0.sff}|4712)
 
Zuletzt bearbeitet:

pi4tel

Neuer User
Mitglied seit
27 Mrz 2006
Beiträge
111
Punkte für Reaktionen
0
Punkte
0
Eigentlich steht doch alles da: "capicommand works on capi channels only"

Mittels call file oder über das manager interface muss eine Verbindung über einen capi Kanal zum anderen Rechner aufgebaut werden. Für diesen Kanal ist dann "capicommand(sendfax,...)" möglich.

Stefan
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Gut, ich bin noch nicht so erfahren mit Asterisk. Was ist das Call file bzw. Manager Interface genau und wo kann man das konfigurieren?
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Habs schon gecheckt...ich werds mal ausprobieren...
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Also so wie ich das verstanden habe bauen .call files erst eine Verbindung auf so ähnlich wie ne vpn verbindung und dann kann man über diesen Kanal z.b. telefonieren, ich will aber Faxe versenden und da kann man nicht auf dem Faxserver mit hilfe einer call File anrufen..oder?
 

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
367
Punkte für Reaktionen
2
Punkte
18
Call Files bauen eine Verbindung auf - so ähnlich wie wenn man von 40 Jahren den Telefonhörer von der Gabel genommen und die gewünschte Nummer über das lustige Drehrad gewählt hätte ;-)

http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out zeigt Dir, was ein Call File kann und wie man eines anlegt.


CapiCommand(sendfax|${FAXFILE}) schickt ein Fax, das als SFF-Datei mit dem Namen, der in der Variablen ${FAXFILE} hinterlegt ist, ab.

Dazu muss aber schon eine CAPI-Verbindung aufgebaut sein, CapiCommand(sendfax) baut keine eigene Faxverbindung auf. Um diese Verbindung (eben den CAPI-Channel) zum entfernten Faxgerät aufzubauen, kannst Du ein Call File verwenden.

Du könntest den Channel aber auch mit Dial(CAPI...) im Dialplan aufbauen (ungetestet!):

Code:
exten => 555,1,Dial(CAPI/g1/0121234567:0127654321)
exten => 555,2,capiCommand(sendfax|/pfad/zum/Faxfile.sff)
exten => 555,3,Hangup()
Das ist aber blödsinnig, denn das Versenden von Faxen unterliegt in diesem Zusammenhang zwei Grundsätzen:
- Du willst nicht immer die selbe Faxdatei /pfad/zum/Faxfile.sff schicken
- die Faxnummer des Empfängers ist nicht immer die 012-7654321

Darum kannst Du ein Call File erstellen, das zunächst die Verbindung zur gewünschten Faxnummer aufbaut und dann in Deinem Dialplan in einen Context springt, in dem CapiCommand(sendfax) aufgerufen wird.

Ist auf den ersten Blick alles nicht so einfach, ich weiß...

Unter http://openlab.radion.org/lab/HOWTO_Setup_an_Asterisk_Fax-Server_with_CAPI findet Du noch eine Idee, wie man einen Hylafax-Server emuliert und Faxe per CapiCommand(sendfax) verschickt.

HTH
Ralph
 
Zuletzt bearbeitet:

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
exten => 555,1,Dial(CAPI/g1/0121234567:0127654321)
exten => 555,2,capiCommand(sendfax|/pfad/zum/Faxfile.sff)
exten => 555,3,Hangup()
Das hab ich genau in der Art und Weise probiert, das funktioniert nicht, auf Grund der Tatsache, dass meine Gegenstelle (Faxserver) den Ruf nicht annimmt... Gibt es (für Windows) irgendein Programm, dass Rufe annimmt und die Verbindung aufrecht erhält?

Das ganze Gedöns hier soll übrigens nur ein Test sein, HIntergrund ist der, dass ich gucken möchte, ob jbenable=yes den Faxversend über Asterisk in irgendeiner Weise beeinträchtigt, mehr will ich gar nicht von daher ist es egal, ob immer die gleiche Nummer gewählt wird oder ob immer die gleiche sff Datei geschickt wird.

Sollte ich wirklich Faxe verschicken wollen würd ich eh direkt Hylafax nehmen :)
 

pi4tel

Neuer User
Mitglied seit
27 Mrz 2006
Beiträge
111
Punkte für Reaktionen
0
Punkte
0
Dazu muss aber schon eine CAPI-Verbindung aufgebaut sein, CapiCommand(sendfax) baut keine eigene Faxverbindung auf. Um diese Verbindung (eben den CAPI-Channel) zum entfernten Faxgerät aufzubauen, kannst Du ein Call File verwenden.
Das ist richtig und bis hier ist es egal, ob eine Sprachverbindung oder Faxübertragung gewünscht wird. Sind ja auch beides nur Audiodaten.

Du könntest den Channel aber auch mit Dial(CAPI...) im Dialplan aufbauen (ungetestet!):
Nein, was hier vorgeschlagen wurde, funktioniert nicht.


Im Call File kann eine Variable gesetzt werden (Set: Var=Value), die den Namen der sff Datei einhält. Für erste Tests genügt aber auch ein statischer Eintrag. Nicht alles auf einmal versuchen.

Stefan
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Gut, ich habe das

exten => 555,1,Dial(CAPI/g1/0121234567:0127654321)
exten => 555,2,capiCommand(sendfax|/pfad/zum/Faxfile.sff)
exten => 555,3,Hangup()


jetzt mal ausprobiert und zwar mit Capicall. Dieses kleine prog nimmt den ruf an und erhält ihn auch aufrecht... aber leider kommt folgendes:

*CLI> -- Executing [[email protected]:1] Dial("Console/dsp", "CAPI/contr1/4711") in new stack
-- Called contr1/4711
-- CAPI/ISDN1#02/4711-2 is proceeding passing it to Console/dsp
[Nov 17 14:40:21] WARNING[9198]: chan_oss.c:979 oss_indicate: Don't know how to display condition 15 on Console/dsp
-- CAPI/ISDN1#02/4711-2 is making progress passing it to Console/dsp
[Nov 17 14:40:21] WARNING[9198]: chan_oss.c:979 oss_indicate: Don't know how to display condition 14 on Console/dsp
-- CAPI/ISDN1#02/4711-2 is ringing
-- CAPI/ISDN1#02/4711-2 answered Console/dsp
<< Console call has been answered >>
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 2
== Spawn extension (bla, 4711, 1) exited non-zero on 'Console/dsp'
<< Hangup on console >>
> ISDN1#02: CAPI INFO 0x3490: Normal call clearing
Ich habe das Gefühl, dass der gar nicht zur zweiten Priorität springt und capicommand ausführt...kann das sein?
 
Zuletzt bearbeitet:

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Nein, was hier vorgeschlagen wurde, funktioniert nicht.
Warum funktioniert das eigtl. nicht? Ich mein es müsste doch eigentlich egal sein, wie man so einen channel aufbaut oder nicht?
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Soo ich hab das mit der Callfile mal ausprobiert und das sieht schonmal nicht schlecht aus, der alte Fehler ist weg. Jetzt kommt, wie sollte es anders sein, ein weiterer Fehler :spocht:, dass die sff Datei nicht geöffnet werden kann, aber das kreig ich schon hin:) ich schreib dann später nochmal ob es geklappt hat

schonmal vielen Dank an euch beide :D
 

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
367
Punkte für Reaktionen
2
Punkte
18
Nein, was hier vorgeschlagen wurde, funktioniert nicht.
@stefan:
Je länger ich über meinen Beitrag nachdenke um so größer wird die Einsicht, dass das so tatsächlich nicht funktioniert.

Sorry also für den Quatsch!

Ralph
 

armincm

Aktives Mitglied
Mitglied seit
3 Aug 2005
Beiträge
1,006
Punkte für Reaktionen
0
Punkte
0
Es geht nur mit Callfile, da Asterisk keine andere Möglichkeit bietet eine ausgehende Verbindung zu starten und genau auf diesen Kanal Befehle aus dem Dialplan abzuarbeiten.

Armin
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Erst einmal Vielen Dank für eure Antworten! Ich bin jetzt eigentlich schon sehr weite gekommen, aber irgendwie kann Asterisk meine .sff files nicht öffnen...Folgender Fehler kommt immer:

*CLI> -- Attempting call on CAPI/contr1/4711 for [email protected]:2 (Retry 1)
> Channel CAPI/ISDN1#02/4711-0 was answered.
-- Executing [[email protected]:2] capicommand("CAPI/ISDN1#02/4711-0", "sendfax||4712|CAPI/ISDN1#02/4711-0 18.11.2008 09:18:53") in new stack
[Nov 18 09:18:53] WARNING[5114]: chan_capi.c:2333 pbx_capi_send_fax: can't open fax file (No such file or directory)
== Spawn extension (bla, 4712, 2) exited non-zero on 'CAPI/ISDN1#02/4711-0'
== ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 2
[Nov 18 09:18:53] NOTICE[5114]: pbx_spool.c:351 attempt_thread: Call completed to CAPI/contr1/4711
> ISDN1#02: CAPI INFO 0x3490: Normal call clearing
Muss man da ncoh was nachinstallieren? sfftobmp und sffview sind schon als pakete installiert worden...
 

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
367
Punkte für Reaktionen
2
Punkte
18
No such file or directory - chan_capi kann die Faxdatei nicht nur nicht öffnen, es kann die Datei noch nicht mal finden.

Prüfe also nochmals Deine Pfadangabe...

Ralph
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
linux-1omb:/ # ls
Profiles boot etc home lost+found mnt proc sbin sys usr
bin dev fax.sff lib media opt root srv tmp var
exten => 4712,2,capicommand(sendfax|${/fax.sff}|4712|) 4712
So sieht meine extensions.conf aus und die Datei fax.sff befindet sich einfach im Verzeichnis /
Ich dieses Verzeichnis sogar mit chmod 777 freigegeben aber er meldet mir immer ncoh den gleichen Fehler... muss man die Faxfile vll in einen bestimmten Ordner legen?
 
Zuletzt bearbeitet:

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
367
Punkte für Reaktionen
2
Punkte
18
Code:
exten => 4712,2,capicommand(sendfax|${/fax.sff}|4712|) 4712
Du gibst als Dateinamen den Inhalt der Variablen ${/fax.sff} an - diese Variable gibt es bei Dir aber (vermutlich) nicht. Also kann die Datei auch nicht gefunden werden!

BTW: Die Syntax von capicommand(sendfax) ist:
capicommand(sendfax|<filename>[|<stationid>|<headline>])

Ralph
 
Zuletzt bearbeitet:

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Ohhh Mann....ganz schöneblöd von mir ;)

Jetzt funktioniert es fast, gibt noch Probleme mit der .sff Datei an sich, aber das kreig ich wohl alleine hin :D

Vielen Dank @ Ralph das beweist übrigens auch, dass man keine aktive Karte für capicommand benötigt :spocht:


Alles Konfigurationssache ;)

Danke nochmals an alle!
 

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
367
Punkte für Reaktionen
2
Punkte
18
Freut mich, dass es jetzt (fast) funktioniert!

@ Ralph das beweist übrigens auch, dass man keine aktive Karte für capicommand benötigt
Das habe ich mal behauptet? Ich erinnere mich dunkel an einen entsprechenden Thread...

Na ja, ich dachte zumindest, dass diese Funktion den DSP einer aktiven Karte benötigt. Armin wird da wohl mehr dazu sagen können.

Mit welcher Karte führst Du capicommand denn jetzt aus?

Ralph
 

FlashDeluxe

Neuer User
Mitglied seit
31 Okt 2008
Beiträge
93
Punkte für Reaktionen
0
Punkte
0
Ja hast du :p und zwar hier(du wolltest den Thread wohl schnell vergessen, da dich dort der Threaderöffner "Ralphie" genannt hat :p:p):

http://www.ip-phone-forum.de/showthread.php?t=172953

aber das steht auch überall, wo der capicommand Befehl erklärt wird mit dabei.

Ich habe es mit zwei Karten getestet, einmal mit einer PrimuX 2S0 von Gerdes und mit einer PrimuX 1S2M auch von Gerdes...

Es sieht so aus, dass es viele "nciht wahr haben wollen" dass 'Fax im CAPI' nicht unbedingt eine aktive Karte voraussetzt. Fax mit chan_capi benötigt aber lediglich Fax im CAPI und sonst nix. Auf jeden Fall läuft es und das ist auch gut so :D

Nochmals Danke, jetzt funktioniert es richtig, die sff Datei war keine richtige sff Datei und deswegen hat CapiFax den Ruf zwar angenommen aber die Datei abgelehnt..
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,901
Beiträge
2,027,916
Mitglieder
351,032
Neuestes Mitglied
Hendrik1234