function telefone_pdu lparameters m.telefone local m.telefonepdu m.telefone = alltrim(m.telefone) * Number must be exactly 11 digits, not more if len(alltrim(m.telefone)) > 11 m.telefone = right(m.telefone,1) endif * Number must be at least 11 digits m.telefone = padl(m.telefone,11,"0") m.telefonepdu = substr(m.telefone,2,1) + substr(telefone,1,1) + substr(m.telefone,4,1) + substr(telefone,3,1) + ; substr(m.telefone,6,1) + substr(telefone,5,1) + substr(m.telefone,8,1) + substr(telefone,7,1) + ; substr(m.telefone,10,1) + substr(telefone,9,1) + ; "F" + substr(telefone,9,1) + substr(m.telefone,11,1) return m.telefonepduNow the result number for the above example it should be: 3033361179F4.
m.pdu = "001100" + m.tamanho_numero + m.tipo_telefone + telefone_pdu(m.telefone) + "0000AA" + m.numero_septetos_mensagem + m.texto + chr(26) + chr(13) + chr(10) where : m.tamanho_numero = “0B” (as seen above) m.tipo_telefone = “81” (because you don't use the international format for Pakistan, in that case it should be "91") m.telefone_pdu = “3033361179F4” (as seen above) m.numero_septetos_mensagem = “8E” (142 in hexa) m.texto = C8329BFD6681D2A736685E7693D3EE33888E4ECF41F4329E0EBAA7E96890D5080581402010080402814020100804028140201008040281402010080402814020100804028140201008040281402010080402814020100804028140201008040281402010080402814020100804028140201008040281402010080402814020100804028140201008040281402010 (The result of converting the text message "Hello, i'm sending this text with VFP" to a Hexadecimal string.)If you got this results, i think there‘s no reason to the sms do not work.