asterisk o pabx livre para voip
DESCRIPTION
Descrição do arquitetura do Asterisk e suas aplicaçõesTRANSCRIPT
ASTERISKO PABX livre para VoIP
Gilberto Sudré[email protected]
www.gilberto.sudre.com.br
vidadigital.blog.br
2Gilberto Sudré
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
3Gilberto Sudré
Voz sobre IP
VoIP
5Gilberto Sudré
VoIPComo 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
6Gilberto Sudré
VoIPComo funciona» 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
Origem Destino
Dispositivo de sinalização
7Gilberto Sudré
Componentes do VoIP
» Telefones IP
» ATA – Analog Telephony Adaptor
» Softphones
8Gilberto Sudré
Componentes do VoIP
» Protocolos
Protocolos de Sinalização
Media Gateway Control Protocol. Complementar a H.323 e SIP. Permite estender implantação para redes públicas maiores.
MGCP
Skinny Client Control Protocol (Skinny). Proprietário Cisco.
SCCP
Session Initiation Protocol. Ganhando popularidade. Usado para configurar chamadas. Menos complexo e expansível.
SIP
Protocolo de sinalização de multimídia popular. Usado para configurar chamadas. Considerado complexo.
H.323
9Gilberto Sudré
Componentes do VoIP
» Protocolos
RealTime Control Protocol. Provê informação sobre participantes da chamada e feedback entre os participantes na qualidade da chamada.
RTCP
Realtime Transport Protocol. Provê transporte fimafim para dados em tempo real, como voz e vídeo.
RTP
Transmissão de Mídia
10Gilberto Sudré
Componentes do VoIP
» Codecs
Asterisk
12Gilberto Sudré
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
13Gilberto 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
14Gilberto Sudré
Asterisk
» Modelo de uso
15Gilberto Sudré
Asterisk
» Modelo de uso
16Gilberto 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)
17Gilberto Sudré
Asterisk
» Arquitetura interna
18Gilberto Sudré
Asterisk
» Arquitetura interna
19Gilberto 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
20Gilberto 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− Comunicação com placas de som
21Gilberto Sudré
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
22Gilberto 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
23Gilberto 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
− Conference Implementa uma conferência de voz
24Gilberto Sudré
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
» Rede com baixo delay, jitter e com banda suficiente
25Gilberto Sudré
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
» Proprietário do copyright
Interfaces com a telefonia
tradicional
27Gilberto Sudré
Interfaces com a Telefonia tradicional
» Diferença entre portas FXS e FXO
28Gilberto Sudré
Interfaces com a Telefonia tradicional
» Produtos Digium
X100P(1 porta FXO)
TDM400P
4 portas(FXS ou FXO)
S100I IAXy(1 porta FXS)
29Gilberto Sudré
Interfaces com a Telefonia tradicional
» Produtos Digium
TE110P1 porta T1 / E1
(24 / 30)
TE405P
4 portas T1 / E1 5,0v (96 / 120)
TE410P4 portas T1 / E1 3,3v (96 / 120)
30Gilberto 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
Varion 4 portas T1/E1
Voicetronix – 4, 6 e 12 portas FXO/FXSX100P clone(1 porta FXO)
Chip Ambient MD3200Chip Motorola 6280251Chip Intel 537PU/PG
Instalação
32Gilberto Sudré
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
33Gilberto 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.
− zaptel: interface do Kernel para placas de comunicação
34Gilberto Sudré
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
/usr/spool/asterisk/vm Área de armazenamento de caixas
de correio de voz e notificações
35Gilberto Sudré
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 <[email protected]>
Connected to Asterisk 1.2.1 currently running on ironturion (pid)
Configuração
37Gilberto Sudré
Plano de Discagem (dialplan)
» Coração do Asterisk
» Define como as ligações serão processadas
» Formato padrão
exten => name,priority,application( )
38Gilberto 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 comando do plano de discagem os instruções serão executadas de acordo com a prioridade
39Gilberto Sudré
Como uma ligação é tratada?
» Exemplo 1exten => s,1,Answer( )
exten => s,2,Playback(bemvindo)
exten => s,3,Hangup( )
» Exemplo 2exten => 100,1,Dial(SIP/cliente100)
exten => 101,1,Playback(aviso)
exten => 101,2,Dial(SIP/cliente101)
exten => 200,1,Dial(IAX2/AsteriskB:[email protected]/${EXTEN})
exten => 201,1,Dial(IAX2/AsteriskB:[email protected]/${EXTEN})
exten => 611,1,Echo()
40Gilberto Sudré
Configuração do Protocolo
» SIP.CONF[200]
type=friend
host=dynamic
context=fromsip
secret=mysecret
[201]
type=friend
host=dynamic
context=fromsip
secret=moresecret
41Gilberto Sudré
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
42Gilberto Sudré
Bilhetagem
44Gilberto Sudré
Bilhetagem
» Registros da ligação » Armzenados em arquivos
− Texto (formato CSV)
− Banco de dados (ODBC)
» Podem ser acessados por FTP / WWW / Samba
45Gilberto 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
46Gilberto Sudré
Bilhetagem
» Areski – Asterisk Stat Analyser» http://areski.net/asteriskstatv2/
O que vem por aí?
48Gilberto Sudré
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
49Gilberto 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− [email protected]
− http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
− http://www.asteriskbrasil.org
Conclusão
51Gilberto Sudré
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
52Gilberto Sudré
Perguntas
ASTERISKO PABX livre para VoIP
Gilberto Sudré[email protected]
www.gilberto.sudre.com.br
vidadigital.blog.br