ModemManager - SMS mit geschweiften Klammern können nicht gesendet werden

ModemManager - SMS mit geschweiften Klammern können nicht gesendet werden

Ich stecke bei einem Problem fest, wenn ich mit ModemManager (mmcli 1.14.2) programmgesteuert SMS versenden möchte, die eine bestimmte Kombination aus Sonderzeichen enthalten, die ich noch identifizieren muss.

Die SMS, die ich zu senden versuche, ist die folgende:

OK({ yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz })

Ich verwende hier eine zufällige Zeichenfolge, um eine große Nutzlast zu simulieren. In Wirklichkeit ist die Nutzlast zwischen geschweiften Klammern ein strukturierteres Modell.

Das Problem besteht darin, dass die Nachricht nicht an den Empfänger übermittelt wird, wenn ich die Nutzlast mit geschweiften Klammern einkapsele.

Ich habe dieses Problem bei der Verwendung der folgenden Sendemethoden.

Verwenden von MMCLI

Senden von SMS mithilfe von mmcli mit:

mmcli -m 1 --messaging-create-sms="number=<NUMBER>,text='OK({yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz})'"

und dann

mmcli -m 1 --sms <id> --send

Das Ergebnis lautet:

SMS erfolgreich versendet

Verwenden von DBUS

Ich verwende dasNachrichtenDBUS-Schnittstelle zum Erstellen eines neuenSMS, legen Sie die Eigenschaften „Zahl“ und „Text“ (UTF8-Zeichenfolge) fest und senden Sie es dann mithilfe der Send()Methode.

Ich verwende C# undTmds.Dbusum mit dem Bus zu interagieren.

Das Problem

Mit beiden Methoden kann ich die Nachricht nicht auf dem Telefon des Empfängers empfangen. Wenn ich versuche, dieselbe Nachricht zu sendenohnegeschweifte Klammern, es wird ohne Probleme zugestellt. Wenn ich versuche, eine weitere Nachricht zu sendenmitgeschweifte Klammern (etwa "OK({Test})" wird es trotzdem problemlos zugestellt. Wenn ich versuche, eine der oben genannten Nachrichten von einem Telefon an das von mir verwendete Gerät zu senden (mit Modem-Manager), wird sie problemlos empfangen (mit oder ohne geschweifte Klammern, lange und kurze Version).

Es scheint, als gäbe es eine spezielle Zeichenkombination, die Probleme mit dem ModemManager verursacht und deshalb nicht gesendet wird.

Die Tatsache, dass die gleiche Nachricht von einem Telefon an den ModemManager gesendet werden kann, lässt mich annehmen, dass auf Seiten des Mobilfunkbetreibers kein Problem vorliegt.

Da die eigentliche Nutzlast ein JSON-codiertes Modell enthält, sind geschweifte Klammern leider wichtig.

Antwort1

Sie versuchen, einen Puffer mit 309 Zeichen zu senden. SMS haben ein Limit (von 104).

verwandte Informationen