SlideShare uma empresa Scribd logo
Asterisk

  Vicente de Paula Nobre
vicente.proj@hotmail.com
Principais Tópicos
 O que é o asterisk
 Alguns Recursos
 Arquitetura do asterisk
 Hardware e software
 Cenários de uso
 Instalação no Centos 5
 Principais arquivos de configuração
Principais Tópicos
 Sintaxe de configuração
 Plano de discagem com cliente SIP
 Correio de voz, salas de conferência e Filas
 Estacionamento e transferência de chamadas
 Captura e gravação de chamadas
 Plano de discagem com cliente IAX
 Interligar dois servidores Asterisk com IAX em
 modo trunk
O que é o Asterisk
 É um PABX IP baseado em software livre sob
 licença GPL, que pode rodar em vários sistemas
 operacionais, mais que se adéqua melhor ao
 Linux

 Interliga redes IPs a rede de telefonia pública
O que é o Asterisk
 Configuração de Recursos avançados e a
 agregação de novas funcionalidades.

 Foi desenvolvido pela Digium que também
 investe em Hardware de baixo custo

 Software de código aberto, muitos
 desenvolvedores contribuem para o seu
 crescimento.
Alguns Recursos

 Salas de Conferências
 Gravação de chamadas
 Transferência de ligações
 Estacionamento de chamadas
 Filas de atendimento
 Correio de voz
Alguns Recursos

 URA (unidade de resposta audível)
 Planos de discagens flexíveis
 Música em espera
 Monitoramento de chamadas
 Uso de banco de dados (MySQL, PostgreSQL)
 Geração de bilhetagem
Arquitetura do Asterisk
Arquitetura do Asterisk
 Canais
 - Linhas Telefônicas;
 - Analógicas, Digitais e Virtuais;
 - Modulados por Codecs;

 Encapsulados por um Protocolo Sinalizador
 - Estabelecer as conexões;
 - Campainha;
 - Desconexão;
Arquitetura do Asterisk
 Codecs
 – Compressão da voz;

 Principais
 – G.729a – 8Kbits com licença;
 – G.711 ulaw - usado nos EUA 64 Kbps;
 – G.711 alaw - usado na Europa e Brasil 64 Kbps;
 – G.723.1 - 5.3-6 Kbps com licença;
 – GSM - 12-13 Kbps, Telefonia Celular;
Arquitetura do Asterisk
 Protocolos

 – H323 – Antigo protocolo para VoIP.
 – IAX – Inter-Asterisk Exchange Protocol;
 – SIP – Session Initiation Protocol;
 – Skinny - Telefones IP da Cisco;
 – ZAP/DAHDI – Hardware de Digium;
Hardware e software
• Adaptador   • SoftFone X-lite • Telefone IP
Hardware e software




       • Placa de Telefonia IP
Exemplo com placa de Telefonia
Exemplo com banco de canais
Exemplo Interligando matriz e filial
Instalação
 Utilizando uma distribuição Linux como o Centos 5:
Instalação
 Baixa-se os pacotes do site da Digium:

 - asterisk-1.4.40.tar.gz
 - asterisk-addons-1.4.13.tar.gz
 - dahdi-linux-2.4.1.1.tar ou zaptel-1.4.12.1.tar
 - dahdi-tools-2.4.1.tar.gz
 - libpri-1.4.11.5.tar.gz
 - sounds-1.0-pt_BR.tar.gz
 - Disc-OS-Sounds-1.0-pt_BR.tar
Instalação
Baixa-se os pacotes do site da Digium:

wget http://downloads.digium.com/pub/asterisk/asterisk-
 1.4.40.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-
 1.4.11.5.tar.gz
wget http://downloads.digium.com/pub/telephony/dahdi-
 linux/dahdi-linux-2.4.1.1.tar
wget http://downloads.digium.com/pub/telephony/dahdi-
 tools/ dahdi-tools-2.4.1.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-
 addons-1.4.13.tar.gz
Instalação
 Copiam-se todos os arquivos para /usr/src

 - Exemplo:
  # cp asterisk-1.4.40.tar.gz /usr/src

 - Para copiar todos os arquivos:
 # cp *.tar.gz /usr/src
Instalação
 Entra no diretório e descompacta

 cd /usr/src
 # tar xzfv asterisk-1.4.40.tar.gz
 # tar xzfv asterisk-addons-1.4.13.tar.gz
 # tar xzfv dahdi-linux-2.4.1.1.tar
 # tar xzfv dahdi-tools-2.4.1.tar.gz
 # tar xzfv libpri-1.4.11.5.tar.gz
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote dahdi-linux
  # cd dahdi-linux
  # vim README (opcional – para ver como se instala)
  # make clean
  # ./configure
  # make
  # make install
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote dahdi-tools
  # cd dahdi-tools-2.4.1
  # make clean
  # ./configure
  # make
  # make install
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote libpri
  # cd libpri-1.4.11.5
  # make clean
  # make
  # make install
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote asterisk
 # cd asterisk-1.4.40
 # make clean
 # ./configure
 # make menuselect (habilita/desabilita as opções do asterisk)
 # make
 # make install
 # make samples (arquivos de exemplos)
 # make config (configura os módulos da maneira padrão)
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote asterisk-addons
 # cd asterisk-addons-1.4.13
 # make clean
 # ./configure
 # make
 # make menuselect
 # make install
 # make samples
Instalação
 Compilação e instalação dos Arquivos
 Instalando o pacote sounds

 # cp sounds-1.0-pt_BR.tar.gz /var/lib/asterisk
 # cd /var/lib/asterisk
 # tar xzfv sounds-1.0-pt_BR.tar.gz

 ou

 # cp Disc-OS-Sounds-1.0-pt_BR.tar /var/lib/asterisk
 # cd /var/lib/asterisk
 # tar xf Disc-OS-Sounds-1.0-pt_BR.tar
Carregando o dahdi_dummy
 Para que funcione salas de conferência é preciso ter uma
 placa instalada no servidor para gerar uma temporização,
 no caso de não haver é necessário carregar o modulo
 dahdi_dummy ou ztdummy.

 # lsmod | grep dahdi_dummy
 # modprobe dahdi_dummy

 ou no caso do pacote zaptel-1.4.12.1.tar

 # lsmod | grep ztdummy
 # modprobe ztdummy
Carregando o dahdi_dummy
 # echo "dahdi_dummy" >> /etc/modules

 O dahdi é carregado no Linux como um serviço:

 # /etc/init.d/dahdi start
 # /etc/init.d/asterisk restart

 Depois asterisk -r e execute o comando "dahdi show
 status"
Iniciando e parando o Asterisk
 Iniciando

 # /usr/sbin/asterisk –vvvc

 Parando

 # stop now
Arquivos de configuração
 O asterisk é controlado por arquivos de configuração localizados
 em /etc/asterisk.

 No formato .conf os arquivos são divididos em sessões:

 [sessao1]
 chave = valor ; Designação da variável
 [sessao2]
 objeto => valor ; Declaração do objeto
 [sessao3]
 objeto2 => valor ; Declaração do objeto2

 ; Todos os arquivos seguem a mesma sintaxe
Arquivos de configuração
 Existem algumas sessões com funções especificas:

 [general] .: Define os valores padrão para todas as
 outras sessões

 [channels] .: Especifica os canais de comunicação
 dentro do arquivo zapata.conf

 [globals] .: Criação das variáveis globais dentro de um
 plano de discagem
