92
Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia da Computação Humberto Vinicius Aparecido de Campos PBX-IP: GERENCIANDO TECNOLOGIAS DE TELECOMUNICAÇÃO Curitiba 2007

Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET

Engenharia da Computação Humberto Vinicius Aparecido de Campos

PBX-IP: GERENCIANDO TECNOLOGIAS DE TELECOMUNICAÇÃO

Curitiba

2007

Page 2: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET

Engenharia da Computação Humberto Vinicius Aparecido de Campos

PBX-IP: GERENCIANDO TECNOLOGIAS DE TELECOMUNICAÇÃO

Monografia apresentada à disciplina de Projeto

Final, como requisito parcial à conclusão do Curso

de Engenharia da Computação. Orientador: Prof.

Alessandro Brawerman.

Curitiba

2007

Page 3: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

TERMO DE APROVAÇÃO

Humberto Vinicius Aparecido de Campos

PBX-IP: Gerenciando Tecnologias de Telecomunicação

Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da

Computação do Centro Universitário Positivo, pelos componentes da banca examinadora:

Prof. Alessandro Brawerman (Orientador)

Prof. Edson Pedro Ferlin

Prof. Amarildo Geraldo Reichel

Curitiba, 10 de Dezembro de 2007.

Page 4: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

AGRADECIMENTOS

Sobre tudo, agradeço a Deus, que além de me dar a vida pôs no meu caminho as diversas pessoas

que me apoiaram e me apóiam nos momentos mais complexos.

Dentre elas, Maria Filomena de Campos, minha querida mãe, uma mulher de fibra, que me

ensinou os princípios para uma vida justa, solidária e honesta.

Meu pai, Lázaro Francisco de Campos (in memória), que me ensinou que o homem é fruto do

seu esforço e suor, e me foi exemplo de que o trabalho é a maior herança que podemos deixar

aos nossos filhos.

Às minhas sete irmãs Margarida, Ozana, Antonia, Sonia, Lucilene, Lucenir e Eva, que

demonstram que garra e bom caráter não têm sexo. Aos meus irmãos Romeu e Jefferson, que

sempre me instigaram a desbravar o novo. Aos meus sobrinhos, responsáveis pelos diversos

momentos de felicidade.

Aos meus colegas, que além de companheiros mostraram o significado real de cooperativismo,

em especial ao Jeronymo, Ricardo, Eduardo e a Andressa, eternos amigos!

Aos meus professores, que mostraram que o conhecimento é fruto da prática e do esforço

continua.

E a você Joelma, meu amor, a quem dedico minhas obras e meu destino.

Page 5: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

RESUMO

Este documento apresenta um sistema para gerenciamento de tecnologias de telecomunicação e

reúne metodologias e estudos realizados para construção de ambientes que integram as formas

mais comuns de telefonia. O projeto foi baseado no software Asterisk, ferramenta integrante da

comunidade Linux, sobre os aspectos de GNU de software livre. O Asterisk é um software que

revolucionou o mundo das telefonias modificando completamente o conceito de PBX-IP. Ele não

somente é uma solução inovadora na integração comunicação de voz, mas é, sobretudo, a

solução completa para as diversas formas (modernas) de se comunicar. O projeto utiliza o

Asterisk para desenvolver uma solução de integração entre telefonias convencionais e VoIP (voz

sobre IP), a fim de gerar rotas de menor custo de chamadas telefônicas. O projeto ainda

apresenta a construção de um módulo de tarifagem que mostra informações de tempo e custo de

tarifa que um ramal gastou.

Palavras-chave: Asterisk, PBX-IP, Telecomunicações, Display, TCP-IP.

Page 6: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

ABSTRACT

This document holds information, concerning the academic project developed on

Telecommunication Technology Management, which gathers methodologies and studies

accomplished for the construction of environments which integrates the most common ways of

communication. The project uses at software Asterisk structure result, Linux community

integrated tool, about the aspects of GNU of (loose, free, detached, etc.) software. Asterisk is

software which has revolutionized the world of telephony modifying completely the concept of

PBX-IP. It is not only an innovative solution in the integration if voice communication, but it is,

above all, a complete solution for the many (modern) ways of communicating. The project uses

Asterisk to develop an integrated solution between conventional telephones and VoIP (Voice

under IP), in order to generate routes of lower cost for telephone calls. Besides monitoring,

through a LCD display, the expenses of a PBX-IP caller.

Keywords: Asterisk, PBX-IP, Telecomunicações, Display, TCP-IP.

Page 7: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

SUMÁRIO

LISTA DE FIGURAS ................................................................................................................... 8

LISTA DE TABELAS................................................................................................................. 11

LISTA DE ABREVIAÇÕES...................................................................................................... 12

CAPÍTULO 1 - INTRODUÇÃO................................................................................................ 14

CAPÍTULO 2 - FUNDAMENTAÇÃO TEÓRICA.................................................................. 16

2.1 - Contexto literário ............................................................................................................... 16

2.2 - A rede de comutação de circuitos...................................................................................... 17

2.3 - PABX................................................................................................................................. 20

2.3.1 - PABX Tradicional....................................................................................................... 20

2.3.2 - PBX IP ........................................................................................................................ 20

2.4 - Redes de computadores ..................................................................................................... 22

2.4.1 - Tipos de redes ............................................................................................................. 22

2.5 - Internet ............................................................................................................................... 24

2.5.1 - Protocolos da Internet.................................................................................................. 25

2.6 - Protolo IP ........................................................................................................................... 26

2.7 - Protocolo TCP ................................................................................................................... 30

2.8 - A interligação em redes TCP/IP ........................................................................................ 32

2.9 - Protocolo RTP ................................................................................................................... 33

2.10 - Protocolo RTPC............................................................................................................... 36

2.11 - VoIP................................................................................................................................. 36

2.12 - Telefonia IP ..................................................................................................................... 37

2.13 - Protocolo H.323............................................................................................................... 39

2.14 - Asterisk ............................................................................................................................ 41

Page 8: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

2.14.1 - Redução de Custo extrema........................................................................................ 42

2.14.2 - Ter controle do Sistema Telefônico .......................................................................... 42

2.14.3 - Ambiente de Desenvolvimento ................................................................................. 43

2.14.4 - Provendo recursos dinâmicos por telefone................................................................ 43

2.14.5 - O mercado para o Asterisk ........................................................................................ 43

2.14.6 - Plano de discagem flexível e poderoso ..................................................................... 43

2.14.7 - Asterisk e a comunidade GNU.................................................................................. 43

2.14.8 - Limitações da arquitetura do Asterisk....................................................................... 43

2.15 - Protocolo SIP ................................................................................................................... 43

2.16 - Bilhetagem e Tarifação.................................................................................................... 44

2.17 - Trabalhos Realizados....................................................................................................... 44

CAPÍTULO 3 - ESPECIFICAÇÃO DO PROJETO ............................................................... 46

3.1 - Software............................................................................................................................. 47

3.1.1 - Asterisk ....................................................................................................................... 49

3.1.2 - Canais .......................................................................................................................... 50

3.1.3 - Ramais......................................................................................................................... 51

3.1.4 - Modulo CDR............................................................................................................... 51

3.1.5 - Tarifagem com MySQL .............................................................................................. 51

3.1.6 - Extensions.conf ........................................................................................................... 52

3.1.7 - Interface WEB............................................................................................................. 53

3.2 - Hardware ........................................................................................................................... 54

3.2.1 - Módulo de controle ..................................................................................................... 55

3.2.2 - Módulo de conversão Ethernet/Serial ......................................................................... 58

3.2.3 - Display LCD ............................................................................................................... 60

3.3 - Custos do Projeto............................................................................................................... 61

3.4 - Cronograma ....................................................................................................................... 62

CAPÍTULO 4 - DESENVOLVIMENTO E IMPLEMENTAÇÃO ........................................ 63

4.1 - Lógica ................................................................................................................................ 63

Page 9: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

4.1.1 - Diagrama de contexto.................................................................................................. 63

4.1.2 - - Diagrama de fluxo de chamadas ............................................................................... 64

4.2 - Software............................................................................................................................. 65

4.2.1 - Configuração do Asterisk............................................................................................ 65

4.2.2 - Gera_rotas ................................................................................................................... 67

4.2.3 - Estrutura de Banco de Dados ...................................................................................... 73

4.2.4 - Interface WEB para manipulação do usuário.............................................................. 73

4.3 - Hardware ........................................................................................................................... 74

4.3.1 - Coletagem e envio das informações............................................................................ 75

4.3.2 - Módulo de Conversão Ethernet/Serial ........................................................................ 77

4.3.3 - Módulo de controle e display...................................................................................... 77

4.4 - Firmwares .......................................................................................................................... 79

CAPÍTULO 5 - VALIDAÇÃO E RESULTADOS................................................................... 81

CAPÍTULO 6 - CONCLUSÃO.................................................................................................. 84

CAPÍTULO 7 - BIBLIOGRAFIA ............................................................................................. 87

APÊNDICE A .............................................................................................................................. 89

APENDICE B .............................................................................................................................. 90

Page 10: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

LISTA DE FIGURAS

FIGURA 1 – CLIENTE SERVIDOR ...........................................................................................16

FIGURA 2 – ESTRUTURA DE COMUNICAÇÃO DE DADOS...............................................17

FIGURA 3 - TECNOLOGIA ANALÓGICA ...............................................................................18

FIGURA 4 – MULTIPLEXAÇÃO POR DIVISÃO DE TEMPO................................................19

FIGURA 5 – MULTIPLEXAÇÃO POR DIVISÃO DE TEMPO................................................19

FIGURA 6 - ARQUITETURA DE UM PABX IP .......................................................................21

FIGURA 7 – EXEMPLO DE UMA REDE PONTO-A-PONTO,................................................23

FIGURA 8 – CLIENTE/SERVIDOR ...........................................................................................23

FIGURA 9 – PILHA DE PROTOCOLOS....................................................................................25

FIGURA 10 - CABEÇALHO DO IPV4 .......................................................................................26

FIGURA 11 - CABEÇALHO DO IPV6 .......................................................................................28

FIGURA 12 - CABEÇALHO TCP...............................................................................................31

FIGURA 13 - POSIÇÃO DO RTP NA PILHA DE PROTOCOLOS. .........................................34

FIGURA 14 – CABEÇALHO DO RTP .......................................................................................34

FIGURA 15 – TRAFEGO RTP NÃO CRESCE COM O NÚMERO DE PARTICIPANTES ....36

FIGURA 16 – TELEFONIA IP PC/PC.........................................................................................38

FIGURA 17 - TELEFONIA IP COM USO DE GATEWAY ......................................................39

FIGURA 18 - TELEFONIA IP TELEFONE/TELEFONE...........................................................39

FIGURA 19 - PROCESSO GENÉRICO DE ESTABELECIMENTO DE CHAMADAS ..........40

FIGURA 20 - SINALIZAÇÃO GENÉRICA DO SIP ..................................................................44

Page 11: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

FIGURA 21 – TOPOLOGIA DA REDE LAN.............................................................................46

FIGURA 22 – ESTRUTRA DE RELACIONAMENTO DO SISTEMA COM O MÓDULO DE

CONTROLE..................................................................................................................................48

FIGURA 23 - EXTENSÕES PARA EXECUÇÃO DE QUERYS NO ASTERISK ....................51

FIGURA 24 – ESTRUTURA DA TABELA CDR.......................................................................52

FIGURA 25 – EXEMPLO DE EXTENSÕES DO EXTENSIONS.CONF..................................53

FIGURA 26 - SINTAXE EXTENSION .......................................................................................53

FIGURA 27 - FLUXO DO HARDWARE ...................................................................................54

FIGURA 28 – ESQUEMÁTICO DO MÓDULO DE CONTROLE ............................................56

FIGURA 29 – SIMULAÇÃO DAS INFORMAÇÕES DO DISPLAY........................................60

FIGURA 30 – DIAGRAMA DE CONTEXTO ............................................................................64

FIGURA 31 – FLUXOGRAMA DE CHAMADAS EFETUADAS ............................................65

FIGURA 32 – DIAGRAMA DA ESTRUTURA – ASTERISK NO PROJETO..........................66

FIGURA 33 – TRECHO DA CONFIGURAÇÃO DO EXTENSIONS.CONF ...........................67

FIGURA 34 – FLUXOGRAMA DE GERAÇÃO DAS EXTENSÕES DE MENOR CUSTO ...68

FIGURA 35 – CLÁUSULA SQL PARA IMPORTAÇÃO PARA TABELA ALL_RATES ......70

FIGURA 36 – CLÁUSULA SQL PARA ORDENAÇÃO DA TABELA ALL_RATES ............70

FIGURA 37 – FLUXOGRAMA COMPLETO DO PROGRAMA GERA_ROTAS...................71

FIGURA 38 –PARÂMETROS PARA CRIAÇÃO DO ARQUIVO ROTAS.TXT .....................72

FIGURA 39 – DIAGRAMA DE RELACIONAMENTO DA BD COM AS APLICAÇÕES .....73

FIGURA 40 – DIAGRAMA DE CASO DE USO PARA CADASTRO DE RAMAL................74

FIGURA 41 – DIAGRAMA DE CASO DE USO PARA CADASTRAMENTO TRONCOS....74

Page 12: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

FIGURA 42-MÓDULO TARIFADOR ........................................................................................75

FIGURA 43 – RELACIONAMENTO ENTRE AS PARTES DO SOFTWARE ........................75

FIGURA 44 – TELA PARA AUTERAÇÃO DOS PARÂMETROS DO MÓDULO .................77

FIGURA 45 – ESQUEMÁTICO DA PLACA DO MÓDULO DE CONTROLE .......................78

FIGURA 46 – ESQUEMA ELÉTRICO DO MÓDULO DE CONTROLE E DISPLAY............78

FIGURA 47 – TRECHO DO FIRMWARE..................................................................................80

Page 13: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

LISTA DE TABELAS

TABELA 1 – ESPECIFICAÇÃO TÉCNICA DO TIBBO EM202-EV .......................................58

TABELA 2 – PINAGEM DO LCD ..............................................................................................60

TABELA 3 – GASTOS COM PROJETO ....................................................................................61

TABELA 4 – CRONOGRAMA DE ATIVIDADES....................................................................62

TABELA 5 –ESTRUTURA DE DIRETÓRIOS DO ASTERISK................................................66

TABELA 6 – PARTE DO CONTEÚDO DO ARQUIVO E TABELA ALL_RATES................69

TABELA 7 – CENÁRIO DE TESTES REALIZADOS PARA VALIDAÇÃO DO PROJETO .81

TABELA 8 – RESULTADOS DA VALIDAÇÃO DAS ROTAS DE MENOR CUSTO............81

TABELA 9 – RESULTADOS DOS TESTES DE VALIDAÇÃO DO MÓDULO DE

CONTROLE..................................................................................................................................82

Page 14: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

LISTA DE ABREVIAÇÕES

ACD – Automatic Call Delivery (Entrega Automática de Chamadas).

API - Application Programming Interface (Interface de Programação de Aplicativos).

CDR - Call Detail Records (Gravação de Detalhes de Chamadas).

DNS – Domain Name System (Sistema de Resolução de Nomes).

DSP – Digital Signal Processor (Processador de Sinal Digital).

FTP – File Transfer Protocol (Protocolo de Transferência de Arquivos).

FXO - Foreign eXchange Office (Interface de conexão com operadora).

FXS - Foreign eXchange Subscriber (Interface de conexão com a linha do assinante).

GNU – Gnu is Not Unix. (GNU não é Unix)

GPL – General Public License (Licença Pública Geral).

IAX – Inter-Asterisk eXchange (Interface Asterisk de Troca).

IP – Internet Protocol (Protocolo de Internet).

IVR – Interactive Voice Response (Resposta Interativa de Voz).

LAN - Local Area Network (Rede Local).

LCD - Liquid Crystal Display (Display de Cristal Líquido)

PABX – Private Automatic Branch Exchange (Troca Automática de Ramais).

PBX - Private Branch Exchange (Troca de Ramais).

PCI - Peripheral Component Interconnect (Interconector de Componentes Periféricos)

POTS – Plain Old Telephony System (Sistema de Telefonia Convencional).

RTP - Real Time Transport Protocol (Protocolo de Transporte em Tempo Real).

Page 15: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

RTPC – Rede Pública de Telefonia Comutada.

SIP - Session Initiation Protocol (Protocolo de Inicialização de Sessão).

SMTP – Simple Mail Transfer Protocol (Protocolo de Transferência Simples de

Correspondência).

STFC – Sistema de Telefonia Fixa Comutada.

TCP – Transmission Control Protocol (Protocolo de Controle de Transmissão).

TDM – Time Division Multiplexing (Multiplexação por Divisão de Tempo).

TFTP - Trivial File Transfer Protocol (Protocolo de Transferência de Arquivos Triviais).

UDP – User Datagram Protocol (Protocolo de Datagrama de Usuário).

VoIP – Voz sobre IP.

Page 16: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

14

CAPÍTULO 1 - INTRODUÇÃO

A Telecomunicação é o segmento que integra as diversas tecnologias desenvolvidas para

interligar as pessoas ao redor do mundo.

Partindo desse objetivo, as indústrias do segmento lançam constantemente novidades no

mercado.

No entanto, a falta de informação (dentre outros motivos) ocasiona a restrição de uma parcela de

usuários na utilização de tecnologias que podem agregar soluções de redução de custos.

Em virtude disso ainda é de grande escala a utilização a Rede Pública de Telefonia Comutada

(RTPC – serviço de telefonia analógica convencional), que oferece poucas vantagens e soluções

ao usuário que viabilizem a redução de tarifas telefônicas.

Outro fato é a utilização de centrais de PABX convencionais (Private Automatic Branch

Exchange - Troca Automática de Ramais), principalmente em empresas de médio e grande porte.

Apesar de terem surgido há mais de 20 anos como uma grande facilitadora das comunicações no

mundo corporativo, atualmente as centrais PABX de grande porte são de alto custo e necessitam

de técnicos especializados para realização de manutenções. Por outro lado as centrais de pequeno

porte não oferecem todos os recursos necessários para integrar os serviços de telecomunicações.

Com a Internet novos serviços de telecomunicações foram desenvolvidos com o intuito de

