Escolar Documentos
Profissional Documentos
Cultura Documentos
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 infraestrutura 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
Realtime Transport Protocol. Provê transporte fima
RTP
fim para dados em tempo real, como voz e vídeo.
Transmissão
de Mídia RealTime 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 (CT1, 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
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 6280251
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, openssldevel, mysqldevel e suas
dependências
− Fontes do Kernel
32
Gilberto Sudré
Instalação
» Pacotes do Asterisk
− Asterisk: núcleo do sistema
− asterisksounds: vozes pré gravadas
− asteriskaddons: 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(bemvindo)
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=fromsip
secret=mysecret
[201]
type=friend
host=dynamic
Gilberto Sudré
context=fromsip 40
secret=moresecret
Integração Voicemail x email
» Gerenciamento de mensagens por telefone ou
interface WEB
» Mensagens de voz enviadas como anexo a um email
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/asteriskstatv2/
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 infraestrutura 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.voipinfo.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