Data Communication Group networksf.ufrgs.br/dcg

57
Unstructured Supplementary Service Data (USSD) Aula 7: Mobicents Gateway Porto Alegre, outubro de 2013 Data Communication Group http://networks.inf.ufrgs.br/dcg/

description

Unstructured Supplementary Service Data (USSD) Aula 7: Mobicents Gateway Porto Alegre, outubro de 2013. Data Communication Group http://networks.inf.ufrgs.br/dcg/. Agenda. Pilha SS7 Pilha SIGTRAN Mobicents Desenvolvendo Aplicações. Pilha de Protocolos SS7. - PowerPoint PPT Presentation

Transcript of Data Communication Group networksf.ufrgs.br/dcg

Page 1: Data Communication Group networksf.ufrgs.br/dcg

Unstructured Supplementary

Service Data (USSD)

Aula 7: Mobicents Gateway

Porto Alegre, outubro de 2013

Data Communication Grouphttp://networks.inf.ufrgs.br/dcg/

Page 2: Data Communication Group networksf.ufrgs.br/dcg

Agenda

① Pilha SS7

② Pilha SIGTRAN

③ Mobicents

④ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

2

Page 3: Data Communication Group networksf.ufrgs.br/dcg

Pilha de Protocolos SS7

Padronizada pelo ITU-T Recommendation Q.700 Series

Define os protocolos utilizados em todas as redes de telefonia (circuit switched)

Segue a filosofia de camadas do modelo de referência OSI

3

Page 4: Data Communication Group networksf.ufrgs.br/dcg

Pilha de Protocolos SS7

4

MTP1

MTP2

SCCP

TCAP

MTP3

MAP

Protocolos necessários para uso de serviços suplementares sobre SS7

MAP - Mobile Application PartTCAP - Transaction Capabilities Application PartSCCP - Signalling Connection Control PartMTP - Message Transfer Part

Page 5: Data Communication Group networksf.ufrgs.br/dcg

Message Transfer Part (MTP) Level 1

ITU-T Q.702 – SS7 Signalling Data Link Descreve características físicas, elétricas e

funcionais das interfaces desse tipo de rede Interfaces mais comuns:

E1 (2048 kb/s; 32 canais 64 kb/s) T1/DS-1 (1544 kb/s; 24 canais 64kb/s) V.35 (64 kb/s) DS-0 (64 kb/s) ou DS-0A (56 kb/s)

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

5

Page 6: Data Communication Group networksf.ufrgs.br/dcg

Message Transfer Part (MTP) Level 2

ITU-T Q.703 – SS7 Signalling Data Link Juntamente com o MTP-3 fornece um canal

de comunicação confiável ponto-a-ponto Realiza detecção e correção de erros através

de checksum Realiza controle de fluxo e

congestionamento já no nível 2 Monitora a condição do canal de transmissão

e taxas de erro

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

6

Page 7: Data Communication Group networksf.ufrgs.br/dcg

Message Transfer Part (MTP) Level 3

ITU-T Q.704 – SS7 Signalling Data Link Responsável por transmitir mensagens de

forma confiável entre nodos da rede Inclui funções para informar as partes

remotas de falhas em links Realiza funções de reconfiguração de

roteamento de mensagens

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

7

Page 8: Data Communication Group networksf.ufrgs.br/dcg

Signaling Connection Control Part (SCCP)

Oferece melhorias ao MTP-3 Serviços orientados a conexão, não-orientados a

conexão e capacidade de tradução de endereço Equivalentes a camada 4 do Modelo OSI

Mensagem composta por Tipo da mensagem SCCP, parâmetros de tamanho

fixo, parâmetros de tamanho variável e parâmetros opcionais

Exemplos de mensagem SCCP CR – Connection Request, CC – Connection

Confirm, CREF – Connection Refused, ED – Expedited DataUnstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013 8

Page 9: Data Communication Group networksf.ufrgs.br/dcg

Transaction Capabilities Application Part (TCAP)

Possibilita o desenvolvimento de serviços inteligentes para a rede

Apoia-se sobre o protocolo SCCP

Composta por três “porções”: Transação Componente Diálogo (opcional)

9Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 10: Data Communication Group networksf.ufrgs.br/dcg

Mobile Application Part (MAP)

Mensagens MAP são transportadas via TCAP em redes móveis Formadas por um cabeçalho seguido de até

4 elementos de informação Operation Specifier – Especifica o tipo de

operação Ex: Map-Unstructured-SS-Request, Map-

Unstructured-SS-Response, Map-Unstructured-SS-Request

