= PushMailSMSSender para o servidor Funambol versão 7.0.4 = [[PageOutline(1-3, Conteúdo)]] O PushMailSMSSender é um módulo do Funambol que viabiliza o recebimento de novos e-mails nos dispositivos móveis em tempo quase real de forma automática. É um serviço análogo ao oferecido para dispositivos Blackberry. Esse módulo (.sj4) envia um SMS, através de um gateway Gnokii, para o número de celular indicado em "Devices", que inicia uma sincronização de email. Ao adotar esse módulo, deve-se levar em conta o preço que a operadora de telefonia móvel cobra pelo envio de cada SMS. == Funcionamento == 1- O Servidor Funambol detecta o recebimento de um e-mail para o usuário X e notifica o módulo pushMailSMSSender.[[BR]] 2- O PushMailSMSSender monta um SMS binário e envia para o gateway Gnokii via protocolo HTTP.[[BR]] 3- O gateway Gnokii inclui um cabeçalho no SMS e envia para o celular Nokia.[[BR]] 4- O celular Nokia envia o SMS binário para o celular do usuário X via operadora de telefonia móvel.[[BR]] 5- O celular do usuário X recebe o SMS binário solicitando a execução de seu cliente Funambol e inicialização de uma sincronização de e-mail.[[BR]] == Formato da mensagem SMS == === Pilha do protocolo WAP Push SMS === Corpo | WSP+Corpo | WDP+WSP+Corpo | SMS_HEADER+WDP+WSP+Corpo[[BR]][[BR]] === SMS_HEADER- O gateway SMS deve anexar esse cabeçalho à mensagem === 00 = Length of SMSC - 00 means Use the SMSC stored in phone;[[BR]] 51 = binary 01010001:[[BR]] * bit 7=0 means replay path don't exists,[[BR]] * bit 6=1 means User Data field starts with a header,[[BR]] * bit 5=0 means status report is NOT requested,[[BR]] * bits 4,3=10 means Validity Period Format is 1 octet,[[BR]] * bit 2=0 means Don't Reject duplicates,[[BR]] * bits 1,0=01 means PDU is an SMS-SUBMIT;[[BR]] 00 = phone set the message reference number itself;[[BR]] 0A = Address-Length. Length of phone number (10);[[BR]] 81 = Type-of-number + Numbering Plan;[[BR]] 1429129520 = Destination Phone number 4192215902;[[BR]] 0004A737 = Trail.[[BR]] [[BR]] === Udh(WDP-Wireless Datagram Protocol) === 06 = Length;[[BR]] 05 = Identifier port number;[[BR]] 04 = Port number length;[[BR]] 0B84 = Destination port. This value is for Windows Mobile. If the client is JavaME, replace by C351;[[BR]] C002 = Origination port.[[BR]][[BR]] === Message Header(WSP-Wireless Session Protocol) === 01 = Push ID;[[BR]] 06 = PDU type(Push);[[BR]] 03 = Headers length (content type + headers);[[BR]] CE = Content type code is the constant CONTENT_TYPE_CODE_NOTIFICATION;[[BR]] AF = X-WAP-Application-ID;[[BR]] 85 = Id for urn: x-wap-application:push.syncml. [[BR]] [[BR]] === Corpo da Mensagem === 70F45FF17B5ABD16CE29FA27D2F870C2 = MD5 Digest;[[BR]] 031 = Binary 000000110001, bits 0000001100 means "version 1.2", bits 01 means "Uimode background";[[BR]] 8 = Binary 1000, bit 1 means "server initiator", bits 000 means "future use";[[BR]] 000000 = Future use;[[BR]] 0000 = Session ID;[[BR]] 08 = Server identifier length;[[BR]] 66756E616D626F6C = The server identifier string "funambol";[[BR]] 1 = Num syncs;[[BR]] 0 = Future use;[[BR]] 6 = Sync type means "two-way";[[BR]] 0 = Future use;[[BR]] 000306 = Content-type - application/vnd.omads-email+xml - OMA Data Sync Email Data Obj(XML);[[BR]] 04 = Server uri length;[[BR]] 6D61696C = The server uri string "mail".[[BR]][[BR]] == Instalação == 1- Crie o arquivo PushMailSMSSender.xml com o conteudo abaixo e adeque os parâmetros: gatewayIP, gatewayPort, user e pwd de acordo com seu gateway Gnokii.[[BR]] {{{ 192.168.0.99 13013 tester foobar }}} 2- Copie o arquivo PushMailSMSSender.xml para Funambol/config/com/funambol/server/notification .[[BR]] 3- Instale o módulo PushMailSMSSender: a) Faça o download do [http://trac.expressolivre.org/browser/contrib/funambol/PushMailSMSSender/target/PushMailSMSSender-1.0.s4j?format=raw PushMailSMSSender-1.0.s4j] e copie para Funambol/ds-server/modules .[[BR]] b) Adicione, delimitado por vírgula, o '''PushMailSMSSeder-1.0''' no parâmetro modules-to-install do Funambol/ds-server/install.properties (NÃO inclua a extensão .s4j).[[BR]] c) Pare o servidor Funambol.[[BR]] d) Execute Funambol/bin/install-modules e responda "n" para todas perguntas.[[BR]] e) Inicie o servidor Funambol. 4- Edite o arquivo Funambol/config/com/funambol/server/inventory/PSDeviceInventory.xml e configure a propriedade defaultNotificationServer assim:[[BR]] {{{ com/funambol/server/notification/PushMailSMSSender.xml }}} 5- Reinicie o servidor do Funambol. [[BR]] 6- Em Funambol Administrator Tool -> "Devices", para cada registro, preencha o campo "Phone Number", (Exemplo para o DDD 11: 1199112233). O SMS nao será enviado se o "Phone Number" estiver em branco. == Código-fonte == O código-fonte está disponível para checkout em: [http://trac.expressolivre.org/browser/contrib/funambol/PushMailSMSSender] Para alterar/recompilar esse código, utilize o procedimento: [wiki:Servicos/Funambol/Desenvolvimento/Customizar]