tp5 asteriskjneves/feup/2014-2015/scom/asterisk/g2-r.pdf · feup – mieec | serviços de...

18
Mestrado Integrado em Engenharia Electrotécnica e de Computadores Serviços de Comunicações 2014/2015 TP5 – ASTERISK Bruno Rafael Ribeiro Costa 201005303 Eduardo Nuno Moreira Soares de Almeida 201000641 Professor: João Manuel Couto das Neves

Upload: truongdieu

Post on 10-Nov-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Serviços de Comunicações

2014/2015

TP5 – ASTERISK

Bruno Rafael Ribeiro Costa 201005303

Eduardo Nuno Moreira Soares de Almeida 201000641

Professor: João Manuel Couto das Neves

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 2 Asterisk

INTRODUÇÃO

A utilização dos serviços de vídeo-telefonia sobre IP tem vindo a aumentar significativamente

ao longo dos últimos anos, tanto a nível doméstico como empresarial. A importância crescente

deste tipo de serviços deve-se a vários factores, nomeadamente a possibilidade de instalação,

configuração e manutenção do serviço a um custo reduzido, bem como as novas funcionalidades

oferecidas por estes sistemas, comparativamente com o serviço tradicional da rede PSTN. A

nível empresarial, a existência de várias filiais distribuídas por áreas geográficas distintas, bem

como a necessidade das novas funcionalidades presentes nestes serviços (tais como a

mobilidade dos utilizadores, videochamadas, conferências, entre outros), contribui para o

crescente número de migrações dos serviços da rede PSTN para a rede VoIP. Apesar dos custos

iniciais decorrentes da migração, esta permite uma redução de custos significativos a longo

prazo, sendo também uma solução facilmente escalável, o que permite a expansão do serviço

de acordo com o crescimento da empresa, sem necessidade de alterações de fundo.

O Asterisk é uma implementação em software open-source de um Private Branch Exchange

(PBX), com suporte a VoIP. Este serviço permite uma implementação e gestão simples de um

PBX VoIP, que pode ser implementado a nível empresarial.

Neste trabalho laboratorial pretende-se implementar um serviço de vídeo-telefonia sobre IP,

utilizando o PBX Asterisk, explorando as funcionalidades oferecidas pelo mesmo.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 3 Asterisk

CONFIGURAÇÃO DA REDE

ESQUEMA DA REDE

Para implementar o sistema VoIP, foi utilizado o esquema da rede apresentado na imagem

abaixo. Para facilitar a gestão e implementação dos servidores Asterisk, foram criadas 2

máquinas virtuais (VM) no mesmo PC, em modo bridge na rede 192.168.109.0/24, contendo,

cada uma, um dos servidores. Os endereços IP dos dispositivos da rede podem ser consultados

na tabela abaixo.

Figura 1 – Esquema de implementação da rede.

Dispositivo Endereço IP

Asterisk 1 (PBX 1) 192.168.109.223

Asterisk 1 (PBX 1) 192.168.109.224

Softphones (terminais VoIP) Atribuído por DHCP Tabela 1 – Lista de extensões criadas em ambos os PBX.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 4 Asterisk

CONFIGURAÇÃO DO ASTERISK

APPLIANCE

Para facilitar a instalação dos serviços fundamentais constituintes do Asterisk, foi utilizado a

appliance “AsteriskNow IP PBX”. Esta appliance consiste numa imagem pronta a ser instalada

num PC / VM, contendo 2 componentes fundamentais: uma distribuição de Linux (CentOS),

juntamente com uma aplicação para a gestão do Asterisk via web-browser (FreePBX).

EXTENSÕES

Por forma a testar o funcionamento do Asterisk, foram criadas várias extensões em ambos os

PBX. A tabela seguinte apresenta as extensões criadas, juntamente com o seu nome (display

name).

Nome Extensão

PBXy-Ext001 001

PBXy-Ext002 002

PBXy-Ext003 003

PBXy-Ext007 007

PBXy-Ext008 008

PBXy-IRV 010

PBX1-Conferência 100 Tabela 2 – Lista de extensões criadas em ambos os PBX (onde y representa o número do PBX).

O processo de criação das extensões envolveu vários passos descritos em seguida. Em primeiro

