Você está na página 1de 53

 

ASTERISK
O PABX livre para VoIP

Gilberto Sudré
gilberto@sudre.com.br
www.gilberto.sudre.com.br
vidadigital.blog.br
Agenda
» Voz sobre IP e Telefonia IP
» Asterisk
» Interface com a telefonia convencional
» Instalação
» Configuração e tratamento de ligações
» Bilhetagem
» O que vem por aí?
» Conclusão

2
Gilberto Sudré
3
Gilberto Sudré
Voz sobre IP 

VoIP
VoIP
Como funciona
» Sistema que possibilita a transmissão de voz sobre o 
protocolo de redes IP

» Protocolo IP é a base de todas as redes da Internet 

» Converte a Voz em pacotes IP que podem ser 
roteados sobre uma infra­estrutura de transporte:
• 10/100/1000 Ethernet
• ATM, Frame Relay
• Redes privadas ou VPN’s  

5
Gilberto Sudré
VoIP
Como funciona
Dispositivo de sinalização
» Localizar o fone para chamada
− Usa protocolos de sinalização 
com dispositivo sinalizador para:
• Encontrar a outra parte (endereço 
IP)
• Definir quais portas usar

» Comunicação
− Usa o protocolo RTP/RTCP para 
entrega da mídia (áudio, vídeo) 
entre as partes Destino
Origem 6
Gilberto Sudré
Componentes do VoIP
» Telefones IP » Softphones

» ATA – Analog Telephony 
Adaptor

7
Gilberto Sudré
Componentes do VoIP
» Protocolos

Protocolo de sinalização de multimídia popular. Usado 
H.323
para configurar chamadas. Considerado complexo.

Session Initiation Protocol. Ganhando popularidade. 
SIP Usado para configurar chamadas. Menos complexo e 
Protocolos de  expansível.
Sinalização Skinny Client Control Protocol (Skinny). Proprietário 
SCCP
Cisco.
Media Gateway Control Protocol. Complementar a 
MGCP H.323 e SIP. Permite estender implantação para redes 
públicas maiores.
8
Gilberto Sudré
Componentes do VoIP
» Protocolos

Real­time Transport Protocol. Provê transporte fim­a­
RTP
fim para dados em tempo real, como voz e vídeo.

Transmissão 
de Mídia Real­Time Control Protocol. Provê informação sobre 
RTCP participantes da chamada e feedback entre os 
participantes na qualidade da chamada.

9
Gilberto Sudré
Componentes do VoIP
» Codecs

10
Gilberto Sudré
Asterisk 
Asterisk
» Objetivo principal
− Ser um PABX de Telefonia IP
− Controla múltiplos clientes e linhas de entrada/saída
− Características dos melhores PABX do mercado
− Precisa de placas de interface especiais
− Interação entre PABX convencionais e redes de VoIP e 
Telefonia IP

» Independente de hardware

»  http://www.asterisk.org 12
Gilberto Sudré
Asterisk
» Software Livre
− GPL (mas....)

» Comunidade de desenvolvimento muito ativa

» Flexível

» Possibilidade de instalação de novas funções através 
de programas em escritos em Perl / C / Python

» Fontes, binários e sons ~35 MB
13
Gilberto Sudré
Asterisk
» Modelo de uso

14
Gilberto Sudré
Asterisk
» Modelo de uso

15
Gilberto Sudré
Asterisk
» Compatível com 

− Interfaces físicas (C­T1, PRI, FXO, FSX, IP)

− Protocolos (TDM, SIP, H.323, IAX, MGCP, SCCP)

− Codec (G.729, G.711, GSM, ILBC, G.726)

16
Gilberto Sudré
Asterisk
» Arquitetura interna

17
Gilberto Sudré
Asterisk
» Arquitetura interna

18
Gilberto Sudré
API de Canais
» Zap – Zaptel Channel Driver
−  Interface com hardware Digium

» IAX2 – InterAsterisk eXchange Protocol Version 2
− Protocolo de transporte de voz (muito simples e 
eficiente)
− Pode transportar 3 x mais chamadas que o SIP

» SIP
− Protocolo simples de transporte de voz
− Muitos equipamentos e aplicativos compatíveis 19
Gilberto Sudré
API de Canais
» H323 

» MGCP – Media Gateway Control Protocol
−  Communicates with MGCP Gateways / Phones

» SCCP – Cisco Proprietary Skinny Control Protocol
 

