87
Asterisk Vicente de Paula Nobre [email protected]

Apresentação asterisk

Embed Size (px)

DESCRIPTION

Essa apresentação contém a configuração de todos os tipos básicos de configuração do asterisk. Qualquer duvida podem mandar um email para: [email protected] Ou visitar o endereço do you tube que contém muitos vídeos ensinando a configurar o asterisk. http://www.youtube.com/user/voipjava

Citation preview

Page 1: Apresentação asterisk

Asterisk

Vicente de Paula NobreVicente de Paula Nobre

[email protected]

Page 2: Apresentação asterisk

Principais Tópicos

� O que é o asterisk� Alguns Recursos� Arquitetura do asterisk � Hardware e software� Hardware e software� Cenários de uso� Instalação no Centos 5� Principais arquivos de configuração

Page 3: Apresentação asterisk

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� 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

Page 4: Apresentação asterisk

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 LinuxLinux

� Interliga redes IPs a rede de telefonia pública

Page 5: Apresentação asterisk

O que é o Asterisk

� Configuração de Recursos avançados e a agregação de novas funcionalidades.

Foi desenvolvido pela Digium que também � 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.

Page 6: Apresentação asterisk

Alguns Recursos

� Salas de Conferências

� Gravação de chamadas

� Transferência de ligações� Transferência de ligações

� Estacionamento de chamadas

� Filas de atendimento

� Correio de voz

Page 7: Apresentação asterisk

Alguns Recursos

� URA (unidade de resposta audível)

� Planos de discagens flexíveis

� Música em espera� Música em espera

� Monitoramento de chamadas

� Uso de banco de dados (MySQL, PostgreSQL)

� Geração de bilhetagem

Page 8: Apresentação asterisk

Arquitetura do Asterisk

Page 9: Apresentação 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;

Page 10: Apresentação asterisk

� Codecs

– Compressão da voz;

Arquitetura do Asterisk

� 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;

Page 11: Apresentação asterisk

� Protocolos

– H323 – Antigo protocolo para VoIP.

Arquitetura do Asterisk

– IAX – Inter-Asterisk Exchange Protocol;

– SIP – Session Initiation Protocol;

– Skinny - Telefones IP da Cisco;

– ZAP/DAHDI – Hardware de Digium;

Page 12: Apresentação asterisk

Hardware e software

• SoftFone X-lite • Telefone IP• Adaptador

Page 13: Apresentação asterisk

Hardware e software

• Placa de Telefonia IP

Page 14: Apresentação asterisk

Exemplo com placa de Telefonia

Page 15: Apresentação asterisk

Exemplo com banco de canais

Page 16: Apresentação asterisk

Exemplo Interligando matriz e filial

Page 17: Apresentação asterisk

Instalação � Utilizando uma distribuição Linux como o Centos 5:

Page 18: Apresentação asterisk

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

Page 19: Apresentação asterisk

Instalação Baixa-se os pacotes do site da Digium: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/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

Page 20: Apresentação asterisk

� Copiam-se todos os arquivos para /usr/src

- Exemplo:

Instalação

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

- Para copiar todos os arquivos:

# cp *.tar.gz /usr/src

Page 21: Apresentação asterisk

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

Page 22: Apresentação asterisk

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

Page 23: Apresentação asterisk

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

Page 24: Apresentação asterisk

Instalação

� Compilação e instalação dos Arquivos

�Instalando o pacote libpri

# cd libpri-1.4.11.5

# make clean

# make

# make install

Page 25: Apresentação asterisk

Instalação

� Compilação e instalação dos Arquivos

�Instalando o pacote asterisk# cd asterisk-1.4.40

# make clean# 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)

Page 26: Apresentação asterisk

Instalação

� Compilação e instalação dos Arquivos

�Instalando o pacote asterisk-addons

# cd asterisk-addons-1.4.13

# make clean# make clean

# ./configure

# make

# make menuselect

# make install

# make samples

Page 27: Apresentação asterisk

Instalação

Compilação e instalação dos Arquivos� 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# 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

Page 28: Apresentação asterisk

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

Page 29: Apresentação asterisk

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"

Page 30: Apresentação asterisk