Lenght – Especifica o tamanho do pacote Information Elements – Dependem do tipo

de operação especificada

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

10

Page 11: Data Communication Group networksf.ufrgs.br/dcg

Agenda

① Pilha SS7

② Pilha SIGTRAN

③ Mobicents

④ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

11

Page 12: Data Communication Group networksf.ufrgs.br/dcg

Implementação de Aplicações

SIGTRAN

Inbuilt da Pilha SS7 para redes IP

Composta por 3 camadas Camada IP padrão Camada de Protocolo de Sinalização

Utiliza o protocolo Stream Control Transmission Protocol (SCTP)

Camada de Adaptação Utiliza protocolos M2PA, M2UA, M3UA e SUA

12Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 13: Data Communication Group networksf.ufrgs.br/dcg

Pilha SIGTRAN

13Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Camadas Superiores

Protocolo de Adaptação(xUA, xPA)

Transporte de Sinalização Comum

(SCTP)

Protocolo Padrão de Internet (IP)

Modelo ArquiteturalSIGTRAN

Page 14: Data Communication Group networksf.ufrgs.br/dcg

Stream Control Transmission Protocol(SCTP)

Definido na RFC 3309

Responsável pelo transporte de mensagens de sinalização do SS7 sobre redes IP

Opera no mesmo nível do TCP

Orientado à conexão

14Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 15: Data Communication Group networksf.ufrgs.br/dcg

Serviços disponibilizados

Multi-homing Suporte a múltiplas interfaces IP num mesmo

end point Multi-streaming (chuking)

Possibilita múltiplas conexões virtuais sobre a mesma linha física

Cada aplicação pode ter associado seu próprio fluxo de mensagens

Entrega Sequencial Mensagens são entregues na sequência em

que são enviadas

15Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 16: Data Communication Group networksf.ufrgs.br/dcg

Serviços disponibilizados

Nível de Blocos Diferente do TCP (fluxo contínuo), transmite

em blocos Auto fragmentação

Utiliza MTU de descoberta de caminho para garantir que mensagens não sejam fragmentadas em nodos intermediários

Heart-beat Utiliza mensagens periódicas para confirmar o

status de cada end point

16Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 17: Data Communication Group networksf.ufrgs.br/dcg

MTP2 Peer-to-Peer Adaption Layer (M2PA)

Defino pela RFC 4165

Protocolo para transporte de mensagens de sinalização MTP3 (SS7) sobre IP

Semelhante a MTP2 (SS7), porém para redes IP

Opera de forma transparente para a pilha SS7

17Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 18: Data Communication Group networksf.ufrgs.br/dcg

MTP2 Peer-to-Peer Adaption Layer (M2PA)

18

UL

TCAP

SCCP

ISUP

MTP3

MTP2

MTP1

UL

TCAP

SCCP

ISUP

MTP3

MTP2

MTP1

MTP3

M2PA

SCTP

IP

UL

TCAP

SCCP

ISUP

MTP3

M2PA

SCTP

IP

SEP – Signaling End PointIPSP – IP Signaling PointSG – Signaling Gateway

SEP IPSP IPSPSG

PC PCs

SS7 IPISUP – ISDN User PartMGC – Media Gateway ControlerUL – Upper Layers

Page 19: Data Communication Group networksf.ufrgs.br/dcg

MTP2 User Adaption Layer (M2UA)

Defino pela RFC 3331

Protocolo para transporte de mensagens de sinalização MTP3 (SS7) sobre IP

Diferente do M2PA, é utilizado para backhauling

Utilizado para comunicação entre Signaling Gateway (SG) e Media Gateway Controler (MGC) MGC: dispositivo que converte de um

protocolo para outro19Unstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013

Page 20: Data Communication Group networksf.ufrgs.br/dcg

SIP

MTP2 User Adaption Layer (M2UA)

20

UL

TCAP

SCCP

ISUP

MTP3

MTP2

MTP1

MTP2

MTP1

M2UA

SCTP

IP

UL

TCAP

SCCP

ISUP

MTP3

M2UA

SCTP

IP

NIF – Nodal Inter-working FunctionMGC – Media Gateway ControlerUL – Upper Layers

SEP MGC (IPSP)

SG

PC

SS7 IP

NIF

PC

Page 21: Data Communication Group networksf.ufrgs.br/dcg

M2PA x M2UA

Semelhanças:1. Ambos transportam mensagens MTP32. Ambos apresentam interface no MTP2 para

MTP3

Diferenças:1. M2PA: IPSP processa primitivas MTP3->MTP2

