[[BR]]
= PushMailSMSSender para o servidor Funambol versão 7.0.4: =
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 o corpo de 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 via operadora de telefonia móvel.[[BR]]
4- O celular Nokia envia o SMS binário para o celular do usuário X.[[BR]]
5- O celular do usuário X recebe o SMS binário e abre seu cliente Funambol.[[BR]]
6- O SMS binário também faz o cliente Funambol iniciar uma sincronização para receber o novo e-mail.[[BR]]
----
== Formato de uma 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- Edite o arquivo PushMailSMSSender.xml e adeque os parâmetros: gatewayIP, gatewayPort, user e pwd de acordo com seu gateway Gnokii.[[BR]]
{{{
}}}
2- Copie o arquivo PushMailSMSSender.xml para Funambol/config/com/funambol/server/notification .[[BR]]
3- Instale o módulo [http://trac.expressolivre.org/browser/contrib/funambol/PushMailSMSSender/target/PushMailSMSSender-1.0.s4j?format=raw PushMailSMSSender.s4j] .[[BR]]
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: [http://trac.expressolivre.org/wiki/funambol_desenvolvimento_customizar]