Iniciando e parando o Asterisk

� Iniciando

# /usr/sbin/asterisk –vvvc

� Parando

# stop now

Page 31: Apresentação asterisk

Arquivos de configuração

O asterisk é controlado por arquivos de configuração localizados 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

Page 32: Apresentação asterisk

Arquivos de configuração

Existem algumas sessões com funções especificas:

[general] .: Define os valores padrão para todas as outras sessõesoutras 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

Page 33: Apresentação asterisk

Estrutura do sistema de arquivosDiretorio dos arquivos de configuração�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

Page 34: Apresentação asterisk

Estrutura do sistema de arquivos

Principais arquivos:� Principais arquivos:

sip.conf .: Clientes SIP.iax.conf .: Clientes IAX.extensions.conf.: Plano de discagem.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.

Page 35: Apresentação asterisk

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.

Page 36: Apresentação asterisk

Arquivo Sip.confNa sessão [general], define-se os valores das variáveis padrãoNa sessão [general], define-se os valores das variáveis padrãopara todos os canais SIP.

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

[nome_sessao]type=friend/peer/usercontext=NomeContextohost=dynamicsecret=senha_da_conta

Page 37: Apresentação asterisk

Arquivo Sip.confAlguns parâmetros da sessão general:

allow: Permite que um determinado codec seja usado

disallow: Proíbe um determinado codecdisallow: 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

Page 38: Apresentação asterisk

Arquivo Sip.confExemplo de configuração sessão general:

[general]port=5060bindaddr=0.0.0.0bindaddr=0.0.0.0context=ramaisdisallow=allallow=gsmmaxexpirey=120defaultexpirey=80register=>[email protected]/5000

Page 39: Apresentação asterisk

Arquivo Sip.confAs 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: 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

Page 40: Apresentação asterisk

Arquivo Sip.confPrincipais campos das sessões: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 � 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

Page 41: Apresentação asterisk

Arquivo Sip.conf

[general]context=ramaisport=5060bindaddr=0.0.0.0disallow=all

[2050]type=friendhost=dynamicusername=2050secret= 351654disallow=all

allow=alawlanguage=pt_BR

secret= 351654context=externocallerid=maria<2050>

[2000]type=friendhost=dynamicusername=2000secret= 698569callerid=vicente<2000>

Page 42: Apresentação asterisk

Arquivo Extensions.conf� O plano de discagem é representado pelo

extensions.conf

� Consiste de uma lista de instruções ou passos que o � 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

Page 43: Apresentação asterisk

Arquivo Extensions.conf� O plano de discagem é dividido em quatro conceitos:

- Contextos

- Extensões- Extensões

- Prioridades

- Aplicações

� Os contextos são definidos para cada canal dentro dos arquivos sip.conf, iax.conf, h323.conf e etc.

Page 44: Apresentação asterisk

Arquivo Extensions.confContextosContextos� São responsáveis pela organização e segurança do plano de

discagem

Definem o escopo e permitem separar diferentes partes do � 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

Page 45: Apresentação asterisk

Arquivo Extensions.confContextos

� Os contextos recebem o seu nome dentro de colchetes ([]s)

Exemplo:Exemplo:

[ramais]

� Todas as instruções colocadas após a definição são partes do contexto

Page 46: Apresentação asterisk

Arquivo Extensions.confExtensõesExtensõ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ívelexten=>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

Page 47: Apresentação asterisk

Arquivo Extensions.confExtensões

� Extensões determinam o fluxo das chamadas

� Uma extensão é definida com a sintaxe:� 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.

Page 48: Apresentação asterisk

Arquivo Extensions.confPrioridadesPrioridades

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

Page 49: Apresentação asterisk

Arquivo Extensions.confAplicaçõesAplicações

� As aplicações tratam o canal de voz:- Tocando sons.- 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

Page 50: Apresentação asterisk

Arquivo Extensions.confExemplo de AplicaçõesExemplo 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 - 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

Page 51: Apresentação asterisk

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

Page 52: Apresentação asterisk

Plano de discagem simples� Arquivo sip.conf

Define valores padrão[general]port=5060

Configura a extensão 3000 [3000]type=friendport=5060

bindaddr=0.0.0.0disallow=allallow=alawlanguage=pt_BR

type=friendhost=dynamicusername=3000secret=654321callerid=vicente<3000>mailbox=300@defaultcontext=local

Page 53: Apresentação asterisk

Plano de discagem simples� Arquivo sip.conf

Configura a extensão 3050[3050]type=friendtype=friendhost=dynamicusername=3050secret=123456callerid=maria<3050>mailbox=300@defaultcontext=local

Page 54: Apresentação asterisk

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,1,Dial(SIP/3050,20)exten=> 3050,2,HangUp()

[local]exten=> _30XX,1,Answerexten=> _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()

Page 55: Apresentação asterisk

Arquivo Voicemail.confPermite que uma chamada ocupada ou não atendida seja enviada � 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 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.

Page 56: Apresentação asterisk

Arquivo Voicemail.confVoicemail.conf[general][email protected]=5

Sip.conf[4000]mailbox=600@caixa_msg

maxlogins=5 maxmsg=100 delete=no attach=yes

[caixa_msg]include => general600 =>

123,vicente,[email protected]

Page 57: Apresentação asterisk

Arquivo Voicemail.conf

Extensions.conf[local]include=>correioexten => _40XX,1,Dial(SIP/${EXTEN},40) exten => _40XX,2,GoToIf($[${DIALSTATUS} = CHANUNAVAIL] ? 5) 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ívelexten => _40XX,6,VoiceMail(b600@caixa_msg) ; ocupado; Acceso ao correio de voz[correio]exten => 100, 1, VoiceMailMain(600@caixa_msg)exten=> 100,n,HangUp()

Page 58: Apresentação asterisk

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 canalfuncionar em qualquer tipo de canal

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

;Exemploconf=> 500conf=> 500,123456

Page 59: Apresentação asterisk

Arquivo meetme.confNo 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,Answerexten=> _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()

Page 60: Apresentação asterisk

Arquivo meetme.conf

[conferencia]exten=> 500,1,Answerexten=> 500,n,MeetmeCount(500,total)exten=> 500,n,ExecIf($[${total}=6]?HangUp)exten=> 500,n,ExecIf($[${total}=6]?HangUp)exten=> 500,n,MeetMe(500)exten=> 500,n,HangUp()

Page 61: Apresentação asterisk

Arquivo queues.conf

Page 62: Apresentação asterisk

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 configuradas no arquivo agents.conf

� Podem ser configuradas mensagens durante o tempo de espera

– Propagandas

– Tempo médio de espera

– Posição na fila

Page 63: Apresentação asterisk

Exemplo de Fila

arquivo queues.conf

[telemarkting]musicclass=default announce= anunciodafilaannounce= anunciodafilatimeout=15 retry=5strategy=roundrobinmonitor-format=gsmmember=agent/1000member=agent/1001member=agent/1002

Page 64: Apresentação asterisk

Exemplo de Fila

arquivo agents.conf

[agents]agent => 1000,123,agente1agent => 1001,1234,agente2agent => 1001,1234,agente2agent => 1002,12345,agente3

Page 65: Apresentação asterisk

Exemplo de Fila

arquivo extensions.conf

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

[login]exten=> 900,1,Answerexten=> 900,2,AgentLogin()

Page 66: Apresentação asterisk

Estacionamento de ChamadasColoca 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

Contexto com regras de estacionamento

parkext=700.: Extensão onde se deve transferir a chamadaparkpos=701-709.: Salas disponíveis para o estacionamentocontext=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

Page 67: Apresentação asterisk

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 #é executado através da tecla #

-Assistida(attended tranfer)

Há consulta previa do destinatário da chamada, executado pela tecla FLASH

Page 68: Apresentação asterisk

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

Page 69: Apresentação asterisk

Captura de chamadasTransferir uma chamada que está tocando em outro ramal para o seu e assim atendê-lo

- Captura em grupo:

É Configurado no arquivo no arquivo features.confespecificando 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 partepickupgroup.: Grupos que os canais podem capturar chamadas

Page 70: Apresentação asterisk

Captura de chamadasExemplo:

;arquivo sip.conf ou iax.conf e etc[1001]callgroup=1

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.