M2UA: IPSP transporta primitivas MTP3->MTP2 entre o MTP2 do SG e MTP3 do SG processa2. M2PA: SG é um nodo SS7

M2UA: SG não é um nodo SS7 21Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 22: Data Communication Group networksf.ufrgs.br/dcg

M2PA x M2UA

Diferenças (cont.):3. M2PA: SG pode ter camadas superiores do SS7

M2UA: SG não pode ter camadas superiores do SS7 (não implementa o MTP3)4. M2PA: suporte para um ou mais IPSPs

M2UA: suporte para apenas um IPSP

22Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 23: Data Communication Group networksf.ufrgs.br/dcg

MTP3 User Adaption Layer (M3UA)

Defino pela RFC 4666

Protocolo para transporte de mensagens de sinalização MTP3 de usuário sobre IP

Traduz o conteúdo de Message Signal Units (MSU) SS7 utilizando uma tabela de roteamento Cada nó possui um point code para

roteamento

23Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 24: Data Communication Group networksf.ufrgs.br/dcg

MTP3 User Adaption Layer (M3UA)

24

UL

TCAP

SCCP

ISUP

MTP3

MTP2

MTP1

UL

TCAP

SCCP

MTP3

MTP2

MTP1

M3UA

SCTP

IP

UL

TCAP

SCCP

ISUP

M3UA

SCTP

IP

SEP – Signaling End PointIPSP – IP Signaling PointSG – Signaling Gateway

SEP IPSP

MSG (IPSP)SG

PC PCs

SS7 IP

NIF

NIF – Nodal Inter-working FunctionMGC – Media Gateway ControlerUL – Upper Layers

Page 25: Data Communication Group networksf.ufrgs.br/dcg

SCCP User Adaption Layer (SUA)

Defino pela RFC 3868

Protocolo para transporte de qualquer mensagens de sinalização de usuário SS7 SCCP sobre IP TCAP Radio Access Network Application Part

(RANAP) MAP

25Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 26: Data Communication Group networksf.ufrgs.br/dcg

SCCP User Adaption Layer (SUA)

26

UL

TCAP

SCCP

ISUP

MTP3

MTP2

MTP1

UL

TCAP

SCCP

MTP3

MTP2

MTP1

SUA

SCTP

IP

UL

TCAP

SUA

SCTP

IP

SEP – Signaling End PointIPSP – IP Signaling PointSG – Signaling Gateway

SEP IPSPIPSP

SG

PC PCs

SS7 IP

NIF

NIF – Nodal Inter-working FunctionMGC – Media Gateway ControlerUL – Upper Layers

Page 27: Data Communication Group networksf.ufrgs.br/dcg

M3UA x SUA

Diferenças:

1. M3UA: necessita dos serviços SCCP

SUA: não necessita dos serviços SCCP, reduzindo a complexidade do nó e consequentemente os custos

2. M3UA: Suporte para serviços ISUP

SUA: sem suporte para serviços ISUP

3. M3UA: Cada nó IP precisa de um IP e um point code

SUA: não requer point code no nó

4. M3UA: mensagens encaminhadas de point code para point code

SUA: permite que a rede IP roteie as mensagens utilizando informações de cabeçalho ou Subsystem Numner (SSN) 27Unstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013

Page 28: Data Communication Group networksf.ufrgs.br/dcg

Gateway com interface SIGTRAN

28Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Rede GSM

MAP-USSD

TCAP

SCCP

MTP3/M3UA

SCTP

IP

XML-RPC

AES/RSA

TCP

IP

MS

Gateway SIGTRAN

USSD APIAES/RSA

TCP

IP

Aplicação de

Usuário

Servidor USSD

SIGTRAN USSD Seguro

Page 29: Data Communication Group networksf.ufrgs.br/dcg

Gateway com interface Sangoma

29Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Rede GSM

MAP-USSD

TCAP

SCCP

MTP3

MTP2

Sangoma A10x

XML-RPC

AES/RSA

TCP

IP

MS

Gateway Sangoma

USSD APIAES/RSA

TCP

IP

Aplicação de

Usuário

Servidor USSD

E1/T1 MAP Seguro

Page 30: Data Communication Group networksf.ufrgs.br/dcg

Agenda

① Pilha SS7

② Pilha SIGTRAN

③ Mobicents

④ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

30

Page 31: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

Implementação open source da pilha de protocolos SS7 Permite desenvolver aplicações sem

preocupações com a pilha SS7

Baseado em Java Multiplataforma Compatível com qualquer sistema

operacional que suporte Java

