Genere un SMS concatenado UDH y añádalo al texto del mensaje

Para enviar SMS (7 bits) de más de 160 caracteres, debe dividir el mensaje en partes de datos de mensajes de 153 caracteres y prefijar cada una de ellas con un UDH (encabezado de datos de usuario) de 5 octetos, explicando que estas son partes de un SMS multiparte y debe ser 'reensamblado' por el dispositivo receptor.

A medida que el UDH se envía como parte de los datos del mensaje, es de esperar que cualquier servicio por el que lo envíe deba ignorarlo y enviarlo al teléfono receptor que lo decodificará y concatenará las partes del SMS largo.

Estoy usando el siguiente código de prueba, pero recibo dos mensajes separados. ¿Alguna sugerencia sobre lo que estoy haciendo mal?

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);

Respuestas a la pregunta(1)

Su respuesta a la pregunta