» OSS – Open Sound System
−  Comunicação com placas de som

» ALSA – Advanced Linux Sound Architecture 20
Gilberto Sudré
−  Comunicação com placas de som 
API de Arquivos
» Permite a leitura e escrita de vários formatos de 
arquivos

» Mensagens de voz (URA) e caixas postais de voz

» Formatos compatíveis
−  WAV
−  MP3
−  AU
−  GSM
21
Gilberto Sudré
API de Aplicações
» Programas ou funções suportados pelo Asterisk

» Aumentam os recursos disponíveis aos usuários

» Interface padrão de programação

» Podem ser desenvolvidas pelo usuário

22
Gilberto Sudré
API de Aplicações
» Exemplos

− Caller ID ­ Bina
− Hangup ­ Desconecta
− Playback ­ Reproduz um arquivo MP3
− Call Parking ­ Coloca a chamada em espera
− SMS Messaging ­ Envia uma mensagem SMS
− Voicemail ­ Armazena mensagem na caixa postal
− Roaming Exten ­ Grupo de captura de ramais
− Spell / Say ­ Lê um texto em voz digitalizada
Gilberto Sudré
− Conference ­ Implementa uma conferência de voz 23
Configurações Mínimas
» PIII 700MHz (mínimo)
− Para uma máquina multiusuário é recomendado um 
processador > 1.5 Ghz
− Uso de codecs mais sofisticados podem aumentar 
bastante a necessidade de processador

» Suporte a praticamente qualquer distribuição 
GNU/Linux

» Placas para interface com a rede telefônica 
convencional
24
Gilberto Sudré

» Rede com baixo delay, jitter e com banda suficiente
Quem é a Digium?

» Responsável pelo desenvolvimento e suporte do 
Asterisk

» Responsável pelo repositório de fontes, registro e 
solução de bugs, listas de discussão, etc.

» Aprova todos os patches e caracteristicas a serem 
implementadas

» Produz os cartões de interface que funcionam com o 
Asterisk
25

» Proprietário do copyright
Gilberto Sudré
Interfaces com a 
telefonia 
tradicional 
Interfaces com a Telefonia 
tradicional
» Diferença entre portas FXS e FXO

27
Gilberto Sudré
Interfaces com a Telefonia 
tradicional
» Produtos Digium

X100P TDM400P
S100I ­ IAXy
(1 porta FXO) 4 portas (1 porta FXS)
(FXS ou FXO)

28
Gilberto Sudré
Interfaces com a Telefonia 
tradicional
» Produtos Digium

TE110P TE405P TE410P


1 porta T1 / E1  4 portas T1 / E1  4 portas T1 / E1 
(24 / 30) 5,0v (96 / 120) 3,3v (96 / 120)

29
Gilberto Sudré
Interfaces com a Telefonia 
tradicional
» Outros fabricantes

Aculab – 1,2 e 4 portas T1/E1
Eicon – 1 porta T1
Intel – 4 portas FXO
Sangoma – 1,2 e 4 portas T1/E1

X100P clone Varion ­ 4 portas T1/E1
(1 porta FXO) Voicetronix – 4, 6 e 12 portas FXO/FXS
Chip Ambient MD3200
Chip Motorola 62802­51
Chip Intel 537PU/PG

30
Gilberto Sudré
Instalação 
Instalação
» Instalação da distribuição GNU/Linux
− SUSE, Debian e CentOS

» Download dos fontes e compilação do Asterisk

» Diversos
− gcc e suas dependências
− bison, ncurses, openssl­devel, mysql­devel e suas 
dependências
− Fontes do Kernel
32
Gilberto Sudré
Instalação
» Pacotes do Asterisk

− Asterisk: núcleo do sistema

− asterisk­sounds: vozes pré gravadas

− asterisk­addons: módulos adicionais (interface com BD)

− libpri: biblioteca para interface com ISDN

− libiax: biblioteca para interface com o protocolo IAX.
33
Gilberto Sudré

− zaptel: interface do Kernel para placas de comunicação
Diretórios
etc/asterisk Arquivos de configuração

/usr/sbin Executáveis e scripts

/usr/lib/asterisk/modules Módulos de carga em tempo
  Execução

/var/lib/asterisk/sounds Arquivos de áudio

/var/spool/asterisk Arquivos temporários

34
/usr/spool/asterisk/vm 
Gilberto Sudré Área de armazenamento de caixas
  de correio de voz e notificações