Possui suporte a SIGTRAN (M3UA)

31Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 32: Data Communication Group networksf.ufrgs.br/dcg

Protocolos SS7 no Mobicents

32Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

MTP1 / Hardware

MTP2

ISUP

SCCP

TCAP

MTP3

TUP

BSSAP

DTAP BSS-MAP

MAP CAP INAP

Implementado

Roadmap

Não será implementado

Relacionado ainterferências

Aplicação

Controle de chamada

Pilha SS7

Page 33: Data Communication Group networksf.ufrgs.br/dcg

Protocolos SS7 no Mobicents

33Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Pilha SIGTRAN

Implementado

Depende da comunidadeIP

SCTP

M2PA M2UA M3UA SUA

SUA

SCCP//MTP3

ISUP

Page 34: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

Dependências Oracle Java Development Kit (JDK) 7 Maven 2.2 Módulo SCTP ativo no sistema operacional

34Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 35: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

Blocos funcionais Shell Management Client SS7 Service Elements Signaling Gateway

35Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 36: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

Shell Management Client Command Line Interface (CLI) Permite gerenciar diferentes aspectos do

Mobicents de maneira interativa Conecta-se a diferentes instâncias do

Mobicents Geralmente é invocado a partir de uma

máquina remota

36Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 37: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

SS7 Service Elements Cria uma instância do Mobicents MAP Stack

atrelada ao JNDI java:/mobicents/ss7/map

Serviço baseado em JMX Implantado em um Jboss Application Server Abstrai detalhes dos níveis inferiores

Não diferencia se os níveis superiores estão conectados em um hardware SS7 ou via M3UA

37Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 38: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

38Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

SS7 Service Elements

Imagem retirada do Mobicents SS7 Stack User Guide

Page 39: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

Mobicents Signaling Gateway Agente que recebe e envia sinalizações do

tipo Switched Circuit Network (SCN) na borda da rede IP

Mobicents M3UA Stack Protocolo cliente-servidor que suporta o

transporte de SS7 MTP3-User através de IP

39Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Page 40: Data Communication Group networksf.ufrgs.br/dcg

Mobicents jSS7

40Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

Mobicents Signaling GatewayImagem retirada do Mobicents SS7 Stack User Guide

Page 41: Data Communication Group networksf.ufrgs.br/dcg

Agenda

① Pilha SS7

② Pilha SIGTRAN

③ Mobicents

④ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

41

Page 42: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Testando o simulado jSS7

Abra a máquina virtual (oferecida nesta aula)

Execute o atalho do simulador na área de trabalho

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

42

Page 43: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

43

Page 44: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

44

Page 45: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

45

Page 46: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

46

Page 47: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

47

Page 48: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

48

Page 49: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

49

Page 50: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

50

Page 51: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

51

Page 52: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

52

Page 53: Data Communication Group networksf.ufrgs.br/dcg

Exercício 1: Simulador jSS7

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

53

Repetir os passos da criação do cliente para o servidor Utilizar o botão : “Load defaults values for

side B” Nas configurações TCAP+MAP

Inverter Origination e Destination

Utilizar a interface para realizar Requests Responses Notifies

Page 54: Data Communication Group networksf.ufrgs.br/dcg

Exercício 2: Aplicação Bancária

Abrir o NetBeans

Navegar pela aba de projetos até JSS7_USSD SctpServer SctpClient

Executar o projeto e uma instância do SctpClient

Explorar o código do Servidor

Integrar com o simulador do jSS7Unstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013 54

Page 55: Data Communication Group networksf.ufrgs.br/dcg

Exercício 3: Aplicação Bancária

Desenvolver uma aplicação para que o cliente de um banco consiga realizar algumas operações básicas em sua conta

As principais funcionalidades são: Autenticação: Número da conta e senha Menu de Opções:

Consulta Saldo Pagar Conta (Informando valor) Realizar Transferência (Informando conta e

valor) Sair

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

55

Page 56: Data Communication Group networksf.ufrgs.br/dcg

Exercício 4: Princípio de um Gateway

Desenvolver uma aplicação para que um SctpServer receba mensagens USSD que serão comunicadas através de um socket TCP a outra aplicação

As principais funcionalidades são: Tradução de mensagens USSD para TCP Criação de um Gateway USSD simples

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

56

Page 57: Data Communication Group networksf.ufrgs.br/dcg

Obrigado!Perguntas?

Cristiano Bonato [email protected]

Unstructured SupplementaryService Data (USSD)

Porto Alegre, outubro de 2013

http://networks.inf.ufrgs.br/dcg