linux-avmb1: Re: linux-avmb1:capi4hylafax -> LocalIdentifier ändern

Nico Kretschmar kretschmar at sag-gruessing.de
Tue Mar 16 09:05:02 CET 2004


Michael Rolf schrieb:
> Am Montag, 15. März 2004 14:08 schrieb Nico Kretschmar:
> 
>>HalliHallo,
>>
>>eine Frage an die Liste oder Michael Rolf:
>>
>>Ich will per wrapper-Script die Tagline von Hylafax an c2faxsend
>>übergeben, habe allerdings Probleme, wenn im String des Parameters
>>"LocalIdentifier" Leerzeichen sich befinden. Ersetze ich die Leerzeichen
>>durch Punkte geht es. Folgende Möglichkeite funzen auch nicht:
>>
>>PARAMETER="-c LocalIdentifier:\"Name mit Leerzeichen\""
>>PARAMETER="-c LocalIdentifier:'Name mit Leerzeichen'"
>>
>>Gibt es ein Hintertürchen ? ... habe im src-Code mit meinen bescheiden
>>Code-Kenntnissen nichts gefunden...
> 
> 
> Hintertürchen nein, aber die C4H cvs Version unterstützt schon, auf einfache 
> Art, die Tagline von Hylafax. 
> Einfach bei der Tagline "FaxNumber|LocalIdentifier" angeben.
> Das Wrapper-Script wird also nicht mehr benötigt.

Ist verstanden, aber ich verwende hier eine angepasste Version von WHFC 
und die füllt die Tagline im Queuefile nicht. Hylafax ist v4.1.3 von der 
SuSE-Distri. Ist allerdings auch nicht nötig, ich möchte die FaxNummer 
und CLI schon gerne per Script verwalten...

> Ansonsten nutzt C4H die Anführungszeichen: c2faxsend -c LocalIdentifier=\"Name 
> mit Leerzeichen\" sollte funktionieren.
> In deinem Fall muß du wegen der Interpretation durch die Shell die 
> Anführungszeichen stärker "absichern", also entweder mit \\\" oder sogar 
> \\\\\\\".
> 

???
Also mit vorangestellten \\\" oder \\\\\" oder \\\\\\\" usw. geht es 
nicht, d.h. der Job wird von Hylafax solange zurückgehalten bis ich die 
LocalIdentifier Anweisung wieder entferne dann geht das Fax sofort raus.

Hier mal mein schnippsel aus dem Wrapper-Skript (Danke auch an Ufuk, 
Holger und Stefan)

QFILE=`echo $@ | awk '{print $NF}'`
MAILADDR=`awk -F: /mailaddr/'{print $2}' /var/spool/fax/$QFILE`
LOCALIDENTIFIER=`awk -F: /sender/'{print $2}' /var/spool/fax/$QFILE`
MSN=`awk /$MAILADDR/'{print $1}' /var/spool/fax/etc/users`

FAXNUM="+49.XXXX.XX.$MSN"
CLI="Firma - $LOCALIDENTIFIER"

if [ -z "$PARAMSTRING" ]
then
PARAMSTRING="-c LocalIdentifier:\\\"$CLI\\\" -c OutgoingMSN:$MSN -c 
FaxNumber:$FAXNUM"
else
PARAMSTRING="-c LocalIdentifier:\\\"$CLI\\\" -c OutgoingMSN:$MSN -c 
FaxNumber:$FAXNUM $PARAMSTRING"
fi

Vielleicht ist es sinnvoll einen anderen Quoting-Character zu verwenden, 
z.Bsp. "'" , oder das Leerzeichen mit einem Platzhalter zu ersetzen, wie 
bei der FaxNumber.


-- 

Mit freundlichen Grüßen

Nico Kretschmar
Systemadministrator

Stahl- und Anlagenbau Grüßing GmbH
Kambachsmühle - Thüringen - Deutschland
Phone +49 36 96 3 / 49 127



More information about the linux-avmb1 mailing list