` aula 3: arquitetura ussd porto alegre, setembro de 2013 unstructured supplementary service data...

Post on 18-Apr-2015

129 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

`

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

top related