acelerar a velocidade da informação e viabilizar os custos.

Uma das tecnologias desenvolvidas a partir da Internet foi o VoIP (voz sobre IP – Internet

Protocol), que digitaliza, codifica, empacota e envia dados de voz em datagramas IP (protocolo

de envio de pacotes de dados) em uma rede que utiliza a pilha de protocolos TCP/IP. Dessa

forma essa tecnologia consegue unificar em uma única rede de serviços a transmissão de voz e

de dados.

A partir da tecnologia VoIP especialistas do segmento de telecomunicações criaram o conceito

de Telefonia IP, que agrega além do VoIP outras soluções em telecomunicações. Com este

conceito novos sistemas foram desenvolvidos para o gerenciamento de telecomunicações, dentre

eles o Asterisk.

Page 17: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

15

O Asterisk é considerado a peça de integração de telecomunicações mais potente, flexível e

extensível disponível atualmente no mercado. Ele é um software livre de código fonte aberto e

gratuito, que possui as funcionalidades de uma central PBX-IP (Private Branch Exchange -

Troca de Ramais) e é reconhecido pela comunidade GNU como solução Linux para Telefonia-

IP.

Acompanhando a crescente utilização da Telefonia-IP e também com o intuito de combater

tarifas abusivas praticadas no mercado.

Este projeto defende a implantação de um sistema que contraponha a utilização de centrais

PABX de alto custo e limitadas, ao mesmo tempo em que proporcione ao usuário a redução e o

controle dos custos de telefonia sem a necessidade de grandes recursos financeiros, prezando

pela alta qualidade dos serviços ofertados.

No desenvolvimento do sistema foram utilizados os seguintes componentes: o Asterisk, rotas

telefônicas de menor custo, dispositivo tarifador e interfaces WEB para manutenção da central

PBX-IP.

Com a utilização da arquitetura disponível no sistema Asterisk, é possível criar um sistema

híbrido de telefonia que garante as funcionalidades existentes nas telefonias convencionais e IP.

As Rotas de Menor Custo são geradas, a partir de tabelas que contém tarifas praticadas por

operadoras telefônicas convencionais e VoIP. Dessa forma o sistema reconhece e separa

automaticamente as rotas de menor custo agrupando-as ao plano de discagem do Asterisk,

utilizando como critério o valor das tarifas.

O Módulo Tarifador é um hardware que tem a finalidade de coletar a duração e o custo de uma

ligação realizada em um ramal (cada ramal possui um módulo). Ele é composto, dentre outros

componentes, de um display LCD que mostra ao usuário, ao término de cada ligação efetuada, as

informações coletadas.

A interface WEB desenvolvida tem a função de minimizar os esforços para manutenção da

central PBX-IP, pois, o Asterisk, por ser um software desenvolvido para o sistema operacional

Linux, possui um o ambiente de manutenção não amigável à maioria dos usuários.

O projeto desenvolvido além de proporcionar novos serviços com qualidade em relação à

telefonia atual, tem como grande atrativo a redução de custos com tarifas telefônicas.

Page 18: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

16

CAPÍTULO 2 - FUNDAMENTAÇÃO TEÓRICA

O projeto foi desenvolvido mediante pesquisas voltadas para telecomunicações, telefonia

analógica e digital, telefonia IP (Internet Protocol), redes de computadores, protocolos de redes e

de telefonia, sockets, centrais PABX (Private Automatic Branch Exchange), banco de dados,

programação em linguagens C e Java Script, sistema operacional Linux, software de

gerenciamento e controle de telefonia Asterisk, microcontroladores, programação de

microcontroladores, funcionamento de display LCD, comunicação serial, conversão

serial/ethernet.

A pesquisa foi realizada em livros, manuais, artigos, periódicos, e Internet que formaram a base

técnico-científica deste projeto.

2.1 -Contexto literário

Nos dias atuais é quase inconcebível praticar uma atividade sem que esteja de alguma forma

vinculada às redes de computadores. A constate evolução e os vários estudos e teses sobre redes,

foram motivados por diversas necessidades. Uma delas foi a segurança das informações.

Pois, o fato de um determinado arquivo ou banco de dados pode ser armazenada de forma

distribuída em locais remotos, o que garante uma maior segurança na preservação das

informações (TORRES, 2001).

FIGURA 1 – CLIENTE SERVIDOR

A Figura 1 mostra o fluxo de informações da rede Cliente/Servidor. A vantagem dessa topologia

reside na concentração de serviços em apenas uma máquina. A partir desta, os serviços podem

ser distribuídos para as demais estações (DANTAS, 2002).

Page 19: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

17

Existem, ainda, diversas outras topologias de rede, dentre as quais as: ponto-a-ponto, estrela e

anel.

Apesar das diversidades, prós e contras, todas tem a mesma característica: distribuição de

recursos e informações para todos que estejam interligados (DANTAS, 2002).

FIGURA 2 – ESTRUTURA DE COMUNICAÇÃO DE DADOS

A Figura 2 mostra como é a estrutura primária de comunicação de dados em redes. Apesar da

grande evolução, os princípios dos sistemas de comunicação de dados são basicamente

representados por cinco componentes: fonte da informação, que é a responsável pela produção

dos dados a serem transmitidos; transmissor que é o responsável em converter os dados a serem

transmitidos em um sinal apropriado; a rede de transmissão que corresponde ao meio físico no

qual a informação irá trafegar; receptor, que é o responsável em converter a informação recebida

em uma forma inteligível ao destinatário que é o elemento no qual foi destinada a informação

transmitida (DANTAS, 2002).

2.2 -A rede de comutação de circuitos

Redes de comutação de circuitos correspondem às telefonias convencionais analógicas e digitais.

Atualmente, a mais utilizada em residências, empresas e diversos setores sociais é a telefonia

analógica por deter a maior malha de cabeamento em quase todo mundo (HERSENT, GUIDE e

PETIT, 2002).

Page 20: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

18

FIGURA 3 - TECNOLOGIA ANALÓGICA

A Figura 3 mostra de forma simplificada o funcionamento de ligações por meio de tecnologias

analógicas. As extremidades se comunicam por cabos que transmitem os sinais modulados em

pacotes de voz.

“Apesar de ser uma tecnologia muito antiga, a transmissão analógica

tem muitas vantagens: ela é simples e mantém o atraso de fim a fim de

transmissão de voz muito baixo, uma vez que o sinal se propaga ao longo

do cabo quase na velocidade da luz. Também é barata quando há

relativamente poucos usuários falando ao mesmo tempo, e quando eles

não estão muito distantes entre si. Entretanto, a tecnologia analógica

mais básica requer um par de cabos por conversão ativa, o que se torna

rapidamente impraticável e caro” (HERSENT, GUIDE e PETIT, 2002).

O recurso utilizado pela tecnologia analógica é baseado na multiplexação dos sinais em

diferentes freqüências compartilhando o mesmo cabo. Este recurso não impede a transmissão de

ruídos, uma vez que os mecanismos e componentes geram interferências eletromagnéticas.

Aos poucos a tecnologia analógica está sendo substituída pela digital. Atualmente, em muitos

países a tecnologia é inteiramente digital, e em outras localidades a linha é analógica, mas o

serviço é digital (HERSENT, GUIDE e PETIT, 2002).

Page 21: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

19

FIGURA 4 – MULTIPLEXAÇÃO POR DIVISÃO DE TEMPO

Assim, vários canais de voz podem ser multiplexados na mesma linha de transmissão, usando

uma tecnologia chamada multiplexação por divisão no tempo (Time Division Multiplexing –

TDM). Nessa tecnologia, o fluxo dos dados digitais são divididos em blocos (geralmente um

octeto, também chamado de amostra). Os blocos dos vários canais de voz que foram previamente

multiplexados, são intercalados em intervalos de tempo na linha de transmissão, como pode ser

visto na Figura 4 (HERSENT, GUIDE e PETIT, 2002).

Com essa tecnologia digital, o ruído adicionado na transmissão não influencia a qualidade da

comunicação, uma vez que os sinais digitais podem ser recuperados. Além disso, a

multiplexação digital por divisão de tempo torna possível a comutação digital. O equipamento de

comutação precisa copiar o conteúdo das diversas linhas de transmissão para uma única linha

dentro de um canal. As informações são ordenadas de acordo com o intervalo de tempo

originalmente indicado pelas linhas, conforme mostra a Figura 4. Com base nesse princípio, a

comutação pode ser executada por um computador (PETIT, 2002).

FIGURA 5 – MULTIPLEXAÇÃO POR DIVISÃO DE TEMPO

A Figura 5 mostra a multiplexação por divisão de tempo (TDM) trabalhando com circuitos

eletrônicos e sinais digitais. Como as centrais locais trabalham com sinais analógicos, estes

sinais passam por codecs (codificador-decoficador) que produzem 8.000 amostras de séries de

números de 8 bits por segundo o necessário e suficiente para captar as informações de um canal

de banda de voz (4 KHz).

Page 22: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

20

Estas 8.000 amostras por segundo equivalem a 125 microssegundos por amostra, e em

conseqüência, todos os intervalos são múltiplos de 125 microssegundos (PETIT, 2002).

2.3 -PABX

Um PABX (Private Automatic Branch Exchange) é uma central de distribuição telefônica. Ele

permite efetuar ligações internas entre ramais sem intervenção manual e, também, receber e

efetuar telefonemas externos. Outra funcionalidade atribuída ao equipamento é controlar o

acesso individual de usuários.

As centrais PABX são formadas por plataformas de hardwares e softwares, nas centrais mais

atuais os softwares são utilizados, dentre outras funções, para a interação com a telefonia IP

(SPENCER, RHODES, 2003).

2.3.1 -PABX Tradicional

Em meados dos anos 80, quando os PABXs tradicionais foram desenvolvidos, tanto os

computadores quanto os microprocessadores eram limitados e com custo elevado, a rede de

dados desconhecida e formada pela comutação de circuitos (SATO, 2004).

O PABX tradicional utiliza tecnologia proprietária e os usuários ficam sempre limitados ao

mesmo fabricante para adicionar outras funcionalidades. Quaisquer modificações na

programação ou conserto, normalmente dependem de técnicos especializados, o que onera o

custo de manutenção e operação.

2.3.2 -PBX IP

As centrais PBX-IP (Private Branch Exchange) interligam a telefonia convencional com os

serviços disponibilizados pela telefonia IP. Este aspecto diferencia estas centrais das centrais

PABX tradicionais.

Após 15 de estabilidade, fabricantes e vendedores de PABXs estão introduzindo no mercado um

novo conceito de telefonia, que por meio da arquitetura VoIP, possiblita a utilização de infra-

estruturas de redes TCP/IP que agrega outros serviços com qualidade, segurança e flexibilidade

(SATO, 2004).

Page 23: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

21

Telefone Analógico

Telefone Digital

Módulo Módulo de Interconexão

Controlador de processo

Telefone Digital

Gateway

Internet

RTPC

Ramal

FIGURA 6 - ARQUITETURA DE UM PABX IP

Esta nova tecnologia está redefinindo a arquitetura de um PABX. Muitos dos componentes são

distribuídos ao longo da rede IP para transmitir informações de voz e controle da ligação, a

arquitetura é mostrada e esquematizada na Figura 6 (SATO, 2004).

1. Controlador de processo: servidor que executa uma aplicação num sistema operacional

padrão (Microsoft, Unix ou Linux). Existe um grande benefício em se utilizar um hardware e

software comercial, permitindo uma grande redução nos custos de desenvolvimento e

fabricação (SATO, 2004);

2. Os dispositivos de ponta (endpoints): são os telefones IPs que conectam-se diretamente na

Internet ao invés de interligar nos cartões de interfaces dedicadas dos módulos. Esses

equipamentos necessitam de um endereço IP e podem ser atualizados (firmware) por meio de

um servidor TFTP com novas funcionalidades. Diferente do PABX tradicional, dois

telefones IPs conversam diretamente, sem utilizar recursos do servidor (SATO, 2004);

3. Gateway: são interfaces ou equipamentos que convertem a sinalização e o canal de voz para

a rede IP, fazendo a integração com a rede STFC e para permitir utilizar os telefones

analógicos ou digitais existentes, reduzindo os custos da migração para a nova arquitetura

(SATO, 2004);

4. Módulos de interconexão: é realizado em redes IP e ocasiona em uma degradação na

qualidade da voz, se acontecer algum congestionamento ao longo do trajeto dos dados,

normalmente no link WAN (SATO, 2004);

Page 24: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

22

5. Mobilidade de ramais: é possível que uma central telefônica esteja num estado e o telefone

em outro estado, por meio de recurso citado acima é possível ter ramais remotos em uma

PABX (SATO, 2004).

2.4 -Redes de computadores

As redes de computadores surgiram da necessidade de troca de informação. Com elas é possível

ter acesso a informações em locais remotos. As redes existem desde a época dos primeiros

computadores, antes mesmo dos primeiros computadores pessoais (PC).

Entretanto, novas padronizações e tecnologias permitiram que comutadores pudessem se

comunicar melhor por um custo menor (TORRES, 2001).

As redes de computadores têm crescido explosivamente. Há duas décadas, poucas pessoas

tinham acesso a uma rede. Agora, a comunicação via computador transformou-se em uma parte

essencial de qualquer infra-estrutura (COMER, 2001).

2.4.1 -Tipos de redes

Existem dois tipos basicos de uma rede compartilhar os dados : ponto-a-ponto e cliente/servidor.

O primeiro tipo é usado em redes pequenas, enquanto o segundo tipo é largamente usado tanto

em redes pequenas quanto em redes grandes.

Essa classificação independe da estrutura física usada pela rede, isto é, como a rede está

fisicamente montada, mas depende da maneira com que ela está configurada por meio de

softwares (TORRES, 2001).

− Redes Ponto-a-ponto: esse é o tipo mais simples de rede que pode ser montada. Praticamente

todos os sistemas operacionais já vêm com suporte à rede ponto-a-ponto (TORRES, 2001).

Page 25: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

23

FIGURA 7 – EXEMPLO DE UMA REDE PONTO-A-PONTO,

Na rede ponto-a-ponto, exemplificada na Figura 7, os micros compartilham dados e periféricos

sem muita “burocracia”. Qualquer micro pode facilmente ler e escrever arquivos armazenados

em outros micros da rede bem como usar periféricos que estejam instalados em outros PC’s.

Obviamente, tudo isso depende da configuração que é feita em cada micro individualmente, ou

seja, não há o papel de um micro “servidor” como nas redes cliente/servidor, qualquer um dos

micros da rede pode ser um servidor de dados e periféricos (TORRES, 2001).

− Redes Cliente/Servidor: esta arquitetura normalmente é usada para redes com mais de 10

micro-computadores ou no caso de redes pequenas, nas quais a segurança seja uma questão

importante (TORRES, 2001).

FIGURA 8 – CLIENTE/SERVIDOR

Nesse tipo de rede, ilustrada na Figura 8, há um servidor que gera recursos para os demais

clientes da rede. Com uma máquina dedicada a uma tarefa consegue-se ter uma resposta rápida

aos pedidos dos demais micros da rede, não comprometendo ao desempenho do serviço

(TORRES, 2001).

Page 26: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

24

Existem soluções para servidores no mercado onde computadores são substituídos por aparelhos

desenvolvidos exclusivamente para uma atividade específica (TORRES, 2001).

Existem soluções para servidores no mercado onde computadores são substituídos por aparelhos

desenvolvidos exclusivamente para uma atividade específica (TORRES, 2001).

Nas redes cliente/servidor, a administração e configuração da rede são centralizadas, o que

melhora a organização e segurança da rede. Além disso, há possibilidade de serem executados

programas cliente/servidor, com um banco de dados que pode ser manipulado por diversos

usuários ao mesmo tempo.

2.5 -Internet

A Internet pode ser definida como um conjunto de redes diferentes que utilizam certos

protocolos comuns e fornecem determindados serviços comuns (TANENBAUM, 2003).

A Internet teve sua origem a partir da ARPANET, que era a rede de computadores desenvolvida

pelo Departamento de Defesa dos Estados Unidos. Logo após o surgimento da ARPANET

surgiu a NSFNET com o objetivo de ser sua sucessora, já que para fazer parte da ARPANET

necessitava-se um contrato com o Departamento de Defesa dos Estados Unidos, o que inibia a

participação de outros centros de pesquisa no projeto (TANENBAUM, 2003).

A partir do momento em que a pilha de protocolos TCP/IP tornou-se o protocolo oficial da

ARPANET e ocorreu sua conexão com a NSFNET, o número de usuários e máquinas

conectados a rede cresceu de forma exponencial. Muitas redes regionais passaram a ser

integradas, foram criadas conexões com redes no Canadá, Europa e no Pacífico. Apesar de não

ter havido nenhuma data específica de surgimento da Internet, foi em meados dos anos 80 que

conjuntos de redes começam a ser tratados como inter redes, e mais tarde como Internet.

Os elementos básicos que formaram a Internet foram o modelo de referência TCP/IP e a pilha de

protocolos TCP/IP, elementos estes que permitiram que diferentes redes com diferentes

tecnologias pudessem se comunicar. Pode-se definir, segundo Tanenbaum, que uma máquina

está na Internet quando executa a pilha de protocolos TCP/IP, tem um endereço IP e pode enviar

pacotes IP a todas as outras máquinas da Internet (TANENBAUM, 2003).

Page 27: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

25

2.5.1 -Protocolos da Internet

“Protocolo pode ser definido como um conjunto de regras que controla

o formato e o significado dos pacotes ou mensagens trocadas por

entidades.” (TANENBAUM, 2003)

A arquitetura nas redes de computadores consiste na existência de diversas camadas e cada

camada possui um protocolo.

Figura 10 mostra uma pilha de protocolos que compõe um pacote de informações trafegados

pela Internet, uma interface e prestando um serviço a uma camada logo acima. Os protocolos que

caracterizam a Internet são: IP, TCP e UDP.

FIGURA 9 – PILHA DE PROTOCOLOS

A Figura 9 representa um dos vários estilos de representação de pilhas de protocolos. Na

primeira linha, ou primeira camada, aparecem os protocolos para aplicativos que utilizam os