lugar, a cada extensão criada foram associados novos utilizadores, protegidas com uma

password para evitar o uso indevido das mesmas. Por outro lado, foi também activado o

voicemail para essa extensão, protegido com uma password.

TRUNKS

Para que ambos os PBX possam comunicar entre si (para encaminhar chamadas entre si), é

necessário configurar trunks. Existem essencialmente 2 tipos de trunks: SIP e IAX / IAX2. Como

ambos os PBX são Asterisk, optou-se por configurar trunks IAX2, já que reduz significativamente

a largura de banda consumida e consegue facilmente contornar NATs / firewalls.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 5 Asterisk

Figura 2 – Esquema de ligação trunk entre ambos os PBX.

As configurações dos trunks em ambos os PBX podem ser consultados nas tabelas seguintes, de

onde se destacam os seguintes parâmetros:

“Outbound CallerID”, que permite identificar facilmente a origem das chamadas

recebidas.

“context=from-trunk”, para permitir que todas as chamadas sejam processadas pelas

regras definidas nas rotas.

PBX 1: General Settings: Trunk Name: trunk_pbx2 Outbound CallerID: pbx1 Outgoing settings: Trunk name: trunk_pbx2 PEER details: username=trunk_pbx1 secret=qwe123 host=192.168.109.224 type=peer context=from-trunk Incoming settings: User context: trunk_pbx2 USER details: secret=qwe123 context=from-trunk type=peer

Figura 3 – Configuração do trunk IAX2 no PBX 1 [192.168.109.223].

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 6 Asterisk

PBX 2: General Settings: Trunk Name: trunk_pbx1 Outbound CallerID: pbx2 Outgoing settings: Trunk name: trunk_pbx1 PEER details: username=trunk_pbx2 secret=qwe123 host=192.168.109.223 type=peer context=from-trunk Incoming settings: User context: trunk_pbx1 USER details: secret=qwe123 context=from-trunk type=user

Figura 4 – Configuração do trunk IAX2 no PBX 2 [192.168.109.224].

ROTAS

Em complemento à configuração dos trunks, é também necessário configurar as rotas de saída

e de entrada.

Outbound routes:

As rotas de saída são responsáveis por analisar as tentativas de estabelecimento de chamadas

efectuadas no PBX e, caso o número de destino (dialled number) corresponder a um

determinado padrão definido, encaminhá-las para um determinado trunk.

Deste modo, em ambos os PBX foram configuradas rotas de saída que permitam contactar

extensões registadas no outro PBX. Para isso, foi configurado um prefixo de chamada que os

utilizadores deverão acrescentar antes da extensão de destino da chamada. Dado que a

topologia da rede apenas contempla 2 PBX que comunicam exclusivamente entre si, adoptou-

se o mesmo prefixo em ambos os PBX (10), como indicativo de chamada externa (ao PBX). No

entanto, num cenário de utilização genérico, deverá ser configurado um prefixo distinto para

cada PBX de saída (por exemplo, outras filiais da empresa) havendo também um prefixo

genérico para chamadas para a rede PSTN.

Um extracto das configurações mais importantes pode ser consultado na figura abaixo:

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 7 Asterisk

Figura 5 – Extracto das configurações da rota de saída configurada em ambos os PBX.

Inbound routes:

No caso do PBX 2, para implementar a funcionalidade de Interactive Voice Response (IVR) é

também necessário configurar uma rota de entrada, que permita activar o serviço IVR através

de um Direct Inward Dial (DID) criado para o efeito. Assim, foi definida a extensão 010 (no PBX

2) como DID para o serviço IVR, que será explicado na secção seguinte.

Um extracto das configurações mais importantes pode ser consultado na figura abaixo:

Figura 6 – Extracto das configurações da rota de saída configurada no PBX 2.

TERMINAIS VoIP

Para que o sistema ficasse totalmente configurado, e para testar o seu funcionamento, foi

também necessário configurar os terminais VoIP. Deste modo, foram utilizados diferentes

softphones instalados em PC (Zoiper e X-Lite) e em smartphones Android (Zoiper), uma vez que

cada um fornece funcionalidades diferentes. Com efeito, o Zoiper permite várias extensões

registadas simultaneamente ao passo que o X-Lite permite a realização de videochamadas sem

