1 / 55

Data Communication Group networksf.ufrgs.br/dcg/

Unstructured Supplementary Service Data (USSD) Aula 6: Bibliotecas e Simuladores Porto Alegre, outubro de 2013. Data Communication Group http://networks.inf.ufrgs.br/dcg/. Agenda. Gateways USSD disponíveis Simuladores GSM, SMPP e USSD Simulação com Gateway LeibICT

lane-lowery
Download Presentation

Data Communication Group networksf.ufrgs.br/dcg/

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unstructured SupplementaryService Data (USSD) Aula 6: Bibliotecas e SimuladoresPorto Alegre, outubro de 2013 Data Communication Group http://networks.inf.ufrgs.br/dcg/

  2. Agenda • Gateways USSD disponíveis • Simuladores GSM, SMPP e USSD • Simulação com Gateway LeibICT • Desenvolvendo uma aplicação Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  3. USSD Gateways disponíveis no mercado Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  4. Comparação Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  5. Gateway LeibICT • Exemplo de Infraestrutura Real Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013

  6. Gateway LeibICT • Funcionalidades: • Suporte a UMTS/GSM • Alto desempenho (+500 transações/segundo) • Suporta Interface Sigtran(100Mbit/1Gbit) • Até 64 aplicações USSD (short codes) • O&M Web Interface • SNMP v1 and v2 Traps • Até 4 níveis de redundância • Suporta Linux e Solaris • Criptografia com AES-256bit/RSA-4096bit • APIs para comunicação sobre HTTP, XML/TCP/IP • Linguagens Java and C++ Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  7. Agenda • Gateways USSD disponíveis • Simuladores GSM, SMPP e USSD • Simulação com Gateway LeibICT • Desenvolvendo uma aplicação Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  8. Implementação de Aplicações • Na operadora • Utilizando a infraestrutura da operadora • Depende de acordos firmados entre a prestadora de serviço e a operadora • Desenvolvimento da aplicação depende dos recursos disponibilizados pela operadora • Problemas: • Dificuldades impostas pelas operadoras • Gasta recursos • Pode comprometer o funcionamento da rede Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  9. Implementação de Aplicações • Na operadora • Na prestadora de serviço • Usando simuladores Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  10. Implementação de Aplicações • Na prestadora de serviços • Prestadora adquire equipamentos para o desenvolvimento • Não depende da operadora • Desenvolvimento é totalmente controlado pela prestadora • Problemas: • Infraestrutura para testes é cara • Prestadora de serviço pode não ter recursos • Infraestrutura pode não ser reaproveitada Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  11. Simuladores • Prós: • Menores custos • Desenvolvimento independente de infraestrutura • Aplicação não fica “refém” da operadora • Contras: • Desenvolvimento pode ficar demasiadamente simplificado, ignorando aspectos importantes • Ambiente simulado não apresenta particularidades de redes reais (atrasos, perdas, etc.) Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  12. Tipos de Simulação • GSM • Simula determinados componentes da rede e/ou a comunicação entre eles • Protocolos da rede • Simula a comunicação utilizando determinado protocolo da rede GSM • Tráfego de informações • Simula tráfego de transmissão e recepção de dados em um canal GSM • Utilizado para análise de tráfego (sobrecarga, perdas, estatística, etc. Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  13. Tipos de Simulação • USSD • Simula a operação do Gateway USSD • Protocolos de comunicação com a rede GSM e servidor de aplicações simplificados • Utilização de Sockets Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  14. MAPS™ GSM Abis Interface Emulator • www.gl.com/maps-gsmabis.html • Software pago • Simula a interface de comunicação via rádio A-bis • Entre BTS e BSC • Possibilita realização de testes entre estes elementos • Rastreamento de erros • Testes de regressão • Testes de conformidade • Testes de sobrecarga • Geração de chamadas • Geração de grandes volumes de tráfego GSM Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  15. MAPS™ GSM Abis Interface Emulator MS NSS BSS MAPS Abis Simulator Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013 15

  16. MAPS™ GSM Abis Interface Emulator MM – Mobility Management CC – CustomerCare–Atendimento ao cliente RR – Radio Resource management SMS – Short Message Service Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  17. MAPS™ GSM Abis Interface Emulator Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  18. MAPS™ GSM A Interface Emulator • www.gl.com/maps-gsma.html • Software pago • Simula a interface de comunicação A • Entre BSC e MSC/VLR • Implementa os protocolos BSSMAP e DTAP • Possibilita realização de testes entre MSC e BSC • Rastreamento de erros • Testes de regressão • Testes de conformidade • Testes de sobrecarga • Geração de chamadas • Geração de grandes volumes de tráfego GSM Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  19. MAPS™ GSM A Interface Emulator MS NSS BSS MAPS A Simulator Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013 19

  20. MAPS™ GSM A Interface Emulator SCCP - Signalling Connection ControlPart MTP– MessageTransferPart BSSMAP – Base Station Subsistem Mobile ApplicationPart DTAP- DirectTransferApplicationPart MM – Mobility Management CC – CustomerCare–Atendimento ao Cliente RR – Radio Resource management SMS – Short Message Service Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  21. MAPS™ GSM A Interface Emulator Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  22. GSM TrafficChannel Simulator • Conjunto de funções para Matlab e Simulink • Gratuito • Simula o tráfego em um canal sem fio GSM • Aplica fading sobre o canal e calcula o Bit Error Rate (BER) na recepção • Útil para analisar a comunicação entre rádios na rede GSM Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  23. Selenium Software SMPPsim • www.seleniumsoftware.com • Gratuito • “Emula” a comunicação entre SMSC através do protocolo SMPP • Validação de aplicações fica mais rápida • Aferição de estatísticas de tráfego • Versões para sistemas Windows e Unix UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  24. Selenium Software SMPPsim Interface de Usuário (estatísticas) Interface de Geração de tráfego (testes) Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  25. Agenda • Gateways USSD disponíveis • Simuladores GSM, SMPP e USSD • Simulação com Gateway LeibICT • Desenvolvendo uma aplicação Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  26. Simulador de Gateway USSD • LeibICT USSD S-GW Simulator • Gratuito • Além de simular o Gateway, abstrai os demais elementos da rede • Rede GSM • Servidor de Aplicações • Aplicações desenvolvidas através do USSD Developer Kit • Totalmente compatíveis com o S-Gateway USSD da empresa Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  27. LeibICT USSD S-GW Simulator • Integração total com a API de desenvolvimento para o S-Gateway USSD • C++ • Java • Facilita o desenvolvimento de aplicações USSD • Aplicação pode ser testada no próprio computador Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

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

  29. Gateway LeibICT • USSD Developer Kit (Inclui) • Documentação • USSD Java JNI API UserGuide • USSD C++ API UserGuide • USSD XML/TCP/IP ProtocolUserGuide • Exemplos • USSD C++ ApplicationSamplecode • USSD Java ApplicationSamplecode • Simuladores • USSD Gateway Simulator, capableofmultiplesessions in parallel • Phone Skined USSD GW Simulator, useful for presentations • Bibliotecas • Windows (WIN32) libraries • Linux 32bit libraries • Linux 64bit libraries Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  30. Interface avançada Configuração do Gateway Testes de escalabilidade Clientes USSD (telefones) Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

  31. Interface Simplificada • Phone Skined USSD GW Simulator • Útil para apresentações • Configuração via Windows Registry • Não apresenta as opções da interface avançada Unstructured Supplementary Service Data (USSD) Porto Alegre, setembro de 2013

  32. LeibICT: USSDJNI JavaAPI • API para desenvolvimento de aplicações JAVA • Controla a conexão TCP/IP, incluindo reconexão • Implementa criptografia RSA • Cria e realiza parsing de XML • Controla detalhes do protocolo USSD/MAP • Formada por um grupo de bibliotecas desenvolvidas em C++ carregadas na Máquina Virtual Java UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  33. LeibICT: USSDJNI JavaAPI • Permite que programadores acessem serviços providos pelo USSD S-Gateway utilizando uma interface baseada em funções e callbacks Java • Mecanismo de comunicação utilizado entre a API e o S-Gateway é transparente para o desenvolvedor • Gerenciamento de sockets é realizado pela biblioteca USSDJNI UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  34. LeibICT: USSDJNI JavaAPI • Callbacks: • Funções chamadas pelo Gateway • Devem ser implementadas e tratadas na aplicação • Instanciadas antes de realizar a conexão entre uma aplicação e o S-Gateway UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  35. LeibICT: USSDJNI JavaAPI • Conectando uma aplicação ao S-Gateway • É necessário executar algumas funções antes de estabelecer a conexão • Após a conexão ocorre a chamada de uma callback • cb_connected( ) UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  36. Conexão Gateway-Aplicação USSD S-Gateway Aplicação USSD USSDJNI Initialize() ussd_requestShortCode() connect() rsa_sec() rsa_sec_conf() bind() bind_conf() cb_connected() UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  37. LeibICT: USSDJNI JavaAPI • Mensagens recebidas pela aplicação (Callbacks): • Reações da aplicação às chamadas Callbacks podem ser implementadas utilizando as funções da API UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  38. LeibICT: USSDJNI JavaAPI • Funções executadas pela aplicação: UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  39. USSD Iniciado pelo Usuário Usuário Mobile Aplicação USSD USSD S-Gateway ussd_request ussd_request process_ussd_request cb_ussd_response ussd_response process_ussd_request ussd_end cb_ussd_service UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  40. USSD Iniciado pela Aplicação Mobile User Aplicação USSD USSD S-Gateway ussd_begin ussd_request ussd_response process_ussd_request ussd_end cb_ussd_response UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  41. Bugs Conhecidos • O simulador não suporta operações Push • A API C++ não inclui chamadas begin ou notify (somente em Java) • As chamadas requestshortcode não são interpretadas pelo simulador • O simulador não suporta várias aplicações conectadas simultaneamente • A API Java não aceita os parâmetros para ativar criptografia • A API C++ aceita criptografia de 512, 1024 e 2048 bits apenas UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013

  42. Agenda • Gateways USSD disponíveis • Simuladores GSM, SMPP e USSD • Simulação com Gateway LeibICT • Desenvolvendo uma aplicação Unstructured Supplementary Service Data (USSD)Porto Alegre, setembro de 2013

  43. Desenvolvendo uma Aplicação C++ • Criando um Projeto C++ no Visual Studio 2010 • File → New Project → Visual C++ → Win32 Console Application Detalhes do projeto no Visual Studio Project → Properties ConfigurationProperties → General CharacterSet: Use Multi-ByteCharacter Set

  44. Desenvolvendo uma Aplicação C++ • Copiar os seguintes arquivos para dentro da pasta do projeto (mesma pasta onde estão os códigos-fonte): • ussd.cpp (implementação do objeto base CUSSD) • ussd.h (headers com as definições do objeto base) • ussd.dll (biblioteca que implementa o protocolo XML de comunicação com o gateway) • Arquivos disponíveis dentro da pasta do simulador • LeibICT-UDK-v1.1f\samples\c++\ussdtest Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  45. Desenvolvendo uma Aplicação C++ • No item “Source Files” do projeto no Visual Studio clicar com o botão direito: • Add→ Existing Item • Adicionar o arquivo ussd.cpp ao projeto • No item “Header Files” do projeto no Visual Studio clicar com o botão direito: • Add→ ExistingItem • Adicionar o arquivo ussd.h ao projeto • Adicionar o header ao arquivo principal do projeto • #include "ussd.h" Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  46. Estrutura mínima de um programa USSD • Callbacks – Todas as callbacks precisam ser configuradas mesmo que algumas não sejam necessárias para a aplicação //CB whenapplicationisconnectedtogateway voidconnected(){} //CB whenapplicationgetsdisconnectedfrom gateway voiddisconnected(){} //CB tohandlepingsfrom gateway voidping(){} //CB to sinalize whentheuser starts a call voidussdService(intdialogId,char*shortCode,char*phoneNumber){} //CB tohandleuser responses voidussdResponse(intdialogId,char*str){} //CB to sinalize whentheuserendsthecall voidussdEnd(intdialogId){} Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  47. Estrutura mínima de um programa USSD • Callbacks – Depois as callbacks devem ser associadas a uma estrutura do tipo USSDCallbacks (no início do programa principal) //CB struct USSDCallbackscallbacks; callbacks.connected=connected; callbacks.disconnected=disconnected; callbacks.ping=ping; callbacks.ussdService=ussdService; callbacks.ussdResponse=ussdResponse; callbacks.ussdEnd=ussdEnd; Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  48. Estrutura mínima de um programa USSD • Inicializando a API – Uma instância de CUSSD deve ser criada globalmente para ser usada por todas as funções e callbacks //Create global reference to API CUSSD*ussd; //CUSSD Instance ussd=new CUSSD(); //Initializes API ussd->initialize(&callbacks); Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  49. Estrutura mínima de um programa USSD • Conectando ao Gateway – A API conecta ao gateway, com ou sem uso de criptografia, através de TPC/IP //Connects to gateway with no cryptography ussd->connectgw("localhost",5454, 0, 0); //Or connects to gateway with 512 bit key ussd->connectgw("localhost",5454, 1, 1); //Or connects with 1024 reception and 2048 transmission keys ussd->connectgw("localhost",5454, 2, 3); Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

  50. Desenvolvendo uma Aplicação Java • Criando projeto Java no Netbeans • File → New Project → Java → Java Application Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

More Related