Estrutura do sistema de arquivos
 Diretorio dos arquivos de configuração
 /etc/asterisk

 Diretorio dos Modulos, aplicações e canais
 /usr/lib/asterisk/modules

 Diretorio de gravação da voz usadas no correio de voz
 /var/lib/asterisk/sounds

 Diretorio para Scripts AGI (Asterisk Gateway
 Interface)
 /var/lib/asterisk/agi-bin
Estrutura do sistema de arquivos
  Principais arquivos:

sip.conf .: Clientes SIP.
iax.conf .: Clientes IAX.
extensions.conf.: Plano de discagem.
voicemail.conf.: Correio de voz.
queues.conf.: Filas de atendimentos.
agents.conf.: Agentes que poderão atender chamadas em filas.
meetme.conf.: Salas de conferência.
manager.conf.: Administrador do servidor.
features.conf: Configuração de transferências, estacionamento,
gravação de chamadas e etc.
Arquivo Sip.conf
 Contém parâmetros de configuração dos telefones e
 operadoras SIP.

 Os clientes devem estar configurados antes que
 possam fazer e receber chamadas.
Arquivo Sip.conf
 Na sessão [general], define-se os valores das variáveis padrão
 para todos os canais SIP.

 Através da seguinte sintaxe:
 [general]
 variavel=valor1
 variavel=valor2

 [nome_sessao]
 type=friend/peer/user
 context=NomeContexto
 host=dynamic
 secret=senha_da_conta
Arquivo Sip.conf
Alguns parâmetros da sessão general:

allow: Permite que um determinado codec seja usado
disallow: Proíbe um determinado codec
bindaddr: IP onde o Asterisk irá esperar pelas conexões SIP
context: Configura o contexto padrão para todos os cliente SIP
 port: Porta para conexões de entrada SIP, o padrão é 5060
 maxexpirey: Tempo máximo para registro em segundos
 defaultexpirey: Tempo padrão para registro em segundos
 register: Registra o Asterisk com outro host
Arquivo Sip.conf
Exemplo de configuração sessão general:
 [general]
 port=5060
 bindaddr=0.0.0.0
 context=ramais
 disallow=all
 allow=gsm
 maxexpirey=120
 defaultexpirey=80
 register=>vicente@freeworlddialup.com/5000
Arquivo Sip.conf
 As seções seguintes definem os parâmetros das entidades
 SIP tais como o nome de usuário, senha e endereço IP.

 Três categorias de entidades SIP são definidas:

 peer: Entidade que recebe chamadas através do asterisk

 user: Entidade que faz chamadas através do Asterisk

 friend: Entidade que pode fazer e receber chamadas
Arquivo Sip.conf
Principais campos das sessões:
 type: Configura a classe de conexão, opções são peer, user e friend

 host: Configura o endereço IP ou o nome do host. Pode-se usar
 também a opção ‘dynamic’ onde se espera que o telefone se registre

 username: Esta opção configura o nome do usuário que o Asterisk
 tenta conectar quando uma chamada é recebida

 secret: Senha para autenticar os peers e users fazendo uma chamada
Arquivo Sip.conf
 [general]                [2050]
 context=ramais           type=friend
 port=5060                host=dynamic
 bindaddr=0.0.0.0         username=2050
 disallow=all             secret= 351654
 allow=alaw               context=externo
 language=pt_BR           callerid=maria<2050>
 [2000]
 type=friend
 host=dynamic
 username=2000
 secret= 698569
 callerid=vicente<2000>
Arquivo Extensions.conf
 O plano de discagem é representado pelo
 extensions.conf

 Consiste de uma lista de instruções ou passos que o
 Asterisk deve seguir

 Essas instruções são disparadas de acordo com uma
 prioridade a partir dos dígitos recebidos de um canal
 ou aplicação
Arquivo Extensions.conf
 O plano de discagem é dividido em quatro conceitos:

 - Contextos
 - Extensões
 - Prioridades
 - Aplicações

 Os contextos são definidos para cada canal dentro dos
 arquivos sip.conf, iax.conf, h323.conf e etc.
Arquivo Extensions.conf
Contextos
 São responsáveis pela organização e segurança do plano de
 discagem

 Definem o escopo e permitem separar diferentes partes do
 plano de discagem

 Estão ligados diretamente aos canais, cada canal existe
 dentro de um contexto

 Quando uma ligação entra no Asterisk por um canal ela é
 processada dentro de um contexto
Arquivo Extensions.conf
Contextos
 Os contextos recebem o seu nome dentro de colchetes ([]s)

 Exemplo:
 [ramais]

 Todas as instruções colocadas após a definição são partes
 do contexto
Arquivo Extensions.conf
Extensões
 Dentro de cada contexto serão definidas as extensões
 Uma extensão é uma string que vai disparar um evento

 [ramais]
 exten=>2000,1,Dial(SIP/2000,20)
 exten=>2000,2,VoiceMail(u300) ;indisponível
 exten=>2000,101,VoiceMail(b300) ;ocupado

 A instrução “exten=> “ descreve qual o próximo passo para a ligação
 O “2000” é o numero discado
 O “1”, “2”e “101” são as prioridades que determinam a ordem de
 execução
Arquivo Extensions.conf
Extensões

 Extensões determinam o fluxo das chamadas
 Uma extensão é definida com a sintaxe:

 exten=> extensão, prioridade(nome), aplicação

 O comando “exten=>” é seguido por um número da
 extensão, uma vírgula, a prioridade, outra vírgula e a
 aplicação.
Arquivo Extensions.conf
Prioridades

 Cada extensão é executada dentro de um contexto através
 de prioridades e não por ordem de definição no arquivo

  Cada prioridade chama uma aplicação especifica

 [ramais]
 exten=>_20XX,1,Dial(SIP/${EXTEN},20)
 exten=>_20XX,n,VoiceMail(u300)
 exten=>_20XX,n,Hangup()
Arquivo Extensions.conf
Aplicações

 As aplicações tratam o canal de voz:
 - Tocando sons.
 - Aceitando dígitos.
 - Correio de voz.
 - Sala de conferência.
 - Desligando uma chamada e etc.

 As aplicações são chamadas com opções que afetam a sua
 forma de funcionamento
Arquivo Extensions.conf
Exemplo de Aplicações
 São os utilitários chamados a partir do plano de discagem:

  - Answer.: Atende a chamada e sincroniza o canal de áudio
  - PlayBack.: Reproduz um arquivo de áudio localizado em
     /var/lib/asterisk/sounds
  - BackGround.: Faz a mesma função do PlayBack, mas permite a interação
     com o usuário
  - Dial.: Conecta dois canais de comunicação
  - MeetMe.: Entra em uma sala de conferência configurada em meetme.conf
  - Queue.: Entra em uma determinada fila configurada em queues.conf
  - VoiceMail.: Chama uma caixa de mensagens configurado em
     voicemail.conf
  - Hangup.: Encerra a chamada
Plano de discagem simples
 Passos para a criação de um ramal:
 1 - Cadastrá-lo no arquivo de configuração referente ao
 protocolo sip.conf, iax.conf, h323.conf e etc.

 2 – Definir o contexto ao qual a extensão participará

 3 - Definir dentro do arquivo extensions.conf o plano
 de discagem para esse ramal