a necessidade de um upgrade do software.

Desta forma, os softphones foram configurados de acordo com as definições da extensão e do

respectivo PBX (i.e., endereço IP do PBX, extensão e respectiva password).

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 8 Asterisk

FUNCIONALIDADES IMPLEMENTADAS

Para explorar as possibilidades e vantagens oferecidas pelo Asterisk, foram configuradas várias

funcionalidades neste sistema. Dada a vasta quantidade de funcionalidades disponíveis e o

prazo definido para a conclusão do trabalho, optou-se por implementar as funcionalidades

essenciais no contexto empresarial, bem como em sistemas similares.

Os detalhes de implementação de cada funcionalidade implementada são apresentados nas

secções seguintes.

CHAMADA DE VOZ

A funcionalidade fundamental num sistema de comunicações VoIP consiste na realização de

chamadas de voz entre extensões do mesmo PBX ou de PBX diferentes. Para a implementar,

foram criadas várias extensões em ambos os PBX, juntamente com a configuração dos trunks e

rotas de saída, tal como indicado na secção anterior.

Para validar a correcta configuração dos sistemas, foi realizada uma chamada de uma extensão

do PBX 2 para uma extensão do PBX 1. De referir que, tal como indicado na secção anterior, para

realizar a chamada para uma extensão externa, foi necessário acrescentar o prefixo de saída

(10) antes da extensão de destino.

A notificação de chamada recebida no PBX 1 é apresentada na figura seguinte.

Figura 7 – Notificação de chamada recebida da extensão do PBX 2.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 9 Asterisk

Logs / estatísticas:

Outra funcionalidade do Asterisk consiste em registar todas as acções dos utilizadores em logs,

tal como informações relevantes ao funcionamento do sistema. Posteriormente, com base nesta

informação, é possível fazer uma análise ao sistema por forma a reconhecer padrões de

utilização, nomeadamente ao nível do volume de chamadas por unidade de tempo (e.g., dia,

hora) e duração média das chamadas.

A figura seguinte apresenta um gráfico com algumas estatísticas de chamadas do PBX

implementado neste trabalho.

Figura 8 – Gráfico de barras da distribuição do número de chamadas efectuadas por dia, juntamente com a duração média das chamadas de cada dia.

Para confirmar o correcto processamento da chamada, foram consultados os logs do Asterisk.

Nas figuras seguintes são apresentados os logs de uma tentativa de realização de chamada com

rejeição do destino; e o estabelecimento de uma chamada com sucesso.

Figura 9 – Extracto do log do PBX 1 durante a tentativa de realização de uma chamada rejeitada.

Figura 10 – Extracto do log do PBX 1 durante a realização de uma chamada aceite atendida.

Em qualquer momento é possível consultar a lista dos utilizadores registados no sistema, além

dos peers IAX2, acedendo ao menu “Reports”.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 10 Asterisk

Figura 11 – Visualização dos utilizadores registados no sistema, juntamente com os peers IAX2.

ON HOLD MUSIC

Durante o estabelecimento de uma chamada ou enquanto a chamada activa se encontra em

espera, é ouvida uma música no terminal VoIP (i.e., on hold music).

Figura 12 – Configuração de On Hold Music.

REENCAMINHAMENTO DE CHAMADAS

Outra funcionalidade configurada no PBX 2 foi o reencaminhamento de chamadas. De facto,

sempre que for realizada uma chamada destinada à extensão PBX2-008, e se esta a rejeitar ou

estiver ocupada, a chamada será reencaminhada para a extensão PBX2-007.

A configuração desta funcionalidade é realizada no menu de configuração da respectiva

extensão, tal como apresentado na figura seguinte.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 11 Asterisk

Figura 13 – Extracto de configuração da funcionalidade de reencaminhamento de chamadas na extensão PBX2-008.

CONFERÊNCIA

A configuração de uma conferência é equivalente à criação de uma nova extensão no PBX. De

facto, um método de configuração de conferências consiste em criar uma extensão dedicada

para alojar a conferência, ao qual os utilizadores acedem através de uma chamada normal para

a extensão indicada. Outro método consiste em adicionar novos utilizadores a uma chamada

activa.

Nesta conferência podem ser definidas várias configurações, nomeadamente uma password de

