Erstellen Sie eine verkettete SMS-UDH und stellen Sie sie dem Nachrichtentext voran

Um SMS (7-Bit) mit mehr als 160 Zeichen zu senden, müssen Sie die Nachricht in 153-stellige Nachrichtendatenteile aufteilen und diesen jeweils einen 5-Oktekt-UDH (Benutzerdaten-Header) voranstellen, um zu erläutern, dass dies Teile sind einer mehrteiligen SMS und sollte vom empfangenden Gerät 'neu zusammengesetzt' werden.

Da die UDH als Teil der Nachrichtendaten gesendet wird, sollte jeder Dienst, über den ich sie sende, sie hoffentlich ignorieren und an das Empfängertelefon weiterleiten, das sie decodiert und die Teile der langen SMS verkettet.

Ich verwende den folgenden Testcode, erhalte jedoch zwei separate Meldungen. Irgendwelche Vorschläge, was ich falsch mache?

private void sendButton_Click(object sender, EventArgs e)
{
    if ((cellNumberText.Text.Trim().Length == 10) && (messageText.Text.Trim().Length > 0))
    {
        SendSms(cellNumberText.Text.Trim(), BuildUdh(255, 2, 1) + "Hello first time.  ");
        SendSms(cellNumberText.Text.Trim(), BuildUdh(255, 2, 2) + "Hello second time.  ");
    }
}

private string BuildUdh(byte messageId, byte partCount, byte partId)
{
    var udg = new byte[5];
    udg[0] = 0x00;
    udg[1] = 0x03;
    udg[2] = messageId;
    udg[3] = partCount;
    udg[4] = partId;

    return BitConverter.ToString(udg);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage