Data Communication Group http://networks.inf.ufrgs.br/dcg/ 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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Relação do SS7 com o modelo OSI
Pilha de Protocolos SS7 Protocolos necessários para uso de serviços suplementares sobre SS7 MAP TCAP SCCP MTP3 Nem todos são necessários para rodar serviços USSD, por isso detalhamos apenas os que vamos usar. MTP2 MTP1 MAP - Mobile Application Part TCAP - Transaction Capabilities Application Part SCCP - Signalling Connection Control Part MTP - Message Transfer Part
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) T1 é 24 subcanais DS-0 Dá pra mencionar que tem fabricantes de placas para esse tipo de interface para computadores normals (PCI-Express). Tipo Sangoma que o LeibICT usa nos gateways deles. Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 MTP-2 trabalha só ponto a ponto Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 MTP-3 é network-wide Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Data T1 é 24 subcanais DS-0 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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) Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 T1 é 24 subcanais DS-0 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Agenda Pilha SS7 Pilha SIGTRAN Mobicents Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Pilha SIGTRAN Camadas Superiores Protocolo de Adaptação (xUA, xPA) Transporte de Sinalização Comum (SCTP) Modelo Arquitetural SIGTRAN Protocolo Padrão de Internet (IP) Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
MTP2 Peer-to-Peer Adaption Layer (M2PA) SG SEP IPSP IPSP UL I S U P UL I S U P UL I S U P TCAP TCAP TCAP SCCP SCCP SCCP MTP3 MTP3 MTP3 MTP3 MTP2 MTP2 M2PA M2PA SCTP SCTP MTP1 MTP1 IP IP PC PCs SS7 IP SEP – Signaling End Point IPSP – IP Signaling Point SG – Signaling Gateway ISUP – ISDN User Part MGC – Media Gateway Controler UL – Upper Layers
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 outro Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
MTP2 User Adaption Layer (M2UA) SEP MGC (IPSP) UL I S U P UL I S U P S I P TCAP TCAP SCCP SCCP SG MTP3 NIF MTP3 MTP2 MTP2 M2UA M2UA SCTP SCTP MTP1 MTP1 IP IP PC PC SS7 IP NIF – Nodal Inter-working Function MGC – Media Gateway Controler UL – Upper Layers
M2PA x M2UA Semelhanças: Diferenças: Ambos transportam mensagens MTP3 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 processa 2. M2PA: SG é um nodo SS7 M2UA: SG não é um nodo SS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 MSU = datagrama do SS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
MTP3 User Adaption Layer (M3UA) SG MSG (IPSP) SEP IPSP UL I S U P UL UL I S U P TCAP TCAP TCAP SCCP SCCP SCCP NIF MTP3 MTP3 M3UA M3UA MTP2 MTP2 SCTP SCTP MTP1 MTP1 IP IP PC PCs SS7 IP SEP – Signaling End Point IPSP – IP Signaling Point SG – Signaling Gateway NIF – Nodal Inter-working Function MGC – Media Gateway Controler UL – Upper Layers
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
SCCP User Adaption Layer (SUA) SG SEP IPSP IPSP UL I S U P UL TCAP TCAP UL NIF SCCP TCAP SCCP SUA MTP3 MTP3 SUA MTP2 MTP2 SCTP SCTP MTP1 MTP1 IP IP PC PCs SS7 IP SEP – Signaling End Point IPSP – IP Signaling Point SG – Signaling Gateway NIF – Nodal Inter-working Function MGC – Media Gateway Controler UL – Upper Layers
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) Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Gateway com interface SIGTRAN Gateway SIGTRAN Servidor USSD MS MAP-USSD XML-RPC Aplicação de Usuário TCAP Rede GSM SCCP USSD API MTP3/M3UA AES/RSA AES/RSA Figura do Gateway LeibICT com interface SIGTRAN SCTP TCP TCP IP IP IP SIGTRAN USSD Seguro Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Gateway com interface Sangoma Gateway Sangoma Servidor USSD MS MAP-USSD XML-RPC Aplicação de Usuário TCAP Rede GSM SCCP USSD API MTP3 AES/RSA AES/RSA Figura do Gateway LeibICT com interface Sangoma MTP2 TCP TCP Sangoma A10x IP IP E1/T1 MAP Seguro Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Agenda Pilha SS7 Pilha SIGTRAN Mobicents Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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) Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Protocolos SS7 no Mobicents Aplicação Pilha SS7 MTP1 / Hardware MTP2 ISUP SCCP TCAP MTP3 TUP BSSAP DTAP BSS-MAP MAP CAP INAP Implementado Roadmap Não será implementado Relacionado a interferências Controle de chamada Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Protocolos SS7 no Mobicents Pilha SIGTRAN Implementado Depende da comunidade IP SCTP M2PA M2UA M3UA SUA SCCP // MTP3 ISUP Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Mobicents jSS7 Dependências Oracle Java Development Kit (JDK) 7 Maven 2.2 Módulo SCTP ativo no sistema operacional Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Mobicents jSS7 Blocos funcionais Shell Management Client SS7 Service Elements Signaling Gateway Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Mobicents jSS7 SS7 Service Elements Imagem retirada do Mobicents SS7 Stack User Guide Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Mobicents jSS7 Mobicents Signaling Gateway Mobicents M3UA Stack 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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Mobicents jSS7 Mobicents Signaling Gateway Imagem retirada do Mobicents SS7 Stack User Guide Mobicents Signaling Gateway Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Agenda Pilha SS7 Pilha SIGTRAN Mobicents Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exercício 1: Simulador jSS7 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 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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 jSS7 Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013
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
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
Cristiano Bonato Both cbboth@inf.ufrgs.br Obrigado! Perguntas? Cristiano Bonato Both cbboth@inf.ufrgs.br http://networks.inf.ufrgs.br/dcg Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013