acesso, a notificação de entrada / saída de utilizadores na conferência juntamente com uma

gravação da sua identificação e ainda limitação do número máximo de utilizadores simultâneos

na conferência.

Para efeitos de teste foi criada uma conferência na extensão 100 do PBX 1, onde se juntaram 3

utilizadores de ambos os PBX.

A configuração da conferência pode ser consultada na figura seguinte.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 12 Asterisk

Figura 14 – Extracto das configurações da conferência no PBX 1.

VÍDEOCHAMADA

O suporte a videochamadas foi outra das funcionalidades implementadas neste trabalho. No

entanto, dada a limitação da largura de banda disponível (potenciado pelo excessivo número de

utilizadores na rede), além dos codecs utilizados para as videochamadas, a sua qualidade é

bastante limitada.

A configuração deste serviço é realizada activando as seguintes opções “Settings” -> “Asterisk

IAX settings” -> “Video support: enabled” e “Settings” -> “Asterisk SIP settings” -> “Chan SIP” ->

“Video support: enabled” -> “max bit rate = 100000 kb/s”. A lista dos codecs utilizados nas

chamadas pode ser consultado na figura abaixo.

Para comprovar a correcta configuração desta funcionalidade é apresentado um screenshot de

um smartphone Android a realizar uma videochamada através do Zoiper.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 13 Asterisk

Figura 15 – Screenshot de um smartphone Android a realizar

uma videochamada através do Zoiper.

Figura 16 – Configuração dos codecs utilizados nas

chamadas.

INTERACTIVE VOICE RESPONSE (IVR)

Tal como referido na secção “Inbound Routes”, para configurar o serviço de Interactive Voice

Response (IVR), foi definido um DID específico no PBX 2 para o efeito (010).

Para este trabalho, o serviço foi configurado consiste na apresentação de uma lista telefónica

interactiva, onde são anunciadas as extensões disponíveis que o “chamador” pode contactar

(através de uma gravação automática personalizada), bastando marcar o número

correspondente à extensão (i.e., 1 = Ext001). Assim, os 3 primeiros algarismos reencaminham a

chamada para as extensões correspondentes. No caso do valor introduzido ser incorrecto é

apresentada uma mensagem de erro (gravação automática personalizada) e o recomeço do

processo. De realçar que este serviço só se encontra disponível para chamadas com origem em

PBX externos (i.e., PBX 1), já que a sua activação requere o processamento das chamadas pelas

regras definidas na inbound route.

Este serviço pode ser utilizado pelas empresas quando não é pretendido que determinadas

extensões estejam acessíveis directamente de fora, obrigando a passar pela “central de

distribuição” automática. No entanto, outra utilização frequente deste tipo de serviço consiste

em disponibilizar informações e/ou realizar acções automaticamente sem a necessidade de uma

intervenção humana.

Os extractos relevantes das configurações do IVR e das gravações automáticas (i.e.,

announcements) podem ser consultados nas figuras seguintes.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 14 Asterisk

Figura 17 – Configuração do IVR.

Figura 18 – Configuração dos announcements contendo as gravações utilizadas no serviço IVR.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 15 Asterisk

VOICE-MAIL:

Outra funcionalidade importante implementada é o voicemail. Este serviço permite, a quem liga,

deixar uma mensagem de voz na caixa de correio de voz da extensão contactada, caso a

chamada seja rejeitada ou não atendida. Estas mensagens poderão ser ouvidas posteriormente

pelo utilizador da extensão, através da marcação da extensão *98 – para o seu voicemail – ou

*97 – para a consulta de qualquer extensão registada no PBX. Em ambos os casos, o acesso ao

serviço está protegido por uma password.

A configuração deste serviço é realizada no menu de configuração da respectiva extensão,

bastando activar a opção de voicemail. De realçar a activação das opções:

“Require from same extension”, que obriga a introdução da password.

“Play envelope”, que anuncia a data da mensagem antes do seu conteúdo.

A demonstração da configuração do voicemail da extensão 001, bem como um extracto das

extensões do PBX com voicemail configurado são apresentados nas figuras seguintes.

O Asterisk permite o envio da mensagem de voicemail recebida para um dado endereço de e-

mail. Apesar desta funcionalidade não ter sido demonstrada na aula, a sua configuração é