Plano de discagem simples
 Arquivo sip.conf
 Define valores padrão   Configura a extensão 3000
 [general]               [3000]
 port=5060                type=friend
 bindaddr=0.0.0.0         host=dynamic
 disallow=all             username=3000
 allow=alaw               secret=654321
 language=pt_BR           callerid=vicente<3000>
                          mailbox=300@default
                          context=local
Plano de discagem simples
 Arquivo sip.conf
  Configura a extensão 3050
  [3050]
  type=friend
  host=dynamic
  username=3050
  secret=123456
  callerid=maria<3050>
  mailbox=300@default
  context=local
Plano de discagem simples
 Arquivo extensions.conf
 [local]
 exten=> 3000,1,Dial(SIP/3000,20)
 exten=> 3000,2,HangUp()
 exten=> 3050,1,Dial(SIP/3050,20)
 exten=> 3050,2,HangUp()

 [local]
 exten=> _30XX,1,Answer
 exten=> _30XX,n,Wait(0.5)
 exten=> _30XX,n,PlayBack(hello-word)
 exten=> _30XX,n,Authenticate(875)
 exten=> _30XX,n,Dial(SIP/${EXTEN},20)
 exten=> _30XX,n,HangUp()
Arquivo Voicemail.conf
 Permite que uma chamada ocupada ou não atendida seja enviada
 para uma secretária eletrônica
 Passos para a criação de um correio de voz:

 1. Em voicemail.conf defini-se os usuários e senhas para o
 correio de voz.

 2. Em extensions.conf configura-se uma extensão para que
 uma chamada ocupada ou não atendida seja direcionada para a
 aplicação VoiceMail().

 3. Configura-se uma extensão para que o usuário possa ouvir seu
 correio de voz.
Arquivo Voicemail.conf
 Voicemail.conf                        Sip.conf
 [general]                             [4000]
 format=gsm                            mailbox=600@caixa_msg
 serveremail=asterisk@hotmail.com
 maxlogins=5
 maxmsg=100
 delete=no
 attach=yes

 [caixa_msg]
 include => general
  600 =>
123,vicente,vicente.proj@hotmail.com
Arquivo Voicemail.conf
Extensions.conf
[local]
include=>correio
 exten => _40XX,1,Dial(SIP/${EXTEN},40)
 exten => _40XX,2,GoToIf($[${DIALSTATUS} = CHANUNAVAIL] ? 5)
 exten => _40XX,3,GoToIf($[${DIALSTATUS} = BUSY] ? 6)
 exten => _40XX,4,HangUp()
 exten => _40XX,5,VoiceMail(u600@caixa_msg) ; indisponível
 exten => _40XX,6,VoiceMail(b600@caixa_msg) ; ocupado
; Acceso ao correio de voz
[correio]
exten => 100, 1, VoiceMailMain(600@caixa_msg)
exten=> 100,n,HangUp()
Arquivo meetme.conf
 A conferência no Asterisk é feita usando a aplicação
 MeetMe()
 O MeetMe() é uma ponte de videoconferência, que pode
 funcionar em qualquer tipo de canal

 ;meetme.conf
 [rooms]
 conf=>sala,senha

 ;Exemplo
 conf=> 500
 conf=> 500,123456
Arquivo meetme.conf
 No arquivo extensions.conf pode ser definido uma
 nova sessão chamada conferencia e essa sessão ser
 incluída na sessão local através do parâmetro include.
 [local]
 include=>conferencia
 exten=> _30XX,1,Answer
 exten=> _30XX,n,Wait(0.5)
 exten=> _30XX,n,PlayBack(hello-world)
 exten=> _30XX,n,Authenticate(875)
 exten => _30XX,n,Dial(SIP/${EXTEN},20)
 exten => _30XX,n,Hangup()
Arquivo meetme.conf
 [conferencia]
  exten=> 500,1,Answer
  exten=> 500,n,MeetmeCount(500,total)
  exten=> 500,n,ExecIf($[${total}=6]?HangUp)
  exten=> 500,n,MeetMe(500)
  exten=> 500,n,HangUp()
Arquivo queues.conf
Arquivo queues.conf
 As filas de atendimento são criadas no arquivo queues.conf

  As filas possuem agentes para atender chamadas que são
 configuradas no arquivo agents.conf

 Podem ser configuradas mensagens durante o tempo de
 espera
 – Propagandas
 – Tempo médio de espera
 – Posição na fila
Exemplo de Fila
 arquivo queues.conf

 [telemarkting]
 musicclass=default
 announce= anunciodafila
 timeout=15
 retry=5
 strategy=roundrobin
 monitor-format=gsm
 member=agent/1000
 member=agent/1001
 member=agent/1002
Exemplo de Fila
 arquivo agents.conf

 [agents]
 agent => 1000,123,agente1
 agent => 1001,1234,agente2
 agent => 1002,12345,agente3
Exemplo de Fila
 arquivo extensions.conf

 [telemarketing]
 exten=> 800,1,Answer
 exten=> 800,2,Queue(telemarketing)

 [login]
 exten=> 900,1,Answer
 exten=> 900,2,AgentLogin()
Estacionamento de Chamadas
 Coloca uma chamada em uma fila de espera, para que algum
 outro ramal possa capturá-lo. Configurado no arquivo
 features.conf

 parkext=700.: Extensão onde se deve transferir a chamada
 parkpos=701-709.: Salas disponíveis para o estacionamento
 context=parkedcalls.: Contexto com regras de estacionamento
 parkingtime=60.: Tempo que a ligação ficará estacionada

No arquivo extensions.conf adiciona-se a seguinte linha
include=>parkedcalls
Transferência de chamadas
 Existem duas formas de transferências:
 -As cegas(blind transfer)
 Não há a consulta previa do destinatário da chamada,
 é executado através da tecla #

 -Assistida(attended tranfer)
  Há consulta previa do destinatário da chamada,
 executado pela tecla FLASH
Transferência de chamadas
 Existem duas formas de transferências:
 São configuradas no arquivo features.conf:

- blindxfer.: Define o código para transferência as
 cegas o padrão é o caractere #(sustenido)

- atxfer.: Define o código para transferência assistida o
 padrão é o *2
Captura de chamadas
 Transferir uma chamada que está tocando em outro ramal para o
 seu e assim atendê-lo

- Captura em grupo:

É Configurado no arquivo no arquivo features.conf
especificando o parâmetro:
pickupexten.: *8     ;valor padrão

Agrupa-se os canais por meio de dois parâmetros:
callgroup.: Grupo, o qual o canal faz parte
pickupgroup.: Grupos que os canais podem capturar chamadas
Captura de chamadas
Exemplo:
;arquivo sip.conf ou iax.conf e etc
[1001]
callgroup=1
pickupgroup=1,2

 [1002]
callgroup=2
pickupgroup=2

 Obs.: Essa forma de captura de chamadas funciona apenas para canais que
 utilizem o mesmo protocolo de sinalização como o SIP, IAX, H323 e etc.
Captura de chamadas
Captura direta:
 Captura uma chamada diretamente especificando o ramal que se
 deseja capturar, independente do grupo e protocolo

 Implementa-se dentro do arquivo extensions.conf através da
 aplicação PickUp()

 Sintaxe:
 PickUp(extensão@contexto)

 Exemplo:
 exten=> _030xx,1,PickUp(${EXTEN:1}@local)
Gravação de chamadas
 - MixMonitor.: Grava o áudio da chamada no formato
 da extensão especificada

 - Sintaxe:
 MixMonitor(arquivo.ext,opções)

 - Opções:
  a .: Adiciona no final do arquivo a gravação ao invés de
 subscrever o áudio
  b .: Grava o áudio depois da chamada ser atendida
