Naja... das eigentliche Thema (Anrufmonitor) lässt sich ganz ohne Firmware-Modifikationen über DLNA lösen, nur hat noch keiner herausgefunden, wie das geht. Zu dem hat auch noch keiner mit WLAN-fähigen Handies (noch nicht einmal mit welchen von Samsung selbst) Erfolg gehabt.
Fakt ist jedoch, dass der TV diesen Dienst anbietet und er auch standardmäßig gestartet ist. In der exeDSP scheinen die notwendigen Funktionen komplett zu sein.
Anbei habe ich nach meinem momentanen Kenntnisstand den Verdacht, dass es mit einem einzelnen SOAP-Request nicht geht. Der Client muss dem Gerät im ersten Paket mitteilen, dass er eine Nachricht senden wird und erhält dafür einen Schlüssel. Mit diesen kann er in einem weiteren Paket die Nachricht senden und benötigt den Schlüssel auch, um sie wieder entfernen zu können. Nach diesem Prinzip spricht der upnp-inspector den Fernseher an, nur dass er beim Versuch des Absendens wohl einen unpassenden SOAP-Request schickt.
Leider ist der ARM-Assembler schwierig zu interpretieren. Hätte der Fernseher eine ia32 (Intel)-CPU, würde ich vielleicht aus den Funktionen schlau werden. Mehr als ein paar 100 Instruktionen gibt es in der Funktion zum Absetzen von Nachrichten nicht.
Thema MessageID: Es gibt viele verschiedene SOAP-Nachrichtendienste auf allen möglichen Systemen zu unterschiedlichen Zwecken. Doch wenn man einmal Foren durchschaut, stellt man fest, dass das Format dieses Parameters immer das selbe ist:
Code:
urn:uuid:12345678-1234-1234-1234-12345678abcd
Es scheint so, als ob die Zahlen (HEX) beliebig sein sollten, aber das Format dennoch eingehalten werden muss.
In die eigentliche Nachricht gehören dann wiederum eine Reihe XML-Tags rein.
Der Parameter
MessageType kann leer gelassen werden. Dort gehört ein MIME-Typ rein, wobei ein UTF-8 Text als Default angenommen wird.
Edit: Zumindest was die MessageID betrifft, stimmt meine Vermutung vielleicht sogar. Ist diese wie beschrieben formatiert, meldet der Webserver 412 (Precondition failed) statt Invalid Request.
Ich gebe erst einmal auf für heute...
Code:
POST /PMR/control/MessageBoxService HTTP/1.0
Content-Type: text/xml; charset="utf-8"
HOST: 192.168.178.20
Content-Length: 469
SOAPACTION: "uuid:samsung.com:service:MessageBoxService:1#AddMessage"
Connection: close
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:AddMessage xmlns:u="urn:samsung.com:service:MessageBoxService:1">
<MessageID>urn:uuid:12345678-1234-1234-1234-12345678abcd</MessageID>
<Message>category:PmrIncomingCallMessage:sender:4627325:receiver:62347</Message>
</u:AddMessage>
</s:Body>
</s:Envelope>