Top Banner
Asterisk – PABX IP Redes Multim´ ıdia Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina – IFSC campus S˜ ao Jos´ e [email protected] 17 de novembro de 2011 1 / 32
36

Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Nov 10, 2018

Download

Documents

hoàng_Điệp
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Asterisk – PABX IPRedes Multimıdia

Prof. Emerson Ribeiro de Mello

Instituto Federal de Santa Catarina – IFSCcampus Sao Jose

[email protected]

17 de novembro de 2011

1 / 32

Page 2: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Sumario

1 Asterisk – PABX IP

2 Pratica com Asterisk

2 / 32

Page 3: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

O que e o Asterisk

� Trata-se de uma solucao completa de PABX baseado em software,permitindo ligar o mundo IP ao mundo da rede publica de telefoniacomutada

� E um software livre licenciado sob a GPL e roda em alguns S.Os forao Linux

� Foi desenvolvido e ainda e mantido pela empresa Digium (Surgiu em1999)

� Trata-se de um sistema modular, permitindo a agregacao de novasfuncionalidades (como o Linux)

3 / 32

Page 4: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Caracterısticas basicas e avancadas

� Basicas – Faz tudo que um PABX pequeno e simples faz e poucomais

� Transferencia, musica de espera, siga-me, etc.� Conferencia, correio de voz, URA, fila de chamadas, monitoramento de

chamadas, integracao com o Jabber (Google talk)

� Avancadas – O que seria interessante para grandes empresas� Uso de banco de dados (MySQL), integracao com o LDAP, DUNDi,

DNS SRV, geracao de bilhetagem

� Mais informacoes: http://www.asterisk.org/features

4 / 32

Page 5: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Requisitos do sistema para rodar Asterisk

� A maioria das configuracoes dos computadores atuais sao suficientespara uma solucao para empresas de porte medio

� O codec utilizado e o principal limitante do processador (algunsconsomem bastante processamento)

� Para solucoes grandes e necessario pensar no uso combinado dealguns servidores Asterisk

� Balanceamento de carga, redundancia

� Existe um projeto de Asterisk embarcado (o tamanho nao diferemuito de um roteador sem fio)

5 / 32

Page 6: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Projeto Livre de telefonia

� O objetivo e prover um projeto de hardware para sistemas telefonicos� O projeto foi feito para atuar como Asterisk embarcado incluindo

multiplas portas analogicas ou digitais

� Nos mesmos moldes do software livre (voce pode copiar, modificar)

� http://rowetel.com/ucasterisk

6 / 32

Page 7: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: Somente Asterisk

7 / 32

Page 8: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: Somente Asterisk

8 / 32

Page 9: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: PABX convencional atras do Asterisk

9 / 32

Page 10: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: PABX convencional atras do Asterisk

10 / 32

Page 11: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: Asterisk atras do PABX convencional

11 / 32

Page 12: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: Asterisk atras do PABX convencional

12 / 32

Page 13: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Casos de uso: Asterisk atras do PABX convencional

13 / 32

Page 14: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Arquitetura do Asterisk

Núcleo do sistemaAPI de

codificaçãoAPI de

Aplicações

API decanais

API deformato de arquivos

gsm mp3

SIP TDM

g711

g729

correio

ura

14 / 32

Page 15: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Adaptador de Telefone Analogico

15 / 32

Page 16: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Telefone IP

16 / 32

Page 17: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Placa analogica FXO/FXS

17 / 32

Page 18: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Placa Digital E1

18 / 32

Page 19: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Placa GSM

19 / 32

Page 20: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Organizacao do sistema de arquivos

/etc/asterisk

� Todos arquivos de configuracao do sistema

/usr/lib/asterisk/modules

� Modulos, aplicacoes, canais, etc.

/var/lib/asterisk/sounds

� Gravacoes de voz usadas nas aplicacoes de correio de voz, etc.

/var/lib/asterisk/agi-bin

� Scripts AGI (Asterisk Gateway Interface). Semelhante a CGI e pode serescrito em Java, PHP, bash, python, etc.

20 / 32

Page 21: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Conceitos – Canais

� Permite levar uma chamada a um outro provedor de servico outelefone

� Outro servidor Asterisk ou ate mesmo a RPTC

� Alguns tipos de canais providos pelo Asterisk

SIP – Permite a interconexao com outro Asterisk, com outrosprovedores SIP ou telefonesIAX2 – Permite a interconexao com outros Asterisk (Inter-AsteriskExchange Protocol) ou telefonesZAP – Permite a interconexao com sistemas legados (TDM) viainterfaces analogicas (Portas FXO/FXS) e digitais (E1)

