Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Directory als Schnittstelle zwischen zwei Prozessen

41 views
Skip to first unread message

Marc Haber

unread,
Jan 29, 2012, 6:37:31 AM1/29/12
to
Hallo,

ich möchte gerne (in perl) ein SMS-Gateway bauen, das dieselbe
Schnittstelle wie die smstools verwendet. Allerdings soll die
Auslieferung der SMS nicht über ein lokal angeschlossenes GSM-Modem,
sondern über einen Webdienst erfolgen.

Die smstools-Schnittstelle basiert darauf, dass man eine
rfc822-ähnlich formatierte Datei in /var/spool/sms/outgoing ablegt.
smstools greift die Datei dann auf und verschickt sie.

Habe ich irgend eine (portable/elegante) Chance, festzustellen, dass
der schreibende Prozess mit der Datei fertig ist, damit mein Programm
mit der Bearbeitung der Datei fertig ist? Oder muss ich mich darauf
verlassen, dass der abliefernde Prozess sein File an andere Stelle im
selben Dateisystem schreibt und sie zum Schluß atomar nach
/var/spool/sms/outgoing mv'ed?

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834

Christoph Moench-Tegeder

unread,
Jan 29, 2012, 7:21:28 AM1/29/12
to
## Marc Haber <mh+usene...@zugschl.us>:

> Habe ich irgend eine (portable/elegante) Chance, festzustellen, dass
> der schreibende Prozess mit der Datei fertig ist, damit mein Programm
> mit der Bearbeitung der Datei fertig ist? Oder muss ich mich darauf
> verlassen, dass der abliefernde Prozess sein File an andere Stelle im
> selben Dateisystem schreibt und sie zum Schluß atomar nach
> /var/spool/sms/outgoing mv'ed?

Das ist eigentlich der portable Weg (alternativ kann man den Zustand im
Dateinamen einbauen, z.B. durch vorangestellten Punkt). Schon mit etwas
mehr Gehampel verbunden ist Locking (flock() z.B.), das setzt aber noch
mehr Kooperation voraus als mv/rename(). Unter Linux gibt Dir inotify
noch die gewünschte Information, aber eben nur unter Linux.

Gruß,
Christoph

--
Spare Space

Bastian Blank

unread,
Jan 29, 2012, 1:34:50 PM1/29/12
to
Marc Haber wrote:
> Habe ich irgend eine (portable/elegante) Chance, festzustellen, dass
> der schreibende Prozess mit der Datei fertig ist, damit mein Programm
> mit der Bearbeitung der Datei fertig ist?

Ja, in dem im Interface ein Flag für den Zustand definiert ist. Postfix
verwendet dafür das Executable-Bit. Ansonsten nein.

Bastian

Enrik Berkhan

unread,
Jan 29, 2012, 3:52:19 PM1/29/12
to
Würde das Readable-Bit dafür nicht viel besser passen?

Gruß,
Enrik

Bodo `Garfield' Bellut

unread,
Jan 29, 2012, 4:00:13 PM1/29/12
to
Marc Haber <mh+usene...@zugschl.us> wrote:

>ich möchte gerne (in perl) ein SMS-Gateway bauen, das dieselbe

Nicht die Antwort auf Deine Frage, aber hast Du Dir mal kannel
angesehen? Die Wahrscheinlichkeit ist recht groß, daß das alle Deine
Anforderungen bereits erfüllt.

cu, Bodo
--
Bodo Bellut bo...@bellut.net | USE PGP! +-----------+
Stangefolstr. 17 Fax/Mobile: just ask | (key via server |\ O---m /|
44141 Dortmund Fon: +49-700-77-BELLUT | or on request) |/---------\|
PGP: 768/FA18A639 AE 5A 47 40 5A A0 D6 15 8E 54 44 AA 8D DD 6E BD+-----------+

Marc Haber

unread,
Jan 30, 2012, 2:30:29 AM1/30/12
to
Bastian Blank <use...@waldi.eu.org> wrote:
>Marc Haber wrote:
>> Habe ich irgend eine (portable/elegante) Chance, festzustellen, dass
>> der schreibende Prozess mit der Datei fertig ist, damit mein Programm
>> mit der Bearbeitung der Datei fertig ist?
>
>Ja, in dem im Interface ein Flag für den Zustand definiert ist.

Ist es nicht.

Marc Haber

unread,
Jan 30, 2012, 2:35:35 AM1/30/12
to
use...@spambin.de (Bodo `Garfield' Bellut) wrote:
>Marc Haber <mh+usene...@zugschl.us> wrote:
>>ich möchte gerne (in perl) ein SMS-Gateway bauen, das dieselbe
>
>Nicht die Antwort auf Deine Frage, aber hast Du Dir mal kannel
>angesehen? Die Wahrscheinlichkeit ist recht groß, daß das alle Deine
>Anforderungen bereits erfüllt.

Ich glaube nicht. Kannel scheint mir direkt mit dem SMSC des
Netzbetreibers sprechen zu wollen, wofür man Verträge braucht. Ich
möchte gerne mit einem http-basierten SMS-Interface sprechen können
(z.B. Clickatell, SMS77 o.ä.), und am liebsten hätte ich, dass ich
meinem MTA direkt sage, dass er nach /var/spool/sms/incoming zustellen
soll.

Ich würde am liebsten gerne ein Tool haben, das sich zur internen
Applikation verhält, als wäre es ein smstools (dann stimmt nämlich das
Interface schon) und nach draußen die SMS per http zustellt.

Volker Birk

