So... ein rudimentäres Shellskript ist geschrieben...
Der Syntax ist:
makeSoap Fritzbox-Nachricht Zielgerät
Beispiel:
Ist recht banal und benötigt außer netcat nichts Zusätzliches (kann man im Zweifel beilegen)Code:makeSoap "06.05.10 19:19:50;RING;1;1234;4567;SIP1;" 192.168.178.20
Nun fehlt aber irgendwas, was auf dem Port 1012 horcht und bei jeder neuen Zeile mit RING das Skript aufruft. Keine Ahnung wie das geht, dürfte aber eine unbekannte Banalität sein, da es auch Skripte gibt, die Logfiles etc. ständig auf neue Zeilen hin parsen.Code:#!/bin/bash DESTINATION=$2 IFS=";" set -- $1 DATETIME=$1 CALLEE=$4 CALLER=$5 IFS=" " set -- $DATETIME CALLDATE=$1 CALLTIME=$2 # BUILD XML echo '<?xml version="1.0" encoding="utf-8"?>' > /tmp/soap echo '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" >' >> /tmp/soap echo '<s:Body>' >> /tmp/soap echo '<u:AddMessage xmlns:u="urn:samsung.com:service:MessageBoxService:1\">' >> /tmp/soap echo '<MessageType>text/xml</MessageType>' >> /tmp/soap echo '<MessageID>'$(date +%H%M%S)'</MessageID>' >> /tmp/soap echo '<Message>' >> /tmp/soap echo '<Category>Incoming Call</Category>' >> /tmp/soap echo '<DisplayType>Maximum</DisplayType>' >> /tmp/soap echo '<CallTime>' >> /tmp/soap echo '<Date>'$CALLDATE'</Date>' >> /tmp/soap echo '<Time>'$CALLTIME'</Time>' >> /tmp/soap echo '</CallTime>' >> /tmp/soap echo '<Callee>' >> /tmp/soap echo '<Number>'$CALLEE'</Number>' >> /tmp/soap echo '<Name>'$CALLEE'</Name>' >> /tmp/soap echo '</Callee>' >> /tmp/soap echo '<Caller>' >> /tmp/soap echo '<Number>'$CALLER'</Number>' >> /tmp/soap echo '<Name>'$CALLER'</Name>' >> /tmp/soap echo '</Caller>' >> /tmp/soap echo '</Message>' >> /tmp/soap echo '</u:AddMessage>' >> /tmp/soap echo '</s:Body>' >> /tmp/soap echo '</s:Envelope>' >> /tmp/soap # BUILD HTTP echo 'POST /PMR/control/MessageBoxService HTTP/1.0' > /tmp/message echo 'Content-Type: text/xml; charset="utf-8"' >> /tmp/message echo 'HOST: '$DESTINATION >> /tmp/message echo 'Content-Length: '$(filesize /tmp/soap) >> /tmp/message echo 'SOAPACTION: "urn:samsung.com:service:MessageBoxService:1#AddMessage"' >> /tmp/message echo 'Connection: close' >> /tmp/message echo '' >> /tmp/message cat /tmp/soap >> /tmp/message # SEND MESSAGE TO TV cat /tmp/message | netcat $DESTINATION 52235


Zitieren
), aber für OS X scheint es da nichts zu geben.