Custom – Tronco personalizado que permite a interconexao comH.323, ISDN, etc.

21 / 32

Page 22: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Conceitos – Aplicacoes, Plano de discagem e ramais

� Aplicacoes� Sao necessarias para conectar uma chamada entrante a outros usuarios

do Asterisk� Consistem basicamente em comandos e seguem uma logica similar ao

comando goto das linguagens de programacao

� Plano de discagem� Todo o plano de discagem e descrito no arquivo extensions.conf� O arquivo e dividido em contextos o que permite agrupar grupos de

permissoes� Ex: exten=> 1234, 1, Answer

� Ramais� Sao configurados em arquivos dependentes da tecnologia (sip.conf,

iax.conf)� Ali ficam informacoes como o numero do ramal, senha, etc.

22 / 32

Page 23: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Exemplos de aplicacoes

� Answer – Atende uma chamada que esta tocando

� Busy – Emite sinal de ocupado

� Congestion – Emite sinal de congestionamento (toque rapido)

� Dial – Faz uma chamada

� MusicOnHold – Coloca musica de espera

� VoiceMail – Deixa uma mensagem de voz

23 / 32

Page 24: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Distribuicoes do Asterisk

� O Asterisk nao prove uma interface amigavel para a configuracao doPABX e isso deu margem para o surgimento de diversas distribuicoesAsterisk como:

� AsteriskNow – http://www.asterisknow.org� FreePBX – http://www.freepbx.org� Trixbox – http://www.trixbox.org� Disc-OS – http://www.disc-os.org

� E de algumas ferramentas especıficas para montar o plano dediscagem

24 / 32

Page 25: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Criando contas SIP: /etc/asterisk/sip.conf

1 ; essa linha e' um comentario

2 [nome-da-conta]

3 type=friend; origina e recebe ligacoes

4 ; type=peer ; pode receber ligacoes

5 ; type=user ; pode originar ligacoes

6 context=alunos ; contexto para as chamadas originadas por este usuario

7 host=dynamic ; Essa conta tera' IP dinamico e deve sempre se registrar

8 secret=senha-da-conta

9 mailbox=endemail@alunos ; caixa de correio de voz

� Conta para usuario Joao com senha 1234 e pertencente ao contextoalunos

10 [joao]

11 secret=1234

12 context=alunos

13 type=friend

14 host=dynamic

15 mailbox=joao@alunos

25 / 32

Page 26: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Plano de discagem – /etc/asterisk/extensions.conf

� Consiste de um conjunto de contextos que por sua vez sao formadospor um conjunto de extensoes (ramais)

� Contextos sao caracterizados por uma palavra chave cercada porcolchetes (p.e. [teste]) e o termino de um contexto ocorre assimque aparece uma nova definicao de contexto

� Na configuracao inicial do Asterisk existem tres contextos

general – parametros para a configuracao do Asteriskglobals – definicao de variaveis globais que poderao ser usadas

nos demais contextosdefault – onde o plano de discagem e implementado de fato

26 / 32

Page 27: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Plano de discagem – /etc/asterisk/extensions.conf

Plano com dois contextos: alunos e professores

Ramais pertencentes a um contexto so poderao ser acessados por outrosramais do mesmo contexto

16 [alunos]

17 exten=>100,1,Dial(SIP/100,30)

18 exten=>100,n,Hangup

20 [professores]

21 exten=>200,1,Dial(SIP/200,30)

22 exten=>200,n,Hangup

27 / 32

Page 28: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Dinamica para uma chamada no Asterisk

sip.confContas de usuários

[joao] secret=1234 host=dynamic context=alunos

[maria] secret=4567 host=dynamic context=alunos

extensions.confPlano de discagem

[alunos] exten=>100,1,Dial(SIP/joao) exten=>100,1,Hangup

exten=>101,1,Dial(SIP/maria) exten=>101,1,Hangup

Asterisk - PABX IP

28 / 32

Page 29: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Dinamica para uma chamada no Asterisk

sip.confContas de usuários

[joao] secret=1234 host=dynamic context=alunos

[maria] secret=4567 host=dynamic context=alunos

extensions.confPlano de discagem

[alunos] exten=>100,1,Dial(SIP/joao) exten=>100,1,Hangup

exten=>101,1,Dial(SIP/maria) exten=>101,1,Hangup

Asterisk - PABX IP

REGISTER joao, 1234

REGISTER maria, 4567

28 / 32