unread,
Jan 30, 2012, 3:27:37 AM1/30/12
to
Marc Haber <mh+usene...@zugschl.us> wrote:
> Ich würde am liebsten gerne ein Tool haben, das sich zur internen
> Applikation verhält, als wäre es ein smstools (dann stimmt nämlich das
> Interface schon) und nach draußen die SMS per http zustellt.

Hylafax spricht SNPP. Wenn das über Web gehen soll, benötigst Du
vermutlich eine Anpassung für die spezielle Seite des Betreibers, den Du
nutzen möchtest.

Viele Grüsse,
VB.
--
"If /dev/null is fast in web scale I will use it."

http://www.mongodb-is-web-scale.com/

Bodo `Garfield' Bellut

unread,
Jan 30, 2012, 8:38:02 AM1/30/12
to
Marc Haber <mh+usene...@zugschl.us> wrote:
>use...@spambin.de (Bodo `Garfield' Bellut) wrote:
>>Marc Haber <mh+usene...@zugschl.us> wrote:
>>>ich möchte gerne (in perl) ein SMS-Gateway bauen, das dieselbe
>>
>>Nicht die Antwort auf Deine Frage, aber hast Du Dir mal kannel
>>angesehen? Die Wahrscheinlichkeit ist recht groß, daß das alle Deine
>>Anforderungen bereits erfüllt.
>
>Ich glaube nicht. Kannel scheint mir direkt mit dem SMSC des
>Netzbetreibers sprechen zu wollen, wofür man Verträge braucht. Ich

Ja, Kannel kann direkt mit SMSCs sprechen, es kann aber auch GSM-Modems
ansprechen und Web-based Services nutzen. Siehe

http://kannel.org/download/kannel-userguide-snapshot/userguide.html#AEN2538

Mit dem "generic" type sollte fast jedes HTTP-Gateway nutzbar sein.

HTH, Bodo

Marc Haber

unread,
Jan 30, 2012, 1:34:47 PM1/30/12
to
Volker Birk <bum...@dingens.org> wrote:
>Marc Haber <mh+usene...@zugschl.us> wrote:
>> Ich würde am liebsten gerne ein Tool haben, das sich zur internen
>> Applikation verhält, als wäre es ein smstools (dann stimmt nämlich das
>> Interface schon) und nach draußen die SMS per http zustellt.
>
>Hylafax spricht SNPP. Wenn das über Web gehen soll, benötigst Du
>vermutlich eine Anpassung für die spezielle Seite des Betreibers, den Du
>nutzen möchtest.

Genau deswegen möchte ich das gerne in perl mit einem entsprechend
modularen Design bauen, damit ich das zum Webdienst passende Modul
einfach tauschen kann.

Ohne mir jetzt hylafax selbst im Detail angeguckt zu haben, halte ich
es noch für einfacher, ein smstools-kompatibles Interface zu stricken,
als auf beiden Seiten an hylafax ankoppeln zu müssen.

Marc Haber

unread,
Feb 1, 2012, 9:34:56 AM2/1/12
to
use...@spambin.de (Bodo `Garfield' Bellut) wrote:
>Ja, Kannel kann direkt mit SMSCs sprechen, es kann aber auch GSM-Modems
>ansprechen und Web-based Services nutzen. Siehe
>
> http://kannel.org/download/kannel-userguide-snapshot/userguide.html#AEN2538
>
>Mit dem "generic" type sollte fast jedes HTTP-Gateway nutzbar sein.

Was aber nichts daran ändert, dass ich weiterhin Code brauche, der die
von existierender Software im smstools-Directory abgeworfenen SMS in
http-Requests umwandelt, womit wir wieder bei meiner ursprünglichen
Frage wären. Ich habe in der Kannel-Doku kein smstools-kompatibles
Interface gefunden.

Bodo `Garfield' Bellut

unread,
Feb 1, 2012, 6:08:13 PM2/1/12
to
Marc Haber <mh+usene...@zugschl.us> wrote:
>use...@spambin.de (Bodo `Garfield' Bellut) wrote:
>>Ja, Kannel kann direkt mit SMSCs sprechen, es kann aber auch GSM-Modems
>>ansprechen und Web-based Services nutzen. Siehe
>>
>> http://kannel.org/download/kannel-userguide-snapshot/userguide.html#AEN2538
>>
>>Mit dem "generic" type sollte fast jedes HTTP-Gateway nutzbar sein.
>
>Was aber nichts daran ändert, dass ich weiterhin Code brauche, der die
>von existierender Software im smstools-Directory abgeworfenen SMS in

OK, _das_ Constraint war mir jetzt nicht als hart rübergekommen.

>http-Requests umwandelt, womit wir wieder bei meiner ursprünglichen
>Frage wären. Ich habe in der Kannel-Doku kein smstools-kompatibles
>Interface gefunden.

Das ist korrekt, diese Kompatibilität bringt kannel nicht.

cu, Bodo

Marc Haber

unread,
Feb 3, 2012, 8:24:37 PM2/3/12
to
use...@spambin.de (Bodo `Garfield' Bellut) wrote:
>Marc Haber <mh+usene...@zugschl.us> wrote:
>>Was aber nichts daran ändert, dass ich weiterhin Code brauche, der die
>>von existierender Software im smstools-Directory abgeworfenen SMS in
>
>OK, _das_ Constraint war mir jetzt nicht als hart rübergekommen.

Es ist die spezifizierte Schnittstelle. Könnte die existierende
Software kannel nutzen, könnte sie auch direkt mit dem
http-sms-Anbieter sprechen.
0 new messages