recursos de rede para efetuar comunicação (Telnet, FTP, SMTP, DNS) (TANENBAUM, 2003).

Na segunda camada aparecem os protocolos de transporte, TCP e UDP, que de um modo bem

abrangente enviam o pacote de dados sem obter o retorno do destino sobre o recebimento.

Esta camada é executada na terceira camada, ainda por um protocolo, porém, agora, pelo IP,

protocolo que monitora o caminho do transporte, indicando se há conectividade e se o destino

recebeu as informações enviadas. Este recurso reduz a perda de pacotes e dificulta o envio para

destinos errados.

A última camada, representada na Figura 9, é meio de transporte, o caminho físico pelo qual

trafega os dados dos protocolos. O mais popular e comumente usual é a ethernet, utilizado na

grande maioria das redes locais (TANENBAUM, 2003).

Page 28: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

26

2.6 -Protolo IP

O IP (Internet Protocol) é o protocolo que mantem a Internet unida. Sua principal tarefa é

transportar datagramas da origem para o destino independente da localização das máquinas,

podendo elas estarem na mesma rede ou em redes diferentes (TANENBAUM, 2003).

Um datagrama IP é composto por um cabeçalho e uma parte de dados, tendo o cabeçalho uma

parte de tamanho fixo de 20 bytes e uma parte opcional de tamanho variável. Atualmente, o

datagrama IP mais utilizado é o IPv4, no entanto, devido ao aumento de hosts conectados a

Internet, a tendência para um futuro breve é a utilização predominante do IPv6, que é uma versão

que mantém os recursos do IP, simplifica o cabeçalho permitindo uma maior rapidez no

processamento, aumenta significantemente o número de endereços e descarta ou reduz

características ruins da versão anterior (TORRES, 2001).

FIGURA 10 - CABEÇALHO DO IPV4

O cabeçalho de um datagrama IPv4 é composto por 13 campos é representado na Figura 10 e

explicado a seguir (SMETANA, 2005):

− Version: campo que dá o nome ao protocolo, pois corresponde a sua versão, 4.

− Length: corresponde ao comprimento do datagrama, limita o tamanho das palavras até 32-

bits.

− Type of service: Contém 5 subcampos que específica à procedência, o delay, a forma de

transporte, a conectividade e o custo desejado pelo pacote (na internet não há garantias desse

recurso).

Page 29: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

27

− Total Length: comprimento total de todo o datagrama, o tamanho máximo do pacote

transportado.

− Identification: 16 bits. Número de identificação do datagrama para permitir que o destino

remonte os datagramas.

− Flags: 3 bits. Bits que identificam a transmissão de sinais de controle.

− Fragment offset: Esse campo indica a posição desse fragmento em relação ao do datagrama

original. O valor desse campo é expresso em unidades de 8 octetos (64 bits), portanto o

tamanho mínimo do campo de dados de um fragmento é de 64 bits. O primeiro fragmento

tem valor 0 nesse campo.

− Time to live: 13 bits. 8 bits. Indica o tempo máximo que o datagrama pode permanecer na

rede. Se o valor nesse campo for 0, o datagrama deve ser destruído. A intenção desse campo

é não permitir que datagramas cujo destino seja inalcançável fiquem eternamente circulando

pela rede. Inicialmente, a duração do TTL é era em fração de segundos, mas como cada

unidade processadora de datagramas (roteadores, switches de camada 3, etc.) deve diminuir o

TTL de uma unidade e o tempo de processamento de pacotes é muito inferior a 1 s, o TTL

passa a ser somente um limite superior da existência de cada datagrama.

− Protocol: 8 bits. Indica o protocolo da camada superior que está utilizando os serviços da

camada IP. Esses valores estão definidos no RFC 790 – Assigned Network Numbers

(Números de Redes Designados) de 1981. Esse RFC foi substituído pelo RFC 1700 –

Assigned Numbers. O número do TCP, por exemplo, é 6. Quando o IP estiver encapsulado

em outra camada IP, como em uma Virtual Private Network, por exemplo, o valor desse

campo é 4.x

− Header checksum: 16 bits. Esse checksum é calculado somente sobre o cabeçalho IP. Como

alguns campos mudam freqüentemente, como o TTL, esse valor tem que ser recalculado.

Para se calcular esse checksum, faz-se o complemento de um de cada palavra de 16 bits do

cabeçalho, soma-se elas e faz-se o complemento de um da soma total (para feitos de cálculo,

o campo Header Checksum vale 0). Embora esse algoritmo seja simples, ele é suficiente e

seguro para a maioria das situações. Pode ser que ele seja substituído por um algoritmo do

tipo CRC.

− Source address: 32 bits. Informa o endereço de origem.

Page 30: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

28

− Destination address: 32 bits. Informa o endereço de destino. Essa informação é utilizada

pelos roteadores para o encaminhamento (roteamento) do datagrama. Alguns equipamentos

podem utilizar os campos IP de origem, de destino e até mesmo informações de protocolos

de níveis superiores e o tipo de dado sendo transmitido para realizar o roteamento de pacotes

e juntamente realizar algum tipo de priorização ou QoS.

− Options: Tamanho variávgfel, entre 0 e 320 bits (40 octetos). O que é opcional é a

transmissão desse campo, não sua implantação. Todos os roteadores e gateways devem

utilizar meios de codificação/decodificação desse campo. Pode haver mais de uma opção

nesse campo. As opções servem, entre outras coisas, informar se o próprio campo option

deve ou não ser copiado para os fragmentos, caso o pacote venha a ser fragmentado, para

embutir um timestamp da rede, adicionar informações relativas ao nível de segurança do

pacote (confidencialidade) ou para especificar uma rota para um determinado destino. Mais

informações sobre esse campo pode ser encontrado no RFC 791.

− Padding: Tamanho variável, entre 0 e 31 bits. O campo Padding serve apenas para que o

cabeçalho IP tenha um tamanho múltiplo de 32 bits. Só se faz o enchimento

(obrigatoriamente com 0), se o tamanho do campo Option não for múltiplo de 32 bits.

FIGURA 11 - CABEÇALHO DO IPV6

O cabeçalho de um datagrama IPv6 é representado na Figura 11, é composto por 8 campos e

diferente do IPv4 com um tamanho fixo de 40 bytes (SMETANA, 2005).

− Version (Versão): 4 bits. Para essa versão, o valor é 6.

− Traffic Class (Classe de Tráfego): 8 bits. Esse campo ainda é experimental e pode vir a ser

modificado. Na primeira especificação do IPv6, RFC 1883, esse campo não existia. Em seu

lugar havia um campo de 4 bits chamado Priority (Prioridade). A função desse campo é

Page 31: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

29

permitir diferenciação de tráfego (classes de tráfego) e mecanismos de prioridade, para que

os roteadores possam prover tratamento apropriado em cada caso.

− Flow Label (Identificação do Fluxo): 20 bits. Um flow é uma seqüência de pacotes enviados

a partir de uma determinada origem, para um determinado destino (unicast ou multicast),

requerendo um tratamento especial pelos roteadores, como QoS ou reserva de banda (RSVP

– Resource Reservation Protocol), por exemplo. O campo Flow Label ainda é experimental e

pode vir a ser modificado, como já ocorreu desde a primeira especificação do IPv6, onde ele

possuía 24 bits. As mudanças dependem da identificação das características que forem

surgindo do tráfego na Internet. A intenção do Flow Label é permitir que a origem possa

atribuir uma identificação (padronizada) aos pacotes, para que eles recebam tratamento

especial por um roteador (fazer QoS, tráfego de tempo real, etc.). Roteadores e hosts que não

são capazes de identificar o Flow Label de um pacote devem deixar o campo com valor igual

a 0, quando originá-lo, deixá-lo inalterado, quando retransmiti-lo, ou ignorá-lo, quando

recebê-lo.

− Payload Length (Comprimento da Carga): 16 bits. Informa o comprimento dos dados, em

octetos, encapsulados pela camada de rede, isto é quantos bytes vêm depois do cabeçalho

IPv6 (os campos de extensão são contabilizados). Caso esse campo seja 0, indica que o

comprimento do payload é superior a 65.535 octetos e é informado em um Extension

Header.

− Next Header (Próximo Cabeçalho): 8 bits. Informa qual o protocolo da camada superior que

está utilizando os serviços da camada IP. A numeração também segue o RFC 1700. O UDP,

por exemplo, é número 17. No IPv6, pode haver um campo opcional após o cabeçalho. Nesse

caso, o valor de Next Header informa qual o tipo de extensão que vem após o cabeçalho

IPv6.

− Hop Limit (Limite de Hop): 8 bits. Semelhante ao TTL do IPv4, cada unidade processadora

de pacotes (nó) subtraí o valor de uma unidade e quando esse valor chegar a 0, o pacote é

descartado.

− Source Address (Endereço de Origem): 128 bits. Informa o endereço de origem do pacote.

− Destination Address (Endereço de Destino): 128 bits. Informa o endereço de destino. O

endereço de destino pode não ser o endereço do hosts final, porque pode ser um cabeçalho de

roteamento.

Page 32: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

30

− Extension Header (Cabeçalho de Extensão): Tamanho variável, mas sempre múltiplo de 8

octetos (64 bits). Pode haver mais de um campo de extensão. A presença de um campo de

extensão pode ser determinada pelo valor do campo Next Header. Cada Extension Header

tem um campo Next Header informando o próximo protocolo.

− Upper-Layer Packet Length (Comprimento do Pacote da Camada Superior): 32 bits.

Corresponde ao comprimento em bytes da camada superior, incluindo o cabeçalho e os dados

(PDU e SDU). Para protocolos de camada superior que carregam seu comprimento no

próprio cabeçalho, como o UDP, o valor desse campo é o mesmo do presente na camada

superior.

− Next Header (Próximo Cabeçalho): O Next Header do pseudo-cabeçalho será diferente do

Next Header do cabeçalho IPv6, somente no caso em que houver Extension Headers após o

IPv6. Nesse caso, o Next Header do IPv6 informa o valor do Extension Header.

2.7 -Protocolo TCP

O TCP (Transmission Control Protocol) é o protocolo de transporte

destinado a aplicações que necessitam de uma entrega confiável e em

seqüência. O protocolo utiliza o estabelecimento de uma conexão entre o

transmissor e o receptor (TANENBAUM, 2003).

Uma conexão TCP é full-duplex e ponto a ponto. Consiste em um fluxo

de bytes e cada byte em uma conexão TCP tem seu próprio número de

seqüência de 32 bits. As entidades transmissoras e receptoras trocam

dados na forma de segmentos, sendo um segmento TCP composto por um

cabeçalho de tamanho fixo de 20 bytes que pode ser seguido por opções

de cabeçalho, seguido por um conjunto de bytes de dados

(TANENBAUM, 2003).

Page 33: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

31

FIGURA 12 - CABEÇALHO TCP

O cabeçalho TCP é composto por 16 campos, e está representado na Figura 12. Conforme

Tanenabum, 2003:

− Porta origem e porta destino: Identificam os pontos terminais da conexão: processos ou

threads .

− Número de seqüência: Identifica a posição deste segmento no fluxo de dados e cada conexão

possui um fluxo de dados particular .

− Número de confirmação: Utilizado para confirmar o recebimento de segmentos enviados

anteriormente e especifica o próximo segmento aguardado .

− Tamanho do cabeçalho: Tamanho do cabeçalho TCP (números de palavras de 32 bits) .

− Urgent Point: Seu valor é igual a 1 se houver informação no campo Urgent Pointer.

− ACK: Se seu valor for 1: indica que o segmento é parte de uma conversação e que o valor do