Page 30: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Dinamica para uma chamada no Asterisk

sip.confContas de usuários

[joao] secret=1234 host=dynamic context=alunos

[maria] secret=4567 host=dynamic context=alunos

extensions.confPlano de discagem

[alunos] exten=>100,1,Dial(SIP/joao) exten=>100,1,Hangup

exten=>101,1,Dial(SIP/maria) exten=>101,1,Hangup

Asterisk - PABX IPONLINE

ONLINE

28 / 32

Page 31: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Dinamica para uma chamada no Asterisk

sip.confContas de usuários

[joao] secret=1234 host=dynamic context=alunos

[maria] secret=4567 host=dynamic context=alunos

extensions.confPlano de discagem

[alunos] exten=>100,1,Dial(SIP/joao) exten=>100,1,Hangup

exten=>101,1,Dial(SIP/maria) exten=>101,1,Hangup

Asterisk - PABX IPONLINE

ONLINE

Discando 101

INVITE maria (chamando Maria)

Usuário Pedro, pertencente ao contexto alunos

28 / 32

Page 32: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Dinamica para uma chamada no Asterisk

sip.confContas de usuários

[joao] secret=1234 host=dynamic context=alunos

[maria] secret=4567 host=dynamic context=alunos

extensions.confPlano de discagem

[alunos] exten=>100,1,Dial(SIP/joao) exten=>100,1,Hangup

exten=>101,1,Dial(SIP/maria) exten=>101,1,Hangup

Asterisk - PABX IPONLINE

ONLINE

Discando 101

INVITE maria (chamando Maria)

Conversação entre Maria e Pedro

Tráfego RTPUsuário Pedro, pertencente ao contexto alunos

28 / 32

Page 33: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Extensoes

� Numero ou cadeia de caracteres (p.e. maria) que ao ser “discado” porum usuario do sistema, dispara um evento, como:

� Chamada a um terminal SIP, invocacao de uma URA, acesso ao correiode voz, etc.

A sintaxe para definicao de uma extensao e:

23 exten=> [ramal],[prioridade],[aplicacao],[parametros]

� ramal – Numero do ramal a ser chamado

� prioridade – Ordem de execucao das linhas para uma mesmaextensao

� aplicacao – Qual aplicacao do Asterisk que devera ser invocada

� parametros – Dependente de cada aplicacao

29 / 32

Page 34: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Algumas Aplicacoes

� Dial – Para fazer uma chamada e conectar o canal atual

24 exten=>100,1,Dial(SIP/joao,30)

� SayDigits – Pronuncia os dıgitos

25 exten=>111,1,SayDigits(1234)

� Voicemail – Para deixar uma mensagem na caixa postal de umusuario.

26 exten=>101,1,VoiceMail(101@alunos)

� VoiceMailMain – Possibilita aos usuarios consultarem suas caixas decorreio de voz.

27 exten=>555,1,VoicemailMain(@alunos)

30 / 32

Page 35: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Algumas Aplicacoes

� Playback – Reproduz um arquivo de audio no canal

28 exten=>321,1,Anwser

29 exten=>321,2,Wait(1)

30 exten=>321,3,Playback(hello-world)

31 exten=>321,4,Hangup

� Record – Para gravar mensagens de audio

32 exten=>401,1,Anwser

33 exten=>401,n,Wait(1)

34 exten=>401,n,Playback(beep)

35 exten=>401,n,Record(arquivo-novo) ; pressione # no telefone para

encerrar a gravacao

36 exten=>401,n,Playback(beep)

37 exten=>401,n,Playback(arquivo-novo)

38 exten=>401,n,Hangup

31 / 32

Page 36: Asterisk { PABX IP - wiki.sj.ifsc.edu.brwiki.sj.ifsc.edu.br/wiki/images/a/a4/Aula-25.pdfO que e o Asterisk Trata-se de uma solu˘c~ao completa de PABX baseado em software, permitindo

Exercıcio 1

1 Criar as seguintes contas SIP e contextos

alunos Contas: 100 e 101professores Contas: 200 e 201

coordenacao Contas: 300 e 301

2 Criar um plano de discagem de forma que as contas SIP do contextoalunos so possam atingir outras contas SIP deste contexto. Faca omesmo para o contexto professores.

� Contas SIP do contexto coordenacao poderao atingir, alem das contasSIP deste contexto, as contas dos contextos alunos e professores

3 Implementar caixa de correio de voz para cada extensao e criar umaextensao em cada contexto para permitir a consulta ao correio de voz.

32 / 32