Interface de comandos
» O Asterisk possui uma interface de comandos para 
administração

» Para utlizar basta executar o comando
− asterisk ­r

Asterisk 1.2.9.1, Copyright (C) 1999 2005 Digium.
Written by Mark Spencer <markster@digium.com>
Connected to Asterisk 1.2.1 currently running on ironturion (pid)

35
Gilberto Sudré
Configuração 
Plano de Discagem (dialplan)
» Coração do Asterisk

» Define como as ligações serão processadas

» Formato padrão

exten => name,priority,application( )

37
Gilberto Sudré
Como uma ligação é tratada?
» As chamadas “entrantes” são tratadas de acordo com 
o conteúdo do arquivo “extensions.conf” (dialplan)

» O plano de discagem contêm seções lógicas 
chamadas de “contextos! 

» Cada canal envia uma chamada para o Asterisk 
associado a um contexo e os comandos que constam 
naquele contexto serão executados

» Quando o número discado está de acordo com o 
38
Gilberto Sudrécomando do plano de discagem os instruções serão 

executadas de acordo com a prioridade
Como uma ligação é tratada?
» Exemplo 1
exten => s,1,Answer( )
exten => s,2,Playback(bem­vindo)
exten => s,3,Hangup( )

» Exemplo 2
exten => 100,1,Dial(SIP/cliente100)
exten => 101,1,Playback(aviso)
exten => 101,2,Dial(SIP/cliente101)
exten => 200,1,Dial(IAX2/AsteriskB:AsteriskB@192.168.1.1/${EXTEN})
exten => 201,1,Dial(IAX2/AsteriskB:AsteriskB@192.168.1.2/${EXTEN})

Gilberto Sudré
exten => 611,1,Echo() 39
Configuração do Protocolo
» SIP.CONF
[200]
type=friend
host=dynamic
context=from­sip
secret=mysecret

[201]
type=friend
host=dynamic
Gilberto Sudré
context=from­sip 40

secret=moresecret
Integração Voicemail x e­mail
» Gerenciamento de mensagens por telefone ou 
interface WEB

» Mensagens de voz enviadas como anexo a um e­mail 
para a caixa postal do destinatário

» Notificação de mensagem pode ser enviada por sms 
ou fax

41
Gilberto Sudré
42
Gilberto Sudré
Bilhetagem
Bilhetagem
» Registros da ligação
 
» Armzenados em arquivos
− Texto (formato CSV)
− Banco de dados (ODBC)

» Podem ser acessados por FTP / WWW / Samba

44
Gilberto Sudré
Bilhetagem
» Principais campos de uma ligação
− número de origem
− identificação da origem (texto)
− número de destino
− data/hora do início da ligação
− data/hora do atendimento
− data/hora do fim da ligação
− duração total (início até o fim)
− duração real (atendimento até o fim)
− conta para contabilização da ligação
45
Gilberto Sudré
Bilhetagem
» Areski – Asterisk Stat Analyser
» http://areski.net/asterisk­stat­v2/

46
Gilberto Sudré
O que vem 
por aí?
O que tem de novo?
» Asterisk 1.4

− Suporte aos protocolos Jabber e Google Talk
• Unificação de infra­estrutura de comunicação

− Melhorias na performance do protocolo SIP

− Asterisk Appliance

− Asterisk Appliance Developer Kit
48
Gilberto Sudré
Informações?
»  Digium http://www.digium.com
»  Asterisk http://www.asterisk.org
»  Asterisk Docs http://www.asteriskdocs.org
»  VoIP Wiki http://www.voip­info.org
»  Bugs http://bugs.digium.com

» Asterisk Brasil
− AsteriskBrasil@listas.asteriskbrasil.org
− http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
− http://www.asteriskbrasil.org
49
Gilberto Sudré
Conclusão 
Conclusão
» Convergência de meios é uma realidade no mundo 
atual

» O uso do VoIP ou Telefonia IP 
− Reduz custos de comunicação
− Facilita a manutenção dos sistemas de comunicação
− Padroniza e melhora o uso da infra estrutura de redes
− Pode conviver com a telefonia convencional

» Existem soluções livres robustas e confiáveis para 
implementação de VoIP 51
Gilberto Sudré
Perguntas

52
Gilberto Sudré
 ASTERISK
O PABX livre para VoIP

Gilberto Sudré
gilberto@sudre.com.br
www.gilberto.sudre.com.br
vidadigital.blog.br

Você também pode gostar