Fórum de Suporte Digivoice
Você não está logado.
Estou com problemas para receber mensagens com acentos e caracteres especiais (codificadas em UCS-2). Quando recebo mensagens em GSM 03.38 (7 bits por caractere) a mesma é decodificada corretamente, mas ao receber mensagens com 16 bits/caractere o valor hexadecimal dela é exibida no log e enviada para meu script AGI.
Por exemplo, ao receber uma mensagem com o texto "Teste á" o seguinte aparece no log:
-- SMS received on port 1
-- Going to extension dgv_sms|1
-- (Dgv/1): SMS Received, use DGV_SMS_FROM, DGV_SMS_DATE, DGV_SMS_TIME and DGV_SMS_TEXT variables to read it!
-- Executing [dgv_sms@celulares:1] NoOp("DGV/1-SMS-1", "SMS RECEIVED FROM: +<numero> at 13/02/01(18:02:36): 00540065007300740065002000E1
") in new stack
-- Executing [dgv_sms@celulares:2] AGI("DGV/1-SMS-1", "recebeTorpedo,+<numero>,"00540065007300740065002000E1
",DGV/1-SMS-1") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recebeTorpedo
-- <DGV/1-SMS-1>AGI Script recebeTorpedo completed, returning 0
-- Executing [dgv_sms@celulares:3] Hangup("DGV/1-SMS-1", "") in new stack
== Spawn extension (celulares, dgv_sms, 3) exited non-zero on 'DGV/1-SMS-1'
Até poderia usar uma função que decodifique isso, porém o grande problema é no caso da mensagem ser dividida em várias partes, pois seria preciso esperar que as várias partes fossem recebidas, interpretar o cabeçalho, colocá-las em ordem (caso sejam recebidas fora de ordem) para depois decodificar a mensagem.
O que devo fazer neste caso?
Offline