53
 ASTERISK O PABX livre para VoIP Gilberto Sudré [email protected] www.gilberto.sudre.com.br vidadigital.blog.br

Asterisk O Pabx Livre Para Voip

Embed Size (px)

DESCRIPTION

Descrição do arquitetura do Asterisk e suas aplicações

Citation preview

Page 1: Asterisk   O Pabx Livre Para Voip

 ASTERISKO PABX livre para VoIP

Gilberto Sudré[email protected]

www.gilberto.sudre.com.br

vidadigital.blog.br

Page 2: Asterisk   O Pabx Livre Para Voip

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

Page 3: Asterisk   O Pabx Livre Para Voip

3Gilberto Sudré

Page 4: Asterisk   O Pabx Livre Para Voip

Voz sobre IP 

VoIP

Page 5: Asterisk   O Pabx Livre Para 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 infra­estrutura de transporte:

• 10/100/1000 Ethernet

• ATM, Frame Relay

• Redes privadas ou VPN’s  

Page 6: Asterisk   O Pabx Livre Para Voip

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

Page 7: Asterisk   O Pabx Livre Para Voip

7Gilberto Sudré

Componentes do VoIP

» Telefones IP

» ATA – Analog Telephony Adaptor

» Softphones

Page 8: Asterisk   O Pabx Livre Para Voip

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

Page 9: Asterisk   O Pabx Livre Para Voip

9Gilberto Sudré

Componentes do VoIP

» Protocolos

Real­Time Control Protocol. Provê informação sobre participantes da chamada e feedback entre os participantes na qualidade da chamada.

RTCP

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

RTP

Transmissão de Mídia

Page 10: Asterisk   O Pabx Livre Para Voip

10Gilberto Sudré

Componentes do VoIP

» Codecs

Page 11: Asterisk   O Pabx Livre Para Voip

Asterisk 

Page 12: Asterisk   O Pabx Livre Para Voip

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

Page 13: Asterisk   O Pabx Livre Para Voip

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

Page 14: Asterisk   O Pabx Livre Para Voip

14Gilberto Sudré

Asterisk

» Modelo de uso

Page 15: Asterisk   O Pabx Livre Para Voip

15Gilberto Sudré

Asterisk

» Modelo de uso

Page 16: Asterisk   O Pabx Livre Para Voip

16Gilberto 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)

Page 17: Asterisk   O Pabx Livre Para Voip

17Gilberto Sudré

Asterisk

» Arquitetura interna

Page 18: Asterisk   O Pabx Livre Para Voip

18Gilberto Sudré

Asterisk

» Arquitetura interna

Page 19: Asterisk   O Pabx Livre Para Voip

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

Page 20: Asterisk   O Pabx Livre Para Voip

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 

Page 21: Asterisk   O Pabx Livre Para Voip

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

Page 22: Asterisk   O Pabx Livre Para Voip

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

Page 23: Asterisk   O Pabx Livre Para Voip

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

Page 24: Asterisk   O Pabx Livre Para Voip

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

Page 25: Asterisk   O Pabx Livre Para Voip

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

Page 26: Asterisk   O Pabx Livre Para Voip

Interfaces com a telefonia 

tradicional 

Page 27: Asterisk   O Pabx Livre Para Voip

27Gilberto Sudré

Interfaces com a Telefonia tradicional

» Diferença entre portas FXS e FXO

Page 28: Asterisk   O Pabx Livre Para Voip

28Gilberto Sudré

Interfaces com a Telefonia tradicional

» Produtos Digium

X100P(1 porta FXO)

TDM400P

4 portas(FXS ou FXO)

S100I ­ IAXy(1 porta FXS)

Page 29: Asterisk   O Pabx Livre Para Voip

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)

Page 30: Asterisk   O Pabx Livre Para Voip

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 62802­51Chip Intel 537PU/PG

Page 31: Asterisk   O Pabx Livre Para Voip

Instalação 

Page 32: Asterisk   O Pabx Livre Para Voip

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, openssl­devel, mysql­devel e suas dependências

− Fontes do Kernel

Page 33: Asterisk   O Pabx Livre Para Voip

33Gilberto 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.

− zaptel: interface do Kernel para placas de comunicação

Page 34: Asterisk   O Pabx Livre Para Voip

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

Page 35: Asterisk   O Pabx Livre Para Voip

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)

Page 36: Asterisk   O Pabx Livre Para Voip

Configuração 

Page 37: Asterisk   O Pabx Livre Para Voip

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( )

Page 38: Asterisk   O Pabx Livre Para Voip

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

Page 39: Asterisk   O Pabx Livre Para Voip

39Gilberto Sudré

Como uma ligação é tratada?

» Exemplo 1exten => s,1,Answer( )

exten => s,2,Playback(bem­vindo)

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()

Page 40: Asterisk   O Pabx Livre Para Voip

40Gilberto Sudré

Configuração do Protocolo

» SIP.CONF[200]

type=friend

host=dynamic

context=from­sip

secret=mysecret

[201]

type=friend

host=dynamic

context=from­sip

secret=moresecret

Page 41: Asterisk   O Pabx Livre Para Voip

41Gilberto Sudré

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

Page 42: Asterisk   O Pabx Livre Para Voip

42Gilberto Sudré

Page 43: Asterisk   O Pabx Livre Para Voip

Bilhetagem

Page 44: Asterisk   O Pabx Livre Para Voip

44Gilberto Sudré

Bilhetagem

» Registros da ligação » Armzenados em arquivos

− Texto (formato CSV)

− Banco de dados (ODBC)

» Podem ser acessados por FTP / WWW / Samba

Page 45: Asterisk   O Pabx Livre Para Voip

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

Page 46: Asterisk   O Pabx Livre Para Voip

46Gilberto Sudré

Bilhetagem

» Areski – Asterisk Stat Analyser» http://areski.net/asterisk­stat­v2/

Page 47: Asterisk   O Pabx Livre Para Voip

O que vem por aí?

Page 48: Asterisk   O Pabx Livre Para Voip

48Gilberto Sudré

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

Page 49: Asterisk   O Pabx Livre Para Voip

49Gilberto 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− [email protected]

− http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

− http://www.asteriskbrasil.org

Page 50: Asterisk   O Pabx Livre Para Voip

Conclusão 

Page 51: Asterisk   O Pabx Livre Para Voip

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

Page 52: Asterisk   O Pabx Livre Para Voip

52Gilberto Sudré

Perguntas

Page 53: Asterisk   O Pabx Livre Para Voip

 ASTERISKO PABX livre para VoIP

Gilberto Sudré[email protected]

www.gilberto.sudre.com.br

vidadigital.blog.br