Unstructured Supplementary Service Data USSD Aula 3 Arquitetura

  • Slides: 51
Download presentation
Unstructured Supplementary Service Data (USSD) Aula 3: Arquitetura USSD Porto Alegre, setembro de 2013

Unstructured Supplementary Service Data (USSD) Aula 3: Arquitetura USSD Porto Alegre, setembro de 2013 Data Communication Group http: //networks. inf. ufrgs. br/dcg/ `

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 2

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços GSM

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços GSM previamente definidos pela GSM TS 22. 030 anexo B: § Exemplos: § Ativar serviços de chamada em espera: *43# § Ativar restrição de ID nas chamadas: *31# § Desativar restrição de ID nas chamadas *30# Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 3

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços do

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços do SIM § Exemplo: Vivo § Número do Portal de Voz: 3# § Número do Correio de Voz: 2# § Exemplo: TIM § Número do Meu Plano: 3# § Número da Caixa Postal: 1# Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 4

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços definidos

Dispositivo - MMI § Condições para o dispositivo tratar uma requisição: § Serviços definidos pelo fabricante do dispositivo § Exemplo: Versão do telefone § Motorola: *#9999# § Nokia: *#0000# § Samsung: *#2222# Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 5

Revisando a formatação dos códigos § Condições para interpretar o código como USSD e

Revisando a formatação dos códigos § Condições para interpretar o código como USSD e enviar para a rede GSM: § Códigos finalizados com #: § Exemplos: § 32342453521# § *#*#4454# Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 6

Revisando a formatação dos códigos § Condições para interpretar o código como USSD e

Revisando a formatação dos códigos § Condições para interpretar o código como USSD e enviar para a rede GSM: § Short Strings com 1 dígito ou 2 dígitos NÃO iniciando com 1 § Exemplos: § 3 § 41 Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 7

Dispositivo - MMI § Condições para interpretar o código como chamada (código NÃO USSD):

