diff --git a/NEWS b/NEWS index 7dbf575..1a0c38e 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,5 @@ -0.4.4 (CVS nn): -=============== +0.5 (CVS nn): +============= * scripts: fix a bug in faxIncoming which lead to a non-working fax reception after automatic switch from voice to fax mode @@ -14,6 +14,10 @@ * Makefiles: moved a "mkdir" from the build ("make") to install stage ("make install") (thx to Steffen Barszus for reporting) + * scripts: added new options "fax_email_from" and "voice_email_from" to + answering_machine.conf and fax.conf (thx to Achim Bohnet for submitting + a patch with this feature!; closes bug #46) + 0.4.3 (CVS tag CAPISUITE_043): ============================== diff --git a/docs/manual-de.docbook b/docs/manual-de.docbook index 908d40e..b117fa1 100644 --- a/docs/manual-de.docbook +++ b/docs/manual-de.docbook @@ -5,7 +5,7 @@ CapiSuite"> ]> -CapiSuite 0.4.3 +CapiSuite 0.5.cvs @@ -809,55 +809,70 @@ make install - Absenderkennung, die beim Versenden eines Fax-Dokuments + Absenderkennung, die beim Versenden eines Fax-Dokuments verwendet wird. Die Absenderkennung ist normalerweise Ihre Fax-Nummer im internationalen Format, z.B. "+49 89 123456" für eine Nummer in München in Deutschland. Absenderkennungen dürfen nur aus dem "+"-Zeichen, Leerzeichen und - den Ziffern 0-9 bestehen. Die maximale Länge ist 20. Dieser Wert kann in den + den Ziffern 0-9 bestehen. Die maximale Länge ist 20. Dieser Wert kann in den Benutzer-Abschnitten individuell überschrieben werden. Diese Option ist zwingend erforderlich. - Fax-Kopfzeile, die beim Versenden eines Fax-Dokuments - verwendet wird. Wo und ob diese Kopfzeile angezeigt wird, hängt von der + Fax-Kopfzeile, die beim Versenden eines Fax-Dokuments + verwendet wird. Wo und ob diese Kopfzeile angezeigt wird, hängt von der Implementierung Ihres CAPI-Treibers ab. Die Kopfzeile sollte eine vernünftige Länge haben, damit sie auf den oberen Rand einer Seite passt, aber es gibt - keine bestimmte Begrenzung. - Diese Option ist optional. Wenn nichts angegeben wird, wird - standardmäßig keine Kopfzeile verwendet. + keine bestimmte Begrenzung. + Diese Option ist optional. Wenn nichts angegeben wird, wird + standardmäßig keine Kopfzeile verwendet. + + + + + Hier kann die Mailadresse gesetzt werden, die CapiSuite + als Absender bei der Mailzustellung des Faxdokumentes angibt. + Diese Option ist optional. Wenn nichts angegeben wird, wird + standardmäßig der Empfänger auch als Absender verwendet (wenn + also der User gernot ein Fax empfängt, dann ist der Absender und + Empfänger der versandten Mail "gernot". Die Benutzer-Abschnitte - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option - im Abschnitt oben + Benutzerspezifischer Wert für die globale Option + im Abschnitt oben + + + + Benutzerspezifischer Wert für die globale Option + im Abschnitt oben Eine Liste mit Nummern, auf denen dieser Benutzer eingehende Fax-Anrufe empfangen möchte. Diese Nummern werden benutzt, um zwischen Benutzern - zu unterscheiden - die selbe Nummer darf also nicht in mehr als einem - Benutzerabschnitt erscheinen! Die Nummern sind durch Kommas getrennt und - es sind keine Leerzeichen erlaubt. Die erste Nummer + zu unterscheiden - die selbe Nummer darf also nicht in mehr als einem + Benutzerabschnitt erscheinen! Die Nummern sind durch Kommas getrennt und + es sind keine Leerzeichen erlaubt. Die erste Nummer der Liste dient auch als Ihre eigene Nummer für ausgehende Faxe, wenn outgoing_MSN nicht angegeben wurde (siehe ) @@ -869,12 +884,12 @@ make install eingebaute Fax-Erkennung und kann auch Faxe empfangen. Wenn die Liste nur den * enthält, werden - alle eingehenden Anrufe für diesen Benutzer + alle eingehenden Anrufe für diesen Benutzer angenommen (bitte mit Vorsicht benutzen!). Dies ist nur sinnvoll bei einem Setup mit nur einem Benutzer, der alle Anrufe als Fax empfangen möchte. - Wenn aus irgendeinem Grund für spezielle MSNs + Wenn aus irgendeinem Grund für spezielle MSNs keine Zielnummer übertragen wird (die österreichische Telekom macht das für die Haupt-MSN, die wird als "Global Call" bezeichnet), können Sie das besondere Zeichen - benutzen. Dies @@ -885,26 +900,26 @@ make install - Wenn hier etwas angegeben wird, werden die Strings als - E-Mail-Adressen interpretiert, an die empfangene Faxe geschickt werden. - Mehrere Adressen werden durch Kommas getrennt. Wenn der Eintrag leer ist, + Wenn hier etwas angegeben wird, werden die Strings als + E-Mail-Adressen interpretiert, an die empfangene Faxe geschickt werden. + Mehrere Adressen werden durch Kommas getrennt. Wenn der Eintrag leer ist, werden sie an den System-Account auf dem System, auf dem &cs; läuft, geschickt. Die Adresse wird auch für Status-Reports für versendete Fax-Aufträge benutzt. Wenn Sie überhaupt nicht möchten, dass E-Mails verschickt werden, verwenden Sie die action-Option (siehe ). - Diese Option ist optional. Wenn nichts angegeben wird, wird die Mail + Diese Option ist optional. Wenn nichts angegeben wird, wird die Mail an den System-Account geschickt. Hier können Sie festlegen, welche Aktionen ausgeführt werden, - wenn ein Anruf empfangen wurde. Momentan werden zwei mögliche Aktionen + wenn ein Anruf empfangen wurde. Momentan werden zwei mögliche Aktionen unterstützt: - Der empfangene Anruf wird an die angegebene + Der empfangene Anruf wird an die angegebene Adresse (siehe ) geschickt und im (siehe ) gespeichert. @@ -936,7 +951,7 @@ make install - Das Anrufbeantworter-Skript nutzt verschiedene WAV-Dateien, + Das Anrufbeantworter-Skript nutzt verschiedene WAV-Dateien, z.B. eine globale Ansage, wenn der Benutzer keine eigene hat, sowie einige gesprochene Worte für die Fernabfrage und das dabei verwendete Menü. Diese Audio-Dateien werden in diesem Verzeichnis gesucht. Wenn user_audio_files @@ -948,9 +963,9 @@ make install - In diesem Verzeichnis werden benutzerspezifische Daten - gespeichert. Es muss existieren und der Benutzer, unter dem &cs; läuft, muss - dafür Schreibrechte besitzen. Es enthält für jeden konfigurierten Benutzer ein + In diesem Verzeichnis werden benutzerspezifische Daten + gespeichert. Es muss existieren und der Benutzer, unter dem &cs; läuft, muss + dafür Schreibrechte besitzen. Es enthält für jeden konfigurierten Benutzer ein Unterverzeichnis (benannt nach seiner User-ID). Die folgenden Unterverzeichnisse befinden sich unterhalb des benutzerspezifischen Verzeichnisses: @@ -986,9 +1001,9 @@ make install Setzt den Standard-Wert für die Verzögerung, mit der eingehende - Anrufe angenommen werden (in Sekunden). Ein Wert von 10 + Anrufe angenommen werden (in Sekunden). Ein Wert von 10 bedeutet, dass der Anrufbeantworter einen eingehenden Anruf 10 Sekunden nach - der eingehenden Verbindungsanforderung annimmt. Dieser Wert kann in + der eingehenden Verbindungsanforderung annimmt. Dieser Wert kann in den Benutzer-Abschnitten individuell überschrieben werden. Diese Option ist zwingend erforderlich. @@ -996,19 +1011,19 @@ make install Setzt den Standard-Namen für die Benutzer-Ansage. - Die Ansagen werden dann in + Die Ansagen werden dann in user_dir/username/announcement gesucht. Wenn sie dort, - nicht gefunden wird, wird eine globale Ansage, die die angerufene MSN - enthält, abgespielt. Dieser Wert kann in den Benutzer-Abschnitten individuell + nicht gefunden wird, wird eine globale Ansage, die die angerufene MSN + enthält, abgespielt. Dieser Wert kann in den Benutzer-Abschnitten individuell überschrieben werden. - Diese Option ist optional. Wenn nichts angegeben wird, wird + Diese Option ist optional. Wenn nichts angegeben wird, wird "announcement.la" angenommen. - Einstellung für die maximale Aufnahmelänge in Sekunden. - Dieser Wert kann in den Benutzer-Abschnitten individuell überschrieben + Einstellung für die maximale Aufnahmelänge in Sekunden. + Dieser Wert kann in den Benutzer-Abschnitten individuell überschrieben werden. Diese Option ist optional. Wenn nichts angegeben wird, beträgt die maximale Aufnahmelänge 60 Sekunden. @@ -1016,52 +1031,68 @@ make install - Einstellung für den Stille-Timeout während der Aufnahme in + Einstellung für den Stille-Timeout während der Aufnahme in Sekunden. Wenn dieser Wert größer als 0 ist, wird die Aufnahme beendet, wenn - für die angegebene Zeit Stille erkannt wird. Um den Timeout zu deaktivieren, + für die angegebene Zeit Stille erkannt wird. Um den Timeout zu deaktivieren, setzen Sie ihn auf 0. Dieser Wert kann in den Benutzer-Abschnitten individuell - überschrieben werden. + überschrieben werden. Diese Option ist optional. Wenn nichts angegeben wird, beträgt der Timeout 5 Sekunden. + + + Hier kann die Mailadresse gesetzt werden, die CapiSuite + als Absender bei der Mailzustellung der aufgezeichneten + Sprachnachricht angibt. + Diese Option ist optional. Wenn nichts angegeben wird, wird + standardmäßig der Empfänger auch als Absender verwendet (wenn + also der User gernot eine Sprachnachricht empfängt, dann ist der + Absender und Empfänger der versandten Mail "gernot". + + Verfügbare Optionen für die Benutzer-Abschnitte in der Anrufbeantworter-Konfiguration - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option im Abschnitt oben - Benutzerspezifischer Wert für die globale Option + Benutzerspezifischer Wert für die globale Option + im Abschnitt oben + + + + Benutzerspezifischer Wert für die globale Option im Abschnitt oben Eine Liste mit Nummern, auf denen dieser Benutzer eingehende - Sprach-Anrufe empfangen möchte. Diese Nummern werden benutzt, um zwischen - Benutzern zu unterscheiden - die selbe Nummer darf also nicht in mehr als einem - Benutzerabschnitt erscheinen! Die Nummern sind durch Kommas getrennt und - es sind keine Leerzeichen erlaubt. Das + Sprach-Anrufe empfangen möchte. Diese Nummern werden benutzt, um zwischen + Benutzern zu unterscheiden - die selbe Nummer darf also nicht in mehr als einem + Benutzerabschnitt erscheinen! Die Nummern sind durch Kommas getrennt und + es sind keine Leerzeichen erlaubt. Das Anrufbeantworter-Skript macht auch eine automatische Fax-Erkennung, sodass ein - Fax an diese Nummer geschickt werden kann. Wenn die Liste nur den - * enthält, werden alle + Fax an diese Nummer geschickt werden kann. Wenn die Liste nur den + * enthält, werden alle eingehenden Anrufe für diesen Benutzer angenommen (bitte mit Vorsicht benutzen!). - Dies ist nur sinnvoll bei einem Setup mit nur einem Benutzer, der alle Anrufe + Dies ist nur sinnvoll bei einem Setup mit nur einem Benutzer, der alle Anrufe empfangen möchte. - Wenn aus irgendeinem Grund für spezielle MSNs + Wenn aus irgendeinem Grund für spezielle MSNs keine Zielnummer übertragen wird (die österreichische Telekom macht das für die Haupt-MSN, die wird als "Global Call" bezeichnet), können Sie das besondere Zeichen - benutzen. Dies diff --git a/docs/manual.docbook b/docs/manual.docbook index fc34fc1..a810657 100644 --- a/docs/manual.docbook +++ b/docs/manual.docbook @@ -5,7 +5,7 @@ CapiSuite"> ]> -CapiSuite 0.4.3 +CapiSuite 0.5.cvs @@ -736,6 +736,14 @@ make install This option is optional. If not given, it defaults to an empty headline. + + + You can set a default originator ("From"-address) for the e-mails CapiSuite sends + here. + This option is optional. If you set this to an empty string, the destinator is used as + originator (i.e. if "gernot" receives a fax, the mail comes from "gernot" to "gernot"). + + The user sections @@ -754,6 +762,10 @@ make install User specific value for the global option above + + + User specific value for the global option above + A list containing the numbers on which this user wants to receive incoming fax calls. @@ -891,6 +903,15 @@ make install This option is optional. If not set, it defaults to 5 seconds. + + + You can set a default originator ("From"-address) for the e-mails CapiSuite sends + here. + This option is optional. If you set this to an empty string, the destinator is used + as originator (i.e. if "gernot" receives a voice call, the mail comes from "gernot" to + "gernot"). + + The user sections @@ -909,6 +930,10 @@ make install User specific value for the global option above + + + User specific value for the global option above + A list containing the numbers on which this user wants to receive incoming voice calls. diff --git a/scripts/answering_machine.confin b/scripts/answering_machine.confin index 291a624..e66e506 100644 --- a/scripts/answering_machine.confin +++ b/scripts/answering_machine.confin @@ -1,4 +1,4 @@ -# $Id: answering_machine.confin,v 1.5 2003/04/10 21:29:51 gernot Exp $ +# $Id: answering_machine.confin,v 1.6 2003/10/03 13:42:09 gernot Exp $ # # This is the configuration file for the answering machine scripts distributed # with CapiSuite @@ -80,6 +80,11 @@ record_length="60" # finished by the answering machine record_silence_timeout="5" +# voice_email_from (optional, default voice message addressee) [New in 0.5] +# When voice messages are send by e-mail this address is used in the 'From:' +# header field. +voice_email_from="capisuite daemon " + ############################################################################### ############################# user settings ################################### ############################################################################### @@ -89,7 +94,8 @@ record_silence_timeout="5" # # Each user section can override the following default options given above: # -# voice_delay, announcement, record_length, record_silence_timeout +# voice_delay, announcement, record_length, record_silence_timeout, +# voice_email_from # # Additionally, the following options are possible: # diff --git a/scripts/fax.confin b/scripts/fax.confin index 962872b..2c4a8b9 100644 --- a/scripts/fax.confin +++ b/scripts/fax.confin @@ -1,4 +1,4 @@ -# $Id: fax.confin,v 1.8 2003/06/19 14:56:20 gernot Exp $ +# $Id: fax.confin,v 1.9 2003/10/03 13:42:09 gernot Exp $ # # This is the fax configuration file for the scripts distributed with CapiSuite # @@ -108,6 +108,12 @@ fax_stationID="+49 000 0000" # fax_headline="Sent by CapiSuite (www.CapiSuite.de)" +# fax_email_from (optional, default fax addressee) [New in 0.5] +# When a received fax is distributed by e-mail this address +# used in the 'From:' header field. Ditto from success/failed fax e-mail +# messages. +fax_email_from="capisuite daemon " + ############################################################################### ############################# user settings ################################### ############################################################################### @@ -117,7 +123,7 @@ fax_headline="Sent by CapiSuite (www.CapiSuite.de)" # # Each user section can override the following default options given above: # -# outgoing_MSN, outgoing_timeout, fax_stationID, fax_headline +# outgoing_MSN, outgoing_timeout, fax_stationID, fax_headline, fax_email_from # # Additionally, the following options are possible: # diff --git a/scripts/idle.py b/scripts/idle.py index d5a0fb0..2a33590 100644 --- a/scripts/idle.py +++ b/scripts/idle.py @@ -2,7 +2,7 @@ # --------------------------------------------- # copyright : (C) 2002 by Gernot Hillier # email : gernot@hillier.de -# version : $Revision: 1.9 $ +# version : $Revision: 1.10 $ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -92,6 +92,9 @@ def idle(capi): mailaddress=cs_helpers.getOption(config,user,"fax_email","") if (mailaddress==""): mailaddress=user + fromaddress=cs_helpers.getOption(config,user,"fax_email_from","") + if (fromaddress==""): + fromaddress=user capisuite.log("job "+job_fax+" from "+user+" to "+dialstring+" initiated",1) result,resultB3 = sendfax(capi,sendq+job_fax,outgoing_nr,dialstring,user,config) @@ -106,7 +109,7 @@ def idle(capi): +"\nNeeded tries: "+str(tries) \ +("\nLast result: 0x%x/0x%x" % (result,resultB3)) \ +"\n\nIt was moved to file://"+done+user+"-"+job_fax - cs_helpers.sendSimpleMail(user,mailaddress, + cs_helpers.sendSimpleMail(fromaddress,mailaddress, "Fax to "+addressee+" ("+dialstring+") sent successfully.", mailtext) else: @@ -130,7 +133,7 @@ def idle(capi): +"\nFilename: "+job_fax+"\nTries: "+str(tries) \ +"\nLast result: 0x%x/0x%x" % (result,resultB3) \ +"\n\nIt was moved to file://"+failed+user+"-"+job_fax - cs_helpers.sendSimpleMail(user,mailaddress, + cs_helpers.sendSimpleMail(fromaddress,mailaddress, "Fax to "+addressee+" ("+dialstring+") FAILED.", mailtext) @@ -163,6 +166,9 @@ def movejob(job,olddir,newdir,user): # History: # # $Log: idle.py,v $ +# Revision 1.10 2003/10/03 13:42:09 gernot +# - added new options "fax_email_from" and "voice_email_from" +# # Revision 1.9 2003/09/21 12:34:37 gernot # - add 0x349f to list of normal results # diff --git a/scripts/incoming.py b/scripts/incoming.py index a420f48..960980c 100644 --- a/scripts/incoming.py +++ b/scripts/incoming.py @@ -2,7 +2,7 @@ # ---------------------------------------------------- # copyright : (C) 2002 by Gernot Hillier # email : gernot@hillier.de -# version : $Revision: 1.11 $ +# version : $Revision: 1.12 $ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -142,6 +142,9 @@ def faxIncoming(call,call_from,call_to,curr_user,config,already_connected): os.chmod(filename[:-3]+"txt",0600) os.chown(filename[:-3]+"txt",userdata[2],userdata[3]) + fromaddress=cs_helpers.getOption(config,curr_user,"fax_email_from","") + if (fromaddress==""): + fromaddress=curr_user mailaddress=cs_helpers.getOption(config,curr_user,"fax_email","") if (mailaddress==""): mailaddress=curr_user @@ -158,7 +161,7 @@ def faxIncoming(call,call_from,call_to,curr_user,config,already_connected): +str(faxInfo[4]) mailText+="\n\nSee attached file.\nThe original file was saved to file://"+filename \ +" on host \""+os.uname()[1]+"\"" - cs_helpers.sendMIMEMail(curr_user, mailaddress, "Fax received from "+call_from+" to "+call_to, + cs_helpers.sendMIMEMail(fromaddress, mailaddress, "Fax received from "+call_from+" to "+call_to, faxFormat, mailText, filename) # @brief called by callIncoming when an incoming voice call is received @@ -247,11 +250,14 @@ def voiceIncoming(call,call_from,call_to,curr_user,config): os.chmod(filename[:-2]+"txt",0600) os.chown(filename[:-2]+"txt",userdata[2],userdata[3]) + fromaddress=cs_helpers.getOption(config,curr_user,"voice_email_from","") + if (fromaddress==""): + fromaddress=curr_user mailaddress=cs_helpers.getOption(config,curr_user,"voice_email","") if (mailaddress==""): mailaddress=curr_user if (action=="mailandsave"): - cs_helpers.sendMIMEMail(curr_user, mailaddress, "Voice call received from "+call_from+" to "+call_to, "la", + cs_helpers.sendMIMEMail(fromaddress, mailaddress, "Voice call received from "+call_from+" to "+call_to, "la", "You got a voice call from "+call_from+" to "+call_to+"\nDate: "+time.ctime()+"\n\n" +"See attached file.\nThe original file was saved to file://"+filename+"\n\n", filename) @@ -413,6 +419,9 @@ def newAnnouncement(call,userdir,curr_user,config): # History: # # $Log: incoming.py,v $ +# Revision 1.12 2003/10/03 13:42:09 gernot +# - added new options "fax_email_from" and "voice_email_from" +# # Revision 1.11 2003/08/24 12:47:50 gernot # - faxIncoming tried to reconnect when it was called after a switch from # voice to fax mode, which lead to a call abort. Thx to Harald Jansen &