apresentada na figura seguinte.

Figura 19 – Extracto de configuração do voicemail da

extensão 001.

Figura 20 – Extracto das extensões com voicemail activo, incluindo o

número de mensagens novas na respectiva caixa de correio.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 16 Asterisk

CONCLUSÃO

Com a realização deste trabalho, foi possível implementar um sistema de vídeo-telefonia sobre

IP com as funcionalidades mais requisitadas em contextos empresariais, que muito ultrapassam

uma simples chamada de voz entre 2 extensões. Com efeito, todas as configurações realizadas

tiveram em mente a aplicação desta solução em cenários reais, tal como foi possível verificar ao

longo do relatório.

Deste modo, a realização do trabalho permitiu o contacto com um sistema real de vídeo-

telefonia sobre IP, o que permitiu adquirir conhecimentos fulcrais sobre o funcionamento e

implementação destes serviços em ambientes de utilização reais.

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 17 Asterisk

BIBLIOGRAFIA

Neves, João. 2013.Video Telephony over IP. Portugal: INESCPorto.

Asterisk. 2014. Asterisk. http://www.asterisk.org/ (acedido em 17 de Dezembro de 2014).

Asterisk. 2014. Dashboard - Asterisk Project Wiki. https://wiki.asterisk.org/ (acedido em 17 de

Dezembro de 2014).

FreePBX. 2014. The Free Stands for Freedom - FreePBX. http://www.freepbx.org/ (acedido em

17 de Dezembro de 2014).

Wiki FreePBX. 2014. Dashboard – Documentation. http://wiki.freepbx.org/ (acedido em 17 de

Dezembro de 2014).

Wiki FreePBX. 2014. Connecting Two FreePBX-Asterisk Systems Together Over the Internet -

FreePBX Modules - Documentation.

http://wiki.freepbx.org/pages/viewpage.action?pageId=4161588 (acedido em 17 de Dezembro

de 2014).

Voip-Info. 2014. Asterisk - documentation of application commands - voip-info.org.

http://www.voip-info.org/wiki/view/Asterisk+-+documentation+of+application+commands

(acedido em 17 de Dezembro de 2014).

Asterisk Docs. 2014. Connecting Two Asterisk Boxes Together via IAX.

http://www.asteriskdocs.org/en/2nd_Edition/asterisk-book-html-chunk/I_sect14_tt670.html

(acedido em 17 de Dezembro de 2014).

Aosabook. 2014. The Architecture of Open Source Applications Asterisk.

http://www.aosabook.org/en/asterisk.html (acedido em 17 de Dezembro de 2014).

Asterisk - The Open Source Telephony Project. 2014. Asterisk Architecture Overview.

http://doxygen.asterisk.org/trunk/AsteriskArchitecture.html (acedido em 17 de Dezembro de

2014).

Asterisk Docs. 2014. Chapter 2. Asterisk Architecture.

http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/asterisk-Arch.html

(acedido em 17 de Dezembro de 2014).

Yakko. 2014. Asterisk Presentation.

https://yakko.cs.wmich.edu/~drclaw/asterisk/presentation/slide15.html (acedido em 17 de

Dezembro de 2014).

Wikipedia. 2014. Asterisk (PBX). https://en.wikipedia.org/wiki/Asterisk_(PBX) (acedido em 17

de Dezembro de 2014).

FEUP – MIEEC | Serviços de Comunicações 2014/2015

Eduardo Almeida & Bruno Costa 18 Asterisk

ExcITingIP. 2014. Asterisk – The Open Source Telephony/Communications Platform.

http://www.excitingip.com/4112/asterisk-the-open-source-telephonycommunications-

platform/ (acedido em 17 de Dezembro de 2014).

Harding. 2014. Lecture 4: Lines trunks pbx key telephone.

http://www.harding.edu/white/classes_old/engr475/lectures/lecture_4_lines_trunks_pbx_ke

y_telephone.ppt (acedido em 17 de Dezembro de 2014).

Ingate. 2014. PBX presentation engate itexpoeast2014.

http://www.ingate.com/files/ITEXPO_Miami_2014/pbx_presentation_ingate_itexpoeast2014.

pptx (acedido em 17 de Dezembro de 2014).