campo Acknoledgement number é válido,`se seu valor for 0 e o flag SYN for 1: indica que o

segmento é uma solicitação de conexão .

− PSH: Campo usado pelo remetente do segmento para indicar ao receptor que o segmento em

questão deve ser entregue imediatamente ao nível superior .

− RST: Utilizado para reiniciar uma conexão que tenha ficado confusa devido a uma falha na

estação ou por qualquer outra razão .

− SYN: Usado em conjunto com o ACK para solicitar ou aceitar uma conexão .

− SYN=1 ACK=0: requisição de conexão;

Page 34: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

32

− SYN=1 ACK=1: conexão aceita;

− SYN=0 ACK=1: “confirmação do recebimento”.

− FIN: Usado para encerrar uma conexão e indica que o transmissor não tem mais dados para

enviar .

− Tamanho da janela deslizante: Indica o tamanho (disponível) do buffer do receptor e é usado

pelo receptor para indicar ao transmissor que diminua o fluxo de transmissão de dados .

− Checksum: Verificação de erros.

− Urgent pointer: Usado pela origem para indicar onde se encontra algum dado urgente dentro

do segmento .

− Opções: Campo para configuração de opções .

− Dados: Dados das aplicações .

2.8 -A interligação em redes TCP/IP

“A Pilha de Protocolos de interligação em redes denominado TCP/IP

pode ser utilizada para comunicação em qualquer conjunto de redes

interconectadas. Algumas empresas, por exemplo, utilizam o TCP/IP

para interconectar todas as redes de sua organização, ainda que a

empresa não se comunique com redes externas. Outros grupos utilizam o

TCP/IP para estabelecer comunicações entre sites geograficamente

distantes” (COMER, 2001).

O TCP/IP é, sem dúvidas, a tecnologia mais importante para interligar computadores e redes, ela

é a base para o funiconamento da Internet. Ela é responsável pelo transporte de pacotes de

informações e pela garantia de comunicação extremidades.

Como a utilização da Internet tende a expandir cada vez mais durante os próximos anos, o

dispositivo ou aplicativo que não estiverem preparados para agregar este conjunto de protocolos

estará fadado ao fracaço, porque chegará um momento que ele não terá interface com diversos

outros recursos.

Page 35: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

33

Contudo, a exploração e o desenvolvimeno de aplicações que utilizem essa tecnologia é um

grande mistério, pois as literaturas existentes tratam cada protocolo separadamente ao invés de

integrados (COMER, 2001).

“A tecnologia TCP/IP abrange vários protocolos que interagem. Para

preencher completamente os detalhes e a implementação de um

protocolo, uma pessoa precisa levar em consideração a interpretação de

tal protocolo com outros protocolos em conjunto (COMER, 2001).”

Quando se programa para TCP/IP utiliza-se de recursos do sistema operacional onde se está

programando. O recurso mais usado sempre serão as portas utilizadas pelos aplicativos nativos

do sistema.

Este, acaba sendo o método utilizado pelos desenvolvedores para ativar novos recursos de rede

com a utilização de TCP/IP.

O modelo mais usado atualmente em sistemas de uma rede TCP/IP é o de cliente/servidor, com

interface gráfica e multimídia, sem sessão, implementado por meio de tecnologia existente no

WWW (World Wide Web): o cliente WWW (browser), o protocolo HTTP e o servidor WWW

(VILLAS, 2007).

Normalmente cliente e servidor estão em computadores diferentes, ambos conectados à mesma

rede TCP/IP, como por exemplo a Internet (VILLAS, 2007).

2.9 -Protocolo RTP

O RTP (Real Time Transport Protocol - Protocolo de Transporte em Tempo Real) é um

protocolo que funciona no espaço de usuário do sistema operacional, vinculado à camada de

aplicação, porém é um protocolo genérico e independente de aplicações, comum aos protocolos

da camada de transporte, por isso pode ser definido como um protocolo de transporte

implementado na camada de aplicação (TANENBAUM, 2003).

No espaço de usuário está contida a biblioteca RTP, na qual são armazenados fluxos de mídia.

Esta biblioteca faz a multiplexação destes fluxos e os codifica em pacotes RTP que são

colocados em um soquete. Na outra extremidade do soquete, já no núcleo do sistema

operacional, são gerados os pacotes UDP e inseridos em pacotes IP. A Figuras 13 e 14

Page 36: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

34

demonstram a posição do RTP num pacote de dados e como é a disposição de seu cabeçalho

(TANENBAUM, 2003).

FIGURA 13 - POSIÇÃO DO RTP NA PILHA DE PROTOCOLOS.

FIGURA 14 – CABEÇALHO DO RTP

A Figura 13 mostra a posicionamento da interface socket que ficam entre o aplicativo virtual e o

sistema operacional, este último onde estam alocados as camadas de transporte e comunicação.

Já a Figura 14 demonstra o encapsulamento do protocolo RTP. Que possui no campo Ethernet

hearder um espaço para identificação, no cabeçalho (TANENBAUM, 2003):

− V (Versão) - 2 bits: Identifica a versão de RTP utilizada. Este item descreve a versão "dois"

do protocolo. A versão 0 foi inicialmente desenvolvida para o VAT (ferramenta de

transmissão de áudio).

− P (Acolchoamento ou Padding) - 1 bit: Este bit é "um" quando existem um ou mais octetos

adicionais ao final do pacote que não fazem parte dos dados. Estes deverão ser ignorados

pois estão ali apenas devido a certos algoritmos de encriptação necessitarem um tamanho

fixo dos blocos. O último octeto de acolchoamento possuirá a informação de quantos octetos

foram inseridos.

Page 37: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

35

− X (Extensão) - 1 bit: Se este bit for "um", o cabeçalho fixo será seguido de apenas uma

extensão de cabeçalho .

− Conta de CSRC - 4 bits: Quantidade de identificadores CSRC presentes no cabeçalho. Estes

serão explicados mais à frente. O número de CSRC's está limitado entre 0 e 15 .

− M (Marcador) - 1 bit: Este bit pode ser usado pela aplicação para marcar determinados

pacotes .

− Tipo de dados - 7 bits: Este campo define que tipo de dados há no pacote e como devem ser

interpretados pela aplicação .

− Número Seqüencial - 16 bits: Este campo serve para ordenar os pacotes de uma

comunicação, sendo que o primeiro pacote recebe um número seqüencial aleatório e os

seguintes recebem o número seqüencial do pacote imediatamente anterior incrementado de

um .

− Carimbo de Tempo - 32 bits: Ilustra o momento em que o primeiro octeto dos dados foi

gerado.

− Identificador SSRC (Fonte de Sincronização ou Synchronization Source) - 32 bits: Identifica

as fontes de sincronização. Cada participante de uma sessão RTP escolhe de forma aleatória

um identificador SSRC que irá identificá-lo dentro desta sessão frente aos outros

participantes. A probabilidade de duas fontes escolherem o mesmo SSRC é quase nula, mas

mesmo assim, todas as aplicações RTP devem estar preparadas para detectar e solucionar

colisões .

− Identificador CSRC (Fonte Contribuinte ou Contributing Source) - 32 bits: Identifica as

fontes que contribuíram para a formação dos dados contidos no pacote. Este identificador se

aplica a pacotes gerados por Misturadores .

A função básica do RTP é a multiplexação de vários fluxos de dados de tempo real em um fluxo

UDP (HART, 2005).

Cada pacote de um fluxo RTP recebe um número de seqüência, permitindo assim, que caso um

pacote se perca, o receptor perceba sua falta e por meio de interpolação gere um valor

aproximado para substituir o pacote perdido (TANENBAUM, 2003).

Page 38: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

36

2.10 -Protocolo RTPC

RTPC é usado para transmitir aos participantes, de tempos em tempos, pacotes de controle

relativos a uma versão RTP em particular. Esses pacotes de controle podem incluir informações

a respeito dos participantes (seus nomes, endereços de e-mail, etc.) e informações sobre o

mapeamento dos participantes em suas fontes de fluxo individuais (HERSENT, GUIDE e

PETIT, 2002).

Todos os participantes devem enviar pacotes RTPC, o que causa um problema de

dimensionamento em potencial para grandes conferências multicast: o tráfego RTPC deve

crescer linearmente com o número de participantes. Esse problema não existe com fluxos RTP

em conferências com apenas áudio que usem supressão de silêncio, por exemplo, uma vez que as

pessoas geralmente não falam ao mesmo tempo (veja Figura 15) (HERSENT, GUIDE e PETIT,

2002).

FIGURA 15 – TRAFEGO RTP NÃO CRESCE COM O NÚMERO DE PARTICIPANTES

A taxa de envio média é obtida pelo participante a partir do tamanho dos pacotes RTCP que ele

deseja enviar e a partir do número de transmissores e receptores que aparece nos pacotes RTPC

que ele recebe (HERSENT, GUIDE e PETIT, 2002).

2.11 -VoIP

“VoIP é o setor de telecomunicaçoes que mais cresce. Seu crescimento

está ocorrendo a uma taxa mais veloz do que o crescimento da telefonia

móvel. Fabricantes, operadoras e gerentes precisam se adaptar mais

rápido do que nunca, mas a curva de aprendizado é bastante íngreme e

requer de fato um estratégia educacional (HERSENT, GUIDE e PETIT,

2002) ”

Page 39: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

37

VoIP é uma tecnologia utilizada para digitalizar, codificar, empacotar e enviar dados de voz em

datagramas IP numa rede que utiliza a pilha de protocolos TCP/IP (HART, 2005).

A tecnologia surgiu tendo como um de seus objetivos unificar em uma única rede de serviço a

transmissão de voz e de dados. Mas para que o sistema funcionasse foi necessário o

desenvolvimento de um protocolo comum. Então, várias partes interessadas se uniram e sob o

patrocínio da ITU (International Telecommunication Union) foi emitida a recomendação H.323

que consiste em um conjunto de protocolos que permitem a comunicação de terminais utilizando

aplicações de áudio, vídeo e dados multimídia (HART, 2005).

Em março de 1999 a IETF (Internet Engineering Task Force) apresenta sua solução denominada

SIP (Session Initiation Protocol), que é uma forma mais simples e modular de utilizar voz sobre

IP.

O MGCP (Media Gateway Control Protocol) é o protocolo presente nos gateways dos sistemas

VoIP. Foi definido pela IETF em conjunto com a ITU e tem a função de controle de chamadas,

transmissões e sinalização, monitorando os troncos de telefonia e enviando mensagens de mídia

para endereços específicos (HART, 2005).

2.12 -Telefonia IP

O conceito de telefonia IP atual não resume-se somente ao estabelecimento de comunicação de

voz pela Internet, pois agregam-se a este sistema diversos outros serviços como correio de voz,

e-mail, conferência e diversas outras funcionalidades (HART, 2005).

À primeira vista, a tecnologia por trás da telefonia IP pode parecer quase trivial. Mas não é. Em

particular, ela é muito mais complexa do que a transmissão unidirecional (streaming) de mídia

(usada na transmissão de TV ou de rádio na rede), porque a latência entre locutor e ouvinte é

muito baixa, ao passo que aplicações tipo streaming podem usar buffers muito grandes

(HERSENT, GUIDE e PETIT, 2002).

A velocidade com que a telefonia IP se transformou em uma indústria é realmente

impressionante, mas ainda está longe de ter atingido a maturidade (HERSENT, GUIDE e PETIT,

2002).

Page 40: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

38

A telefonia IP tem redefinido o sistema de telefonia apresentando como principais características

(HART, 2005):

− Segurança - utilizando-se os protocolos de transporte de fluxos de mídia na Internet, como

por exemplo o RTP, tem-se a possibilidade de criptografar estes fluxos, impossibilitando os

”grampos telefônicos”;

− Serviços e personalização - a telefonia IP permite que o próprio usuário inclua novos

serviços de forma fácil e consistente, o que na telefonia convencional é permitido somente a

adição de serviços pela companhia telefônica e, ainda assim, não são todos os serviços

disponíveis;

− Preço - os custos da telefonia IP são reduzidos em relação a telefonia convencional,

referindo-se aos custos de ligações interurbanas e utilização de serviços. Esta redução de

custos se dá pelo fato de que a comunicação passa a ser feita pela Internet, não havendo mais

a cobrança de pulsos ou ligações interurbanas pela companhia telefônica.

A telefonia IP se apresenta em três cenários (HART, 2005):

− PC para PC: Todo o tratamento de voz (amostragem, compressão, empacotamento)

ocorre nos PCs, chamadas baseadas em endereços IP ou nomes associados, ambiente

totalmente IP, sem conexões com o sistema telefônico convencional, conforme mostra a

Figura 16;

FIGURA 16 – TELEFONIA IP PC/PC

− PC para telefone: funciona com intervenção de um gateway (Figura 17);

Page 41: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

39

FIGURA 17 - TELEFONIA IP COM USO DE GATEWAY

− Telefone para telefone: há a necessidade de usar um gateway em cada ponta. As redes de

telefonia podem ser formadas por centrais de PBXs ou operadoras públicas, cenário

esquematizado na Figura 18.

FIGURA 18 - TELEFONIA IP TELEFONE/TELEFONE

2.13 -Protocolo H.323

O H.323 define principalmente a sinalização necessária para estabelecer chamadas e

conferências, para excolher codec. O núcleo do RTP/RTCP ainda é usado para transportar fluxos

isócronos e obter retorno sobre a qualidade da rede, mas apsectos mais peculiares do RTP, como

distribuição de alias de e-mail, geralmente não são usados pelo H.323 (HERSENT, GUIDE e

PETIT, 2002).

De um modo geral, o processo de estabelecimento de chamada pode ser representado na Figura

19. Onde a esquerda são demonstrados os protocolos disponíveis para transmissão do terminal 1

ao terminal 2, entre os dois há o gatekeeper que interage com a transmissão oferecendo, sobre

tudo, segurança à conexão.

Page 42: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

40

FIGURA 19 - PROCESSO GENÉRICO DE ESTABELECIMENTO DE CHAMADAS

O H.323 utiliza vários canais para a estruturação e troca de informações durante a comunicação.

Um canal é uma ligação a nível de camada de transporte, podendo ser uni ou bi-direcional

(NUNES, 2004).

Para o estabelecimento de uma chamada existe a necessidade da utilizaçao de canais de ligação.

O H.323 utiliza para este propósito alguns canais. O canal RAS (Registration, Admission e

Status) tem a função de estabelecer e encerrar uma conexão entre um terminal e um gatekeeper.

Pelo canal RAS o terminal faz a requisição para dar início a uma chamada ao gatekeeper que é

encontrado pela transmissão de um pacote UDP na porta 1718. O gatekeeper verifica se é

possível a prestação do serviço, verifica se o número máximo de chamadas ainda não foi

atingido, se a largura de banda requisitada pelo terminal está disponível e retorna ao terminal o

endereço do canal de sinalização de chamada do destinatário (NUNES, 2004).

O canal de sinalização de chamada transporta a informação para a sinalização da chamada e

todas as outras funções da telefonia padrão, como estabelecimento de conexão, sons de

discagem, entre outros. O serviço de sinalização é realizado com a utilização de protocolos TCP

e utiliza o protocolo Q.931 (NUNES, 2004).

Após a chamada estabelecida, o gatekeeper está fora do loop, os pacotes subseqüentes vão

diretamente ao endereço IP do gateway, utiliza-se o canal de controle de chamada que utiliza o

protocolo H.245. Tendo em vista que diversos protocolos podem ser usados para a realização da

Page 43: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

41

compactação da voz, o protocolo H.245 é responsável pela negociação de qual algoritmo deve

ser usado e negocia outros aspectos da transmissão, como taxa de bits (TANENBAUM, 2003).

Após efetuada a negociação e estabelecidos os parâmetros, são requisitados os canais lógicos

para o transporte de dados de mídia, utilizando-se os protocolos RTP e RTCP.

Para o encerramento da chamada são requisitados novamente os canal de controle H.245, que

tratará do encerramento entre os terminais, e o canal RAS que tratará do encerramento com o

gatekeeper.

2.14 -Asterisk

Asterisk é um software TDM híbrido de Código Aberto, uma plataforma de pacotes de voz PBX

e uma plataforma IVR com funcionalidades ACD(Automatic Call Delivery – usados call

centeres para gerenciar chamadas).

A ferramenta possui um recurso denominado Interactive Voice Response (IVR), que é um

sistema de voz automatizada que permite provedores implantarem menus em que o usuário

navegue usando o teclado do telefone ou via comandos falados.

Informalmente o Asterisk é, possivelmente, a peça de integração de telecomunicações mais

potente, flexível e extensível disponível no mercado de software. Seu nome vem do símbolo

asterisco, *, o qual em UNIX (incluindo Linux e DOS) representa um wildcard, significando

qualquer nome de arquivo. Similarmente, Asterisk o PBX é destinado a integrar qualquer peça

de telefonia, seja hardware ou software, a aplicações, com facilidade e consistência.

Tradicionalmente, produtos de telefonia são desenvolvidos para atender a uma necessidade

específica em uma comunidade. No entanto, muitas aplicações da telefonia compartilham de um

grande acordo tecnológico. O Asterisk toma vantagem desta sinergia para criar um único

ambiente que pode ser moldado para agregar qualquer aplicação particular, ou uma coleção de

aplicações, como o usuário achar melhor.

O Asterisk é geralmente distribuído sob os termos do GNU (termo usado a qualquer sistema

operacional baseado em UNIX) ou GPL (General Public License - Licença Pública Geral). Esta

licença permite a distribuição do código e dos binários do Asterisk com ou sem modificações e

sem qualquer restrição de uso ou redistribuição do código.

Page 44: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

42

A GPL não se extende para o hardware ou software utilizados pelo Asterisk. Por exemplo, se

você estiver usando um telefone IP como cliente pelo Asterisk, não é requerido que este

programa também seja distribuído sob GPL. Adicionalmente, aplicações AGI são simplesmente

carregadas pelo Asterisk e comunicam-se por essas aplicações nas quais o GNU-GPL não é

apropriado. A Digium é a única capaz de licenciar o Asterisk fora dos termos da GPL, em sua

discrição.

O Asterisk é desenvolvido para permitir que novas interfaces e tecnologias sejam

adicionadas/agregadas facilmente. Essa sublime meta é para suportar qualquer tipo de

tecnologias telefônicas possíveis.

As diversas tecnologias agregadas ao Asterisk são divididas em três grupos gerais:

− Interface Pseudo TDM Zaptel: Esta interface permite a integração com o sistema telefônico

digital e analógico e possui suporte à Pseudo-TDM switching, o que permite a realização

realização de video conferência.

− Interface não Zaptel: Esta interface permite a integração com o sistema telefônico digital e

analógico, mas não dá suporte à Pseudo-TDM switching, permitindo assim somente a

realização de chamadas telefônicas.

− Protocolos de pacotes de voz: São os protocolos padrões para a comunicação por meio da

tecnologia VoIP (SIP, IAX, H.323, etc.), e não necessitam de nenhum hardware adicional.

2.14.1 -Redução de Custo extrema

Ao comparar o Asterisk com um PABX convecional, talvez a diferença seja pequena,

principalmente pelo custo do hardware e dos telefones IP. Entretanto, ao adicionar recursos

avançados como VoIP, URA e DAC, a diferença vai à mais de dez para um (GONÇALVES,

2005).

2.14.2 -Ter controle do Sistema Telefônico

Este é um dos benefícios mais citados, porque a configuração não necessita de técnicos

autamente especializados, o proprio usuário pode configurar o Asterisk de acordo com sua

necessidade (GONÇALVES, 2005).

Page 45: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

43

2.14.3 -Ambiente de Desenvolvimento

O Asterisk pode ser programado em C com as API’s nativas ou em outra linguagem usando AGI

(GONÇALVES, 2005).

2.14.4 -Provendo recursos dinâmicos por telefone

Como o Asterisk é programado em C ou outras linguagens de domínio da maioria dos

programadores, as possibilidades de prover conteúdo dinâmico por telefone são bastante

expansíveis.

2.14.5 -O mercado para o Asterisk

O mercado vem se adaptando aos novos conceitos de tecnologia e apresentando soluções mais

baratas e eficientes utilizando o conceito de telefonia IP e encontrando o Asterisk como a melhor

ferramenta (GONÇALVES, 2005).

2.14.6 -Plano de discagem flexível e poderoso

Outro aspecto que destaca o Asterisk dentre as outras centrais telefônicas é rota de menor custo,

que nas centrais convencionais não possui e no Asterisk este processo se torna simples e prático

(GONÇALVES, 2005).

2.14.7 -Asterisk e a comunidade GNU

A comunidade GNU há muito tempo tem se mostrado muito cooperada, os softwares

desenvolvidos são de códigos abertos e atraem diversos colaboradores em todo mundo. O

Asterisk por sua vez tem se tornado dos softwares livres o que mais tem recebido colaboradores

e adeptos, enriquecendo ainda mais suas funcionalidades (GONÇALVES, 2005).

2.14.8 -Limitações da arquitetura do Asterisk

O Asterisk usa a CPU do servidor para processar os canais de voz em contra partida de um DSP

(processador de sinais digitais).

2.15 -Protocolo SIP

O SIP tem a função de iniciar, configurar, gerenciar e encerrar sessões multimídia, como

chamadas telefônicas ou conferências multimídia. O SIP é um protocolo da camada de aplicação

Page 46: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

44

e baseia-se em outros protocolos como o SMTP (Simple Mail Transport Protocol) e HTTP

(Hyper Text transport Protocol), e pode funcionar sobre o UDP ou TCP (TANENBAUM, 2003).

O principal papel do SIP é o estabelecimento de sessões ou associações, que posteriormente são

utilizadas para troca de dados de mídia. A Figura 20 demonstra este conceito (NUNES, 2004).

FIGURA 20 - SINALIZAÇÃO GENÉRICA DO SIP

2.16 -Bilhetagem e Tarifação

O CDR (Call Detail Record) é um registro que contém informações sobre uso recente de

sistema, como a identificação de fontes (pontos de origem), as identidades de destinos

(extremidades), a duração de cada telefonema, a quantia faturada para cada telefonema, o tempo

de uso total no período de faturamento, o tempo livre total permanecendo no período de

faturamento, e o corrente total carregado durante o período de faturamento.

A utilização desse recurso serve para formar toda estrutura necessária para gerar os arquivos e

tabelas para envio das informações de tarifação aos módulos de tarifagem, que estarão próximos

de cada ramal.

Haverá uma tabela com os valores das rotas que será extraído do site da Agencia Nacional de

Telecomunicações (ANATEL) e de empresas prestadores de serviços de coletas de valores de

rotas telefônicas.

2.17 -Trabalhos Realizados

No decorrer do desenvolvimento da pesquisa foram descobertas algumas monografias que

utlizaram o mesmo princípio de pesquisa deste projeto e todas adotando o Asterisk como

recurso.

Page 47: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

45

Um dos trabalhos estudou o desenvolvimento de solução de voz sobre ip (VoIP) baseada em

software livre e foi apresentado para o curso de graduação de Ciências da Computação. Outro

trabalho, também de graduação, do curso de Bacharelado em Informática, desenvolveu uma

estrutura de telefonia que interligava filias em localizações remotas com a matriz, com a

utlização do Asterisk como central PBX-IP.

Esses trabalhos mostram como a Telefonia-IP vem sendo explorada e como o Asterisk pode

contribuir o desenvolvimentos de novas alternativas de telecomunicações.

Page 48: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

46

CAPÍTULO 3 - ESPECIFICAÇÃO DO PROJETO

O projeto consiste no desenvolvimento de um sistema PBX-IP que fornece o serviço de

telecomunicações para uma rede local, oferencendo o recurso de gerenciamento de telefonias

convencionais e IP, por meio de rotas de menor custo e do controle de ligações realizadas nos

ramais telefonicos com links no servidor pela rede.

A topologia foi baseada na estrutura de uma rede cliente/servidor e demonstra o tráfego de dados

e voz com a utlização da mesma estrutura.

INTERNET

VOIP

Estação de Trabalho(Página e X-Lite) MÓDULO TARIFADOR

com Display LCD

RTPC

Asterisk

FXO

ETH

ETH

FXS

Router ADSL

Hub

FIGURA 21 – TOPOLOGIA DA REDE LAN

A Figura 21 representa a topologia da rede desenvolvida. É uma rede ethernet com velocidade de

100Mbps, contém dois servidores, um para realizar o papel de DNS, DHCP e Gateway e outro

para prover os serviços relacionados ao Asterisk.

Page 49: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

47

Estão agrupados à rede, 3 tipos de clientes: telefone IP, estação de trabalho e o módulo tarifador,

porém o telefone IP pode ser substituído por um softfone (software para telefone) representado

na Figura 21.

O módulo tarifador é o hardware desenvolvido, ele é formado, dentre outros componentes, por

um display LCD, contém um endereço IP e um mac-address. O módulo tarifador mostra

informações correspondentes à realização de ligações externas por um ramal vinculado a ele.

A Figura 21 mostra o link com a operadora VoIP, por meio da Internet e o link com a RTPC

(Rede Pública de Telefonia Pública Comutada) que fornece o tronco de telefonia convencional .

Os links garantem que o sistema terá as opções para realização da rota de menor custo. Ambas as

conexões estão ligadas no servidor PBX-IP.

O servidor consegue conectar–se a RTPC, devido a uma placa PCI denominada X100P,

fabricada pela Digium com o objetivo de efetuar conexões do tipo FXS/FXO.

O PBXIP é um computador que não necessita de muito recurso de memória, mas precisa que o

processador tenha um clock rápido, pois o Asterisk executa muitas interrupções na execução dos

processos no ato das ligações telefônicas.

A máquina utilizada como servidor tem a seguinte configuração: Sistema Operacional Linux,

com kernel 2.6, distribuição Fedora release 6. Foi utilizado um microcomputador com

processador AMD Athlon 64, 1600 MHz (8 x 200) 2600+, placa mãe ASUS K8V – X, memória:

256 MB (PC3200 DDR SDRAM).

Sua principal funcionalidade é controlar o fluxo de ligações realizadas pelos ramais e determinar

a melhor rota entre os troncos de telefonia IP e convencional, com a utilização do software

desenvolvido pela empresa Digium Asterisk, que está na versão 1.2.17.

O Asterisk tem recurso de integrar suas funções ao banco de dados MySQL. No projeto foi

utilizado este recurso para armazenar as informações de tarifas telefônicas e relacionar o IP do

módulo tarifador com o ramal correspondente, além da funcionalidade já existente para o

armazenamento do histórico na tabela CDR das ligações efetuadas.

3.1 -Software

O projeto é composto por hardware e software, no entanto, o desenvolvimento do software

utilizou mais tempo no projeto. Foram desenvolvidos aplicativos para gerar Rotas de Menor

Page 50: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

48

Custo, coletagem da duração de uma ligação em um ramal e o cálculo para o valor da tarifa, e o

desenvolvimento de três páginas com o objetivo de facilitar a manutenção na central PBX-IP.

Todos os módulos se relacionam com intermediação do Asterisk que realiza uma interligação

com banco de dados MySQL.

RTPC

ASTERISKGERA_ROTAS EnviaLCD

SIMPLESERVER

SIMPLECLIENT

BDASTERISK

INTERNET

VOIP

LAN

ENVIA_LCD

ALL_RATES

CDRDISPRAMAL

MÓDULO TARIFADOR com Display LCD

FIGURA 22 – ESTRUTRA DE RELACIONAMENTO DO SISTEMA COM O MÓDULO DE CONTROLE

A Figura 22 mostra o fluxo de informações entre os aplicativos do sistema. Nela pode-se

visualizar o Asterisk como centralizador do fluxo. Ele faz o tratamento dos troncos para

realização das ligações, conforme representam as nuvens da Internet e da RTPC (Rede de

Telefonia Pública comutada). O tronco VoIP existe após a criação de uma conta em uma

operadora e o acesso a ela é por meio da Internet.

O Asterisk tem um relacionamento com o banco de dados MySQL que alimenta a base de dados

Asterisk no MySQL, esta base tem três tabelas: all_rates, cdr, dispramal. A tabela all_rates

contém os valores de tarifas praticadas por diversas operadoras convencionais e uma operadora

VoIP para diversas localidades ao redor do mundo.

Page 51: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

49

A tabela CDR é conseqüência do relacionamento do Asterisk com a base de dados Asterisk, ela

contém informações de todas as ligações efetuadas que, passaram pelo Asterisk. Essa tabela é

usada para verificação do ramal que a realizou a ligação e o tempo utilizado na ligação efetuada.

A tabela all_rates contém informações de tarifas praticadas por operadoras convencionais e VoIP

da cidade de Curitiba-PR para diversas localidades, inclusive locais para telefones fixos e

móveis. Essa tabela é utilizada para aplicar valor às ligações realizadas e para rotas de menor

custo.

A tabela dispramal contém informações do relacionamento entre o número do ramal e o IP do

módulo tarifador, sendo que cada ramal deve utilizar um módulo tarifador.

A Figura 22 demonstra, também, que o aplicativo desenvolvido Gera_Rotas recebe as

informações da tabela all_rates e as trata de forma a separar as operadoras com as menores

tarifas, em seguida estes dados são enviados ao plano de discagem do Asterisk.

Ao término de uma ligação realizada e atendida pelo destinatário, o Asterisk chama o aplicativo

Envia_LCD, este software busca as informações na tabela CDR da última ligação

realizada,calcula o valor com base na rota utilizada e na duração da ligação. Partindo desta linha

são separadas todas as ligações efetuadas pelo ramal em um período de 20 dias, período de

cobrança de uma fatura praticado em uma operadora.

Em seguida, para enviar ao módulo tarifador, são preparadas strings com as informações de:

duração da ligação, valor da ligação efetuada, quantidade de ligações e o valor gasto pelo ramal

até o momento.

O Envia_LCD busca ainda, com o número do ramal usado, o IP do módulo de controle.

Logo após o aplicativo chama o software desenvolvido simple_server que abre a conexão com a

porta 1001, utilizada pelo módulo tarifador.

O Envia_LCD chama o aplicativo simple_client que recebe as strings preparadas com as

informações das ligações do ramal e envia-as para o IP do módulo tarifador pela porta 1001.

3.1.1 -Asterisk

Grande parte das funcionalidades do servidor existem devido os recursos do Asterisk, o

aplicativo está arquitetado com APIs, codecs e canais.

Page 52: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

50

As APIs (Application Programming Interface) são usadas na conectividade com outros

aplicativos e dispositivos. As API’s são utilizadas nas situações:

• Para tradução de CODECS: interfaces já desenvolvidas no Linux para tratamento de som

protocolos de mídias de um modo geral.

• Aplicações Asterisk: interfaces entre os arquivos de configuração do Asterisk

• Formato de arquivo Asterisk: GSM, WAV, MP3.

• Canais Asterisk: o Asterisk vincula suas ligações aos canais conectados ao servidor devido

essa API.

Toda configuração do Asterisk, incluso de canais, contém um arquivo “.conf” correspondente,

que estão localizados por padrão na pasta /etc/asterisk que interagem entre si por meio de API’s.

O arquivo mais importante para arquitetura do Asterisk é o extension.conf, que reune todas as

informações necessárias para o funcionamento do PBX-IP, inclusive o plano de discagem,

originado da rota de menor custo.

3.1.2 -Canais

Todas as linhas telefonicas agrupadas ao Asterisk são consideradas troncos telefônicas ou canais

de comunicação, e cada um representa uma operadora telefonica.

Eles são as portas de saída do sistema e o fato de ter mais de um canal possibilita a realização da

rota de menor custo, pois a finalidade da rota é utilizar o valor mais baixo de tarifa entre as

operadoras.

No projeto foram utilizadas os canais convencionais (analógico/digital) e VoIP.

O canal VoIP utiliza a Internet para usar a conta criada na operadora VoIP, que prove os serviços

telefônicso. No Asterisk as configurações correspondentes a esta ação são realizadas no arquivo

USERS.CONF e SIP.CONF

Canal analógico/digital utiliza a Rede Pública de Telefonia Comutada. A interface enre a rede o

PBX-IP é uma placa para conexão com troncos telefônicos denomindas, X100P desenvolvida

pela mesma empresa do Asterisk, digium. As configurações atribuidas a este canal são relizadas,

no arquivo Zapata.conf e os drives da placa X100P no arquivo Zaptel.conf.

Essa placa tem interface PCI (Peripheral Component Interconnect), com um canal de

comunicação. Ela contem um chip Motorola que controla a interface PCI e oferece uma

Page 53: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

51

comunicação bi-direcional. No sistema a comunicação é unidirecional, isto quer dizer que a

placa não é utilizada como ramal.

3.1.3 - Ramais

No Asterisk os ramais são configurados sobre o mesmo aspecto de uma conta de usuário. Nesta

configuração são determinados quais os acessos do ramal e as regras para efetuar e receber

chamadas.

Cada ramal é trasnportável a qualquer local da rede, pois, o acesso é realizdo após a autenticação

do usuário e senha.

3.1.4 -Modulo CDR

CDR significa Call Detail Records (gravação de detalhes de chamadas), neste módulo define-se

a forma de registro da chamadas telefônicas do Asterisk e o formato que serão gravadas.

O módulo é alterado no arquivo CDR.conf, este contém as informações para armazenagem na

base de dados.

3.1.5 -Tarifagem com MySQL

Existem "infinitas" possibilidades do que pode ser realizado com o Asterisk. Algo que pode ser

muito útil é a conexão com banco de dados, que pode ser feita via aplicações AGI, System() e

MYSQL(). No sistema foi utilizado a conexão com o MySQL.

Antes de executar as querys MySQL no Asterisk é necessário que o pacote relacionado a ação

esteja instalado. As claúsulas SQL são usadas pelo Gera_Rotas, que após executar envia o

resultado para o plano de discagem no arquivo extensions.conf.

FIGURA 23 - EXTENSÕES PARA EXECUÇÃO DE QUERYS NO ASTERISK

Antes de usar o MySQL deve-se editar o arquivo cdr_mysql.conf com configurações de acesso,

como mostra a Figura 23.

hostname=127.0.0.1 dbname=asterisk table=cdr password= user=root port=3306 sock=/tmp/mysql.sock userfield=1

Page 54: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

52

FIGURA 24 – ESTRUTURA DA TABELA CDR

Além da configuração de conexão entre o Asterisk e o MySQL, é necessário criar uma base de

dados “Asterisk” e as tabelas descritas, principalmente a CDR, que é utilizada para aramazenar o

histórico das ligações realizadas. A Figura 24 mostra cláusula utilizada para a criação dessa

tabela.

3.1.6 -Extensions.conf

Alguns autores consideram o extensions.conf o principal arquivo do Asterisk. Nele é

efetivamente usado o plano de discagem e onde são definidas as regras de discagem.

Ele consiste de uma lista de instruções ou passos disparados a partir dos dígitos recebidos de um

canal ou aplicação.

O arquivo pode ser seprado em quatro partes:

• Aplicações: as aplicações são chamadas com opções que afetam a sua forma de

funcionamento.

• Contextos: são definidos entre conchetes ([]), eles tem um papel importante no Asterisk na

organização e segurança das ligações. Os contextos também definem o escopo e permitem

separar diferentes partes do plano de discagem. Os contextos estão ligados diretamente aos

canais. Cada canal existe dentro de um contexto e quando uma ligação entra no Asterisk ela é

processada em um contexto.

CREATE DATABASE asterisk; GRANT INSERT ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'yourpassword'; USE asterisk; CREATE TABLE `cdr` ( `calldate` datetime NOT NULL default '0000-00-00 00:00:00', `clid` varchar(80) NOT NULL default '', `src` varchar(80) NOT NULL default '', `dst` varchar(80) NOT NULL default '', `dcontext` varchar(80) NOT NULL default '', `channel` varchar(80) NOT NULL default '', `dstchannel` varchar(80) NOT NULL default '', `lastapp` varchar(80) NOT NULL default '', `lastdata` varchar(80) NOT NULL default '', `duration` int(11) NOT NULL default '0', `billsec` int(11) NOT NULL default '0', `disposition` varchar(45) NOT NULL default '', `amaflags` int(11) NOT NULL default '0', `accountcode` varchar(20) NOT NULL default '', `userfield` varchar(255) NOT NULL default '', `vallig` flow NOT NULL default '' ); ALTER TABLE `cdr` ADD INDEX ( `calldate` ); ALTER TABLE `cdr` ADD INDEX ( `dst` ); ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

Page 55: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

53

Todas as instruções colocadas após a definição são partes dos contexto e Para iniciá-los é

necessário simplesmente digitar o novo contexto ([novocontexto]).

• Extensões: em cada contexto serão definidas diversas extensões. No Asterisk uma extensão é

uma string que dispara um evento.

FIGURA 25 – EXEMPLO DE EXTENSÕES DO EXTENSIONS.CONF

A Figura 25 mostra como as extensões são configuradas nos Extensions.conf. A instrução

“exten =>” descreve qual o próximo passo para a ligação. O “8580” é o conjunto de dígitos

que foi recebido (número discado). O “1”, “2” e “101” são prioridades que determinam a

ordem de execução dos comandos. Neste exemplo, discando “8580” irá tocar o telefone IP

registrado como “8580” se não atender em 20 segundos será desviados para prioridade 2.

Extensões determinam o fluxo das chamadas e podem ser para diversas aplicações.

FIGURA 26 - SINTAXE EXTENSION

A Figura 26 mostra a sintaxe de uma extensão, nela observa-se que a extensão pode chamar

uma outra aplicação. O comando “exten=>” é seguido por um número da extensão, a

prioridade, e a aplicação.

• Prioridades: são passos numerados na execução de cada extensão. Cada prioridade chama

uma aplicação especifica. Normalmente estes números de prioridade começam com 1 e

aumentam de um em um para cada extensão. Os números de prioridade não são

necessariamente consecutivos. As prioridades são executadas em ordem numérica.

3.1.7 -Interface WEB

No sistema foram desenvolvidas três páginas para facilitar a manutenção da central PBX-IP,

todas elas estão armazenadas no servidor Asterisk.

O acesso à interface de manutenção é feita por um navegador de internet em qualquer estação de

trabalho da rede local, o endereço de acesso é o IP do servidor.

Page 56: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

54

As páginas foram desenvolvidas em liguagens Java Script, C e HTML. E tem as seguintes

funcionalidades:

• Atenticação de usuários: realiza consulta no arquivo manager.conf do Asterisk que contém o

cadastro dos usuários que podem realizar a manutenção do sistema.

• Manutenção de ramais: página que altera as configurações do arquivo sip.conf e user.conf do

Asterisk necessárias para inclusão e exclusão de ramais.

• Manutenção de troncos: altera as configurações dos arquivos zapata.conf e sip.conf, cada

arquivo contém informações dos troncos telefônicos.

3.2 -Hardware

A finalidade do hardware é informar aos usuários dos ramais interligados à central telefônica a

duração e o custo das ligações efetuadas para fora da rede.

O circuito projetado está preparado para receber quatro “strings” da central PBX-IP (por

Ethernet) e imprimir em um display de LCD (Liquid Crystal Display) as seguintes informações:

• Valor da ligação efetuada;

• Duração da última ligação efetuada;

• Quantidade de ligações efetuadas em um período;

• Valor total gasto pelo ramal dentro em um período.

O dispositivo é composto por um módulo de controle, um modulo conversor de Ethernet-serial

(Tibbo EM202 EV) e um display de LCD 20 X 4.

MÓDULO DE CONVERSÃO ETHERNET/SERIAL DISPLAY LCDMÓDULO DE CONTROLE

FIGURA 27 - FLUXO DO HARDWARE

Page 57: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

55

A Figura 27 mostra o fluxo correspondente à comunicação entre os estágios do hardware. O

módulo de conversão Ethernet/Serial se comunica com o módulo de controle para enviar as

informações que chega da rede para o display.

3.2.1 -Módulo de controle

Foi desenvolvido para o sistema uma placa de circuito integrado que contém um

microcontrolador PIC16F877A, um MAX 232, um cristal de 20MHz, um regulador de tensão

L7805, um resistor de 10Ω, cinco capacitores eletrolíticos de 1µF, 2 capacitores de porcelana de

15pF, uma conexão fêmea DB9 serial e um conector de 16 pinos.

Page 58: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

56

U1

PIC16F877

OSC1/CLKIN13

OSC2/CLKOUT14

MCLR/Vpp/THV1

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA3/AN3/VREF+5

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

RB0/INT33

RB134

RB235

RB3/PGM36

RB437

RB538

RB6/PGC39

RB7/PGD40

RC0/T10S0/T1CKI15

RC1/T10S1/CCP216

RC2/CCP117

RC3/SCK/SCL18

RC4/SDI/SDA23

RC5/SDO24

RC5/TX/CK25

RC7/RX/DT26

RD0/PSP019

RD1/PSP120

RD2/PSP221

RD3/PSP322

RD4/PSP427

RD5/PSP528

RD6/PSP629

RD7/PSP730

VDD11

VSS12

VDD32

VSS31

U3

MAX232

C1+1

C1-3

C2+4

C2-5

VCC

16

GND

15

V+2

V-6

R1OUT12

R2OUT9

T1IN11

T2IN10

R1IN13

R2IN8

T1OUT14

T2OUT7

+

C14

1uF

+

C15

1uF

+

C16

1uF

+

C17

1uF

GND

Y1

CRYSTAL

C2

15pFC3

15pF

GND

+ C410uF

R110K

J1

CON9

123456789

J2

DISPLAY LCD

123456789

10111213141516

GND

LO

FIGURA 28 – ESQUEMÁTICO DO MÓDULO DE CONTROLE

Page 59: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

57

No esquemático da Figura 28 aparece a placa desenvolvida para módulo de controle. No

bloco U1, o qual que representa o PIC16F877A, os pinos 13 e 14 estão conectados a um

cristal de 20MHz, representado pelo bloco Y1, e é responsável por gerar os pulsos

precisos para o bom funcionamento do microcontrolador. Ao cristal estão conectados

dois capacitores de 15pF ligados ao negativo da fonte (terra).

O pino 1 é o pino de reset do PIC. Os pinos 11 e 12, 31 e 32 do microcontrolador

recebem a alimentação da fonte. Os pinos 11 e 32 recebem a alimentação positiva e os 12

e 31 ligados no terra.

O pino 33 está conectado ao display (no esquemático, bloco CON16) e habilita o sinal

para inicializar transmissão quando estiver em nível lógico alto. O pino 34, também

conectado ao display, emite um sinal para seleção de registro e o pino 35 é responsável

por definir o módulo em leitura ou gravação.

Os pinos 37, 38, 39 e 40 juntos formam um pacote de 4 bits denominado “nible” por onde

são transmitidos os dados ao display.

O pino 25 está conectado ao bloco U3 que representa o conversor MAX232, esta ligação

é uma comunicação TX, ou seja, do qual são enviados os dados do PIC para o conversor.

Esta configuração é utilizada para dar resposta à rede quando o broadcast ou cliente

envia um sinal para identificá-lo.

O MAX 232 é um conversor CMOS (Complementary Metal Oxide Semicondutor) / TTL

(Transistor-Transistor Logic) utilizado para fazer conexão entre o microcontrolador e o

ambiente externo com a utilização da porta serial.

Observa-se na Figura 28 que o pino 7 do MAX232 está conectado ao pino 2 do conector

fêmea serial (representado por J1) a fim de receber as informações enviadas a partir de

uma conexão RX. O pino 8 envia as informações (TX) para ambiente externo.

3.2.1.1 - PIC16F877A

Neste projeto o microcontrolador é responsável por interpretar um sinal TTL e imprimir a

informação no display.

Existem vários microcontroladores no mercado, a razão que levou à escolha do

PIC16F877A foi seu baixo custo e a versatilidade em adaptá-lo em diversas interfaces de

comunicação

Page 60: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

58

Ele é um microcontrolador de 8 bits, tem 40 pinos, é do tipo DIP com 8Kbytes de

memória para programa. Ele tem dois barramentos internos independentes, sendo um

para memória de dados e outro para memória de programa.

3.2.2 -Módulo de conversão Ethernet/Serial

Toda estrutra do módulo de controle (apresentado na seção 3.2.1) foi projetado para

interpretar um sinal TTL enviado por uma conexão serial. No entanto, prezando pela

praticidade e mobilidade do dispositivo, foi utilizado o conversor Ethernet/Serial EM202

da Tibbo para transformar o sinal dos protocolos TCP/IP em TTL, de forma que o

módulo de controle entenda.

O módulo possibilitou que o hardware obtivesse um endereço IP e um mac address, com

isto o hardware consegue operar na rede local.

Específicações:

TABELA 1 – ESPECIFICAÇÃO TÉCNICA DO TIBBO EM202-EV

Item Especificação Interface ethernet Ethernet 100BaseT Protocolos de rede suportados UDP, TCP, ARP, ICMP (PING) e DHCP

Interface serial e pinos I/Os RS232 (TX, RX, RTS, CST, DTR, DSR)

Velocidade da porta serial Até 115200bps Porta serial UART -none/even/odd/mark/space parity, 7/8 bits/character,

full-duplex com opcional para controle de fluxo RTS/CTS, half-duplex com controle de direção automático.

Buffer de roteamento 12Kbytes x 2 Alimentação 10 ~ 25VDC, 500mA Temperatura (ambiente) -5 à 70ºC Umidade relativa 10 - 90% Dimensão 125x95x52 mm Peso 110g.

FONTE: Site Akiyama (2007)

Nas específicações do EM202-EV da Tabela 1 nota-se uma interface ethernet de

100BaseT, isto significa que a velocidade máxima das informações que trafegam pelo

módulo são 100 Mbps. Ele suporta os principais protocolos de transporte da rede, no

entanto, neste projeto o dipositivo foi configurado para utilizar o protocolo TCP

(transmission control protocol).

Page 61: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

59

A conexão ethernet possui 8 pinos, cada um com uma funcionalidade específica para

conexão. O pino 1 de TX+, o 2 de TX-, o 3 de RX+, o 6 de RX e o 4, 5, 7 e 8 não tem

funcionalidade.

O conversor tem um RS232 que efetua a comunicação serial utilizando os pinos

correspondentes ao RX para recepção das informações da rede e o TX para envio, os

outros pinos não são utilizados. O módulo contém uma porta serial com os recursos de

full-duplex e hal-duplex, no projeto utilizou-se o full-duplex porque por causa da rápidez

contida no recurso (MANUAL TIBBO, 2007).

A conexão serial, com nove pinos e a função de cada um é: 2 RX (input); 3 TX (output);

4 DTR (output); 5 Ground; 6 DSR (input); 7 RTS (output); 8 CTS (input). Os pinos 1 e 9

não possuem funcionalidade.

A placa é alimentada com tensão que varia entre 10 e 25 V e corrente de 500mA, contém

um buffer de 12Kbytes, utilizado para armazenagem de dados até que toda a informação

seja processada pelo dispositivo agrupado ao módulo (MANUAL TIBBO, 2007).

A Tibbo disponibiliza no site da companhia os softwares de configuração e controle do

dispositivo, usados para comunicação Ethernet, endereçamento IP e comunicação serial.

Dentre eles, foram utilizados:

• DS Manager: são configurados os aspectos da comunicação, como, a conexão

utilizada para enviar ou receber as informações (serial ou ethernet) o módulo será

identificado na rede. Definição do IP do módulo, se o endereço será fixo ou dinâmico,

qual a “port” utilizada, o protocolo de envio, o estado na rede local como servidor

TCP-IP (escuta a rede e recebe as requisições), cliente (envia requisições à rede) ou

ambos, máscara de rede e o endereço IP do Gateway, dentre outras funcionalidades de

controle de informações (MANUAL TIBBO, 2007).

No DS Manager as características da serial, sobre a interface (full-duplex, half-duplex

ou automático), velocidade (baud rate), paridade e bits de dados (MANUAL TIBBO,

2007).

No projeto as configurações foram:

Ethernet:

− DHCP: Desabilitado

Page 62: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

60

− IP-Address: 192.168.1.5

− Port: 1001

− Gateway: 192.168.1.1

− Máscara de Rede: 255.255.255.0

− Protocolo de Transporte: TCP

Serial:

− Interface Serial: Automática

− Baud Rate: 9600 bps

− Paridade: 0

− Bits de Dados: 1-8 bits

• VSP Manager: relaciona o IP a uma porta serial virtual (COM1, COM2 e etc.).

• Tibbo Monitor: monitora o estado da porta, mostrando o estado e o que está pelo

módulo.

3.2.3 -Display LCD

O Display no escopo do hardware encaixa-se como o receptor das informações geradas

pelo servidor, convertidas de TCP-IP para serial pelo módulo de conversão e interpretada

pelo módulo de controle. A finalidade é informar ao usuário o valor, a duração da última

ligação realizada, a quantidade e o valor total gasto em um determinado período, pré-

estabelecido no PBX-IP.

FIGURA 29 – SIMULAÇÃO DAS INFORMAÇÕES DO DISPLAY

A Figura 29 simula como as informações são dispostas no display e quais pinos são

utilizados durante a comunicação, indicados com o ponto azul. O display utilizado é de

LCD (liquid crystal display), contém 20 colunas e 4 linhas,e backlight (luz de contraste),

16 pinos. A utilidade de cada pino é mostrada na Tabela 2.

TABELA 2 – PINAGEM DO LCD

Page 63: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

61

PINO Símbolo FUNÇÃO

1 Vss GND 2 Vdd +3V ou +5V 3 Vo Ajuste Contraste 4 RS H/L Sinal de Seleção de Registro 5 WR / H/L Sinal de Leitura/Escrita

6 E H->L Sinal de Habilitação 7 DB0 H/L Linha de Barramento de Dados 8 DB1 H/L Linha de Barramento de Dados 9 DB2 H/L Linha de Barramento de Dados 10 DB3 H/L Linha de Barramento de Dados 11 DB4 H/L Linha de Barramento de Dados 12 DB5 H/L Linha de Barramento de Dados 13 DB6 H/L Linha de Barramento de Dados 14 DB7 H/L Linha de Barramento de Dados 15 A/Vee +4,2V para LED/Saída com tensão negativa 16 K Power supply for B/L (0V)

FONTE: Datasheet do Fabricante (WinStar)

De acordo com a Tabela 2 são utilizados para alimentação o pino 1 e 2, para contraste o

pino 3 e do pino 7 ao 14 para os dados, oito pinos um para cada bit de dados,

acompanhando a capacidade do microcontrolador descrito no item 3.2.1.1. No

desenvolvimento do projeto foram utilizados dos pinos 11 ao 14, quatro bits de dados.

3.3 -Custos do Projeto

Foram adiquiridos recursos excênciais, como os componentes usados para o

desenvolvimento do hardware e geração da documentação e recursos que facilitaram o

desenvolvimento do projeto, como notebook.

A Tabela 3 mostra a lista de itens e os valores investidos. Os softwares não estão listados

porque foram utilizados aplicativos de laboratórios e programas gratuítos como o Linux,

o Asterisk e o MySQL. O valor total investido foi de R$ 3.907,33 (três mil, novecentos e

sete reais e trinta e três centavos).

TABELA 3 – GASTOS COM PROJETO

Page 64: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

62

FONTE: AUTOR, 2007

3.4 -Cronograma

O trabalho durou 238 dias e mesclando as atividades sendo 14,70% do tempo voltado

para desenvolvimento do software, 6% para o hardware e 78,99% voltado para pesquisa e

construção da documentação. Conforme mostra Tabela 4.

TABELA 4 – CRONOGRAMA DE ATIVIDADES

ATIVIDADE DESCRIÇÃO DATA INCIODEPENDECIA DAATIVIDADE FIM DURAÇÃO (DIA)

1 Proposta do Projeto 05/03/07 05/03/07 -

2 Pesquisa Asterisk 04/03/07 1 29/03/07 25

3 Pesquisa Linux 04/03/07 1 29/03/07 25

4 Coleta Bibliográfica 04/03/07 1 29/03/07 25

5 Especificação Técnica (Capitulos 1, 2 e 3) 04/03/07 2 - 3 - 4 02/04/07 29

6 Instalação e Configuração do Asterisk 03/04/07 03/04/07 -

7 Instalação e Configuração do MySQL 03/04/07 6 03/04/07 -

8 Desenvolvimento de rotas 04/04/07 6 - 7 19/04/07 15

9 Desenvolvimento do módulo tarifador 04/04/07 19/04/07 15

10 Desenvolvimento do envio Tarifagem 19/04/07 8 - 9 02/06/07 13

11 Integração Asterisk Módulo de Controle 19/05/07 10 02/06/07 14

12 Teste preliminares 03/06/07 11 29/05/07 56

13 Capítulo 4 30/05/07 5 - 12 11/06/07 12

14 Ajustes 11/06/07 12 19/10/07 38

15 Finalizar monografia 29/10/07 13 - 14 29/10/07 - 238 DURAÇÃO DO PROJETO

FONTE: AUTOR, 2007

INVESTIMENTOS VALOR (R$) Telefonia (ADSL, assinatura básica, provedor e tarifa) 1.040,00 Energia elétrica 227,33 Documentação (encadernação, impressão e tinta de impressão) 168,00 Notebook 2.000,00 Componentes eletrônicos e acessórios (resistor, capacitores, placa de circuito impresso, MAX 232, Cristal, etc.)

230,00

PIC16F877A 15,00 Display 40,00 Módulo de conversor Serial/Ethernet 187,00 TOTAL 3.907,33

Page 65: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

63

CAPÍTULO 4 - DESENVOLVIMENTO E IMPLEMENTAÇÃO

Foi densevolvido todo método e aplicação para rota de menor custo, hardware e

softwares para o módulo tarifador e páginas de Internet para interface de manutenção.

No entanto, além dos atributos criados, foram realizadas modificações nas configurações

do Asterisk para adaptá-lo à estrutura do sistema.

Na base de dados padrão do MySQL para Asterisk foram criadas duas tabelas: all_rates e

dispramal e a inclusão do campo valor na tabela CDR, criada para armazenar históricos

de ligações do Asterisk.

4.1 -Lógica

O PBX-IP recebe e envia informações para outras redes de telecomunicações por meio de

links com as operadoras de telefônia convecional e IP. Todo o fluxo de ligações

efetivadas e recebidas é tratada pelo Asterisk.

As ligações realizadas são discadas por meio de um ramal. O Asterisk identifica onúmero

discado e este é comparado com o plano de discagem.

Por sua vez, o plano de discagem é formado pelo processo da rota de menor custo que é

executado sempre que a tabela de tarifas sofre alguma modificação.

Se a ligação for atendida pelo destinatário e finalizada, o Asterisk executa uma chamada

para rotina de coleta e envio das informações para o módulo tarifador que mostra as

informações ao usuário .

4.1.1 -Diagrama de contexto

O Diagrama de Contexto mostra o fluxo dos serviços providos pelo servidor PBX-IP. A

Figura 30 mostra o servidor PBX-IP representado pelo Asterisk que identifica a chamada

realizada por um ramal compara o prefixo do número discado com os valores do plano de

discagem e identifica qual a melhor rota a ser usada entre: tronco VoIP ou convecional e,

se for convecional, identifica qual a melhor operadora a ser utilizada.

Page 66: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

64

O ramal no projeto foi um softfone, aplicativo utilizado em estações de trabalho. Este

perfil foi escolhido pela praticidade e flexibilida em comparação ao telefone VoIP.

RTPC Ramais / DisplaysASTERISK

Internet

FIGURA 30 – DIAGRAMA DE CONTEXTO

4.1.2 -- Diagrama de fluxo de chamadas

As chamadas descritas são realizadas através de ramais para o meio externo à rede. A

Figura 31 mostra o processo de tratamento das ligações efetivadas.

Quando o usuário retira o telefone do gancho é emitido um tom de discagem para então

efetuar chamada. Este processo é conhecido como off-hook (fora do gancho), neste estado

o usuário retira o telefone do gancho que fecha um loop elétrico e indica ao Asterisk que

o usuário deseja efetuar uma chamada. Nesse ponto o servidor fica pronto para receber o

endereço de destino. Para ligações interurbanas ou internacionais, o número discado não

pode conter a operadora, mas apenas o código de localidade e o número de destino.

Quando recebe o endereço de destino, o Asterisk, por meio das extensões definidas no

extensions.conf, determina qual a melhor rota dentre os dois canais de comunicação, além

de indicar qual a operadora, entre as convencionais, que pratica a tarifa mais baixa.

Quando a outra ponta atende a chamada é estabelecida e os arquivos cdr.conf e

cdr_mysql.conf são utilizado para atualizar em just time a tabela CDR, até o término da

ligação.

Quando a ligação é finalizada o Asterisk aciona o aplicativo Envia_LCD, que coleta da

base de dados as informações necessárias para enviar tarifador.

Page 67: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

65

INICIO

Estabelecendo Conexão

Conexão Estabelecida?

Verificar Endereço de destino

Não

Sim

Definir Rota

Efetua Chamada

Bilhetagem

INICIO1

1

FIGURA 31 – FLUXOGRAMA DE CHAMADAS EFETUADAS

4.2 -Software

As atividades que mais utilizaram tempo no projeto são atribuídas ao desenvolvimento

dos softwares, configuração do Asterisk e tratamento de banco de dados. O

desenvolvimento originou as rotas de menor custo, ambiente de manutenção via web e a

tarifagem das ligações realizadas. As configurações do Asterisk formaram a base e

caracterizaram o projeto como PBX-IP. O banco de dados MySQL formou o acervo de

consulta para as ações da rota e tarifagem.

A programação foi realizada de forma estruturada, basicamente utilizando a liguagem C.

A base de dados criada e alterada por cláusulas SQL.

As páginas para interface web para manutenção do sistema foi realizada em linguagem

HTML e Java Script, o princípio fundamental do desenvolvimento foi atribuir e consultar

valores dos arquivos de configuração do Asterisk.

4.2.1 -Configuração do Asterisk

OAsterisk segue o padrão dos sofwares Linux, suas configurações nativas são realizadas

em ambiente modo texto, forma que oferece flexibilidade e expansão das atividades do

Page 68: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

66

servidor. Ele é criado com o objetivo de organizar e dividir por categorias estes arquivos,

conforme Tabela 5.

TABELA 5 –ESTRUTURA DE DIRETÓRIOS DO ASTERISK

DIRETÓRIO DESCRIÇÃO

/etc./Asterisk Arquivos de configurações zaptel.conf e digivoice.conf

/usr/sbin Executáveis /usr/lib/asterisk/modules Módulos dos aplicações, codec, drivers /var/lib/asterisk/agi-bin Diretório das aplicações AGI /var/lib/asterisk/astdb Banco de dados /var/lib/asterisk/mohmp3 Arquivos de áudio utilizados para Música de Espera /var/lib/asterisk/sounds Arquivos de áudio /var/spool/asterisk/outgoing Diretório das gravações de ligações /var/spool/asterisk/vm Diretório das Caixas Postais

FONTE: GONZALES (2007)

Para adaptação do sistema foram alteradas as configurações dos seguintes arquivos:

cdr.conf, cdr_mysql.conf, extensions.conf, sip.conf, users.conf e zapata.conf.

EXTENSIONS.CONF

CDR.CONF CDR_MYSQL.CONF

ZAPATA.CONFSIP.CONF/

USERS.CONFTRONCOS E RAMAIS

CENTRALIZADOR DE INFORMAÇÕES

COLETAGEM

FIGURA 32 – DIAGRAMA DA ESTRUTURA – ASTERISK NO PROJETO

A Figura 32 mostra como está estruturado o Asterisk para as tarefas executadas no

sistema. O Zapata.conf é o arquivo que contém as configurações relacionadas ao tronco

analógico. Ele está diretamente relacionado aos drives da placa X100P, dessa forma, se o

periférico não estiver instalado o Zapata.conf não terá efeito e o acesso a rede pública de

telefonia comutadas não será realizada.

O SIP.conf contém as configurações para habilitar o uso de VoIP. As configurações a

respeito das operadoras VoIP são realizadas no arquivo USERS.conf

Page 69: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

67

O CDR.conf é o arquivo que define a forma que será realizada o registro das chamadas,

contudo, com a escolha de armazenamento dessas informações em base MySQL é

necessário configurar o arquivo CDR_MySQL.conf com dados de acesso à base.

O EXTENSIONS.conf é o arquivo que concentra todas configurações do Asterisk. As

APIs entre os outros módulos de configuração do sistema são muito utilizadas neste

arquivo. É neste arquivo que as rotas de menor custo são concatenadas formando os plano

de discagem.

FIGURA 33 – TRECHO DA CONFIGURAÇÃO DO EXTENSIONS.CONF

A Figura 33 mostra o conteúdo do contexto “DID_trunk_3”, este é um trecho das

configurações das rotas de menor custo geradas a partir do aplicativo gera_rotas.

4.2.2 -Gera_rotas

O gera_rotas foi desenvolvido com a finalidade de gerar as extensões que definem

efetivamente a rota de menor custo. Ele foi desenvolvido em linguagem C e compilado

pelo GCC apartir de “make file”. O aplicativo foi desenvolvido para realizar chamadas

nas bibliotecas padrões do “C” (stdio.h, stdlib.h, conio.h) e na biblioteca mysql.h que

contém funções de acesso, consultas e manipulação no banco de dados MySQL.

O software foi armazenado no diretório \etc\rotas, e é executado automática pelo Asterisk

apartir de uma chamada no extensions.conf por uma macro alocada no contexto [default].

[DID_trunk_3] exten=_00119X.,1,Dial(Zap/g3/$EXTEN:0) exten=_0011X.,1,Dial(SIP/$EXTEN) exten=_00219X.,1,Dial(Zap/g3/$EXTEN:0) exten=_0021X.,1,Dial(SIP/$EXTEN) exten=_00319X.,1,Dial(Zap/g3/$EXTEN:0) exten=_0031X.,1,Dial(SIP/$EXTEN) exten=_00519X.,1,Dial(Zap/g3/$EXTEN:0) exten=_0051X.,1,Dial(SIP/$EXTEN) exten=_00619X.,1,Dial(Zap/g3/$EXTEN:0) exten=_0061X.,1,Dial(SIP/$EXTEN)

Page 70: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

68

ARQUIVO ALL_RATES.SCV

IMPORTAÇÃO DO ARQUIVO PARA TABELA ALL_RATES NA BASE DE DADOS ASTERISK

AGRUPAMENTO DE PREFIXOS IGUAIS

CÁLCULO PARA DEFINIÇÃO DA ROTA DE MENOR CUSTO

GERAÇÃO DE ARQUIVO ROTAS.TXT COM A LISTA DE

CAMINHOS

CONCATENAÇÃO DO CONTEÚDO DE ROTAS.TXT COM EXTENSIONS.CONF

INICIO

FIM

FIGURA 34 – FLUXOGRAMA DE GERAÇÃO DAS EXTENSÕES DE MENOR CUSTO

No fluxograma representado na Figura 34, mostra o algoritmo para geração da rota de

menor custo. Um arquivo All_rates.scv, armazenado no diretório /etc./rotas, contém as

informações completas de custos das ligações, da origem ao destino, de todas as

operadoras VoIP e convencionais.

As tarifas são constituídas pelo minuto cobrado pelas operadoras de ligações efetuada

da cidade de Curitiba-PR para diversas localidades em todo o mundo. Estas informações

foram coletadas do site da Agência Nacional de Telecomunicações (ANATEL) e

pesquisas em sites de coleta de valores de rotas.

Cabe aqui uma observação: no mercado há empresas que fornecem base de dados com

informações de valores de tarifas telefônicas que poderiam substituir as pesquisas, no

entanto, o serviço não é gratuito e devido ao custo da assinatura não foi utilizado.

Page 71: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

69

TABELA 6 – PARTE DO CONTEÚDO DO ARQUIVO E TABELA ALL_RATES

PREFIXO DECRICAO OPERADORA MOEDA TARIFA

11 Sao PauloSP\Fixo 25 BRZ 0,50468 11 Sao PauloSP\Fixo 14 BRZ 0,50843 11 Sao PauloSP\Fixo 21 BRZ 0,57005 11 Sao PauloSP\Fixo 31 BRZ 0,61244 11 Sao PauloSP\Fixo 23 BRZ 0,72098 11 Sao PauloSP\Fixo 15 BRZ 0,90869

119 Sao PauloSP\Móvel 21 BRZ 1,56986 119 Sao PauloRJ\Móvel 23 BRZ 2,45133 119 Sao PauloRJ\Móvel 15 BRZ 2,54220 11 Sao PauloSP\Fixo Voip BRZ 0,14

119 Sao PauloSP\Móvel Voip BRZ 0,70 21 Rio de JaneiroRJ\Fixo 25 BRZ 0,50468 21 Rio de JaneiroRJ\Fixo 14 BRZ 0,50843 21 Rio de JaneiroRJ\Fixo 21 BRZ 0,57005 21 Rio de JaneiroRJ\Fixo 31 BRZ 0,61244 21 Rio de JaneiroRJ\Fixo 23 BRZ 0,72098 21 Rio de JaneiroRJ\Fixo 15 BRZ 0,90869

219 Sao PauloRJ\Móvel 14 BRZ 1,76752 219 Sao PauloRJ\Móvel 31 BRZ 2,05459 219 Rio de JaneiroRJ\Móvel 21 BRZ 1,56986 219 Rio de JaneiroRJ\Móvel 14 BRZ 1,76752 219 Rio de JaneiroRJ\Móvel 31 BRZ 2,05459 219 Rio de JaneiroRJ\Móvel 23 BRZ 2,45133 219 Rio de JaneiroRJ\Móvel 15 BRZ 2,54220 21 Rio de JaneiroRJ\Fixo Voip BRZ 0,14

219 Rio de JaneiroRJ\Móvel Voip BRZ 0,70 41 CuritibaPR\Fixo Voip BRZ 0,14

419 CuritibaPR\Móvel Voip BRZ 0,70 41 CuritibaPR\Fixo 14 BRZ 0,32

419 CuritibaPR\Móvel 14 BRZ 0,19 51 Porto AlegreRS\Fixo 25 BRZ 0,50468 51 Porto AlegreRS\Fixo 14 BRZ 0,50843 51 Porto AlegreRS\Fixo 21 BRZ 0,57005 51 Porto AlegreRS\Fixo 31 BRZ 0,61244 51 Porto AlegreRS\Fixo 23 BRZ 0,72098 51 Porto AlegreRS\Fixo 15 BRZ 0,90869

519 Porto AlegreRS\Móvel 21 BRZ 1,56986 519 Porto AlegreRS\Móvel 14 BRZ 1,76752 519 Porto AlegreRS\Móvel 31 BRZ 2,05459 519 Porto AlegreRS\Móvel 23 BRZ 2,45133 519 Porto AlegreRS\Móvel 15 BRZ 2,54220 51 Porto AlegreRS\Fixo Voip BRZ 0,20

519 Porto AlegreRS\Móvel Voip BRZ 0,70 FONTE: ANATEL, COMPARATEL E ONDA (2007)

A Tabela 4 mostra parte do conteúdo do arquivo all_rates.csv, alimentado pelas

informações coletadas. A tabela está estruturada com as informações: de prefixo e

Page 72: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

70

descrição do destino, operadora convencional (cada número representa uma operadora

diferente) e VoIP, moeda e valor da tarifa.

FIGURA 35 – CLÁUSULA SQL PARA IMPORTAÇÃO PARA TABELA ALL_RATES

O arquivo all_rates.csv foi criado exclusivamente para ser a fonte da tabela all_rates. A

Figura 35 mostra a clausula SQL usada para inserção do conteúdo do arquivo. O

comando SELECT seleciona a tabela para a execução do comando LOAD DATA INFILE,

que carrega um arquivo dentro de uma tabela, neste caso o arquivo é o “all_rates.csv” e a

tabela “all_rates”, o parâmetro FIELDS TERMINATED BY indica o que determina o

limite dos campos, nesta clausula o caractere “,” (vírgula) e o LINES TERMINATED BY

define o final da linha, na clausula o “\n” (marcador de final de linha).

FIGURA 36 – CLÁUSULA SQL PARA ORDENAÇÃO DA TABELA ALL_RATES

A Figura 36 mostra o próximo passo, referente à ordenação da tabela pelo campo

“prefixo”. Esta função é necessária para realizar o cálculo da rota de forma seqüencial.

O cálculo da rota inicia com a ordenação da tabela pelos prefixos, quando os prefixos

forem iguais é realizado uma simples subtração do valor da tarifa da linha corrente com o

da linha anterior, dessa forma o menor valor é indexado e assim para todos outros

prefixos.

O agrupamento são as rotas de menor custo no formato das extensões do arquivo

extensions.conf e resultando no arquivo Rotas.txt.

SELECT * FROM `asterisk`.`all_rates` ORDER BY `prefixo`;

SELECT * FROM `asterisk`.`all_rates` LOAD DATA INFILE '/etc/rotas/all_rates.csv' INTO TABLE all_rates FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

Page 73: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

71

INÍCIO

Conecta na base

Abre Tabela

Ordena Prefixo

Final Tabela?Enviar

Conteúdo[Pos] para nRotas.txt

Sim

Linha <- Linha + 1

Linha <- 1

Prefixo[Linha]= Prefixo [Linha-1]? Nao

Enviar Conteúdo[Pos] para Rotas.txt

Sim

Result <-(Tarifa[linha] –

Var)

Result < 0?

Var <-Tarifa[Linha]

Pos <- Linha

Não

Sim

NaoFim

1

1

FIGURA 37 – FLUXOGRAMA COMPLETO DO PROGRAMA GERA_ROTAS

A Figura 37 mostra o fluxograma completo do processo de geração de rotas, contido no

algoritmo gera_rotas.

O programa conecta-se a base de dados Asterisk no MySQL, abre a tabela All_Rates,

ordena o campo Prefixo.

Atribui à variável ‘Linha’ o valor 1, à variável ‘Var’ o valor da primeira linha da coluna

correspondente à tarifa o valor da tabela.

Page 74: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

72

Atribui à variável ‘Pos’ o valor da variável ‘Linhas’, utilizando desse recurso com a

finalidade de assegurar a posição do último valor válido.

Incrementa a variável Linha para ler a próxima linha da tabela e verificar se chegou ao

final da Tabela. Se estiver no final da tabela envia o conteúdo da última linha registrada

indexada pela variável ‘Pos’ para o arquivo Rotas.txt.

FIGURA 38 –PARÂMETROS PARA CRIAÇÃO DO ARQUIVO ROTAS.TXT

Antes propriamente de enviar a linha indexada para o arquivo o programa gera uma string

no formato necessário para execução das rotas pelo extensions.conf, conforme ilustrado

na Figura 46, que mostra o trecho do código do Gera_Rotas, no qual é criado o conteúdo

do Rotas.txt.

Na Figura 38 a primeira providência, mostrada, é a atribuição de um select à variável

prefixo, que retorna o valor do campo prefixo da tabela indexado na posição indicada em

pos.

Na mesma figura, a variável "op" recebe a identificação da operadora na posição de

indicada pela variável pos.

Em seguida o código verifica se a operadora é VoIP ou convencional atribuindo, então, o

resultado em “str_1_rota”. A principal diferença entre as duas possibilidades é que, para a

operadora VoIP a string não necessita do código da operadora.

A última instrução é adicionar ao Rotas.txt o valor de str_1_rota. Para finalizar o

Gera_rotas, é usado o comando cat /etc./rotas/Rotas.txt >> /etc./asterisk/extensions.conf,

que concatena o conteúdo do arquivo Rotas.txt no extensions.conf

Prefixo = mysql_query(strcat("SELECT `OPERADORA` FROM `asterisk`.`cdr` limit,",pos,"1;"));

op = mysql_query(strcat("SELECT `OPERADORA` FROM `asterisk`.`cdr` limit,",pos,"1;"));

if (op = VoIP) then

str_1_rota = strcat("_00 ",prefixo,"Dial(SIP/$EXTEN)")

else

str_1_rota = strcat("_0",operadora,prefixo,"Dial(Zap/g3/$EXTEN:0)")

end if;

cat str_1_rota >> /etc./rotas/Rotas.txt

Page 75: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

73

4.2.3 -Estrutura de Banco de Dados

O banco de dados está estruturado de forma a atender as necessidades do sistema, as três

tabelas estão organizadas com as informações para ativação das rotas de menor custo e

tarifagem.

Como já dito anteriormente, a base possuí um vinculo direto com o Asterisk, o que faz

com que o processo seja mais dinâmico.

MySQL

GERA_ROTAS ASTERISK ENVIA_LCD

DBAsterisk

ALL_RATES

CDR

DISPRAMAL

FIGURA 39 – DIAGRAMA DE RELACIONAMENTO DA BD COM AS APLICAÇÕES

A Figura 39 mostra o relacionamento do BD e as três tabelas contidas nas base:

all_rates, cdr e dispramal. As consultas são realizadas pelos softwares: Gera_rotas,

Asterisk e envia LCD

4.2.4 -Interface WEB para manipulação do usuário

O ambiente de programação do Asterisk não é amigável à maioria dos usuários, para

minimizar o impacto que isto proporciona em relação ao custo com pessoal especialisado

foram desenvolidas três páginas para: autenticação de usuários, manutenção de ramais e

manutenção de troncos. Estas ações realizam modifiações e consultas no arquivos de

Page 76: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

74

configuração do Asterisk: manager.conf (para autenticação), users.conf, sip.conf,

zapata.conf e extensions.conf.

CADASTRA RAMAL

FIGURA 40 – DIAGRAMA DE CASO DE USO PARA CADASTRO DE RAMAL

A Figura 40 mostra o relacionamento do usuário com a página para cadastramento de

novos ramais

CADASTRA TRONCO

USUÁRIO

FIGURA 41 – DIAGRAMA DE CASO DE USO PARA CADASTRAMENTO TRONCOS

A Figura 41 mostra o relacionamento do usuário com a página para cadastramento de

troncos, no caso de novas operadoras VoIP ou aumento nos troncos convencionais

4.3 -Hardware

O hardware desenvolvido é denominado módulo tarifador, mostrado na Figura 42, que

recebe as informações de tempo e custo das ligações realizadas por um ramal. Na Figura

aparece o display LCD, a conexão RJ45 para interface de rede, pino para fonte de

alimentação e push button de reset.

EÉ alimentado por tensão de 5 a 12 volts e está preparado para trabalhar em redes TCP/IP

com velocidade de até 100Mbps.

Page 77: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

75

FIGURA 42-MÓDULO TARIFADOR

Ele é divido em três partes, como mostra a Figura 43: conversor serial/ethernet que

recebe as informações da rede e converte em sinal TTL, módulo de controle que trata as

informações recebidas e o display que mostra as informações tratadas pelo módulo de

controle.

DISPLAY LCD

PIC 16F877A CONEXÃO SERIAL CONVERSORSERIAL/TCP

FIGURA 43 – RELACIONAMENTO ENTRE AS PARTES DO SOFTWARE

A interface do conversor com a o módulo de controle é realizada por meio de

comunicação serial, com um conector DB9 macho para o conversor e fêmea para o

módulo. O módulo de controle com um microcontrolador de PIC de 8 bits que efetua o

tratamento das informações recebidas e as imprime no display LCD.

4.3.1 -Coletagem e envio das informações

A coletagem das informações são realizadas por um aplicativo denominado Envia_LCD,

que é executado por uma chamada no Asterisk ao término de cada ligação.

Page 78: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

76

O processo consiste na busca, na base de dados, das informações relacionadas ao tempo

e ao valor de tarifa da última ligação realizada. A partir deses resultados são separadas as

chamadas atendidas no período de vinte dias, utilizado como filtro o ramal que efetuou a

última ligação.

A valorização da ligação é feita de acordo com a duração e com a rota utilizada, cada

chamada contém o seu valor de tarifa, estas infomações são usadas no algorítmo para

calcular o total gasto pelo ramal.

O processo de envio das informações coletados em duas fases: abrir a conexão com a

porta do módulo de controle (1001), por meio do aplicativo desenvolvido denominado

simple_server e envio, propriamente dito, para o endereço IP do módulo, por meio do

aplicativo simple_client.

O Envia_LCD, forma quatro strings com as iformações a respeito: da duração da última

chamada, do valor dessa chamada, da quantidade de ligações realizadas pelo ramal e do

valor total das tarifas. O aplicativo busca o endereço IP do módulo na tabela dispramal,

de acordo com o ramal utilizado, pois cada ramal possuí um disposistivo.

O Envia_LCD executada a chamada ao simple_server e quando executa a chamada ao

simple_client envia as informações coletadas, inclusive o IP do módulo.

O simple_client atribui no início das strings caracteres para impressão do cabeçalho no

display: caracter “_ “ correspondente ao cabeçalho “Dura.:”, caracter “>”correspondente

ao cabeçalho “Tari.:”, o caracter “-“correspondente ao cabeçalho “QLig.:” e o caracter

“<” correspondente ao cabeçalho “Vtot.:”. Estes caracteres são necessários para o

tratamento do firmware.

Em seguida o simple_client envia as informações com os caracteres ao módulo

correspondente ao endereço IP.

Os programas foram desenvolvidos em C, compilados em gcc e executados por

intermédio de makefile. Eles estão preparados para utilização de sockets e transportam os

dados via o protocolo TCP.

Page 79: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

77

4.3.2 -Módulo de Conversão Ethernet/Serial

O módulo de conversão Ethernet/Serial recebe as informações por TCP-IP e converte

para serial para impressão no display. Este módulo tem a função de reset da impressão do

display As configurações de rede são gerenciadas por um software do fabricante,

mostrado na Figura 44.

FIGURA 44 – TELA PARA AUTERAÇÃO DOS PARÂMETROS DO MÓDULO

4.3.3 -Módulo de controle e display

O módulo de controle é a principal parte do hardware, ele faz o tratamento das

informações do servidor PBX-IP enviadas para o hardware.

O módulo é composto por uma placa de circuito impresso, alimentada por 5 volts, contém

um converso TTL/R232 (MAX232), um crital de 20MHz, resitores, capacitores,

regulador de função (LM78L05), conector serial e microcontroaldor PIC 16F877A.

O microncontrolador recebe as informações da entrada serial por meio da interação com o

MAX232, que converte o sinal da porta serial em TTL.

Page 80: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

78

FIGURA 45 – ESQUEMÁTICO DA PLACA DO MÓDULO DE CONTROLE

A Figura 45 mostra o esquemático projetado para a placa do módulo de controle, com

detalhes das trilhas criadas e da pinagem para integração dos componentes.

A interface de comunicação entre o display e o módulo de controle é realizada entre o

microcontrolador e os pinos de habilitação e de dados do display LCD. Conforme ilustara

o esquema elétrico mostrado na Figura 46

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL 18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC 39RB5 38RB4

37RB3/PGM

36RB2

35RB1

34RB0/INT

33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877

R1(2)

X120000000

C1

15p

C2

15p

R1

10k

C3

10u

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D1

8D0

7

E6

RW

5RS

4

VSS

1

VDD

2

VEE

3

LM041L

RXD

RTS

TXD

CTS

FIGURA 46 – ESQUEMA ELÉTRICO DO MÓDULO DE CONTROLE E DISPLAY

Page 81: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

79

Na Figura 46 é mostrado a comunicação direta entre o microcontrolador e display. Os

pinos utilizados são referentes a transmissão Rx e Tx, habilitação das ações e envio de

dados. O restante dos componentes são usados para regular a alimentação e freqüência,

no caso do cristal 20MHz

4.4 -Firmwares

O firmware foi desenvolvido em C e compilado no MPLAB. O código está alocado no

microcontrolador e é ativado sempre que uma interrupção for realizada. Sua função é

tratar as informações recebidas pelo módulo tarifador e imprimi-las no display.

A Figura 47 mostra o trecho do firmware no qual são executados os comandos para

tratamento a distribuição das informações no display. O case é realizado a partir do

primeiro caracter da string.

Estes caracteres “chaves” são incluídos na informação pelo simple_client, aplicativo

executado pelo Envia_LCD.

Page 82: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

80

FIGURA 47 – TRECHO DO FIRMWARE

switch (uReceive) case 0x12: if (fgetc(PC) == 0x34 & fgetc(PC) == 0x56 & fgetc(PC) ==0x78 & fgetc(PC) == 0x90) reset_cpu(); // Reserar CPU Remotamente break; case ':': fgets(string,PC); printf("%s",string); break; case '_': i = 0; a=0; lcd_putc("\f"); fgets(StrDados,PC); lcd_putc("Dura.: "); i = strlen(StrDados); while(a < i) caractere = StrDados[a]; a = a + 1; lcd_putc(caractere); ///led = !led; delay_ms(2); /// output_bit (pin_a5, led); caractere = StrDados[0]; lcd_putc("\n"); break; case '>': i = 0; a=0; fgets(StrDados,PC); lcd_putc("Tari.: "); i = strlen(StrDados); while(a < i) caractere = StrDados[a]; a = a + 1; lcd_putc(caractere); //led = !led; delay_ms(2); //// output_bit (pin_a5, led); lcd_putc("\n"); lcd_putc("\b\b\b\b"); break; case '-': i = 0; a=0; fgets(StrDados,PC); lcd_putc("QLig.: "); i = strlen(StrDados); while(a < i) caractere = StrDados[a]; a = a + 1; lcd_putc(caractere); //led/ = !led; delay_ms(2); //output_bit (pin_a5, led); lcd_putc("\n"); lcd_putc("\b\b\b\b"); break; case '<': i = 0; a=0; fgets(StrDados,PC); lcd_putc("VTot.: "); i = strlen(StrDados); while(a < i) caractere = StrDados[a]; a = a + 1; lcd_putc(caractere); // led = !led; delay_ms(2); // output_bit (pin_a5, led); lcd_putc("\n"); lcd_putc("\b\b\b\b"); break;

Page 83: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

81

CAPÍTULO 5 - VALIDAÇÃO E RESULTADOS

A validação do projeto foi realizada apartir de dois cenários: ligações locais e

interurbanas, ambos com ligações realizadas para telefones fixos e móveis e com origem

da cidade de Curitiba-PR.

TABELA 7 – CENÁRIO DE TESTES REALIZADOS PARA VALIDAÇÃO DO PROJETO

CENÁRIO CLASSIFICAÇÃO DURAÇÃO

1 – Local Fixo 59 segundos 1 – Local Fixo 1 minuto 1 – Local Fixo 47 segundos 1 – Local Móvel 40 segundos 2 – DDD Fixo 57 segundos 2 – DDD Móvel 46 segundos

FONTE: AUTOR (2007)

A tabela 7 mostra a constituição dos cenários criados para realização dos testes. O cenário

1 foi formado por ligações locais: três ligações locais para números fixos e uma ligação

local para telefone móvel. As ligações para os números fixos duraram respectivamente 59

segundos, 1 minuto e 47 segundos e para o telefone móvel 40 segundos.

O cenário 2 foi formado por ligações interurbanas para cidade de São Paulo (DDD 11).

Uma ligação para um número fixo e uma ligação para um número de telefone móvel. Os

tempos de duração de cada ligação foram respectivamente de 57 segundos e 46 segundos.

Neste cenário as ligações foram realizadas sem o código de operadora, uma vez que a

rota de menor custo deverá ou não atribuí-lo, de acordo com o tronco utilizado.

TABELA 8 – RESULTADOS DA VALIDAÇÃO DAS ROTAS DE MENOR CUSTO

CENÁRIO TABELA ALL_RATES CONSOLE ASTERISK

1 – LOCAL Fixo: Tronco VoIP Celular: Tronco convencional

Fixo: Tronco VoIP Celular: Tronco convencional

2- DDD

Fixo: Tronco VoIP Celular: Tronco convencional da operadora 23

Fixo: Tronco VoIP Celular: Tronco convencional, o número discado continha 023119(...)

FONTE: AUTOR (2007)

A Tabela 8 mostra o resultado dos testes realizados, para validação da rota de menor

custo. Esta tabela mostra a comparação dos valores das tarifas praticadas pelas

Page 84: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

82

operadoras de telefonia convencional e IP, a partir da tabela ALL_RATES, e as

informações geradas no console do Asterisk durante as ligações efetuadas.

A Tabela 8 mostra que a tabela ALL_RATES indica a utilização do tronco VoIP para

ligações realizadas para telefones fixos (locais e interurbanos) e a utilização do tronco

convencional para ligações para telefones móveis (locais e interurbanos).

O console do Asterisk confirma a utilização das rotas de menor custo, mostrando os

mesmos troncos indicados na tabela ALL_RATES. O console confirmou, no caso da

ligação interurbana a utilização da operadora 23, uma vez que o número discado não

tinha estes dígitos.

TABELA 9 – RESULTADOS DOS TESTES DE VALIDAÇÃO DO MÓDULO DE CONTROLE

CENÁRIO CLASSIFICAÇÃO DURAÇÃO TARIFA TABELA ALL_RATES

MÓDULO TARIFADOR

1 – Local Fixo 59 0,14

Dura.: 0,983 Tari.: 0,14 Qlig.: 1 Vtot.: 0,14

1 – Local Fixo 60 0,14

Dura.: 1 Tari.: 0,14 Qlig.: 3 Vtot.: 0,98

1 – Local Fixo 47 0,14

Dura.: 0,783 Tari.: 0,14 Qlig.: 4 Vtot.: 1,12

1 – Local Móvel 40 0,7

Dura.: 0,666 Tari.: 0,7 Qlig.: 2 Vtot.: 0,84

2 – DDD Fixo 57 0,14

Dura.: 0,95 Tari.: 0,14 Qlig.: 5 Vtot.: 1,26

2 – DDD Móvel 46 0,7

Dura.:0,766 Tari.: 0,7 Qlig.: 6 Vtot.: 1,96

FONTE: AUTOR (2007)

A Tabela 9 mostra a comparação entre os valores de tarifas de menor custo indicadas a

partir da tabela ALL_RATES e o valor mostrado no display do Módulo Tarifador após as

ligações descritas acima.

Pode-se observar uma linearidade nos valores indicados pela tabela ALL_RATES e os

valores mostrados no Módulo Tarifador. Observa-se também que a cada ligação realizada

Page 85: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

83

o acréscimo da quantidade ligações aumenta numa progressão de 1 e o valor total mostra

a soma de todas as ligações realizadas até o momento.

Uma coincidência foi observada, tanto nas ligações locais quanto nas interurbanas: os

valores de tarifas para fixo e móveis foram os mesmos, assim pode-se afirmar que

ligações interurbanas de menor custo tem o mesmo valor praticado nas ligações locais.

Estes testes validam o desenvolvimento do projeto uma vez que comprova-se o objetivo

proposto.

Page 86: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

84

CAPÍTULO 6 - CONCLUSÃO

O projeto de gerenciamento de tecnologias de telecomunicações por meio de um PBX-IP,

foi composto pelo desenvolvimento de mecanismos de separação de rotas de menor

custo, de controle dos gastos com as ligações telefonicas e desenvolvimento de interface

WEB para manutenção do sistema. Todas estas aplicações sobre a estrutura da arquitetura

do software híbrido de telefonia: Asterisk, solução Linux para telefonia-IP.

Foi estudado para o desenvolvimento desse projeto literaturas a respeito de:

Telecomunicações, redes de computadores, VoIP, telefonia IP, redes de telefonia pública

comutada, Linux, banco de dados MySQL, conceitos de PABX, programação em Java

Script, Asterisk, arquitetura de microcontroladores PIC, funcionamento de display LCD,

comunicação em redes e envio de protocolos TCP/IP via sockets.

O Asterisk é um software formado por arquivos do tipo conf, cada ação é ativada e

configurada por meio de linhas de comandos contidas em cada arquivo específico para

aquela ação, o estudo dessas atividades utilizou maoir tempo na constituíção do projeto.

No entanto, o desenvolvimento não sofreu nenhum impacto considerável em razão das

dificuldades citadas , comprovando-se isto por meio dos testes de validação.

O desenvolvimento das Rotas de Menor Custo baseou-se nas tarifas praticadas por

operadoras de telefonia fixa e IP. A base do desenvolvimento desse mecaismo foi

realizada, primeiramente, por meio da integração oferecida pelo Asterisk e o Mysql, que

resulta na tabela de históricos de ligações efetuadas, CDR.

O controle dos gastos das ligações é apoiado pelo dispositivo desenvolvido denominado

Módulo Tarifador. Ele mostra as informações: de duração e tarifagem de uma ligação,

quantidade e valor total das ligações realizadas no período de 20 dias.

Para facilitar a manutenção do PBX-IP, uma vez que o Asterisk dispõe de um ambiente

amigável, foram desenvolvidas interfaces WEB, compostas por três páginas. Uma para

autenticar o usuário homologado para manutenção, uma para realizar inclusão e exclusão

de ramais e outra para realizar a inclusão e a manutenção de troncos de telefonia fixa e

Page 87: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

85

IP. Com as interfaces espera-se que não haja gastos execívos com pessoal especializado,

já que o próprio usuário poderá executar estas funções.

O desenvolvimento realizado neste projeto contribuiu com a exploração da Telefonia-IP,

que oferece recursos integrados à Internet e disponibiliza serviços de alta qualidade. O

projeto explorou recursos para redução de custos e controle de tarifas telefonicas.

A vantagem oferecida pelo sistema desenvolvido foi a atribuição automática de rotas de

menor custo ao plano de discagem do Asterisk e o módulo de tarifagem das ligações

realizadas pelos usuários nos ramais da central.

O sistema pode ser utilizado por empresas de diversos segmentos e de todos os portes e

por usuários residenciais, para gerenciamento dos serviços de telefônia. O diferencial

desse sistema é que ele oferece no ato da discagem de uma ligação telefônica a rota de

menor custo e isto acarreta na redução dos valores gastos nas contas. O Módulo

Tarifador, possibilita ao usuário monitorar a utilização dos telefones por meio da

demonstração do tempo e do valor gasto pelo usuário.

A validação do projeto ocorreu a partir de dois cenários de ligações efetuadas: ligações

locais e ligações interurbanas para cidade de São Paulo-SP (os teste foram originados da

cidade de Curitiba-PR), ambas com ligações para números de telefones fixos e móveis.

Os testes tiveram como principio a comparação dos valores das tarifas praticadas pelas

operadoras de telefonia convencional e VoIP com o tronco utilizado no momento da

ligação, mostrados no console do Asterisk.

Os testes permitiram validar, também, o Módulo Tarifador que mostrou em seu display

os valores praticados pelas operadoras utlizadas, convertidos nos valores reais, de acordo

com o tempo de duração da ligação.

Os resultados foram comprovaram o uso das Rotas de Menor Custo e a função do

Módulo Tarifador validando o objetivo proposto neste projeto .

Dessa forma, o projeto cumpriu com o objetivo esperado e disponibiliza um conjunto de

ferramentas que podem ser usadas para redução e controle das tarifas telefônicas, sem

que haja acréscimo nos recursos financeiros e, ainda, aumentando a qualidade dos

serviços oferecidos pelo atual cenário de redes e telecomunicações.

Page 88: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

86

Melhorias propostas para o o sistema são: aquisição automática da tabela de tarifas em

sites de empresas especializadas na coleta dessa informações (esta atividade não foi

agregada ao projeto pois o serviço ofertado não é gratuíto); ativar os serviços do Asterisk

como conferência e música em espera e compactar o hardware do Módulo de Controle de

forma a ocupar um menor espaço físico, emissão de relatórios, dos gastos através da

interface Web,integração com outras plataformas de comunicação como sistemas de

mensagens instantaneas , mensagens SMS (mensagem para celular) e servidores de

e.mail. Estes recursos agregados contribuiriam para melhorar ainda mais os custos

O projeto é viável economicamente, pois o valor investido na implantação é absorvido

em um curto espaço de tempo pelo benefício originado pela redução nos custos com

tarifas telefônicas.

Page 89: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

87

CAPÍTULO 7 - BIBLIOGRAFIA

<http://www.produtronica.pucpr.br/publico/ppgeps/conteudo/dissertacoes/pdf/JonerlamCarvalho.pdf> Acesso em 27/03/07 - 03h00

<http://www.rogercom.com/PortaSerial/ControleAcesso/Controle.htm > Acesso em 31/10/2007 - 04h16

Akiyama. Disponível em: <http://www.akiyama.com.br/tibbo.asp> Acesso em - 31/10/2007 - 23h23

CARVALHO, Jonerlam. Disponível em:

DENVER, Allen: Comunicação Serial: Disponível em: <http://www.cpdee.ufmg.br/~seixas/PáginaSDA/Download/DownloadFiles/Serial.PDF> Acesso em 25/10/2007 – 22h55

Disponível em: <http://www.asteriskbrasil.org/tiki/tiki-index.php?>. Acesso em 28/03/07.

Engecomp. Disponível em: <http://www.engcomp.ufrn.br/sinec/view/arquivos/cap1a.pdf> Acesso - 31/10/2007 - 02h48

MORIMOTO, Carlos E. Disponível em: <http://www.guiadohardware.net/tutoriais/tutoriais-bios/> Acesso em 31/10/2007 - 08h09

ROGERIO, Antonio Messias. Disponível em:

SATO, A. M. Tutoriais Banda larga e VOIP. Disponível em: <http://www.teleco.com.br/tutoriais/tutorialpabx/default.asp >. Acesso em 28/03/07.

ANSELMO, Fernando. PHP 4 e MySQL : maior, melhor e sem cortes. Florianópolis: Visual Books, 2002.

COMER, Douglas E. Interligação em rede com TCP/IP, Volume 1. Rio de Janeiro: Editora Campus, 2001.

COMER, Douglas E; STEVENS, David L. Interligação em rede com TCP/IP . Rio de Janeiro: Campus, 1999

DANTAS, M. Tecnologias de Redes de Comunicação e Computadores. 1. ed. Rio de Janeiro: Axcel Books, 2002.

Escola regional de redes de computadores, Anais da 4ª Escola Regional de Redes de Computadores. Passo Fundo, 2006.

HART, Diogo Leidens. Estudo e desenvolvimento de solução de voz sobre IP (VOIP). Baseada em software livre

HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas . Porto Alegre: Bookman, 2001.

Page 90: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

88

HERSENT, OLIVER; GUIDE, DAVID; PETIT, JEAN-PIERRE. Telefonia IP – Comunicação Multimídia baseada em pacote, 1ª ed. São Paulo: Adilson Wesley, 2002.

HILTON, Craig; WILLIS, Jeff. Building database : applications on the web using PHP3. Addison-Wesley, 2001.

IFIP WORLD COMPUTER CONGRESS. Design and analysis of distributed embedded systems : IFIP 17th World Computer Congress : TC10 stream on distributed and parllel embedded systems (DIPES 2002), August 25-29, 2002, Montréal, Québec, Canada, 2002.

KOHIYAMA, Fred Akira. Análise estrutural de torres de telefonia celular . Curitiba, 2002.

KUROSE, James F; ROSS, Keith W; MARQUES, Arlete Simille. Redes de computadores e a internet : uma nova abordagem. São Paulo: Addison Wesley, 2003.

MELONI, Julie C. Fundamentos de PHP . Rio de Janeiro: Ciência Moderna, 2000.

NEGRINO, Tom; SMITH, Dory. JavaScript Para a World Wide Web . Rio de Janeiro: Campus, 2000

NICOLOSI, Denys Emilio Campeou. Microcontrolador São Paulo: Erica, 2000.

NICOLOSI, Denys Emilio Campeou. Microcontrolador São Paulo: Erica, 2001.

NIEDERAUER, Juliano. Desenvolvendo Websites com PHP 4 . São Paulo: Novatec, 2001.

PAIXÃO, Renato; HONDA, Renato. Processadores INTEL . São Paulo: Erica, 1999.

PEREIRA, Fábio. Microcontroladores PIC : técnicas avançadas. 2. ed. São Paulo: Erica, 2002.

SPENCER, M.; ALLISON, M.; RHODES, C. MAHLER, PAUL. The Asterisk Handbook. VoIP Telephony with Asterisk, 2003

STEVENS, W. Richard. Unix Network programming : net working APIs : sockets and XTI. 2. nd.ed. -. Upper Saddle River, NJ: Prentice Hall PTR, 1998.

TANENBAUM, ANDREW S. Redes de Computadores. 4ª ed. São Paulo: Campus, 2003.

TITTEL, Ed; GAITHER, Mark. 60 Minutos para aprender Java . São Paulo: 1996.

TORRES, Gabriel. Redes de Computadores – Curso Completo. 1ª ed. Rio de Janeiro: Axcel Books do Brasil, 2001.

WERNECK, Marcelo Martins. Transdutores e interfaces . Rio de Janeiro: LTC, 1996.

Page 91: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

89

APÊNDICE A

Page 92: Centro Universitário Positivo - UNICENP Núcleo de Ciências … · 2015-06-18 · Centro Universitário Positivo - UNICENP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia

90

APENDICE B