Gere um SMS UDH concatenado e adicione-o ao texto da mensagem

Para enviar SMS (7 bits) com mais de 160 caracteres, é necessário dividir a mensagem em 153 partes de dados de mensagens de caracteres e prefixar cada uma delas com um UDH de 5 octetos (cabeçalho de dados do usuário), explicando que essas são partes de um SMS com várias partes e deve ser 'remontado' pelo dispositivo receptor.

Como o UDH é enviado como parte dos dados da mensagem, qualquer serviço que eu esteja enviando deve, espero, ignorá-lo e enviá-lo ao telefone destinatário, que o decodificará e concatenará as partes do longo SMS.

Estou usando o seguinte código de teste, mas recebo duas mensagens separadas. Alguma sugestão sobre o que estou fazendo de errado?

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