Gravação de chamadas
Exemplo:
 [local]
 exten=> _40xx,1,MixMonitor(chamada-${EXTEN}.gsm,ab)
 exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)
 exten=> _40xx,n,HangUp()
 ;localização dos arquivos:
 /var/spool/asterisk/monitor/

t .: habilita transferência de chamadas para o lado destino
T .: habilita transferência de chamadas para o lado originador
w .: habilita gravação da chamada para o lado destino
W .: habilita gravação da chamada para o lado originador
Gravação de chamadas
 - Monitor.: Grava o áudio da chamada no formato
 especificado em dois arquivos separados, entrada (-in) e
 saída(-out)

 - Sintaxe:
   Monitor(formato, arquivo,opções)

 - Opções:
 m.: Mixa os arquivos de entrada e saída ao final da gravação
 b.: Grava o áudio após a chamada ser atendida
Gravação de chamadas
Exemplo:
[local]
exten=> _40xx,1,Monitor(WAV,chamada-${EXTEN},mb)
exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)
exten=> _40xx,n,HangUp()
Arquivo iax.conf
 Permite a comunicação entre dois servidores asterisk

 Transporta sinalização e mídia em uma única porta
 TCP/IP-UDP, a 4569

 Não possui dificuldades para sinalização e transporte
 de mídia entre pontos de conexão como NAT e
 Firewalls
Arquivo iax.conf
Cenários de uso - Servidor IAX:
 ;arquivo iax    ;arquivo extensions.conf
 [1000]          [local]
 type=friend     exten=> _10XX,1,Dial(IAX2/${EXTEN},60)
 context=local   exten=> _10XX,n,Hangup()
 auth=md5
 username=1000
 secret=1000
 callerid=1000
 host=dynamic
 allow=gsm
Arquivo iax.conf
Cenários de uso –Modo Trunk

 Permite a comunicação entre dois servidores asterisk

 O áudio de varias chamadas será agrupado em um único
 conjunto de pacotes utilizando um único cabeçalho IP

 Reduz a latência fazendo uma economia na utilização da
 rede, já que os cabeçalhos IPs ocupam um maior percentual
 de uso de banda
Arquivo iax.conf
Cenários de uso –Modo Trunk

 Exemplo conectando matriz e filial com o IAX:

 IP da Matriz.: 192.168.0.1
 - Faixa de ramais locais.: 10XX
 - Faixa de ramais externos.: 20XX

 IP da FILIAL: 192.168.0.3
 - Faixa de ramais locais.: 20XX
 - Faixa de ramais externos.: 10XX
Arquivo iax.conf
Cenários de uso – Modo Trunk
 Exemplo conectando matriz e filial com o IAX:
  ;codigo para a matriz   ;ramal local para a matriz
  [general]               [1000]
  bindport=4569           type=friend
                          username=1000
  bindaddr=0.0.0.0
                          secret=1000
  disallow=all
                          host=dynamic
  allow=gsm               context=local
  jitterbuffer=no         auth=md5
  forcejitterbuffer=no    qualify=yes
  maxjitterbuffer=100     trunk=yes
                          callerid=1000
Arquivo iax.conf
Cenários de uso – Modo Trunk
 Exemplo conectando matriz e filial com o IAX:
  ;ramal para se conectar a filial
  [2000]
  type=friend
  username=2000
  secret=2000
  host=dynamic
  auth=md5
  qualify=yes
  trunk=yes
  callerid=2000
Arquivo iax.conf
Cenários de uso – Modo Trunk
 Exemplo conectando matriz e filial com o IAX:

;arquivo extensions.conf
[local]
include=>externo
exten=> _10XX,1,Dial(IAX2/${EXTEN},60,tT)
exten=> _10XX,n,Hangup()

[externo]
exten=> _20XX,1,Dial(IAX2/2000:2000@192.168.0.3/${EXTEN},60,tT)
exten=> _20XX,n,Hangup()
Arquivo iax.conf
Cenários de uso – Modo Trunk
 Exemplo conectando matriz e filial com o IAX:
  ;codigo para a filial   ;ramal para se conectar a matriz
  [general]               [1000]
  bindport=4569           type=friend
  bindaddr=0.0.0.0        username=1000
  disallow=all            secret=1000
  allow=gsm               host=dynamic
  jitterbuffer=no         auth=md5
  forcejitterbuffer=no    qualify=yes
  maxjitterbuffer=100     trunk=yes
                          callerid=1000
Arquivo iax.conf
Cenários de uso – Modo Trunk
 Exemplo conectando matriz e filial com o IAX:
  ;ramal local para a filial
  [2000]
  type=friend
  username=2000
  secret=2000
  host=dynamic
  context=local
  auth=md5
  qualify=yes
  trunk=yes
  callerid=2000
Arquivo iax.conf
Cenários de uso – Modo Trunk
  Exemplo conectando matriz e filial com o IAX:

;arquivo extensions.conf
[local]
include=>externo
exten=> _20XX,1,Dial(IAX2/${EXTEN},60,tT)
exten=> _20XX,n,Hangup()

[externo]
exten=> _10XX,1,Dial(IAX2/1000:1000@192.168.0.1/${EXTEN},60,tT)
exten=> _10XX,n,Hangup()
Contato, Criticas, Sugestões e Dúvidas:

– vicente.proj@hotmail.com
 Endereço do You Tube:
- http://www.youtube.com/user/voipjava
 Web sites:
– www.asterisk.org
– www.digium.com
– www.voip-info.org
Fim

Mais conteúdo relacionado

PPTX
Session 2546 - Solving Performance Problems in CICS using CICS Performance A...
PDF
SIP Testing with FreeSWITCH
PPTX
Introduction to Diameter Protocol - Part1
PDF
Red Hat Essentials
PDF
유닉스 리눅스 마이그레이션_이호성_v1.0
PDF
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
PDF
Freeswitch
PPTX
Point of View -Converged Infrastructure
Session 2546 - Solving Performance Problems in CICS using CICS Performance A...
SIP Testing with FreeSWITCH
Introduction to Diameter Protocol - Part1
Red Hat Essentials
유닉스 리눅스 마이그레이션_이호성_v1.0
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
Freeswitch
Point of View -Converged Infrastructure

Mais procurados (20)

PPTX
NGINX Plus Hands On Training
PDF
Introduction to FreeSWITCH
PDF
Lesson 2 Understanding Linux File System
PPTX
Introducing Dapr.io - the open source personal assistant to microservices and...
PDF
eBPF - Observability In Deep
PDF
Docker Advanced registry usage
PPTX
UNIX Operating System
PPT
Linux basics
PDF
High Performance Networking with DPDK & Multi/Many Core
PDF
OpenStack Telco Architecture: OpenStack Summit Boston 2017
PPTX
Open network operating system (onos)
DOCX
Konfigurasi mikrotik untuk jaringan lan
PDF
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
PDF
kubernetes를 부탁해~ Prometheus 기반 Monitoring 구축&활용기
PDF
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
PDF
Windowsコンテナ入門
PDF
Using Azure Compute with VMSS, Kubernetes, and Service Fabric
PDF
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
PDF
Scaling FreeSWITCH Performance
PDF
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
NGINX Plus Hands On Training
Introduction to FreeSWITCH
Lesson 2 Understanding Linux File System
Introducing Dapr.io - the open source personal assistant to microservices and...
eBPF - Observability In Deep
Docker Advanced registry usage
UNIX Operating System
Linux basics
High Performance Networking with DPDK & Multi/Many Core
OpenStack Telco Architecture: OpenStack Summit Boston 2017
Open network operating system (onos)
Konfigurasi mikrotik untuk jaringan lan
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
kubernetes를 부탁해~ Prometheus 기반 Monitoring 구축&활용기
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Windowsコンテナ入門
Using Azure Compute with VMSS, Kubernetes, and Service Fabric
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Scaling FreeSWITCH Performance
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
Anúncio

