View
122
Download
3
Category
Preview:
Citation preview
`
Unstructured Supplementary
Service Data (USSD)
Aula 3: Arquitetura USSD
Porto Alegre, setembro de 2013
Data Communication Grouphttp://networks.inf.ufrgs.br/dcg/
Agenda
① Dispositivo
② Gateway
③ Servidor de Aplicações
④ Troca de Mensagens
2Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Dispositivo - MMI
3Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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#
4Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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#
Dispositivo - MMI
5Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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#
Dispositivo - MMI
Revisando a formatação dos códigos
6Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Condições para interpretar o código como USSD e enviar para a rede GSM:
Códigos finalizados com #: Exemplos:
32342453521# *#*#*#*#4454#
Revisando a formatação dos códigos
7Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
8Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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.
Dispositivo - MMI
USSD Data Coding Scheme
9Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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 3GPP TS 23.038
Para utilizar o alfabeto padrão GSM 7-bit, o valor do parâmetro é “00001111” (decimal 15)
USSD String
10Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Os caracteres em USSD utilizam codificação em 7 bits, assim como no SMS
Supondo um caracter ‘a’, no seguinte formato
Codificando em 1 byte:
b7 b6 b5 b4 b3 b2 b1
1 1 0 0 0 0 1
b7 b6 b5 b4 b3 b2 b1 b0
0 1 1 0 0 0 0 1
USSD String
11Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Codificando em 2 bytes (“ab”):
Portanto, em 160 bytes é possível encapsular , ou seja, 182 caracteres, com 6 bits restantes em zero
b7 b6 b5 b4 b3 b2 b1 b0
0 1 1 0 0 0 0 1
0 0 1 1 0 0 0 1
USSD String
12Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Quando transmitir (8n-1) caracteres (ex: 7, 14, 21...) restam 7 bits em zero no fim da mensagem
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 0 1 1 0 0
0 0 0 0 1 1 1 1
0 1 1 1 0 1 0 0
1 1 1 0 1 0 1 1
0 0 0 0 0 0 0 1
Receptor confundirá os bits de padding com o símbolo “@”, codificado como “0000000” Incluir <CR> no fim
da mensagem
USSD String + Encoding Scheme
13Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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)
Agenda
① Dispositivo
② Gateway
③ Servidor de Aplicações
④ Troca de Mensagens
14Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
16Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
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 VoIP 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
19Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Planet
20Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Suporte até 10.000 sessões simultâneas
Três modos de integração para aplicações de terceiros: API access mode Hosted mode mGate USSD
VPN
Planet
21Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
API access mode Comunicação transparente com o Gateway
via SOAP (descontinuado), REST e XML Gateway recebe mensagens e traduz para
USSD
USSD Gateway
API
Prestadora doServiço
VPN
Planet
22Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Hosted mode Aplicação fica no Gateway Prestadora fornece determinadas
informações Comunicação via Web Services, XML/JSON,
JDBC ou protocolos personalizados
Prestadora doServiço
USSD Gateway
Aplicação daPrestadora
VPN
Planet
23Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
mGate USSD Proxy entre a prestadora de serviço e
Gateway Planet Permite utilizar inúmeros canais de
comunicação USSD
USSD Gateway
Prestadora doServiço
LeibICT
24Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Possui três tipos de serviços USSD USSD Gateway iVAS USSD Developer kit (API)
LeibICT
25Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
USSD Gateway Gateway exclusivo para aplicações USSD
MAP – 09.02LSLHSL
Sigtran
O&M
XML/TCP/IP
LeibICT USSD S-Gateway
GSM Network
USSD App
USSD App
USSD App
HTTP(S)
LeibICT
26Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
iVAS Integração entre serviços de USSD, LBS
(Location Based Services) e SMS
MAP – 09.02LSLHSL
Sigtran
O&MXML/TCP/IP
LeibICT iVAS Gateway
GSM Network
USSD + LBS + SMS App
USSD + SMS App
USSD + LBS App
USSD App
SMPP
HTTP(S)
LeibICT
27Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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 (WIN32) e Linux (32 e
64 bits) Simulador integrado para o Gateway e rede
GSM
USSD Developer Kit - Ambientes
28Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Desenvolvimento de AplicaçãoSimulador USSD Gateway
XML/TCP/IP
Telefone
Célula
BTC/BSC
MSC
HLR
MAP – 09.02LSLHSL
SigtranDesenvolvimento de Aplicação
XML/TCP/IP
LeibICT USSD Gateway
Desenvolvimento de Aplicação
XML/TCP/IP
Rede Real
Rede Simulada entre duas máquinas
Rede simulada localmente
LeibICT API - Detalhes
29Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
Agenda
① Dispositivo
② Gateway
③ Servidor de Aplicações
④ Troca de Mensagens
30Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Servidor de Aplicação
31Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
Posicionamento do Servidor
32Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
Posicionamento do Servidor
33Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
Posicionamento do Servidor
34Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
HLRVLR
Assinante Operadora Internet
Aplicação USSD GatewayTelefone Aplicação
MSC
MAP MAP MAP
SMPP
Interno ExternoXMLSOAPHTTP
Interface de comunicação com o Gateway
35Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
XML
36Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
eXtensible 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)
SOAP
37Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
SMPP
38Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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
SMPP
39Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Possui seu próprio PDU (Protocol Data Unit)
SMPP PDU
Cabeçalho (obrigatório)
DadosTamanho do
comando
ID do comando
Status do comando
ID de sequência
SMPP - Exemplo
40Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Gateway Servidor
Bind Request
Bind Response
Submit_SM_Req
Submit_SM_Resp
Delivery_SM_Req
Delivery_SM_Resp
Unbind Request
Unbind Response
Iniciar sessão
Envio de mensagem
Relatório de entrega
Finalizar sessão
Agregação de Gateways
41Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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)
Agenda
① Dispositivo
② Gateway
③ Servidor de Aplicações
④ Troca de Mensagens
42Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Comparação HTTP x USSD
43Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Navegador
ServidorGET
RESPONSE
IDID
ArquivoCookie
HTTP usa conexão
Não suporta nativamente o conceito de sessão
Cookies são utilizados para “emular” uma sessão
ServidorUSSD
Comparação HTTP x USSD
44Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
MS *123#ID 1
*123#ID 1resp
USSD
Cada requisição possui sua sessão
Cada sessão é tratada por uma thread no servidor
GWUSSD
*123#
ID 1*123#ID 1resp
*123#ID 1
GSM XML/HTTP
45
Sinalização
Signalling System No. 7 (SS7) Conjunto de protocolos de sinalização
entre componentes da NSS, padronizado pela UIT
Dividido em quatro camadas:
Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013
MTP1
MTP2
MTP3
SCCP
ISUP
TCAP
MAP
INAP
Física
Enlace
Rede
Aplicação
INAP - Intelligent Network Application ProtocolMAP - Mobile Application PartTCAP - Transaction Capabilities Application PartSCCP - Signalling Connection Control PartISUP - ISDN User PartMTP - Message Transfer Part
Serviços MAP
46Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
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_REQUEST MAP_UNSTRUCTURED_SS_NOTIFY
Serviços MAP são definidos pela norma 3GPP TS 29.002
Serviços MAP
47Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Primeiro octeto de uma mensagem MAP é o identificador do serviço
Primitiva Mnemônico Valor (dec)
Valor (hex)
MAP-PROCESS-UNSTRUCTURED-SS-REQUEST
MAPST_PRO_UNSTR_SS_REQ {59} {0x3b}
MAP-UNSTRUCTURED-SS-REQUEST MAPST_UNSTR_SS_REQ {60} {0x3c}
Serviços MAP
48Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Serviços necessários
Mensagem MAP
Campo Tipos
Invoke ID
InvokeReturn Result
RejectReturn Error
OperationProcess Unstructure SS Request
Unstructure SS RequestUnstructure SS Notify
Data Coding Scheme 7-bit
USSD String Dados
Exemplo de troca de mensagens
49Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
MSCUSSD
GatewayUSSD Server
AssinanteEnvia USSD
Request
HTTP POST RequestCom Payload XML
Aplicação inicia uma
nova sessão e envia o Menu
HTTP ResponseCom Payload XML
DTAP
DTAP
DTAP
Msg. Type: FacilityFacility:MAP_UNSTRUCTURED_SS_REQUEST
Trans. ID: 1234Protocol: SS (0x0b)
DTAP
Msg. Type: RegisterFacility:MAP_PROCESS_UNSTRUCTURED_SS_REQUEST
Trans. ID: 1234Protocol: SS (0x0b)
Exemplo de troca de mensagens
50Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
MSCUSSD
GatewayUSSD Server
Assinante recebe o Menu e
responde
DTAP HTTP POST RequestCom Payload XML para a mesma seção
Aplicação recebe o input dos usuários,
envia resposta final e finaliza
sessão
HTTP ResponseCom Payload XML
DTAPAssinante recebe a
resposta final
DTAP
Msg. Type: FacilityFacility:MAP_UNSTRUCTURED_SS_REQUEST
Trans. ID: 1234Protocol: SS (0x0b)
DTAP
Msg. Type: Release Complete
Facility:MAP_UNSTRUCTURED_SS_REQUEST
Trans. ID: 1234Protocol: SS (0x0b)
`
Obrigado!Perguntas?
Cristiano Bonato Bothcbboth@inf.ufrgs.br
Unstructured SupplementaryService Data (USSD)
Porto Alegre, setembro de 2013
http://networks.inf.ufrgs.br/dcg
Recommended