Dispositivo - MMI § Condições para interpretar o código como chamada (código NÃO USSD): § Qualquer código não coberto pelas condições anteriores § Exemplo: 12 (Short Strings com 2 dígitos iniciando com 1) § 1234324 (String não finalizada com #) § *#*#*#2 (Não é uma Short String, etc. ) § etc. § Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 8

USSD Data Coding Scheme § Parâmetro responsável por detalhar o alfabeto e o idioma

USSD Data Coding Scheme § Parâmetro responsável por detalhar o alfabeto e o idioma utilizado na informação em uma operação USSD § Codificação de acordo com a seção “Cell Broadcast Data Coding Scheme” da 3 GPP TS 23. 038 § Para utilizar o alfabeto padrão GSM 7 -bit, o valor do parâmetro é “ 00001111” (decimal 15) Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 9

USSD String § Os caracteres em USSD utilizam codificação em 7 bits, assim como

USSD String § Os caracteres em USSD utilizam codificação em 7 bits, assim como no SMS § Supondo um caracter ‘a’, no seguinte formato b 7 b 6 b 5 b 4 b 3 b 2 b 1 1 1 0 0 1 § Codificando em 1 byte: b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0 1 1 0 0 1 Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 10

USSD String § b 7 b 6 b 5 b 4 b 3 b

USSD String § b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0 1 1 0 0 1 1 0 0 0 1 Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 11

USSD String § Quando transmitir (8 n-1) caracteres (ex: 7, 14, 21. . .

USSD String § Quando transmitir (8 n-1) caracteres (ex: 7, 14, 21. . . ) restam 7 bits em zero no fim da mensagem § Receptor confundirá os bits de padding com o símbolo “@”, codificado como “ 0000000” § Incluir <CR> no fim da mensagem b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 12

USSD String + Encoding Scheme § Para utilizar o código do alfabeto padrão GSM,

USSD String + Encoding Scheme § Para utilizar o código do alfabeto padrão GSM, o USSD Encoding Scheme deve conter o código “ 00001111” (decimal 15) § Para utilizar caracteres especiais, pode-se utilizar tabelas de extensões de acordo com o idioma desejado § Caracteres especiais da língua portuguesa utilizam o código “ 00000011” (decimal 3) Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 13

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 14

Gateway § Gateway ou ponte de ligação § Interligar redes § Separar domínios de

Gateway § Gateway ou ponte de ligação § Interligar redes § Separar domínios de colisão § Traduzir protocolos § Gateway pode ser implementado § Em software § Em hardware § Combinação de ambos Simpósio Brasileiro de Telecomunicações Brasília, 13 a 16 de setembro de 2012 15

USSD Gateway § Espera por mensagens MAP da rede GSM § Traduz mensagens MAP

USSD Gateway § Espera por mensagens MAP da rede GSM § Traduz mensagens MAP em SMPP, HTTP, XML, etc. § Roteia as mensagens traduzidas para a aplicação do servidor final § Através da rede GSM, PODE apresentar informações de posicionamento e número do usuário para a aplicação final Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 16

USSD Gateways disponíveis no mercado Simpósio Brasileiro de Telecomunicações Brasília, 13 a 16 de

USSD Gateways disponíveis no mercado Simpósio Brasileiro de Telecomunicações Brasília, 13 a 16 de setembro de 2012 17

Mobicents § Plataforma Open Source § Vo. IP § Suporte redes de comunicação legada

Mobicents § Plataforma Open Source § Vo. IP § Suporte redes de comunicação legada § Implementado em Java, utilizando JBOSS/TOMCAT § Mobicents USSD gateway Simpósio Brasileiro de Telecomunicações Brasília, 13 a 16 de setembro de 2012 18

Mobicents Modeling Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 19

Mobicents Modeling Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 19

Planet § Suporte até 10. 000 sessões simultâneas § Três modos de integração para

Planet § Suporte até 10. 000 sessões simultâneas § Três modos de integração para aplicações de terceiros: § API access mode § Hosted mode § m. Gate USSD Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 20

Planet § API access mode § Comunicação transparente com o Gateway via SOAP (descontinuado),

Planet § API access mode § Comunicação transparente com o Gateway via SOAP (descontinuado), REST e XML § Gateway recebe mensagens e traduz para USSD Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 21

Planet § Hosted mode § Aplicação fica no Gateway § Prestadora fornece determinadas informações

Planet § Hosted mode § Aplicação fica no Gateway § Prestadora fornece determinadas informações § Comunicação via Web Services, XML/JSON, JDBC ou protocolos personalizados Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 22

Planet § m. Gate USSD § Proxy entre a prestadora de serviço e Gateway

Planet § m. Gate USSD § Proxy entre a prestadora de serviço e Gateway Planet § Permite utilizar inúmeros canais de comunicação USSD Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 23

Leib. ICT § Possui três tipos de serviços USSD § USSD Gateway § i.

Leib. ICT § Possui três tipos de serviços USSD § USSD Gateway § i. VAS § USSD Developer kit (API) Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 24

Leib. ICT § USSD Gateway § Gateway exclusivo para aplicações USSD O&M USSD App

Leib. ICT § USSD Gateway § Gateway exclusivo para aplicações USSD O&M USSD App HTTP(S) XML/TCP/IP GSM Network MAP – 09. 02 LSL Leib. ICT USSD S-Gateway HSL Sigtran USSD App Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 25

Leib. ICT § i. VAS § Integração entre serviços de USSD, LBS (Location Based

Leib. ICT § i. VAS § Integração entre serviços de USSD, LBS (Location Based Services) e SMS O&M XML/TCP/IP USSD App HTTP(S) USSD + LBS App GSM Network MAP – 09. 02 LSL HSL Sigtran Leib. ICT i. VAS Gateway SMPP USSD + SMS App USSD + LBS + SMS App Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 26

Leib. ICT § USSD Developer Kit § API para programação de aplicações USSD §

Leib. ICT § USSD Developer Kit § API para programação de aplicações USSD § Permite integração direta com os Gateways comercializados pela empresa § Linguagens Java e C++ § Bibliotecas Windows (WIN 32) e Linux (32 e 64 bits) § Simulador integrado para o Gateway e rede GSM Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 27

USSD Developer Kit - Ambientes Telefone HLR BTC/BSC Célula MSC MAP – 09. 02

USSD Developer Kit - Ambientes Telefone HLR BTC/BSC Célula MSC MAP – 09. 02 LSL HSL Sigtran XML/TCP/IP Leib. ICT USSD Gateway Desenvolvimento de Aplicação Rede Real XML/TCP/IP Simulador USSD Gateway Desenvolvimento de Aplicação XML/TCP/IP Rede Simulada entre duas máquinas Desenvolvimento de Aplicação Rede simulada localmente Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 28

Leib. ICT API - Detalhes § API abstrai toda a parte do XML e

Leib. ICT API - Detalhes § API abstrai toda a parte do XML e protocolos de comunicação § Baseada em callbacks § Conexão da aplicação com o Gateway pode ser com ou sem criptografia § Permite que a aplicação se conecte ao Gateway e se registre para um determinado Short Code § Suporta multi-thread § Até 16. 384 sessões simultâneas suportadas pelo Gateway Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 29

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 30

Servidor de Aplicação § Equipamento dedicado para execução das aplicações USSD § Pode conter

Servidor de Aplicação § Equipamento dedicado para execução das aplicações USSD § Pode conter mais de uma aplicação USSD § Comunica-se diretamente com o Gateway USSD § Não faz parte da rede GSM § Opera geralmente como um servidor de Web Services Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 31

Posicionamento do Servidor § Dentro da rede interna da operadora § Utilizada por operadoras

Posicionamento do Servidor § Dentro da rede interna da operadora § Utilizada por operadoras com serviços USSD próprios § Trabalha diretamente com MSC/VLR ou HLR § Solução pouco adotada em aplicações de terceiros Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 32

Posicionamento do Servidor § Fora da rede GSM § Aplicações USSD de “terceiros” §

Posicionamento do Servidor § Fora da rede GSM § Aplicações USSD de “terceiros” § Conexão dedicada ou não (Internet) § Instalação não requer modificações na estrutura da rede GSM § Administração fica à cardo do provedor do serviço § Amplamente utilizada § Terceiros fornecem serviços via rede GSM § Lucrativo para as duas partes Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 33

Posicionamento do Servidor Assinante Internet Operadora MAP MAP MSC Interno Externo SMPP Telefone Aplicação

Posicionamento do Servidor Assinante Internet Operadora MAP MAP MSC Interno Externo SMPP Telefone Aplicação XML SOAP HTTP USSD Gateway Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 Aplicação 34

Interface de comunicação com o Gateway § Diferentes modos de comunicação, dependendo da implementação

Interface de comunicação com o Gateway § Diferentes modos de comunicação, dependendo da implementação e do posicionamento do servidor § Mais usuais: § XML (para sintaxe das mensagens) sobre HTTP § SOAP (para descrição dos serviços) sobre HTTP § SMPP Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 35

XML § e. Xtensible Markup Language § Utilizado como sintaxe padrão para mensagens trocadas

XML § e. Xtensible Markup Language § Utilizado como sintaxe padrão para mensagens trocadas com o Servidor de Aplicações § Orientado à tags para identificar diferentes campos § Desenvolvido para transportar dados, não para exibir (HTML) Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 36

SOAP § Simple Object Access Protocol § Baseado em XML, contendo os seguintes elementos:

SOAP § Simple Object Access Protocol § Baseado em XML, contendo os seguintes elementos: § Envelope: identifica o XML como uma mensagem SOAP § Cabeçalho: informações da mensagem § Corpo: informações de solicitação e resposta § Falhas: informações sobre erros e estado atual Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 37

SMPP § Short Message Peer-to-Peer § Frequentemente utilizado para integrar serviços terceirizados dentro da

SMPP § Short Message Peer-to-Peer § Frequentemente utilizado para integrar serviços terceirizados dentro da rede GSM § Baseado em requisição/resposta (como no HTTP) § Trabalha com estabelecimento de uma sessão § Não trabalha com codificação GSM 7 -bit Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 38

SMPP § Possui seu próprio PDU (Protocol Data Unit) SMPP PDU Cabeçalho (obrigatório) Tamanho

SMPP § Possui seu próprio PDU (Protocol Data Unit) SMPP PDU Cabeçalho (obrigatório) Tamanho do comando ID do comando Status do comando ID de sequência Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 Dados 39

SMPP - Exemplo Gateway Iniciar sessão Servidor Bind Request Bind Response Envio de mensagem

SMPP - Exemplo Gateway Iniciar sessão Servidor Bind Request Bind Response Envio de mensagem Submit_SM_Req Submit_SM_Resp Relatório de entrega Finalizar sessão Delivery_SM_Req Delivery_SM_Resp Unbind Request Unbind Response Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 40

Agregação de Gateways § Operadoras diferentes podem ter diferentes Gateways § Cada Gateway pode

Agregação de Gateways § Operadoras diferentes podem ter diferentes Gateways § Cada Gateway pode utilizar protocolos diferentes § A aplicação deve ser desenvolvida de maneira que suporte diferentes tipos de comunicação § Evitar que para N operadoras, N aplicações devam ser desenvolvidas em N servidores de aplicação § Engenharia de Software (MVC – Model View Controller) Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 41

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured

Agenda ① Dispositivo ② Gateway ③ Servidor de Aplicações ④ Troca de Mensagens Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 42

Comparação HTTP x USSD § HTTP usa conexão § Não suporta nativamente o conceito

Comparação HTTP x USSD § HTTP usa conexão § Não suporta nativamente o conceito de sessão § Cookies são utilizados para “emular” uma sessão Navegador GET Servidor RESPONSE ID ID Cookie Arquivo Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 43

Comparação HTTP x USSD § Cada requisição possui sua sessão § Cada sessão é

Comparação HTTP x USSD § Cada requisição possui sua sessão § Cada sessão é tratada por uma thread no servidor MS GSM *123# ID 1 resp XML/HTTP GW USSD *123# ID 1 resp Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 Servidor USSD *123# ID 1 44

Sinalização § Signalling System No. 7 (SS 7) § Conjunto de protocolos de sinalização

Sinalização § Signalling System No. 7 (SS 7) § Conjunto de protocolos de sinalização entre componentes da NSS, padronizado pela UIT § Dividido em quatro camadas: Aplicação T C A P ISUP M A P I N A P SCCP Rede Enlace Física INAP - Intelligent Network Application Protocol MAP - Mobile Application Part MTP 2 TCAP - Transaction Capabilities Application Part MTP 1 SCCP - Signalling Connection Control Part ISUP - ISDN User Part MTP - Message Transfer Part Unstructured Supplementary Service Data (USSD) 45 Porto Alegre, setembro de 2013 MTP 3

Serviços MAP § Mensagens de texto (menus, questões, respostas) entre uma aplicação USSD e

Serviços MAP § Mensagens de texto (menus, questões, respostas) entre uma aplicação USSD e um usuário utilizam serviços MAP § MAP_PROCESS_UNSTRUCTURED_SS_REQUEST § MAP_UNSTRUCTURED_SS_NOTIFY § Serviços MAP são definidos pela norma 3 GPP TS 29. 002 Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 46

Serviços MAP § Primeiro octeto de uma mensagem MAP é o identificador do serviço

Serviços MAP § Primeiro octeto de uma mensagem MAP é o identificador do serviço Primitiva Mnemônico Valor (dec) Valor (hex) MAP-PROCESS-UNSTRUCTURED-SSREQUEST MAPST_PRO_UNSTR_SS_REQ {59} {0 x 3 b} MAP-UNSTRUCTURED-SS-REQUEST MAPST_UNSTR_SS_REQ {60} {0 x 3 c} Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 47

Serviços MAP § Serviços necessários Mensagem MAP Campo Tipos Invoke ID Invoke Return Result

Serviços MAP § Serviços necessários Mensagem MAP Campo Tipos Invoke ID Invoke Return Result Reject Return Error Operation Process Unstructure SS Request Unstructure SS Notify Data Coding Scheme 7 -bit USSD String Dados Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 48

Exemplo de troca de mensagens USSD Gateway MSC Assinante Envia USSD Request DTAP USSD

Exemplo de troca de mensagens USSD Gateway MSC Assinante Envia USSD Request DTAP USSD Server HTTP POST Request Com Payload XML HTTP Response Com Payload XML DTAP Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 Aplicação inicia uma nova sessão e envia o Menu 49

Exemplo de troca de mensagens USSD Gateway MSC Assinante recebe o Menu e responde

Exemplo de troca de mensagens USSD Gateway MSC Assinante recebe o Menu e responde DTAP USSD Server HTTP POST Request Com Payload XML para a mesma seção HTTP Response Com Payload XML Assinante recebe a resposta final DTAP Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 Aplicação recebe o input dos usuários, envia resposta final e finaliza sessão 50

Obrigado! Perguntas? Cristiano Bonato Both cbboth@inf. ufrgs. br http: //networks. inf. ufrgs. br/dcg Unstructured

Obrigado! Perguntas? Cristiano Bonato Both cbboth@inf. ufrgs. br http: //networks. inf. ufrgs. br/dcg Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013 `