Destaque (20)

PDF
Asterisk O Pabx Livre Para Voip
PPT
Arduino - Desenvolvendo com hardware livre
PPTX
Asterisk Uma SoluçãO Em Pabx Ip
PPTX
Automação residencial por controle dtmf
PDF
Arduino: Passado, presente e futuro.
PDF
Diversão e lucro com raspberry pi
PDF
Redes - VoIP Asterisk Dial Plan
PPTX
Asterisk - Open Source Communication (Seminário UNICAP 2011)
PDF
PABX IP utilizando Asterisk
PPTX
Projeto Asterisk - Empresa
PDF
Instalação do Asterisk
PPT
Call Center baseado em Asterisk
PDF
Oficina I - WEB MISSILE
PDF
Oficina II - RASPBX
PDF
End of the world presentation
PDF
Manual PABX Intelbras_corp_16000
PDF
Redes - VoIP Asterisk
PDF
Conceitos e Fundamentos da Telefonia IP
PDF
Asterisk Xenified
Asterisk O Pabx Livre Para Voip
Arduino - Desenvolvendo com hardware livre
Asterisk Uma SoluçãO Em Pabx Ip
Automação residencial por controle dtmf
Arduino: Passado, presente e futuro.
Diversão e lucro com raspberry pi
Redes - VoIP Asterisk Dial Plan
Asterisk - Open Source Communication (Seminário UNICAP 2011)
PABX IP utilizando Asterisk
Projeto Asterisk - Empresa
Instalação do Asterisk
Call Center baseado em Asterisk
Oficina I - WEB MISSILE
Oficina II - RASPBX
End of the world presentation
Manual PABX Intelbras_corp_16000
Redes - VoIP Asterisk
Conceitos e Fundamentos da Telefonia IP
Asterisk Xenified
Anúncio

Semelhante a Apresentação asterisk (20)

PDF
Soluções voip com asterisk - Henrique Petry Rauber
PDF
Tutorial asterisk
PDF
Configuracao do asterisk
PDF
Asterisk central ipbx debian [artigo]
PDF
PPTX
Aula 11 meios de comunicação de dados
PDF
Apresentação FLISOL 2012 - Goiânia GO
PDF
Curso VoIP Profissional com Asterisk em Sao Paulo
PDF
Instalação do asterisk
PDF
20 81-1-pb
PPT
Construindo URA e Sistemas de Call Center com Asterisk
PPT
Construindo URA e Sistemas de Call Center com Asterisk
PPT
Asterisk casosdesucesso
PDF
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
ODT
Asterisk
ODP
Envio e Recebimento SMS
PDF
Elasitx user manual_portuguese_0.9-alpha
PDF
Projeto asteris para controle remoto
Soluções voip com asterisk - Henrique Petry Rauber
Tutorial asterisk
Configuracao do asterisk
Asterisk central ipbx debian [artigo]
Aula 11 meios de comunicação de dados
Apresentação FLISOL 2012 - Goiânia GO
Curso VoIP Profissional com Asterisk em Sao Paulo
Instalação do asterisk
20 81-1-pb
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
Asterisk casosdesucesso
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Asterisk
Envio e Recebimento SMS
Elasitx user manual_portuguese_0.9-alpha
Projeto asteris para controle remoto