callgroup=1pickupgroup=1,2

[1002]callgroup=2pickupgroup=2

Page 71: Apresentação asterisk

Captura de chamadasCaptura direta: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)

Page 72: Apresentação asterisk

Gravação de chamadas- MixMonitor.: Grava o áudio da chamada no formato da extensão especificada

- Sintaxe:- Sintaxe:

MixMonitor(arquivo.ext,opções)

- Opções:

a .: Adiciona no final do arquivo a gravação ao invés de subscrever o áudiob .: Grava o áudio depois da chamada ser atendida

Page 73: Apresentação asterisk

Gravação de chamadasExemplo:

[local] exten=> _40xx,1,MixMonitor(chamada-${EXTEN}.gsm,ab)exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)exten=> _40xx,n,HangUp()

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

exten=> _40xx,n,HangUp();localização dos arquivos:/var/spool/asterisk/monitor/

Page 74: Apresentação asterisk

Gravação de chamadas- Monitor.: Grava o áudio da chamada no formato especificado em dois arquivos separados, entrada (-in) e saída(-out)

- Sintaxe:- 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

Page 75: Apresentação asterisk

Gravação de chamadasExemplo:

[local]exten=> _40xx,1,Monitor(WAV,chamada-${EXTEN},mb)exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)exten=> _40xx,n,Dial(SIP/${EXTEN},20,tTwW)exten=> _40xx,n,HangUp()

Page 76: Apresentação asterisk

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 4569TCP/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

Page 77: Apresentação asterisk

Arquivo iax.conf

Cenários de uso - Servidor IAX:

;arquivo iax[1000]type=friend

;arquivo extensions.conf[local]exten=> _10XX,1,Dial(IAX2/${EXTEN},60)type=friend

context=localauth=md5username=1000secret=1000callerid=1000host=dynamicallow=gsm

exten=> _10XX,1,Dial(IAX2/${EXTEN},60)exten=> _10XX,n,Hangup()

Page 78: Apresentação asterisk

Arquivo iax.confCená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

Page 79: Apresentação asterisk

Arquivo iax.confCenários de uso –Modo TrunkCenários de uso –Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

IP da Matriz.: 192.168.0.1� 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

Page 80: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

;codigo para a matriz[general]

;ramal local para a matriz[1000][general]

bindport=4569bindaddr=0.0.0.0disallow=allallow=gsmjitterbuffer=noforcejitterbuffer=nomaxjitterbuffer=100

[1000]type=friendusername=1000secret=1000host=dynamiccontext=localauth=md5qualify=yestrunk=yescallerid=1000

Page 81: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

;ramal para se conectar a filial[2000][2000]type=friendusername=2000secret=2000host=dynamicauth=md5qualify=yestrunk=yescallerid=2000

Page 82: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

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

[externo]exten=> _20XX,1,Dial(IAX2/2000:[email protected]/${EXTEN},60,tT)exten=> _20XX,n,Hangup()

Page 83: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

;codigo para a filial[general]

;ramal para se conectar a matriz[1000][general]

bindport=4569bindaddr=0.0.0.0disallow=allallow=gsmjitterbuffer=noforcejitterbuffer=nomaxjitterbuffer=100

[1000]type=friendusername=1000secret=1000host=dynamicauth=md5qualify=yestrunk=yescallerid=1000

Page 84: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

;ramal local para a filial[2000][2000]type=friendusername=2000secret=2000host=dynamiccontext=localauth=md5qualify=yestrunk=yescallerid=2000

Page 85: Apresentação asterisk

Arquivo iax.confCenários de uso – Modo Trunk

� Exemplo conectando matriz e filial com o IAX:

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

[externo]exten=> _10XX,1,Dial(IAX2/1000:[email protected]/${EXTEN},60,tT)exten=> _10XX,n,Hangup()

Page 86: Apresentação asterisk

�Contato, Criticas, Sugestões e Dúvidas:

[email protected]

�Endereço do You Tube:

-

–––

- http://www.youtube.com/user/voipjava

�Web sites:

– www.asterisk.org– www.digium.com– www.voip-info.org

Page 87: Apresentação asterisk

FimFim