MESTRADO INTEGRADO EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES EEC0048 SERVIÇOS DE COMUNICAÇÕES 2014/2015 RELATÓRIO DO TRABALHO PRÁTICO FINAL Asterisk PEDRO DE SERPA CAIANO ROCHA GONÇALVES TIAGO DOS SANTOS MAIA COSTA 200903959 200601289 DOCENTE: JOÃO MANUEL COUTO DAS NEVES RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 1 de 21 INTRODUÇÃO O Asterisk é a plataforma open-­‐source mais usada no mundo para a criação de aplicações de comunicações. Através do Asterisk é possível transformar um computador normal num servidor de comunicações e torná-­‐lo, por exemplo, num IP PBX (IP Private Branch Exchange) ou num servidor de conferências. Esta solução é usada em PMEs, grandes empresas, call centers, operadoras de telecomunicações e agências governamentais em todo o mundo. Existem mais de 1 milhão de sistemas de comunicações baseados em Asterisk em uso em mais de 170 países, sendo que uma grande porção desses utilizadores são clientes da lista Fortune 1000. Este trabalho prático tem como objetivo a familiarização com a plataforma Asterisk, tendo como base a instalação e a configuração de dois IP PBXs que farão a interligação para o estabelecimento de chamadas entre dois softphones. Para tal foram criadas duas máquinas virtuais, cada uma num computador diferente, com o AsteriskNOW, uma versão do sistema operativo Linux que inclui a instalação da plataforma Asterisk pré-­‐instalada. Para o estabelecimento das chamadas propriamente ditas nos clientes usaram-­‐se os softphones X-­‐lite. Primeiramente serão apresentados os passos seguidos para a instalação e a configuração da plataforma Asterisk e de seguida serão demonstrados os resultados sob a forma de logs wireshark. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 2 de 21 1 – INSTALAÇÃO E CONFIGURAÇÃO DO ASTERISKNOW 1.1 – Contextualização teórica Fig. 1 – Diagrama lógico Uma chamada VoIP pode essencialmente ser dividida em 3 fases: a fase de estabelecimento da sessão, a fase da chamada propriamente dita e a fase do término da sessão. A primeira e última fase são geridas através de um protocolo de gestão de sessões como o SIP (Session Initiation Protocol), sendo que o fluxo de dados da chamada é controlado por outro protocolo diferente do SIP, como RTP (Real-­‐Time Transfer Protocol). É importante deixar claro que o protocolo SIP é apenas usado para a criação, gestão e terminação de sessões. Além destes e no sentido de colmatar as falhas do SIP, o protocolo IAX2 (Inter-­‐Asterisk eXchange 2) foi introduzido em 2010 e é nativo à plataforma de software Asterisk. Foi particularmente desenhado para chamadas sobre IP, embora suporte qualquer tipo de média. O que torna este protocolo tão interessante é o facto de usar apenas um stream UDP tanto para a sinalização da sessão, como para o fluxo de dados de média. Esta característica é benéfica quando é necessário atravessar NATs entre fronteiras de redes. Para o propósito deste trabalho prático, segue uma breve descrição do processo para uma chamada de voz normal entre 2 utilizadores. Neste trabalho, a comunicação entre os terminais dos utilizadores e os servidores foi configurada para ser feita usando o protocolo SIP. No entanto, a comunicação entre IP PBXs usa o protocolo IAX2. A comunicação entre IP PBXs também poderia ter sido feita usando SIP, no entanto, devido a algumas dificuldades encontradas com o uso do SIP entre IP PBXs, optou-­‐se pelo uso de IAX2, que não revelou quaisquer complicações. O primeiro passo passa por registar um utilizador no servidor de registo. O registo é também abrangido pelo protocolo SIP. O utilizador introduz as suas credenciais num RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 3 de 21 telefone IP, como por exemplo, um softphone X-­‐lite e é enviada uma mensagem de registo para o servidor de registo. Neste exemplo considera-­‐se que os utilizadores estão registados em servidores de registo diferentes. Depois de ambos os utilizadores efetuarem os registos, o utilizador 1 deseja contactar o utilizador 2. O utilizador 1 não conhece a localização do utilizador 2 e, como tal, quando introduz a extensão do utilizador 2 é enviada uma mensagem INVITE para o servidor proxy do utilizador 1 (AsteriskNOW1) indicando o desejo de contactar o utilizador 2. De notar que apesar do servidor de registo e o servidor proxy serem logicamente diferentes, a sua localização física pode ser a mesma, isto é, podem estar alojados no mesmo servidor físico. O proxy AsteriskNOW1 foi configurado para que, para a extensão pretendida, o pedido seja encaminhado para o servidor proxy AsteriskNOW2. Ao encaminhar a mensagem INVITE, o servidor proxy AsteriskNOW1 envia ao utilizador 1 uma mensagem TRYING para o informar da tentativa de alcançar o utilizador 2. O servidor proxy AsteriskNOW2 sabe a localização do utilizador 2, pelo que lhe encaminha a mensagem INVITE do utilizador 1 para iniciar uma chamada. Além disso, envia ainda uma mensagem TRYING ao servidor proxy do utilizador 1. Fig. 2 – Diagrama do estabelecimento de u ma chamada O softphone do utilizador 2 irá tocar, indicando a chamada proveniente do utilizador 1. É enviada uma mensagem ao servidor proxy do utilizador 2 informando-­‐o de que o telefone do utilizador 2 está a tocar, que chega ao utilizador chamador através do servidor proxy AsteriskNOW1. Assumindo que o utilizador 2 aceita a chamada, é enviada uma mensagem OK ao utilizador 1 através dos servidores proxy. Ao receber a mensagem com o OK, o utilizador 1 envia uma confirmação da receção do OK. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 4 de 21 De notar que caso se estivesse a usar o protocolo SIP entre os IP PBXs, esta confirmação poderia ser entregue diretamente ao utilizador 2, sem passar pelos IP PBXs, uma vez que as suas localizações já são conhecidas. Como o protocolo em uso é o IAX2, há necessidade de existir uma tradução entre as mensagens, pelo que o envio é feito através dos IP PBXs. A partir deste momento é gerado um fluxo de dados relativo à chamada, usando um protocolo diferente do SIP. Caso se estivesse a usar um SIP Trunk entre IP PBXs, o fluxo de dados de média seria direto entre os utilizadores, usando o protocolo RTP. Neste caso, como se está a usar um IAX2 Trunk com telefones configurados com SIP, a comunicação de dados do tipo média necessita de atravessar os IP PBXs. Os telefones comunicam em RTP com os IP PBXs, sendo que entre IP PBXs existe uma conversão para IAX2. Esta configuração é mais indicada caso se pretenda fazer controlo de custos para chamadas ao exterior, sendo particularmente interessante quando se tratam de chamadas para telefones não VoIP. Quando um dos utilizadores decidir terminar a chamada, é usado novamente o protocolo SIP para terminar a sessão. O utilizador 2 envia uma mensagem BYE ao utilizador 1, que após receção da mesma, confirma com uma mensagem OK. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 5 de 21 1.2 – Configurações base (com Voicemail) Para a instalação do Asterisk optou-­‐se pela solução AsteriskNOW, que consiste numa versão do Linux baseada em CentOS que inclui o Asterisk pré-­‐instalado. Criaram-­‐se duas máquinas virtuais através do programa VirtualBox em computadores diferentes para simular a utilização de dois IP PBXs. O primeiro IP PBX (AsteriskNOW1) foi configurado com o endereço IP 192.168.0.100 e serve as extensões do formato 1XX. Já o segundo IP PBX (AsteriskNOW2), acessível através do endereço IP 192.168.0.200, serve as extensões do formato 2XX. A criação e gestão das extensões é gerida no menu Applications > Extension, tendo por base a interface web FreePBX incluída no AsteriskNow. Para aceder a esta interface web, basta abrir um browser e introduzir o endereço do IP PBX a configurar, 192.168.0.100 ou 192.168.0.200 : Fig. 3 – Criação de extensões SIP Para a criação de extensões SIP, deve-­‐se escolher a opção Generic CHAN SIP Device como indica a figura 3. De seguida deve-­‐se preencher a extensão pretendida e o nome que irá aparecer associado à extensão. No exemplo que se segue, demonstra-­‐se a criação da extensão 101 associada ao nome 101 no IP PBX AsteriskNOW1. Fig. 4 – Criação de extensões SIP O próximo passo refere-­‐se à palavra-­‐passe da conta SIP que está a ser criada. Encontra-­‐se também um campo relativo ao modo de NAT. Nesta situação, tendo em conta que as chamadas serão apenas locais, colocou-­‐se a configuração sem uso de NAT. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 6 de 21 Fig. 5 – Criação de extensões SIP Na secção das configurações de gestão de utilizadores, pode-­‐se escolher a opção sem a ligação a um utilizador por omissão, uma vez que não acrescenta funcionalidades críticas para o funcionamento que se pretende: Fig. 6 – Criação de extensões SIP A configuração do Voicemail é bastante simples e requer apenas a sua ativação no campo Status, seguido da palavra-­‐passe usada para a autenticação da conta Voicemail. Optou-­‐se também por preencher o endereço de email e selecionar a opção de enviar o Voicemail para o email como anexo: RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 7 de 21 Fig. 7 – Criação de extensões SIP Para o exemplo pretendido não são necessárias mais configurações. Depois de submeter as configurações é ainda necessário selecionar “Apply Config” para que as alterações tenham efeito: Os mesmos passos foram seguidos para a configuração da extensão 201 no IP PBX AsteriskNOW2, sendo a única diferença a extensão propriamente dita e o nome associado. De seguida é necessário configurar um Trunk, para que seja possível estabelecer uma chamada entre duas extensões registadas em IP PBXs diferentes. O Trunk é uma otimização para reduzir a largura de banda consumida na eventualidade de existirem várias chamadas em simultâneo para o exterior. Essencialmente, o Trunk condensa os dados de voz de várias chamadas num cabeçalho apenas. Esta otimização é especialmente eficiente quando existem dezenas de chamadas em simultâneo, minimizando assim o overhead das várias comunicações simultâneas. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 8 de 21 As configurações dos Trunks encontram-­‐se no menu Connectivity > Trunks. Depois de aberto o menu, deve-­‐se escolher a opção “Add IAX2 Trunk”. Fig. 8 – Criação de Trunk As configurações apresentadas são para o IP PBX AsteriskNOW1, no entanto, as configurações para o outro IP PBX são praticamente idênticas e serão mencionadas sempre que for relevante. Para configurar um Trunk IAX2 é necessário dar um nome ao Trunk e introduzir as configurações de autenticação para entrada e saída do Trunk: Fig. 9 – Configuração do Trunk Nas configurações de autenticação para a saída deve-­‐se preencher o campo host com o endereço do IP PBX de destino. Neste caso, o endereço de destino é o do AsteriskNOW2 (192.168.0.200). Na configuração do Trunk no IP PBX AsteriskNOW2 deve-­‐se colocar o endereço do AsteriskNOW1 (192.168.0.100). Nos campos username e secret colocam-­‐se as credenciais do AsteriskNOW1 que serão usadas no AsteriskNOW2 para autenticação nas configurações de entrada. Neste exemplo escolheu-­‐se USERNOW1 e PASSNOW1 como username e secret respetivamente. No caso do AsteriskNOW2, o username e secret são USERNOW2 e PASSNOW2 respetivamente. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 9 de 21 Nas configurações de entrada deve-­‐se preencher o campo user context com o username e secret com os valores introduzidos nas configurações de saída do IP IPBX de destino. Assim, neste caso o username deverá ser USERNOW2 e o secret PASSNOW2. No caso do IP PBX AsteriskNOW2 deve-­‐se preencher o username e o secret com os valores introduzidos nas configurações de saída do AsteriskNOW1, ou seja, USERNOW1 e PASSNOW1. Fig. 10 – Configuração do Trunk Resumindo: AsteriskNOW1 – Trunk: Trunk Name: Trunk to *NOW2 Outgoing Settings: Trunk Name: Trunk to *NOW2 Host: 192.168.0.200 Username: USERNOW1 Secret: PASSNOW1 Type: peer Incoming Settings: RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 10 de 21 User Context: USERNOW2 Secret: PASSNOW2 Type: user Context: from-­‐trunk AsteriskNOW2 – Trunk: Trunk Name: Trunk to *NOW1 Outgoing Settings: Trunk Name: Trunk to *NOW1 Host: 192.168.0.100 Username: USERNOW2 Secret: PASSNOW2 Type: peer Incoming Settings: User Context: USERNOW1 Secret: PASSNOW1 Type: user Context: from-­‐trunk Depois de se submeterem as alterações, deve-­‐se selecionar a opção “Apply Config” novamente, por forma a garantir que as alterações têm efeito. O último passo consiste na configuração das rotas exteriores. As rotas exteriores indicam ao IP PBX que Trunk usar consoante determinadas condições relativas às extensões marcadas. No nosso exemplo, pretendemos que o AsteriskNOW1 encaminhe para o IP PBX AsteriskNOW2 as chamadas para as extensões com o format 2XX, em que X é qualquer dígito 0-­‐9. E pretendemos ainda que o AsteriskNOW2 encaminhe para o AsteriskNOW1 as chamadas para as extensões com o formato 1XX. As configurações das rotas exteriores encontram-­‐se no menu Connectivity > Outbound Routes. Fig. 11 – Configuração das rotas exteriores RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 11 de 21 Começa-­‐se por preencher o nome da rota. Neste caso, como se vai configurar a rota para as extensões 2XX, escolheu-­‐se o nome Trunk_To_2XX. De notar que o nome não pode conter espaços. Fig. 12 – Configuração das rotas exteriores De seguida preenchem-­‐se as condições que irão determinar se a extensão marcada deve ser encaminhada por esta rota. Neste caso, basta identificar o padrão da extensão, não sendo necessário especificar prefixos ou semelhantes. Além disso, especifica-­‐se ainda o Trunk a usar para esta rota na secção “Trunk Sequence for Matched Routes”. Fig. 13 – Configuração das rotas exteriores As configurações para o AsteriskNOW2 são análogas, sendo as únicas diferenças o nome da rota (Trunk_To_1XX), o padrão da extensão (1XX) e finalmente o Trunk a usar (TRUNK To *NOW1). Para terminar, devem-­‐se submeter as alterações e selecionar “Apply Config” novamente para que as alterações surtam efeito. Apesar da configuração base para a comunicação entre clients de dois IP PBXs estar terminada, podem ainda configurar-­‐se algumas funcionalidades extra. O Asterisk dispõe de RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 12 de 21 várias funcionalidades adicionais, no entanto, demonstra-­‐se a configuração para permitir chamadas em conferência, música de fundo quando um utilizador é colocado em espera e videochamadas. 1.3 – Conferências Para se aceder às configurações das chamadas em conferências, seleciona-­‐se o menu Applications > Conferences:
Fig. 14 – Configuração de chamadas em conferência Começa-­‐se por introduzir a extensão que se deve marcar para aceder à chamada em conferência. Pode-­‐se especificar um nome para identificar a conferência para efeitos de gestão. Os campos User PIN e Admin PIN podem ser especificados para controlo de acesso à conferência. O Admin PIN identifica o líder de uma conferência e é particularmente útil se se quiser ativar uma opção que apenas permite o iniciar da conferência quando o líder entrar. Fig. 15 – Configuração de chamadas em conferência RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 13 de 21 As opções seguintes permitem personalizar várias funcionalidades extra para a conferência em configuração. Destaca-­‐se a opção de lançar avisos sempre que alguém entra ou sai da conferência, personalização da mensagem de entrada na conferência, música de fundo quando se está sozinho na conferência, otimização de tráfego que trata os não faladores como estando em mute, e ainda a obrigatoriedade de esperar pela entrada do líder da conferência para dar início à conferência propriamente dita. Nenhuma destas opções é obrigatória, pelo que para o exemplo que se pretende, optou-­‐se pela configuração base. Fig. 16 – Configuração de chamadas em conferência Para terminar basta apenas submeter as alterações e clicar em “Apply Config”. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 14 de 21 1.4 – Música de fundo em chamadas em espera A personalização da música de fundo quando uma chamada é colocada em espera é bastante simples. Por omissão, esta funcionalidade já se encontra ativa. A personalização encontra-­‐se no menu Settings > Music On Hold: Fig. 17 – Personalização da música de fundo Na página de configuração, encontra-­‐se de seguida um campo para efetuar o upload de ficheiros de áudio. Depois de feito o upload, a música encontra-­‐se disponível para ser ouvida quando um utilizador for colocado em espera durante uma chamada. É possível ter várias músicas e ativar a reprodução aleatória, que irá escolher uma música de entre as músicas que estão alojadas no servidor aleatoriamente. Fig. 18 – Personalização da música de fundo RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 15 de 21 1.5 – Videochamada A ativação dos codecs de videochamada faz-­‐se na página das configurações SIP e IAX2. Para aceder às configurações SIP deve-­‐se selecionar o menu Settings > Asterisk SIP Settings: Fig. 19 – Configuração dos codecs para Videochamada De seguida, seleciona-­‐se a opção CHAN SIP: Fig. 20 – Configuração dos codecs para Videochamada Finalmente ativa-­‐se a opção “Video Support” e escolhem-­‐se os codecs que se pretendem suportar. Fig. 21 – Configuração dos codecs para Videochamada RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 16 de 21 Uma vez que a comunicação entre IP PBXs é feita usando o protocolo IAX2, é necessário ainda ativar os codecs de vídeo nas configurações do IAX. Para tal, basta aceder às configurações do IAX no menu Settings > Asterisk IAX Settings:
Fig. 22 – Configuração dos codecs para Videochamada E posteriormente ativar o suporte para vídeo e escolher os codecs desejados:
Fig. 23 – Configuração dos codecs para Videochamada RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 17 de 21 2 – DEMONSTRAÇÃO DE RESULTADOS Os seguintes logs de wireshark foram retirados num computador que alojava os dois IP PBXs em máquinas virtuais diferentes. Por motivos que não conseguimos explicar, o wireshark não foi capaz de apanhar o tráfego todo que esperávamos que fosse capaz de apanhar. Posto isto, os excertos do log que são apresentados apenas revelam o tráfego entre um cliente com IP 192.168.1.67 e o seu respetivo IP PBX com IP 192.168.1.200. Como se pode observar pelo excerto em baixo, começou-­‐se por iniciar uma chamada para a extensão 101. Através do protocolo SIP, foi enviado um primeiro INVITE, que foi rejeito de imediato com o motivo 401 Unauthorized. Esta rejeição prende-­‐se com o facto do cliente ainda não ter o desafio do servidor, pelo que um segundo envio de um INVITE já será aceite. Verifica-­‐se de seguida que o servidor proxy já responde com TRYING na segunda tentativa e de seguida com RINGING, indicando que o telefone do cliente destino está a tocar. Fig. 24 – Estabelecimento da chamada via SIP No momento em que o cliente de destino atende a chamada, é enviada a mensagem OK. A partir deste ponto, a chamada está estabelecida, sendo que será trocado tráfego de voz no protocolo RTP, como se pode ver no excerto em baixo: Fig. 25 – Tráfego de voz via RTP Depois de se ter terminado a chamada anterior, estabeleceu-­‐se uma chamada com uma extensão e colocou-­‐se essa extensão em espera. Estabeleceu-­‐se outra chamada com outra extensão e juntaram-­‐se as chamadas, formando uma conferência: Fig. 26 – Estabelecimento das chamadas via SIP RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 18 de 21 Fig. 27 – Tráfego de voz via RTP De seguida ativou-­‐se o vídeo, formando então uma videoconferência: Fig. 28 – Tráfego de voz e vídeo via RTP De notar o uso do h263 para a compressão do vídeo. De seguida terminaram-­‐se as chamadas, sendo então enviadas as mensagens BYE e as suas confirmações: Fig. 29 – Terminação da conferência via SIP RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 19 de 21 CONCLUSÃO O Asterisk é uma plataforma muito poderosa para quem deseja um serviço de comunicações em tempo real ou deseja criar aplicações de comunicações, sem precisar de se preocupar com os detalhes de mais baixo nível. O facto de ser open-­‐source e personalizável tornou-­‐o numa das plataformas mais usadas no mundo, estando em uso na maioria das empresas do top 1000 da Forbes. A primeira parte deste relatório focou-­‐se em explicar o funcionamento geral de uma chamada VoIP, sendo que posteriormente se detalhou a instalação e configuração base para se conseguir estabelecer chamadas entre dois clientes registados em dois IP PBXs diferentes. Para isso, recorreu-­‐se a uma implementação do Asterisk baseada em AsteriskNow, uma solução pronta a usar após um conjunto mínimo de configurações. Descreveram-­‐se ainda as configurações para implementar algumas funcionalidades extra como as conferências, as videochamadas e a personalização da música de uma chamada em espera. Finalmente apresentou-­‐se uma demonstração de resultados, onde se provaram as configurações efetuadas através de logs de wireshark. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 20 de 21 REFERÊNCIAS §
Siptutorial.net, (2014). A Typical Example of SIP A Made Easy Tutorial. [online] Available at: http://www.siptutorial.net/SIP/example.html [Accessed 10 Dec. 2014]. §
Asterisk.org, (2014). Get Started | Asterisk.org. [online] Available at: http://www.asterisk.org/get-­‐started [Accessed 10 Dec. 2014]. §
Asteriskdocs.org, (2014). Connecting Two Asterisk Boxes Together via IAX. [online] Available at: http://www.asteriskdocs.org/en/2nd_Edition/asterisk-­‐book-­‐html-­‐
chunk/I_sect14_tt670.html [Accessed 10 Dec. 2014]. §
Voipmechanic.com, (2014). 10 advantages of an IP-­‐PBX vs a traditional PBX. [online] Available at: http://www.voipmechanic.com/asterisk-­‐advantages.htm [Accessed 8 Dec. 2014]. §
Pieri, C. (2014). 10 Reasons to Switch to an IP PBX. [online] 3CX. Available at: http://www.3cx.com/pbx/pbx-­‐benefits/ [Accessed 9 Dec. 2014]. §
Voip-­‐info.org, (2011). Asterisk channels -­‐ voip-­‐info.org. [online] Available at: http://www.voip-­‐info.org/wiki/view/Asterisk+channels [Accessed 7 Dec. 2014]. §
Voip-­‐info.org, (2005). Asterisk protocols -­‐ voip-­‐info.org. [online] Available at: http://www.voip-­‐info.org/wiki/view/Asterisk+protocols [Accessed 9 Dec. 2014]. §
Wiki.asterisk.org, (2014). Asterisk REST Interface (ARI) -­‐ Asterisk Project -­‐ Asterisk Project Wiki. [online] Available at: https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=29395573 [Accessed 7 Dec. 2014]. RELATÓRIO DO TRABALHO PRÁTICO FINAL – ASTERISK FEUP – MIEEC | SCOM 2014/2015 Pág. 21 de 21 
Download

Asterisk