Apresentação asterisk

  • 1. Asterisk Vicente de Paula Nobre vicente.proj@hotmail.com
  • 2. Principais Tópicos O que é o asterisk Alguns Recursos Arquitetura do asterisk Hardware e software Cenários de uso Instalação no Centos 5 Principais arquivos de configuração
  • 3. Principais Tópicos Sintaxe de configuração Plano de discagem com cliente SIP Correio de voz, salas de conferência e Filas Estacionamento e transferência de chamadas Captura e gravação de chamadas Plano de discagem com cliente IAX Interligar dois servidores Asterisk com IAX em modo trunk
  • 4. O que é o Asterisk É um PABX IP baseado em software livre sob licença GPL, que pode rodar em vários sistemas operacionais, mais que se adéqua melhor ao Linux Interliga redes IPs a rede de telefonia pública
  • 5. O que é o Asterisk Configuração de Recursos avançados e a agregação de novas funcionalidades. Foi desenvolvido pela Digium que também investe em Hardware de baixo custo Software de código aberto, muitos desenvolvedores contribuem para o seu crescimento.
  • 6. Alguns Recursos Salas de Conferências Gravação de chamadas Transferência de ligações Estacionamento de chamadas Filas de atendimento Correio de voz
  • 7. Alguns Recursos URA (unidade de resposta audível) Planos de discagens flexíveis Música em espera Monitoramento de chamadas Uso de banco de dados (MySQL, PostgreSQL) Geração de bilhetagem
  • 9. Arquitetura do Asterisk Canais - Linhas Telefônicas; - Analógicas, Digitais e Virtuais; - Modulados por Codecs; Encapsulados por um Protocolo Sinalizador - Estabelecer as conexões; - Campainha; - Desconexão;
  • 10. Arquitetura do Asterisk Codecs – Compressão da voz; Principais – G.729a – 8Kbits com licença; – G.711 ulaw - usado nos EUA 64 Kbps; – G.711 alaw - usado na Europa e Brasil 64 Kbps; – G.723.1 - 5.3-6 Kbps com licença; – GSM - 12-13 Kbps, Telefonia Celular;
  • 11. Arquitetura do Asterisk Protocolos – H323 – Antigo protocolo para VoIP. – IAX – Inter-Asterisk Exchange Protocol; – SIP – Session Initiation Protocol; – Skinny - Telefones IP da Cisco; – ZAP/DAHDI – Hardware de Digium;
  • 12. Hardware e software • Adaptador • SoftFone X-lite • Telefone IP
  • 13. Hardware e software • Placa de Telefonia IP
  • 14. Exemplo com placa de Telefonia
  • 15. Exemplo com banco de canais
  • 17. Instalação Utilizando uma distribuição Linux como o Centos 5:
  • 18. Instalação Baixa-se os pacotes do site da Digium: - asterisk-1.4.40.tar.gz - asterisk-addons-1.4.13.tar.gz - dahdi-linux-2.4.1.1.tar ou zaptel-1.4.12.1.tar - dahdi-tools-2.4.1.tar.gz - libpri-1.4.11.5.tar.gz - sounds-1.0-pt_BR.tar.gz - Disc-OS-Sounds-1.0-pt_BR.tar
  • 19. Instalação Baixa-se os pacotes do site da Digium: wget http://downloads.digium.com/pub/asterisk/asterisk- 1.4.40.tar.gz wget http://downloads.digium.com/pub/libpri/libpri- 1.4.11.5.tar.gz wget http://downloads.digium.com/pub/telephony/dahdi- linux/dahdi-linux-2.4.1.1.tar wget http://downloads.digium.com/pub/telephony/dahdi- tools/ dahdi-tools-2.4.1.tar.gz wget http://downloads.digium.com/pub/asterisk/asterisk- addons-1.4.13.tar.gz
  • 20. Instalação Copiam-se todos os arquivos para /usr/src - Exemplo: # cp asterisk-1.4.40.tar.gz /usr/src - Para copiar todos os arquivos: # cp *.tar.gz /usr/src
  • 21. Instalação Entra no diretório e descompacta cd /usr/src # tar xzfv asterisk-1.4.40.tar.gz # tar xzfv asterisk-addons-1.4.13.tar.gz # tar xzfv dahdi-linux-2.4.1.1.tar # tar xzfv dahdi-tools-2.4.1.tar.gz # tar xzfv libpri-1.4.11.5.tar.gz
  • 22. Instalação Compilação e instalação dos Arquivos Instalando o pacote dahdi-linux # cd dahdi-linux # vim README (opcional – para ver como se instala) # make clean # ./configure # make # make install
  • 23. Instalação Compilação e instalação dos Arquivos Instalando o pacote dahdi-tools # cd dahdi-tools-2.4.1 # make clean # ./configure # make # make install
  • 24. Instalação Compilação e instalação dos Arquivos Instalando o pacote libpri # cd libpri-1.4.11.5 # make clean # make # make install
  • 25. Instalação Compilação e instalação dos Arquivos Instalando o pacote asterisk # cd asterisk-1.4.40 # make clean # ./configure # make menuselect (habilita/desabilita as opções do asterisk) # make # make install # make samples (arquivos de exemplos) # make config (configura os módulos da maneira padrão)
  • 26. Instalação Compilação e instalação dos Arquivos Instalando o pacote asterisk-addons # cd asterisk-addons-1.4.13 # make clean # ./configure # make # make menuselect # make install # make samples
  • 27. Instalação Compilação e instalação dos Arquivos Instalando o pacote sounds # cp sounds-1.0-pt_BR.tar.gz /var/lib/asterisk # cd /var/lib/asterisk # tar xzfv sounds-1.0-pt_BR.tar.gz ou # cp Disc-OS-Sounds-1.0-pt_BR.tar /var/lib/asterisk # cd /var/lib/asterisk # tar xf Disc-OS-Sounds-1.0-pt_BR.tar
  • 28. Carregando o dahdi_dummy Para que funcione salas de conferência é preciso ter uma placa instalada no servidor para gerar uma temporização, no caso de não haver é necessário carregar o modulo dahdi_dummy ou ztdummy. # lsmod | grep dahdi_dummy # modprobe dahdi_dummy ou no caso do pacote zaptel-1.4.12.1.tar # lsmod | grep ztdummy # modprobe ztdummy
  • 29. Carregando o dahdi_dummy # echo "dahdi_dummy" >> /etc/modules O dahdi é carregado no Linux como um serviço: # /etc/init.d/dahdi start # /etc/init.d/asterisk restart Depois asterisk -r e execute o comando "dahdi show status"
  • 30. Iniciando e parando o Asterisk Iniciando # /usr/sbin/asterisk –vvvc Parando # stop now
  • 31. Arquivos de configuração O asterisk é controlado por arquivos de configuração localizados em /etc/asterisk. No formato .conf os arquivos são divididos em sessões: [sessao1] chave = valor ; Designação da variável [sessao2] objeto => valor ; Declaração do objeto [sessao3] objeto2 => valor ; Declaração do objeto2 ; Todos os arquivos seguem a mesma sintaxe
  • 32. Arquivos de configuração Existem algumas sessões com funções especificas: [general] .: Define os valores padrão para todas as outras sessões [channels] .: Especifica os canais de comunicação dentro do arquivo zapata.conf [globals] .: Criação das variáveis globais dentro de um plano de discagem
  • 33. Estrutura do sistema de arquivos Diretorio dos arquivos de configuração /etc/asterisk Diretorio dos Modulos, aplicações e canais /usr/lib/asterisk/modules Diretorio de gravação da voz usadas no correio de voz /var/lib/asterisk/sounds Diretorio para Scripts AGI (Asterisk Gateway Interface) /var/lib/asterisk/agi-bin
  • 34. Estrutura do sistema de arquivos Principais arquivos: sip.conf .: Clientes SIP. iax.conf .: Clientes IAX. extensions.conf.: Plano de discagem. voicemail.conf.: Correio de voz. queues.conf.: Filas de atendimentos. agents.conf.: Agentes que poderão atender chamadas em filas. meetme.conf.: Salas de conferência. manager.conf.: Administrador do servidor. features.conf: Configuração de transferências, estacionamento, gravação de chamadas e etc.
  • 35. Arquivo Sip.conf Contém parâmetros de configuração dos telefones e operadoras SIP. Os clientes devem estar configurados antes que possam fazer e receber chamadas.
  • 36. Arquivo Sip.conf Na sessão [general], define-se os valores das variáveis padrão para todos os canais SIP. Através da seguinte sintaxe: [general] variavel=valor1 variavel=valor2 [nome_sessao] type=friend/peer/user context=NomeContexto host=dynamic secret=senha_da_conta
  • 37. Arquivo Sip.conf Alguns parâmetros da sessão general: allow: Permite que um determinado codec seja usado disallow: Proíbe um determinado codec bindaddr: IP onde o Asterisk irá esperar pelas conexões SIP context: Configura o contexto padrão para todos os cliente SIP port: Porta para conexões de entrada SIP, o padrão é 5060 maxexpirey: Tempo máximo para registro em segundos defaultexpirey: Tempo padrão para registro em segundos register: Registra o Asterisk com outro host
  • 38. Arquivo Sip.conf Exemplo de configuração sessão general: [general] port=5060 bindaddr=0.0.0.0 context=ramais disallow=all allow=gsm maxexpirey=120 defaultexpirey=80 register=>vicente@freeworlddialup.com/5000
  • 39. Arquivo Sip.conf As seções seguintes definem os parâmetros das entidades SIP tais como o nome de usuário, senha e endereço IP. Três categorias de entidades SIP são definidas: peer: Entidade que recebe chamadas através do asterisk user: Entidade que faz chamadas através do Asterisk friend: Entidade que pode fazer e receber chamadas
  • 40. Arquivo Sip.conf Principais campos das sessões: type: Configura a classe de conexão, opções são peer, user e friend host: Configura o endereço IP ou o nome do host. Pode-se usar também a opção ‘dynamic’ onde se espera que o telefone se registre username: Esta opção configura o nome do usuário que o Asterisk tenta conectar quando uma chamada é recebida secret: Senha para autenticar os peers e users fazendo uma chamada
  • 41. Arquivo Sip.conf [general] [2050] context=ramais type=friend port=5060 host=dynamic bindaddr=0.0.0.0 username=2050 disallow=all secret= 351654 allow=alaw context=externo language=pt_BR callerid=maria<2050> [2000] type=friend host=dynamic username=2000 secret= 698569 callerid=vicente<2000>
  • 42. Arquivo Extensions.conf O plano de discagem é representado pelo extensions.conf Consiste de uma lista de instruções ou passos que o Asterisk deve seguir Essas instruções são disparadas de acordo com uma prioridade a partir dos dígitos recebidos de um canal ou aplicação
  • 43. Arquivo Extensions.conf O plano de discagem é dividido em quatro conceitos: - Contextos - Extensões - Prioridades - Aplicações Os contextos são definidos para cada canal dentro dos arquivos sip.conf, iax.conf, h323.conf e etc.
  • 44. Arquivo Extensions.conf Contextos São responsáveis pela organização e segurança do plano de discagem Definem o escopo e permitem separar diferentes partes do plano de discagem Estão ligados diretamente aos canais, cada canal existe dentro de um contexto Quando uma ligação entra no Asterisk por um canal ela é processada dentro de um contexto
  • 45. Arquivo Extensions.conf Contextos Os contextos recebem o seu nome dentro de colchetes ([]s) Exemplo: [ramais] Todas as instruções colocadas após a definição são partes do contexto
  • 46. Arquivo Extensions.conf Extensões Dentro de cada contexto serão definidas as extensões Uma extensão é uma string que vai disparar um evento [ramais] exten=>2000,1,Dial(SIP/2000,20) exten=>2000,2,VoiceMail(u300) ;indisponível exten=>2000,101,VoiceMail(b300) ;ocupado A instrução “exten=> “ descreve qual o próximo passo para a ligação O “2000” é o numero discado O “1”, “2”e “101” são as prioridades que determinam a ordem de execução
  • 47. Arquivo Extensions.conf Extensões Extensões determinam o fluxo das chamadas Uma extensão é definida com a sintaxe: exten=> extensão, prioridade(nome), aplicação O comando “exten=>” é seguido por um número da extensão, uma vírgula, a prioridade, outra vírgula e a aplicação.
  • 48. Arquivo Extensions.conf Prioridades Cada extensão é executada dentro de um contexto através de prioridades e não por ordem de definição no arquivo Cada prioridade chama uma aplicação especifica [ramais] exten=>_20XX,1,Dial(SIP/${EXTEN},20) exten=>_20XX,n,VoiceMail(u300) exten=>_20XX,n,Hangup()
  • 49. Arquivo Extensions.conf Aplicações As aplicações tratam o canal de voz: - Tocando sons. - Aceitando dígitos. - Correio de voz. - Sala de conferência. - Desligando uma chamada e etc. As aplicações são chamadas com opções que afetam a sua forma de funcionamento
  • 50. Arquivo Extensions.conf Exemplo de Aplicações São os utilitários chamados a partir do plano de discagem: - Answer.: Atende a chamada e sincroniza o canal de áudio - PlayBack.: Reproduz um arquivo de áudio localizado em /var/lib/asterisk/sounds - BackGround.: Faz a mesma função do PlayBack, mas permite a interação com o usuário - Dial.: Conecta dois canais de comunicação - MeetMe.: Entra em uma sala de conferência configurada em meetme.conf - Queue.: Entra em uma determinada fila configurada em queues.conf - VoiceMail.: Chama uma caixa de mensagens configurado em voicemail.conf - Hangup.: Encerra a chamada
  • 51. Plano de discagem simples Passos para a criação de um ramal: 1 - Cadastrá-lo no arquivo de configuração referente ao protocolo sip.conf, iax.conf, h323.conf e etc. 2 – Definir o contexto ao qual a extensão participará 3 - Definir dentro do arquivo extensions.conf o plano de discagem para esse ramal
  • 52. Plano de discagem simples Arquivo sip.conf Define valores padrão Configura a extensão 3000 [general] [3000] port=5060 type=friend bindaddr=0.0.0.0 host=dynamic disallow=all username=3000 allow=alaw secret=654321 language=pt_BR callerid=vicente<3000> mailbox=300@default context=local
  • 53. Plano de discagem simples Arquivo sip.conf Configura a extensão 3050 [3050] type=friend host=dynamic username=3050 secret=123456 callerid=maria<3050> mailbox=300@default context=local
  • 54. Plano de discagem simples Arquivo extensions.conf [local] exten=> 3000,1,Dial(SIP/3000,20) exten=> 3000,2,HangUp() exten=> 3050,1,Dial(SIP/3050,20) exten=> 3050,2,HangUp() [local] exten=> _30XX,1,Answer exten=> _30XX,n,Wait(0.5) exten=> _30XX,n,PlayBack(hello-word) exten=> _30XX,n,Authenticate(875) exten=> _30XX,n,Dial(SIP/${EXTEN},20) exten=> _30XX,n,HangUp()
  • 55. Arquivo Voicemail.conf Permite que uma chamada ocupada ou não atendida seja enviada para uma secretária eletrônica Passos para a criação de um correio de voz: 1. Em voicemail.conf defini-se os usuários e senhas para o correio de voz. 2. Em extensions.conf configura-se uma extensão para que uma chamada ocupada ou não atendida seja direcionada para a aplicação VoiceMail(). 3. Configura-se uma extensão para que o usuário possa ouvir seu correio de voz.
  • 56. Arquivo Voicemail.conf Voicemail.conf Sip.conf [general] [4000] format=gsm mailbox=600@caixa_msg serveremail=asterisk@hotmail.com maxlogins=5 maxmsg=100 delete=no attach=yes [caixa_msg] include => general 600 => 123,vicente,vicente.proj@hotmail.com
  • 57. Arquivo Voicemail.conf Extensions.conf [local] include=>correio exten => _40XX,1,Dial(SIP/${EXTEN},40) exten => _40XX,2,GoToIf($[${DIALSTATUS} = CHANUNAVAIL] ? 5) exten => _40XX,3,GoToIf($[${DIALSTATUS} = BUSY] ? 6) exten => _40XX,4,HangUp() exten => _40XX,5,VoiceMail(u600@caixa_msg) ; indisponível exten => _40XX,6,VoiceMail(b600@caixa_msg) ; ocupado ; Acceso ao correio de voz [correio] exten => 100, 1, VoiceMailMain(600@caixa_msg) exten=> 100,n,HangUp()
  • 58. Arquivo meetme.conf A conferência no Asterisk é feita usando a aplicação MeetMe() O MeetMe() é uma ponte de videoconferência, que pode funcionar em qualquer tipo de canal ;meetme.conf [rooms] conf=>sala,senha ;Exemplo conf=> 500 conf=> 500,123456
  • 59. Arquivo meetme.conf No arquivo extensions.conf pode ser definido uma nova sessão chamada conferencia e essa sessão ser incluída na sessão local através do parâmetro include. [local] include=>conferencia exten=> _30XX,1,Answer exten=> _30XX,n,Wait(0.5) exten=> _30XX,n,PlayBack(hello-world) exten=> _30XX,n,Authenticate(875) exten => _30XX,n,Dial(SIP/${EXTEN},20) exten => _30XX,n,Hangup()
  • 60. Arquivo meetme.conf [conferencia] exten=> 500,1,Answer exten=> 500,n,MeetmeCount(500,total) exten=> 500,n,ExecIf($[${total}=6]?HangUp) exten=> 500,n,MeetMe(500) exten=> 500,n,HangUp()
  • 62. Arquivo queues.conf As filas de atendimento são criadas no arquivo queues.conf As filas possuem agentes para atender chamadas que são configuradas no arquivo agents.conf Podem ser configuradas mensagens durante o tempo de espera – Propagandas – Tempo médio de espera – Posição na fila
  • 63. Exemplo de Fila arquivo queues.conf [telemarkting] musicclass=default announce= anunciodafila timeout=15 retry=5 strategy=roundrobin monitor-format=gsm member=agent/1000 member=agent/1001 member=agent/1002
  • 64. Exemplo de Fila arquivo agents.conf [agents] agent => 1000,123,agente1 agent => 1001,1234,agente2 agent => 1002,12345,agente3
  • 65. Exemplo de Fila arquivo extensions.conf [telemarketing] exten=> 800,1,Answer exten=> 800,2,Queue(telemarketing) [login] exten=> 900,1,Answer exten=> 900,2,AgentLogin()
  • 66. Estacionamento de Chamadas Coloca uma chamada em uma fila de espera, para que algum outro ramal possa capturá-lo. Configurado no arquivo features.conf parkext=700.: Extensão onde se deve transferir a chamada parkpos=701-709.: Salas disponíveis para o estacionamento context=parkedcalls.: Contexto com regras de estacionamento parkingtime=60.: Tempo que a ligação ficará estacionada No arquivo extensions.conf adiciona-se a seguinte linha include=>parkedcalls
  • 67. Transferência de chamadas Existem duas formas de transferências: -As cegas(blind transfer) Não há a consulta previa do destinatário da chamada, é executado através da tecla # -Assistida(attended tranfer) Há consulta previa do destinatário da chamada, executado pela tecla FLASH
  • 68. Transferência de chamadas Existem duas formas de transferências: São configuradas no arquivo features.conf: - blindxfer.: Define o código para transferência as cegas o padrão é o caractere #(sustenido) - atxfer.: Define o código para transferência assistida o padrão é o *2
  • 69. Captura de chamadas Transferir uma chamada que está tocando em outro ramal para o seu e assim atendê-lo - Captura em grupo: É Configurado no arquivo no arquivo features.conf especificando o parâmetro: pickupexten.: *8 ;valor padrão Agrupa-se os canais por meio de dois parâmetros: callgroup.: Grupo, o qual o canal faz parte pickupgroup.: Grupos que os canais podem capturar chamadas
  • 70. Captura de chamadas Exemplo: ;arquivo sip.conf ou iax.conf e etc [1001] callgroup=1 pickupgroup=1,2 [1002] callgroup=2 pickupgroup=2 Obs.: Essa forma de captura de chamadas funciona apenas para canais que utilizem o mesmo protocolo de sinalização como o SIP, IAX, H323 e etc.
  • 71. Captura de chamadas Captura direta: Captura uma chamada diretamente especificando o ramal que se deseja capturar, independente do grupo e protocolo Implementa-se dentro do arquivo extensions.conf através da aplicação PickUp() Sintaxe: PickUp(extensão@contexto) Exemplo: exten=> _030xx,1,PickUp(${EXTEN:1}@local)
  • 72. Gravação de chamadas - MixMonitor.: Grava o áudio da chamada no formato da extensão especificada - Sintaxe: MixMonitor(arquivo.ext,opções) - Opções: a .: Adiciona no final do arquivo a gravação ao invés de subscrever o áudio b .: Grava o áudio depois da chamada ser atendida
  • 73. Gravação de chamadas Exemplo: [local] exten=> _40xx,1,MixMonitor(chamada-${EXTEN}.gsm,ab) exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW) exten=> _40xx,n,HangUp() ;localização dos arquivos: /var/spool/asterisk/monitor/ t .: habilita transferência de chamadas para o lado destino T .: habilita transferência de chamadas para o lado originador w .: habilita gravação da chamada para o lado destino W .: habilita gravação da chamada para o lado originador
  • 74. Gravação de chamadas - Monitor.: Grava o áudio da chamada no formato especificado em dois arquivos separados, entrada (-in) e saída(-out) - Sintaxe: Monitor(formato, arquivo,opções) - Opções: m.: Mixa os arquivos de entrada e saída ao final da gravação b.: Grava o áudio após a chamada ser atendida
  • 75. Gravação de chamadas Exemplo: [local] exten=> _40xx,1,Monitor(WAV,chamada-${EXTEN},mb) exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW) exten=> _40xx,n,HangUp()
  • 76. Arquivo iax.conf Permite a comunicação entre dois servidores asterisk Transporta sinalização e mídia em uma única porta TCP/IP-UDP, a 4569 Não possui dificuldades para sinalização e transporte de mídia entre pontos de conexão como NAT e Firewalls
  • 77. Arquivo iax.conf Cenários de uso - Servidor IAX: ;arquivo iax ;arquivo extensions.conf [1000] [local] type=friend exten=> _10XX,1,Dial(IAX2/${EXTEN},60) context=local exten=> _10XX,n,Hangup() auth=md5 username=1000 secret=1000 callerid=1000 host=dynamic allow=gsm
  • 78. Arquivo iax.conf Cenários de uso –Modo Trunk Permite a comunicação entre dois servidores asterisk O áudio de varias chamadas será agrupado em um único conjunto de pacotes utilizando um único cabeçalho IP Reduz a latência fazendo uma economia na utilização da rede, já que os cabeçalhos IPs ocupam um maior percentual de uso de banda
  • 79. Arquivo iax.conf Cenários de uso –Modo Trunk Exemplo conectando matriz e filial com o IAX: IP da Matriz.: 192.168.0.1 - Faixa de ramais locais.: 10XX - Faixa de ramais externos.: 20XX IP da FILIAL: 192.168.0.3 - Faixa de ramais locais.: 20XX - Faixa de ramais externos.: 10XX
  • 80. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;codigo para a matriz ;ramal local para a matriz [general] [1000] bindport=4569 type=friend username=1000 bindaddr=0.0.0.0 secret=1000 disallow=all host=dynamic allow=gsm context=local jitterbuffer=no auth=md5 forcejitterbuffer=no qualify=yes maxjitterbuffer=100 trunk=yes callerid=1000
  • 81. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;ramal para se conectar a filial [2000] type=friend username=2000 secret=2000 host=dynamic auth=md5 qualify=yes trunk=yes callerid=2000
  • 82. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;arquivo extensions.conf [local] include=>externo exten=> _10XX,1,Dial(IAX2/${EXTEN},60,tT) exten=> _10XX,n,Hangup() [externo] exten=> _20XX,1,Dial(IAX2/2000:2000@192.168.0.3/${EXTEN},60,tT) exten=> _20XX,n,Hangup()
  • 83. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;codigo para a filial ;ramal para se conectar a matriz [general] [1000] bindport=4569 type=friend bindaddr=0.0.0.0 username=1000 disallow=all secret=1000 allow=gsm host=dynamic jitterbuffer=no auth=md5 forcejitterbuffer=no qualify=yes maxjitterbuffer=100 trunk=yes callerid=1000
  • 84. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;ramal local para a filial [2000] type=friend username=2000 secret=2000 host=dynamic context=local auth=md5 qualify=yes trunk=yes callerid=2000
  • 85. Arquivo iax.conf Cenários de uso – Modo Trunk Exemplo conectando matriz e filial com o IAX: ;arquivo extensions.conf [local] include=>externo exten=> _20XX,1,Dial(IAX2/${EXTEN},60,tT) exten=> _20XX,n,Hangup() [externo] exten=> _10XX,1,Dial(IAX2/1000:1000@192.168.0.1/${EXTEN},60,tT) exten=> _10XX,n,Hangup()
  • 86. Contato, Criticas, Sugestões e Dúvidas: – vicente.proj@hotmail.com Endereço do You Tube: - http://www.youtube.com/user/voipjava Web sites: – www.asterisk.org – www.digium.com – www.voip-info.org
  • 87. Fim