Governador Cid Ferreira Gomes Vice Governador Domingos Gomes de Aguiar Filho Secretária da Educação Maria Izolda Cela de Arruda Coelho Secretário Adjunto Maurício Holanda Maia Secretário Executivo Antônio Idilvan de Lima Alencar Assessora Institucional do Gabinete da Seduc Cristiane Carvalho Holanda Coordenadora da Educação Profissional – SEDUC Andréa Araújo Rocha Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional FASE I – REDES SEM FIO Meios de Comunicação de Dados [Redes de Computadores] 1 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional INTRODUÇÃO As redes de computadores vieram para revolucionar a forma como nos comunicamos principalmente no que diz respeito à velocidade no repasse de informações, haja vista que é muito mais rápido mandar notícias aos parentes por e-mail do que postar uma carta nos Correios e esperar que ela chegue ao destino. É claro que existem muitas outras vantagens e nós já as discutimos em disciplinas anteriores. Como a evolução é constante, não podemos deixar de falar em outra etapa da revolução das redes de computadores: as Redes Sem Fio, ou Redes Wireless, onde wire significa cabo e less significa ausência. Certamente você usa ou já usou uma rede sem fio. O famoso e popular aparelho celular é um grande exemplo de comunicação sem fio, neste caso em redes de voz. Até pouco tempo, as ligações telefônicas eram geradas exclusivamente a partir de aparelhos telefônicos de linhas fixas. Da mesma forma, as comunicações em redes de dados eram geradas a partir de hosts fixos, ligados à rede através de cabos. Hoje, tanto para voz quanto para dados temos a opção de transmiti-los usando ondas de radiofrequência (que veremos com detalhes mais adiante) ao invés de fios. Como parte da revolução das redes a mobilidade é a palavra do momento. Poder se comunicar com alguém ou fazer download/upload de dados enquanto se movimenta de casa para o trabalho, por exemplo, está se tornando cada vez mais comum. Redes sem fio diferenciam-se das redes cabeadas principalmente nas camadas física e de enlace. A partir da camada de rede o funcionamento é igual. Vejamos então como se dá o comportamento nessas duas primeiras camadas: Começando pelo básico, devemos entender que existem dois tipos fundamentais de redes sem fio: com infraestrutura e sem infraestrutura (adhoc). Meios de Comunicação de Dados [Redes de Computadores] 2 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Redes sem fio com infraestrutura são redes onde cada host sem fio conecta-se a uma estação base. No caso dos computadores em uma LAN a estação base é o ponto de acesso sem fio (também chamado de access point ou AP). Este ponto de acesso sem fio é comum a outros hosts sem fio, como no exemplo abaixo: O ponto de acesso sem fio funciona como o switch usado nas redes cabeadas. Neste caso, quando um host sem fio deseja transmitir uma informação a outro host, dentro ou fora da rede local, deverá encaminhar sua solicitação ao ponto de acesso sem fio ao qual ele está associado. O ponto de acesso, por sua vez, receberá a solicitação e fará o gerenciamento do encaminhamento da mesma, de acordo com os protocolos com os quais trabalha. A título de curiosidade a estação base em uma rede de telefonia móvel (celular) é a torre de transmissão. Redes sem fio sem infraestrutura ou ad-hoc são redes onde não existe a estação base ou o ponto de acesso sem fio. Os hosts comunicam-se entre si em uma topologia em anel a partir de suas próprias antenas de transmissão, como na imagem a seguir: Meios de Comunicação de Dados [Redes de Computadores] 3 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Já entendi o básico, mas ainda não sei qual é a melhor: a rede com fio ou a rede sem fio? Na verdade, não podemos dar um título de melhor forma de transmissão a uma rede ou outra, pois cada uma tem suas vantagens e desvantagens. Essas características próprias de cada rede é o que faz com que elas sejam ideais ou não para cada cenário específico. Você, como futuro técnico, tem como função conhecer o funcionamento de cada tipo de rede para poder, com embasamento, indicar a melhor rede para aquela necessidade, ou aquele cenário em particular. Para ajudá-lo nesse embasamento, vamos ver algumas características das redes sem fio. Mobilidade. Como já citamos, é uma das maiores vantagens das redes sem fio. O usuário pode mover-se com seu host (se este também for móvel, é claro) e trasmitir normalmente, desde que esteja dentro de uma determinada área de cobertura. Atenuação do sinal. É uma das desvantagens. À medida que vamos nos distanciando da fonte transmissora, o sinal também vai Meios de Comunicação de Dados [Redes de Computadores] 4 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional diminuindo ou atenuando. Um sinal fraco pode fazer com que a informação se perca ou se embaralhe com os ruídos gerados por outros elementos no ambiente. Paredes, montanhas, edifícios, são obstáculos que também causam atenuação do sinal. Interferência eletromagnética. Este problema também ocorre em redes cabeadas, mas ele causa danos maiores ainda nas redes sem fio. Vários outros aparelhos trabalham na mesma banda de frequência de algumas redes sem fio. Por exemplo, as redes Wi-Fi, que são as LANs sem fio, utilizam protocolos como o 802.11b (que veremos com mais detalhes a seguir). Este protocolo utiliza para transmissão a faixa de frequência de 2,4GHz, que é a mesma usada por aparelhos de telefones sem fio e fornos de microondas. Assim é de se esperar um aparelho interfira no funcionamento do outro. Escalabilidade. Como você já viu na disciplina de Administração de Redes, um dos objetivos técnicos que devem existir em um projeto de rede é a escalabilidade, ou seja, a capacidade de expansão ou também de redução que é suportada pela rede. Em redes sem fio fica muito mais fácil acrescentar novos hosts, equipamentos e usuários, haja vista não precisar ter dor de cabeça com instalação de novos cabos, seja por dutos já existentes, seja quebrando paredes para instalação de novas passagens de fios. Maior custo de implantação, menor custo de manutenção. Para implantar uma rede wireless deve-se considerar um custo maior que na implantação de uma rede cabeada, pois as placas e demais equipamentos com essa tecnologia são mais caros. Entretanto, a manutenção da rede sem fio custa bem menos tempo e dinheiro, se comparada a uma rede com fio. Meios de Comunicação de Dados [Redes de Computadores] 5 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Cite locais e aparelhos onde podemos encontrar acesso a redes sem fio. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Explique resumidamente a função do ponto de acesso dentro da rede sem fio. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. Diferencie rede sem fio com infraestrutura e sem infraestrutura. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 6 Escola Estadual de Educação Profissional 4. Ensino Médio Integrado a Educação Profissional Baseado na resposta do item anterior explique por que não podemos indicar o melhor tipo de rede sem fio sem conhecer o cenário em que a mesma será utilizada. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 5. Como futuro técnico discorra sobre as vantagens de se usar uma rede sem fio ao invés da rede cabeada. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 7 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional FUNDAMENTOS DA RADIOFREQUÊNCIA Ondas Redes sem fio não poderiam existir se não fossem as ondas de radiofrequência. São elas que transportam as informações transmitidas pela rede. As ondas que enviam essas informações não precisam de um meio físico para se propagar e são invisíveis. Elas são campos eletromagnéticos que transmitem energia. Assim como os cabos elétricos transmitem energia elétrica, as fibras ópticas transmitem energia luminosa, as ondas transmitem energia magnética. De acordo com o Dicionário da Língua Portuguesa (Porto Editora): Onda é a perturbação contínua ou transitória, que se propaga com transporte de energia através de um meio, quer em virtude das propriedades elásticas desse meio material, quer em virtude das propriedades elétricas ou magnéticas do espaço (onda eletromagnética). Existem dois tipos de ondas: as mecânicas e as eletromagnéticas (que são as ondas usadas em redes sem fio). As ondas mecânicas precisam de um meio material para se propagar, portanto não se propagam no vácuo. Esse meio pode ser sólido, líquido ou gasoso. O som é o exemplo mais clássico de ondas mecânicas. As ondas eletromagnéticas podem se propagar tanto em meios materiais quanto no vácuo. As ondas eletromagnéticas apresentam a forma que obedece a função do seno ou cosseno, por isso chamado de onda senoidal: Meios de Comunicação de Dados [Redes de Computadores] 8 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Vamos agora a algumas definições importantes: Frequência: é a quantidade de vezes que uma onda oscila em um determinado período de tempo. Este período de tempo normalmente é 1 segundo. O que faz com que a relação quantidade de vezes por segundo seja medido em Hertz (Hz). Portanto, se uma onda oscila 45 vezes em 1 segundo, sua frequência será de 45Hz. Da mesma forma, se ela oscila 2000 vezes em um segundo, sua frequência será de 2000Hz, ou 2KHz (KiloHertz). Comprimento de onda: é a distância entre dois pontos iguais da mesma onda e é representado pela letra grega ʎ (lambda). Ondas mais longas tendem a viajar mais longe que as mais curtas. Ondas mais longas também ultrapassam melhor os obstáculos. ʎ Cada vez que uma onda oscila ela carrega uma determinada quantidade de energia, que no caso das redes de dados essa energia é a informação. O que quer dizer que, quanto mais vezes a onda oscilar, mais informação ela pode carregar. Assim sendo, quanto maior a frequência da onda, mais vezes ela oscila em 1 segundo, portanto mais informação ela pode carregar em um Meios de Comunicação de Dados [Redes de Computadores] 9 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional mesmo segundo. Consequentemente essa onda vai ter um comprimento menor. Compare: as duas ondas acima percorrem 1 metro em 1 segundo. A primeira oscila 3 vezes em um segundo, portanto é uma onda de 3Hz. A segunda oscila 9 vezes em 1 segundo, onda de 9Hz. Sabendo que quanto mais a onda oscila, mais informação ela carrega, podemos dizer que a segunda onda, que possui uma frequência maior, leva mais informação que a primeira em um mesmo segundo. Repare também que a onda que possui a frequência maior (a segunda) possui um comprimento de onda menor que a primeira. Isso também implica dizer que, apesar de não carregar tanta informação, a primeira onda chegará mais longe que a segunda, já que ondas mais longas viajam mais longe que as mais curtas. Essas definições são importantes para que nós possamos entender as diferenças entre os protocolos de redes sem fio que iremos ver mais adiante, principalmente no que diz respeito à velocidade e à capacidade de transmissão de dados. Meios de Comunicação de Dados [Redes de Computadores] 10 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Como as informações trafegam de um host a outro em uma rede sem fio? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _____________________________________________________________________________________________________________________________ 2. Você viu no texto a definição de onda que consta no dicionário. Em breve você poderá passar pela situação de ter que explicar isso para um cliente. Como você explicaria o que é uma onda e qual sua relação com as redes wireless? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 11 Escola Estadual de Educação Profissional 3. Ensino Médio Integrado a Educação Profissional Existem dois tipos de ondas, as mecânicas e as eletromagnéticas. Qual tipo é utilizado em redes sem fio e qual a diferença entre as duas? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 4. Defina frequência de uma onda. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 5. Quais as vantagens das ondas que possuem um comprimento maior? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 6. Qual a vantagem da onda que possui uma frequência maior? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 12 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional ESPECTRO ELETROMAGNÉTICO Sabendo que pode haver ondas de diversas frequências, é importante que as mesmas sejam organizadas de acordo com a sua utilização. A imagem abaixo mostra o espectro eletromagnético, que divide as ondas de acordo com a frequência e representa muito bem essa divisão. Espectro eletromagnético. [Imagem retirada de www.rc.unesp.br] COMPORTAMENTO DAS ONDAS As ondas de radiofrequência podem apresentar diversos comportamentos de acordo com o ambiente e os elementos presentes nele. Uma onda possui sua potência, mas esta pode ser amplificada com a ajuda de dispositivos amplificadores, de forma que ela possa chegar mais longe. A esse comportamento damos o nome de ganho. Da mesma forma que a onda pode ser amplificada, também pode ser diminuída, ou atenuada. A atenuação é a perda de transmissão, ou a redução do sinal. Normalmente procuramos evitar ao máximo a atenuação para que não haja problemas na transmissão dos dados, como erros ou percas. Meios de Comunicação de Dados [Redes de Computadores] 13 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Vejamos a seguir, os principais comportamentos das ondas de radiofrequência de acordo com o ambiente em que se propagam: Absorção: ao passar por dentro de um obstáculo, a onda será absorvida pelo mesmo. Dependendo do material de que o obstáculo é constituído, a onda pode ser absorvida totalmente, parcialmente ou até mesmo não ser absorvida. A absorção parcial da onda provoca a redução da amplitude da onda, ou seja, a altura da onda em relação ao seu ponto neutro. Quando a amplitude diminui, perdemos também parte da potência da onda. Quando a onda é totalmente absorvida ela deixa de existir. Materiais como a água conseguem absorver totalmente ma onda. Outros materiais vão absorvê-las dependendo da quantidade de água presente neles. Seres humanos tem boa parte de seus corpos compostos de água, sendo assim uma grande fonte de absorção. Materiais como vidros transparentes não absorvem essas ondas. Reflexão: você já deve ter notado que a luz reflete em superfícies como espelhos, metais e paredes claras. A luz é uma onda eletromagnética, porém é visível aos nossos olhos. As ondas de radiofrequência, invisíveis, também refletem nessas superfícies. Essa reflexão pode fazer com que a onda mude sua trajetória e acabe não Meios de Comunicação de Dados [Redes de Computadores] 14 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional chegando ao destino. A reflexão é um comportamento que pode causar percas, mas se for bem utilizada pode gerar ganhos. Imagine a situação em que temos que comunicar dois edifícios através de antenas, porém um terceiro edifício localiza-se bem no meio do caminho entre os dois primeiros. É possível usar um equipamento refletor que, bem posicionado, pode levar o sinal de uma antena a outra, desviando o terceiro edifício. Basta calcular o ângulo da reflexão, que, a título de curiosidade é o mesmo ângulo em que a onda atinge a superfície. Difração: a difração é a capacidade que as ondas têm de contornar os obstáculos e/ou passar por fendas e aberturas presentes nos mesmos. É necessário que o comprimento da onda seja maior que o obstáculo a ser ultrapassado. A difração faz com que a onda perca um pouco de sua potência inicial, porém ela é importante para que ondas que percorrem muitas distâncias cheguem ao seu destino. É o que acontece com as ondas das antenas de TV. Exercícios 1. Do que se trata o espectro eletromagnético? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 15 Escola Estadual de Educação Profissional 2. Ensino Médio Integrado a Educação Profissional Diferencia ganho de atenuação. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. O que pode acontecer com as ondas quando temos uma rede sem fio dentro de uma sala com vários aquários? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 4. Explique como a reflexão do sinal pode ser boa e ao mesmo tempo ruim para a propagação das ondas eletromagnéticas. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 5. Cite uma vantagem e uma desvantagem da difração. _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 16 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional TECNOLOGIAS DE REDES SEM FIO 802.15 – Bluetooth – WPAN Uma PAN significa Personal Area Network ou Rede pessoal, neste caso a WPAN é a Wireless Personal Area Network, ou seja Rede pessoal sem fio. O tipo mais conhecido de WPAN é o Bluetooth, que opera utilizando o protocolo IEEE 802.15.1. O Bluetooth cria uma pequena rede, do tipo piconet, que não possui infraestrutura, ou seja, não há uma estação base. Os dispositivos desta rede são ligados entre si através do protocolo. Assim como as outras redes sem fio, o Bluetooth utiliza ondas eletromagnéticas para transmissão e opera na faixa de frequência de 2,4GHz (mais precisamente entre 2400MHz e 2483,5MHz), em uma banda chamada de ISM – Industrial, Scientific and Medical, ou seja, uma banda reservada para estudos e produtos para a indústria, a ciência e a medicina. Já vimos que essa mesma faixa é utilizada por outros equipamentos, mas a pouca força do sinal Bluetooth faz com que não haja uma interferência considerável com os outros equipamentos. Devido a essa característica, as transmissões Bluetooth só acontecem a, no máximo, 10 metros de distância em dispositivos comuns. Em uma rede Bluetooth é possível interligar até oito dispositivos ativos e 255 dispositivos estacionados, porém apenas os ativos podem transmitir. Para que os outros dispositivos estacionados possam transmitir, é necessário que o estado dos mesmos seja modificado de estacionado para ativo. Dentre os oito dispositivos ativos um deles é considerado o mestre, sendo os outros considerados escravos. Os escravos ficam submissos ao mestre, que tem a função de sincronizar o tempo de transmissão na rede além de ter o “poder” de modificar o estado de um dispositivo estacionado para ativo e vice-versa. Meios de Comunicação de Dados [Redes de Computadores] 17 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional O que faz com que os dispositivos ativos operem na mesma faixa de frequência sem causar interferência uns aos outros? O protocolo 802.15 implementa uma tecnologia de modulação de espalhamento espectral, que quer dizer que dentro da faixa de frequência usada pelos dispositivos Bluetooth, são criadas mais 79 subfaixas, onde cada dispositivo transmite em apenas uma dessas faixas por vez, fazendo com que seja praticamente impossível que dois dispositivos escolham a mesma subfaixa ao mesmo tempo, já que elas são trocadas 1600 vezes por segundo. Você já deve ter visto vários equipamentos com tecnologia Bluetooth, como mouses e teclados sem fios, fones de ouvido, aparelhos de som automotivos, celulares, tablets, computadores, controles de videogames, apresentadores multimídia, entre outros. É comum vermos pessoas trocando arquivos entre dois aparelhos celulares rapidamente via Bluetooth. Eles estão transmitindo dentro de uma rede pessoal sem fio que pode ser rapidamente criada e também desfeita. É importante, para quem usa equipamentos com Bluetooth, principalmente celulares, que este seja ativado apenas no momento em que for trocar informações. Deixar o Bluetooth sempre ativado em celulares pode ser perigoso, pois hackers podem invadir sua rede com o auxílio de alguns dispositivos e capturar suas informações, haja vista o Bluetooth ainda não utilizar criptografia para encriptar os endereços de conexão. Meios de Comunicação de Dados [Redes de Computadores] 18 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Como as redes Bluetooth fazem para diminuir as interferências com outros aparelhos que utilizam a mesma faixa de frequência? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Qual a função do dispositivo mestre dentro da rede Bluetooth? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. Como os dispositivos ativos dentro da rede Bluetooth evitam a interferência mútua? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 19 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 802.11 – Wi-Fi – WLAN Uma rede do tipo WLAN – Wireless Local Area Network é a rede local sem fio. Equivale à rede local cabeada já conhecido por nós. O protocolo que rege esse tipo de rede é o IEEE 802.11. Esse tipo de rede sem fio é conhecido como rede Wi-Fi. As redes Wi-Fi possuem um alcance bem maior que as redes piconet, como o Bluetooth, alcançando cerca de 120m de distância do ponto de acesso. As WLANs são tipicamente baseadas em infraestrutura (apesar de também poderem ser do tipo ad-hoc) e se formam dentro de um BSS – Basic Service Set ou conjunto básico de serviços. Dentro de um BSS existe uma estação base, como um AP (access point, ou ponto de acesso) que está ligada a um ou mais hosts sem fio. Um BSS pode se ligar a outro BSS por intermédio de equipamentos como switches ou roteadores, sendo assim duas BSSs podem formar uma única rede ou redes distintas. BSS1 Switch ou Roteador BSS2 Os engenheiros da IEEE criaram vários padrões para o protocolo 802.11. Alguns desses padrões tornaram-se praticáveis, veja-os a seguir: Meios de Comunicação de Dados [Redes de Computadores] 20 Escola Estadual de Educação Profissional • Ensino Médio Integrado a Educação Profissional 802.11b: 1º padrão usado em grande escala. Trabalha na faixa de 2.4GHz e transmite a 11Mbps. • 802.11a: trabalha na faixa de 5GHz e transmite a 54 Mbps. Devido sua frequência ser mais alta, não chega tão longe. Como tem poucos equipamentos usando esta frequência, essa faixa é mais “limpa”. • 802.11g: transmite a 54Mb na faixa de 2.4GHz. Na prática, as interferências eletromagnéticas fazem esta transmissão cair para cerca de 37Mb. De qualquer forma chega a ser melhor que as duas anteriores, pois transmite a uma velocidade maior que a do padrão b e numa frequência que permite ir mais longe que no padrão a. • 802.11n: Foi criado com a intenção de transmitir numa velocidade equivalente à do cabo. Para isto, o algoritmo de transmissão foi melhorado e foi usado o MIMO – Multiple Input Multiple Output, ou seja, múltiplas entradas e múltiplas saídas, onde tanto transmissor quanto receptor possui duas ou mais antenas transmitindo simultaneamente fazendo com que o sinal se espalhe mais uniformemente. Transmite na faixa de 2.5GHz a 85Mbps. Meios de Comunicação de Dados [Redes de Computadores] 21 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional CONFIGURAÇÃO DE REDES Wi-Fi Para configurar um AP em uma rede sem fio é preciso entender alguns conceitos: SSID O SSID – Service Set Identifier é o nome que identifica a rede, dentre as outras redes que estão no mesmo alcance. Normalmente o administrador da rede escolhe este nome. É possível deixar o SSID visível, assim, todos os que fizerem uma busca pelas redes disponíveis vão conseguir visualizar a rede, se estiverem dentro do alcance da mesma. Isso ajuda principalmente aos usuários mais leigos a se conectarem rapidamente à rede. Geralmente encontramos essa opção na configuração de APs em SSID Broadcast. Outra opção é deixar o SSID oculto. Neste caso, o usuário terá que conhecer o SSID para adicionálo à lista de redes, o que torna a rede mais segura, haja vista que o invasor deverá saber o nome da mesma. Canais Ao configurar uma rede 802.11, deve-se escolher um canal de transmissão dentro da frequência do padrão. No caso do padrão 802.11g, que é o mais comum atualmente, são disponibilizados 11 canais dentro da frequência de 2,4GHz. O administrador da rede pode escolher quaisquer destes canais para a operação do AP, porém canais vizinhos podem sobreporse e causar interferência mútua, caso seja necessário utilizar mais de um AP na mesma rede. A margem de segurança entre dois canais de forma que eles não se interfiram é de, no mínimo, 4 canais. Assim sendo, para que três APs funcionem sem interferência entre si, o administrador deve escolher os canais 1, 6 e 11. Meios de Comunicação de Dados [Redes de Computadores] 22 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional DHCP Na verdade, o protocolo DHCP – Dynamic Host Configuration Protocol não é mais novidade. A essa altura do campeonato você deve conhecer o funcionamento básico deste protocolo, entretanto é preciso citá-lo aqui para lembrar que, ao configurar um AP, você terá a opção de fazer com que ele se torne um servidor DHCP e assim os hosts que se associarem a ele terão seus endereços IP configurados dinamicamente. No caso de escolher a opção de servidor DHCP, o administrador deverá informar o escopo DHCP, ou seja, a faixa de IPs que serão disponibilzados via DHCP, por exemplo, iniciando do 192.168.10.20 e terminando no 192.168.10.50. Dessa forma você pode limitar o número de hosts associados ao AP, ou até mesmo configurar alguns hosts especiais com IPs fixos que estão fora desse escopo. Algoritmos de criptografia Para aumentar a segurança da rede sem fio, é interessante (mas não obrigatório) que se insira uma senha para acessar à rede. Esta senha deve ser inserida no momento da configuração do AP e a mesma será pedida ao host do usuário sempre que ele quiser se conectar. Entretanto, devemos lembrar que o acesso à rede sem fio é muito inseguro, haja vista não ser necessário contato com fios, basta estar dentro da área de cobertura do BSS. Neste caso, qualquer um que estivesse dentro desta área, com poucos recursos seria capaz de capturar a senha que estaria trafegando pelas ondas de radiofrequência. Devido a isso, é implementado em todo AP um algoritmo de criptografia que encripta a senha para que esta possa ser transmitida com segurança. Os algoritmos de criptografia mais presentes nos APs são o WEP, WPA e WPA2. WEP – Wired Equivalent Privacy. Foi um algoritmo criado em 1999 para fazer parte do padrão 802.11 e pelo que o nome diz, deveria dar privacidade equivalente à da rede cabeada, porém seu funcionamento é muito simplificado o que permite que seu sistema de Meios de Comunicação de Dados [Redes de Computadores] 23 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional cifragem, feito apenas com criptografia simétrica e com chave de tamanho muito reuzido, seja quebrado facilmente com a ajuda de softwares como o Aircrack. WPA – Wi-Fi Protect Access. Veio para substituir o WEP na tentativa de corrigir as falhas do mesmo. É, de fato, bem melhor que o WEP, pois usa um sistema de cifragem mais elaborado, que usa tanto criptografia simétrica quanto assimétrica e chaves maiores. Também permite proteção tanto a redes domésticas quanto corporativas. Entretanto, o WPA não conseguiu prover funcionalidades consideradas indispensáveis para a segurança das empresas, vindo a ser substituído pelo WPA2. WPA2 – Wi-Fi Protect Access 2. Criado pela Wi-Fi Alliance, o WPA2 provê muito mais segurança que seus antecessores, pois possui um algoritmo bem mais elaborado, oq eu faz também com que seu processamento torne-se mais lento em relação aos demais. Ele usa o algoritmo criptográfico AES - Advanced Encryptation Standart, que possui tamanhos de chaves variadas, mas que no WAP2 tem como padrão chaves de 256 bits. Devido a grande quantidade de cálculos criptográficos, equipamentos que implementam o WPA2 podem precisar de hardware extra para efetuá-los. Exercícios 1. Quais os elementos que formam uma rede local sem fio, do tipo Wi-Fi? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 24 Escola Estadual de Educação Profissional 2. Ensino Médio Integrado a Educação Profissional Qual dos padrões IEEE 802.11 é o mais vantajoso? Por quê? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. Por que o sinal do padrão 802.11b chega a uma distância maior que o sinal do padrão 802.11a? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 4. Do que se trata a tecnologia MIMO, utilizada em alguns equipamentos de transmissão sem fio? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 25 Escola Estadual de Educação Profissional 5. Ensino Médio Integrado a Educação Profissional O que é o SSID de uma rede e qual a forma mais segura de utilizá-lo? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 6. O que pode acontecer se, em uma rede com dois pontos de acesso (AP) funcionando simultaneamente, um deles estar configurado no canal 2 e o outro no canal 3? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 7. Qual a vantagem de se habilitar o protocolo DHCP no AP? O que deve ser informado ao habilitar esta opção? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 8. Explique do que se tratam os algoritmos WEP, WPA e WPA2: Que função eles possuem em uma rede sem fio? Qual deles é o mais utilizado atualmente? Qual deles é o menos utilizado e por quê? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 26 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 802.16 – WiMAX – WMAN A tecnologia WiMAX – Worldwide Interoperability for Microwave Access, ou Interoperabilidade Global para Acesso por Microondas, veio para que fosse possível termos redes metropolitanas sem o uso de cabos. O WiMAX baseia-se no protocolo IEEE 802.16. A estrutura da rede WiMAX é parecida com a da WiFi, pois é constituída por uma estação-base, que aqui se apresenta normalmente como uma torre de transmissão, e dispositivos clientes, que normalmente são antenas receptoras ligadas a uma infraestrutura cabeada para distribuição, ou até mesmo, repetindo o sinal para distribuição Wi-Fi em antenas menores. A velocidade de até 75Mbps do WiMAX é muito superior à do Wi-Fi, além de seu alcance, que pode chegar a um raio de 50km em relação à torre de transmissão. É possível, desta forma, interligar bairros e até cidades em enlaces sem fio. Áreas em que a passagem de cabos em postes é mais complicada, como algumas áreas amazônicas em nosso país onde só é possível chegar à outra cidade de barco, podem ser cobertas por redes sem fio do tipo WiMAX. Meios de Comunicação de Dados [Redes de Computadores] 27 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional ANTENAS Antena é um condutor elétrico ou um sistema de condutores. Ela é necessária para a transmissão e a recepção de sinais através do ar. Na transmissão, a antena converte energia elétrica em energia eletromagnética e a antena irradia essa energia no ar. Na recepção, a antena capta energia eletromagnética do ar e converte essa energia em energia elétrica. Uma única antena pode ser usada para transmissão e recepção. Uma antena irradia potência em todas as direções, mas não apresenta o mesmo desempenho em todasas direções. Em geral, quanto maior a frequência, mais direcional é o feixe gerado pela antena. Tipos de Antenas Antenas podem ser: Omnidirecionais: São a maioria das antenas. O seu alcance de transmissão cobre uma área circular em torno do transmissor. Se duas estações estiverem se comunicando, as estações na vizinhança devem permanecer caladas para não haver interferência. Direcionais: Com esse tipo de antena pode-se minimizar o problema de interferência. A área coberta pode ser aproximada por um setor circular, pois a antena gera um feixe focado. Tem grandes vatagens com o fato de a reutilização espacial pode ser mais explorada, os ganhos de transmissão e de recepção serem maiores assim como o alcance de transmissão. Meios de Comunicação de Dados [Redes de Computadores] 28 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Visada Direta Para que haja comunicação entre transmissor e receptor em um circuito radiofrequência é preciso que haja visada direta entre as antenas dos dois lados. Por esse motivo, elas devem estar posicionadas nos lugares mais altos (normalmente topos dos prédios) e livres de obstáculos para que não ocorram reflexão ou difração. Podemos fazer uma analogia com um tubo e duas pessoas, uma em cada extremidade com uma lanterna. Uma pessoa pode ver perfeitamente a luz da lanterna da outra se não há nenhum obstáculo entre elas. Porém, dependendo do tamanho do obstáculo, a quantidade de luz que pode ser vista em cada extremidade é prejudicada ou pode até ser bloqueada inteiramente. Traduzindo para o caso de ondas de radiofrequência, o link poderia ser seriamente afetado ou mesmo interrompido. Zona de Fresnel A Zona de Fresnel é um aspecto de suma importância no planejamento e troubleshooting de um link de rediofrequência. Meios de Comunicação de Dados [Redes de Computadores] 29 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Pode ser definida como uma série de elipses concêntricas em torno da linha de visada. Ela é importante para a integridade do link porque determina uma área em torno da linha de visada que pode introduzir interferência no sinal caso ele seja bloqueado. Objetos na Zona de Fresnel tais como árvores, prédios entre outros, podem produzir reflexão, difração, absorção ou espalhamento do sinal, causando degradação ou perda completa do sinal. Ganho Um elemento de antena, sem amplificadores e filtros associados a ela, é um dispositivo passivo. Não há nenhuma manipulação ou amplificação do sinal pelo elemento de antena. Uma antena pode criar um efeito de amplificação focando a radiação em um lóbulo estreito, da mesma forma que uma lanterna que emite luz a uma grande distância. O foco da radiação são medidos pelos lóbulos em graus horizontal e vertical. Por exemplo, uma antena omnidirecional tem um lóbulo de 360 graus. Se estreitássemos esse lóbulo para algo em torno de 30 graus, podemos levar essa mesma radiação a distância maiores. Veja as figuras abaixo, elas ilustram bem esse efeito, observe que há um achatamento dos lóbulos. O ganho é expresso em Db (decibéis). Quanto maior for o ganho da antena mais estreito será seu lóbulo principal. Meios de Comunicação de Dados [Redes de Computadores] 30 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Lóbulos de um elemento de antena, sem ganho Lóbulos de uma antena com ganho. Conectores RF Conectores são usados para conectar cabos a dispositivos ou dispositivos a dispositivos. Tradicionalmente os tipos N,F,SMA, BNC e TNC tem sido usados em WLANs. Conector N Conector SMA Há diversos fatores a serem considerados quando da compra de um conector: O conector deveria ser de impedância igual a todos os demais dispositivos da WLAN. Meios de Comunicação de Dados [Redes de Computadores] 31 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Saber qual a perda de inserção causada pelo conector Saber qual a freqüência mais alta (resposta de freqüência). Isso é muito importante hoje em dia uma vez que as WLANs de 5 GHz se tornam cada vez mais comuns. Conectores projetados para operar no máximo a 3 GHz funcionarão bem com WLANs de 2.4GHz e não funcionarão com WLANs de 5 GHz. Ficar atento a qualidade do conector, optando sempre por fabricantes conhecidos. Esse fato ajudará a evitar problemas conhecidos como VWSR, sinais espúrios e más conexões. Certifique-se de qual tipo de conector você precisa e se ele é macho ou fêmea. Cabos RF O mesmo critério utilizado na escolha de cabos para um backbone de 10 Gpbs deve ser usado na escolha de um cabo para conectar uma antena a um ponto de acesso. Um cabo de antena com conectores SMA reverso e tipo N Cabos introduzem perda em uma WLAN, portanto procure usar cabos que tenham o comprimento estritamente necessário. Procure comprar cabos curtos com conectores já crimpados. Isso minimiza o problema de má conexão entre o conector e o cabo. Cabos crimpados por profissionais são em geral melhores do que aqueles feitos por indivíduos não treinados. Meios de Comunicação de Dados [Redes de Computadores] 32 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Procure por cabos que tenham baixa perda. Perda é expressa por dB/100 metros. Quanto menor a perda, mais caro é o cabo. A tabela abaixo, mostra um exemplo para vários tipos de cabo coaxial. Compre cabos que tenham a mesma impedância que os demais dispositivos da WLAN (geralmente 50 ohms). A frequência de resposta do cabo deveria ser o fator principal na decisão para aquisição. Com WLANs de 2.4 GHz um cabo de 2.5 GHz deveria ser usado. Cabos Pigtail Cabos pigtail são usados para conectar cabos com conectores padrão da indústria a equipamentos de fabricantes WLAN, assim eles adaptam conectores proprietários a conectores padrão tais como: tipo N e SMA. Um lado do cabo possui um conector proprietário e outro lado um conector padrão da indústria. Cabo Pigtail Meios de Comunicação de Dados [Redes de Computadores] 33 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Os conectores de ambas as extremidades em detalhes Em 23 de junho 1994, o FCC e o DOC regulamentaram que conectores fabricados após essa data, deveriam ser fabricados como conectores de antenas proprietários. A intenção dessa regulamentação tinha dois objetivos: Desencorajar o uso de amplificadores, antenas de alto ganho ou qualquer outro dispositivo que pudesse contribuir para o aumento significativo da radiação RF Desencorajar o uso de sistemas que eram instalados por usuários inexperientes os quais acidentalmente ou não, infringiam as regras do FCC no uso da banda ISM. Desde então, clientes tem adquirido conectores proprietários dos fabricantes para usar com conectores padrão da indústria. Modelos de Antenas Ominidirecionais Antena omnidirecional de 2dBi ao lado da de 5dBi. Meios de Comunicação de Dados [Redes de Computadores] 34 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Setoriais Patch: 90º - 12 a 17dBi Round patch: Pouco mais de 90º - 12 a 17dBi Yagi: 24º a 30º - 14, 19 até 24dBi Meios de Comunicação de Dados [Redes de Computadores] 35 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Parabólica: Mais estreito que a yagi – 22 a 24dBi Meios de Comunicação de Dados [Redes de Computadores] 36 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional FASE II – ACESSO REMOTO Meios de Comunicação de Dados [Redes de Computadores] 37 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional INTRODUÇÃO A necessidade da troca de informações sigilosas de forma segura e com baixos custos tornou-se um problema para a maioria das empresas que possuem seus dados estruturados através de redes de computadores. O avanço e a criação de tecnologias que buscam solucionar estas questões têm sido um dos maiores desafios na área da computação. Algoritmos criptográficos, protocolos de segurança, meios de comunicação seguros, são alguns dos itens primordiais para que esta informação possa trafegar em ambientes livres de interferências externas. Quando falamos em redes, principalmente em acesso remoto, devemos conhecer basicamente os sistemas abaixo: Sistema de rede dial-up O acesso remoto dial-up é uma tecnologia de acesso remoto que está disponível como parte do serviço de Roteamento e Acesso Remoto (RRAS). Ele fornece uma solução simples para organizações que desejam permitir que seus funcionários acessem suas contas de e-mail corporativo e arquivos compartilhados de casa ou de outros locais, fora da rede corporativa. Com o acesso remoto dial-up, o cliente pode usar a infraestrutura de rede de longa distância (WAN) para se conectar a um servidor de acesso remoto. Um cliente de acesso remoto usa o sistema telefônico para criar um circuito físico ou virtual temporário para uma porta em um servidor de acesso remoto. Após a criação do circuito físico ou virtual, os demais parâmetros de conexão podem ser negociados. O sistema de rede dial-up tem suporte para roteamento de discagem por demanda, ajudando a reduzir custos telefônicos. Meios de Comunicação de Dados [Redes de Computadores] 38 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Sistema de rede privada Uma rede virtual privada (VPN) é uma conexão ponto a ponto em redes privadas ou públicas, como a Internet. Um cliente VPN usa protocolos especiais baseados em TCP/IP, denominados protocolos de túnel, que estabelecem um canal seguro entre dois computadores, pelo quais dados podem ser enviados. Da perspectiva dos dois computadores envolvidos, há um link ponto a ponto dedicado entre eles, embora na realidade, os dados sejam roteados pela Internet, como qualquer outro pacote seria. Em uma implantação VPN típica, um cliente inicia uma conexão virtual ponto a ponto com um servidor de acesso remoto pela Internet. O servidor de acesso remoto atende a chamada, autentica o chamador e transfere os dados entre o cliente VPN e a rede privada da organização. A VPN – Rede Privada Virtual – é uma das soluções mais viáveis presentes no atual mercado da informática. Neste manual, serão mostrados os principais itens desta tecnologia, implementando-a, a fim de posicioná-la como uma alternativa segura e economicamente atrativa para organizações privadas e estatais. Meios de Comunicação de Dados [Redes de Computadores] 39 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Qual a diferença entre Sistema de rede Dial-up e privada? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Quais as vantagens e desvantagens de utilizar esses sistemas? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ O que uma VPN faz? Se bem planejada, uma VPN pode trazer muitos benefícios para a empresa. Por exemplo, ela pode: ampliar a área de conectividade aumentar a segurança reduzir custos operacionais (em relação a uma rede WAN) Meios de Comunicação de Dados [Redes de Computadores] 40 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional reduzir tempo de locomoção e custo de transporte dos usuários remotos aumentar a produtividade simplificar a topologia da rede Proporcionar melhores oportunidades de relacionamentos globais prover suporte ao usuário remoto externo prover compatibilidade de rede de dados de banda larga. Prover retorno de investimento mais rápido do que a tradicional WAN Meios de Comunicação de Dados [Redes de Computadores] 41 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional VPN significa, em português, Redes Privadas Virtuais. Desmembrando este termo, podemos destacar que Redes é a infraestrutura pela qual os computadores se comunicam; Privadas, devido estas redes utilizarem recursos de criptografia para garantir a segurança das informações trafegadas pelo meio de comunicação e; Virtuais, por elas estarem fisicamente separadas. Em outras palavras, VPNs são redes de computadores que estão separadas fisicamente e, que através de um meio público de comunicação, geralmente a Internet, comunicam-se de forma segura, através da utilização de criptografia. ELEMENTOS DE UMA VPN Uma VPN tem como principais elementos: a criação de um túnel virtual encriptado (tunelamento), a autenticação das extremidades e o transporte subjacente. Tunelamento As informações são trafegadas de forma encriptada, dando a ideia da criação de um túnel virtual, onde os dados que estiverem trafegando pelo mesmo permanecem ininteligíveis para quem não fizer parte dele. Isto garante que, se a informação for capturada, será muito difícil entendê-la, a menos que se descubra a chave utilizada. Meios de Comunicação de Dados [Redes de Computadores] 42 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Autenticação das extremidades As mensagens são autenticadas para assegurar que elas vieram de usuários válidos, através da utilização de protocolos de autenticação, que geralmente implementam algoritmos hash. Desta forma, se alguma parte da mensagem for alterada durante a transmissão, o pacote é descartado. Mesmo a mensagem estando encriptada, a razão de se autenticá-la deve-se ao fato da prevenção de ataques do tipo Replay. Transporte Subjacente Devido ao protocolo TCP/IP ser a base da Internet, ele é amplamente utilizado para a comunicação entre redes. Entretanto, ele é muito inseguro, devido não ter sido projetado para esta finalidade. Por isso, uma VPN utiliza a infraestrutura de rede já existente do TCP/IP para transmitir os seus pacotes pela Internet, apenas adicionando alguns cabeçalhos, conforme a Figura 21. Isto faz com que os dispositivos VPN utilizem o mecanismo de transporte subjacente para se comunicarem, o que possibilita a instalação destes em qualquer parte da rede, reduzindo-se os custos (KOLENISKOV e HATCH, 2002). Meios de Comunicação de Dados [Redes de Computadores] 43 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Esta figura mostra um pacote IPSec, que é composto por um pacote IP original, utilizado para transmitir informações pela Internet, e alguns dos cabeçalhos utilizados pelo IPSec. VANTAGENS E DESVANTAGENS De acordo com Kolesnikov e Hatch (2002), as vantagens em utilizar uma VPN estão relacionadas à segurança, transparência, facilidade de administração e redução de custos. A VPN garante o fornecimento de funções vitais de segurança, como autenticidade, confidencialidade, integridade e controle de acesso, reduzindo os riscos de ataques externos, como IP Spoofing, man-in-the-middle e injeção de pacotes na comunicação. A transparência não deixa que os usuários, as aplicações e os computadores percebam a localização física dos recursos que estão sendo utilizados, permitindo que eles sejam acessados em lugares remotos como se estivessem presentes localmente, facilitando o gerenciamento das redes e diminuindo a necessidade de treinamentos para os administradores. A redução de custos é uma das maiores vantagens de se implementar uma VPN, pois usando conexão local de Internet, não é necessário, por exemplo, o uso de linhas dedicadas e servidores para acesso remoto, que são relativamente mais caros de se manter comparando-se a uma VPN. Meios de Comunicação de Dados [Redes de Computadores] 44 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Apesar de todas as vantagens citadas anteriormente, uma VPN apresenta como desvantagens o fato de sua implementação poder consumir muito tempo, a dificuldade na localização de seus defeitos, a relação de confiança entre as redes interconectadas e a disponibilidade da Internet. A implementação de uma VPN pode consumir bastante tempo e tornarse uma grande desvantagem se não houver um planejamento adequado, preocupando-se com a gerência das chaves e a resolução dos problemas encontrados. É importante que se tenha conhecimento de como as redes que se pretende interligar estão funcionando, assim como as suas configurações, pois qualquer imperfeição pode resultar em mais tempo gasto para corrigi-la. Em razão dos dados trafegarem de forma encriptada em uma VPN, a localização d e defeitos, como a não sincronização das chaves, falhas de autenticação, pacotes perdidos e a sobrecarga do gateway VPN, pode ser um problema. A relação de confiança entre as redes é uma necessidade e deve ser bem planejada, pois os recursos compartilhados por uma das redes ficarão acessíveis à outra. Isso significa que, se uma das redes não possuir uma segurança adequada, ela está vulnerável a ataques externos e, consequentemente, toda a VPN também estará. Em razão de uma VPN depender da Internet para conectar suas redes, é necessário que ela esteja sempre disponível, o que nem sempre é possível, devido às falhas existentes nos provedores de serviços de Internet. Falando um pouco mais de VPN, existem dois tipos de conexões VPN que iremos conhecer: Meios de Comunicação de Dados [Redes de Computadores] 45 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Redes VPN de acesso remoto Uma conexão VPN de acesso remoto habilita um usuário que esteja trabalhando em casa ou em trânsito a acessar um servidor em uma rede privada, usando a infraestrutura fornecida por uma rede pública, como a Internet. Do ponto de vista do usuário, a VPN é uma conexão ponto a ponto entre o computador cliente e um servidor da organização. A infraestrutura da rede pública ou compartilhada é irrelevante porque ela aparece logicamente como se os dados fossem enviados por meio de um link privado dedicado. Essa rede também é chamada de rede discada privada virtual (VPDN). É uma conexão usuário-LAN utilizada por empresas cujos funcionários precisam se conectar a uma rede privada de vários lugares distantes. Normalmente, uma empresa que precisa instalar uma grande rede VPN de acesso remoto terceiriza o processo para um provedor de serviços corporativo (ESP). O ESP instala um servidor de acesso à rede (NAS) e provê os usuários remotos com um programa cliente para seus computadores. Os trabalhadores que executam suas funções remotamente podem discar para um 0800 para ter acesso ao NAS e usar seu software cliente de VPN para alcançar os dados da rede corporativa. Redes VPN site a site Uma conexão VPN site a site (algumas vezes chamada de conexões VPN roteador a roteador) habilita que uma organização mantenha conexões roteadas entre escritórios independentes ou com outras organizações em uma rede pública, enquanto ajuda a manter a segurança das comunicações. Quando as redes são conectadas pela Internet, como mostra a figura a seguir, um roteador habilitado por VPN encaminha os pacotes para outro roteador habilitado por VPN em uma conexão VPN. Para os roteadores, a conexão VPN aparece, logicamente, como um link de camada de link de dados dedicado. Uma conexão VPN site a site conecta duas redes privadas. O servidor VPN fornece uma conexão roteada com a rede à qual o servidor VPN está Meios de Comunicação de Dados [Redes de Computadores] 46 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional conectado. O roteador de chamada realiza sua própria autenticação para o roteador de resposta e, para autenticação mútua, o roteador de resposta realiza sua própria autenticação para o roteador de chamada. Geralmente, em uma conexão VPN site a site, os pacotes enviados de qualquer um dos roteadores pela conexão VPN não são originados nos roteadores. Imagem cortesia da Cisco Systems, Inc. Redes VPN do tipo ponto a ponto Por meio do uso de equipamentos dedicados e criptografia em grande escala, uma empresa pode conectar múltiplos pontos fixos em uma rede pública como a Internet. VPNs do tipo ponto a ponto podem ser de dois tipos: Baseada em intranet - se uma empresa tem um ou mais locais remotos que quer ver ligados por uma rede privada, pode criar uma rede do tipo VPN intranet para conectar redes LAN entre si. Baseada em extranet - quando uma empresa tem uma estreita relação com outra (parceiros, fornecedores ou clientes), pode construir uma rede do tipo VPN extranet que conecta uma rede LAN a outra LAN, permitindo às empresas o trabalho em ambiente compartilhado. Meios de Comunicação de Dados [Redes de Computadores] 47 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Segurança de uma rede VPN: Firewalls Uma rede VPN bem projetada utiliza vários métodos para manter sua conexão e segurança dos dados: firewalls criptografia IPSec servidor AAA A seguir, será explicado cada um desses métodos de segurança. Começaremos com o firewall. Um firewall provê uma potente barreira entre sua rede privada e a Internet. Podemos colocar firewalls para restringir o número de portas abertas, o tipo de pacote que pode passar e que protocolos são permitidos por ele. Alguns produtos para rede VPN, como o roteador Cisco 1700, podem ser atualizados para incluir habilidades de firewalls, executando neles um IOS Meios de Comunicação de Dados [Redes de Computadores] 48 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Cisco apropriado. Podemos também ter um bom firewall no lugar correto antes de implementar uma rede VPN, mas um firewall também pode ser usado para finalizar uma sessão de rede VPN. Segurança de uma rede VPN: criptografia Como já estudamos anteriormente as formas de segurança em comunicação de dados, devemos lembrar que Criptografia é o processo de codificação de todos os dados que um computador envia para outro, de forma que só o destinatário possa decodificá-los. A maioria dos sistemas de criptografia de computadores pertence a uma destas duas categorias: criptografia com chave simétrica criptografia com chave pública Na criptografia com chave simétrica, cada computador tem uma chave secreta (código) que pode ser usada para criptografar um pacote de informações antes de mandá-las pela rede para outro computador. A chave simétrica requer que se conheça quais computadores falarão uns com os outros; então, poderemos instalar a chave em cada um deles. A criptografia com chave simétrica funciona como um código secreto que cada um dos computadores precisa conhecer para decodificar a informação. O código provê a chave para decodificação da mensagem. Pense nisso como: criamos uma mensagem codificada para enviar a um amigo. Cada letra é substituída pela letra duas posições posteriores a ela no alfabeto. Assim, "A" torna-se "C" e "B" torna-se "D". Já contamos a um amigo de confiança que o código é "Deslocar por 2". Nosso amigo recebe a mensagem e a decodifica. Qualquer outro que veja a mensagem vai ver somente palavras sem sentido. Criptografia com chave pública utiliza a combinação da chave privada e da chave pública. A chave privada é conhecida somente por seu computador, ao passo que a chave pública é dada a seu computador por qualquer outro que Meios de Comunicação de Dados [Redes de Computadores] 49 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional queira se comunicar de forma segura com ele. Para decodificar uma mensagem criptografada, um computador precisa usar a chave pública, oferecida pelo computador que a originou, e sua própria chave privada. Um programa utilitário muito popular de criptografia de chave pública é conhecido como Pretty Good Privacy (PGP), que permite que criptografemos quase tudo. Segurança de uma rede VPN: IPSec O Internet Protocol Security (IPSec) fornece recursos aperfeiçoados de segurança, como um melhor algoritmo de criptografia e autenticação mais abrangente Imagem cedida por Cisco Systems, Inc. No IPSec há duas formas de criptografia: túnel e transporte. A forma de túnel criptografa o cabeçalho e o conteúdo de cada pacote, ao passo que a modalidade transporte somente criptografa os conteúdos. Somente sistemas compatíveis com IPSec podem tirar vantagem desse protocolo. Todos os equipamentos precisam usar uma chave comum, e o firewall de cada rede precisa ter instaladas políticas de segurança semelhantes. O IPSec pode criptografar dados entre vários equipamentos, como: roteador para roteador Meios de Comunicação de Dados [Redes de Computadores] 50 Escola Estadual de Educação Profissional firewall para roteador PC para roteador PC para servidor Ensino Médio Integrado a Educação Profissional Segurança de uma rede VPN: servidores AAA Servidores AAA (autenticação, autorização e contabilização, na sigla em inglês) são usados para dar mais segurança ao acesso a ambientes de redes VPN de acesso remoto. Quando uma solicitação para estabelecer um contato vem de um cliente discado, é encaminhada para um servidor AAA. O servidor AAA verifica o seguinte: Quem você é (autenticação) O que você está autorizado a fazer (autorização, ou determinação de permissões) O que você de fato faz (contabilização) A informação de contabilização é muito útil para rastrear um usuário para auditorias de segurança, cobrança ou confecção de relatórios. Meios de Comunicação de Dados [Redes de Computadores] 51 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tecnologias das redes VPN Dependendo do tipo de rede VPN (acesso remoto ou ponto a ponto), precisaremos incluir certos componentes para construir nossa rede VPN, entre os quais: programa cliente para o computador de cada usuário remoto equipamentos dedicados como um concentrador para redes VPN ou firewall PIX seguro servidor VPN dedicado, para serviços de discagem NAS (network access server) usado pelo provedor de serviços de um usuário remoto com acesso à rede VPN central de gerenciamento de políticas e de redes VPN Por não existir um padrão amplamente aceito para se implementar uma rede VPN, muitas empresas desenvolveram soluções próprias. Nas próximas seções abordaremos algumas soluções oferecidas pela Cisco, uma das mais difundidas companhias de tecnologia de redes de dados. Meios de Comunicação de Dados [Redes de Computadores] 52 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Qual a função de uma VPN? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Quais os principais elementos de uma VPN? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. Diferencie os principais tipos de VPN? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 4. Comente sobre segurança em redes VPN? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 53 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Concentradores de redes VPN Incorporando as mais avançadas técnicas de criptografia e autenticação disponíveis, os concentradores VPN são construídos especificamente para a criação de VPN de acesso remoto. Eles oferecem alta disponibilidade, alto desempenho e escalabilidade e incluem componentes, chamados de módulos de processamento escalável de criptografia (SEP - scalable encryption processing ), que permitem aos usuários aumentar facilmente a capacidade de processamento. Os concentradores são oferecidos em modelos apropriados para cada tipo, desde pequenos escritórios com até 100 usuários de acesso remoto até grandes organizações com até 10 mil usuários remotos simultâneos. Meios de Comunicação de Dados [Redes de Computadores] 54 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Roteador VPN otimizado Roteadores otimizados VPN da Cisco proveem escalabilidade, roteamento, segurança e QoS (quality of service - qualidade de serviço). Com base no programa Cisco IOS (Internet Operating System), existe um roteador apropriado para cada situação, desde acesso de pequenos escritórios conhecidos como small-office/home-office (SOHO) até os agregadores VPN central-site, para necessidades corporativas em larga escala. Secure PIX Firewall da Cisco Uma incrível peça de tecnologia, o firewall PIX (private Internet exchange) combina tradução de endereços da rede dinâmica, servidor proxy, filtragem de pacote, firewall e capacidades das redes VPN em um só equipamento. Meios de Comunicação de Dados [Redes de Computadores] 55 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Em vez de usar o IOS Cisco, esse equipamento possui um sistema operacional altamente moderno, que substitui a habilidade de gerenciar uma variedade de protocolos pela extrema robustez e desempenho focados no IP. Túnel de comunicação A maioria das redes VPNs confia no túnel de comunicação para criar uma rede privada que passa pela Internet. Túnel de comunicação é o processo de colocar um pacote inteiro dentro de outro e enviar ambos pela rede. O protocolo do pacote externo é entendido pela rede e dois pontos chamados interfaces do túnel, pelas quais o pacote entra na rede e sai dela. O envio de dados pelo túnel requer três diferentes protocolos: Protocolo de portadora - o protocolo usado pela rede sobre a qual a informação está viajando. Protocolo de encapsulamento - os protocolos (GRE, IPSec, L2F, PPTP, L2TP) que são empacotados em volta dos dados originais. Protocolo de passageiro - os dados originais (IPX, NetBeui, IP) sendo transportados O envio de dados pelos túneis tem uma implicação surpreendente para as redes VPNs. Podemos colocar um pacote que usa um protocolo que não é suportado pela Internet (como o NetBeui) dentro de um pacote com protocolo Meios de Comunicação de Dados [Redes de Computadores] 56 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional IP e enviá-lo de forma segura pela Internet. Podemos também colocar um pacote que usa um endereço IP privado (não roteável) dentro de um pacote que usa um endereço IP global exclusivo para ampliar uma rede privada na Internet. Túnel de comunicação ponto a ponto Em uma rede VPN ponto a ponto, GRE (encapsulamento de roteamento genérico) é normalmente o protocolo de encapsulamento que provê a estrutura de empacotamento do protocolo de passageiro para transportar sobre o protocolo de portadora, que é tipicamente baseado em protocolo IP. Incluem-se informações sobre que tipo de pacote está sendo encapsulado e sobre a conexão entre o cliente e o servidor. Apesar do GRE, o IPSec no modo túnel é muitas vezes usado como o protocolo de encapsulamento. O IPSec trabalha bem tanto com o acesso remoto, quanto com as VPNs ponto a ponto. O IPSec precisa ser aceito nas duas interfaces do túnel para ser usado. Túnel de comunicação de dados: acesso remoto Em uma rede VPN de acesso remoto, a transmissão de dados pelo túnel se dá com uso de PPP. Parte da camada TCP/IP, o PPP é o transportador para outros protocolos IP quando se comunicam pela rede entre o host e o sistema remoto. A transmissão de dados pelo túnel em rede VPN de acesso remoto se baseia no protocolo PPP. Cada um dos protocolos listados abaixo foi construído usando a estrutura básica do protocolo PPP e é usado pelas redes VPNs de acesso remoto. 1. L2F (Layer 2 Forwarding) - desenvolvida pela Cisco, o L2F usa qualquer esquema de autenticação suportado pelo protocolo PPP. Meios de Comunicação de Dados [Redes de Computadores] 57 Escola Estadual de Educação Profissional 2. Ensino Médio Integrado a Educação Profissional PPTP (Point-to-Point Tunneling Protocol) - o PPTP foi criado pelo Forum PPTP, um consórcio de empresas que inclui a US Robotics, Microsoft, 3COM, Ascend e a ECI Telematics. O PPTP aceita criptografia de 40-bits de 128-bits e usa qualquer esquema de autenticação aceito pelo protocolo PPP. 3. L2TP (Layer 2 Tunneling Protocol) - L2TP é o produto da parceria entre os membros do fórum PPTP, Cisco e o IETF (Internet Engineering Task Force). Combinando características tanto do PPTP quanto do L2F, o L2TP também aceita amplamente o IPSec. O L2TP pode ser usado como protocolo de transmissão de dados pelo túnel para VPNs ponto a ponto e para VPNs de acesso remoto. De fato, o protocolo L2TP pode criar um túnel entre: cliente e roteador NAS e roteador roteador e roteador Pense em um túnel de envio de dados como tendo um computador entregue a você pela UPS. O vendedor empacota o computador (protocolo de passageiro) em uma caixa (protocolo de encapsulamento), que é então colocada em um caminhão da UPS (protocolo de portadora) no depósito do vendedor (interface de entrada do túnel). O caminhão (protocolo de portadora) viaja pela autoestrada (Internet) para sua casa (interface de saída do túnel) e entrega o computador. Você abre a caixa (protocolo de encapsulamento) e remove o computador (protocolo de passageiro). Envio de dados por túneis é simplesmente isso! Meios de Comunicação de Dados [Redes de Computadores] 58 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Como você viu, redes VPNs são uma boa maneira de as empresas manterem seus funcionários e parceiros conectados, não importando onde eles estejam. Neste manual iremos comentar sobre algumas ferramentas de acesso e suporte remoto que eu conheço e já utilizei. Quem trabalha na área de suporte, seja como analista de suporte ou como técnico de suporte, sabe muito bem o que é o famoso acesso remoto, diga-se de passagem o acesso remoto é um das principais ferramentas para quem trabalha com suporte a usuários, pois com o acesso remoto é possível ganhar tempo, agilidade e diminuir gastos de deslocamento e pessoal. E para você que não sabe o que é o acesso remoto, eu vou trazer abaixo uma explicação rápida e clara. Exercícios 1. Defina túnel de comunicação? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Diferencie os principais equipamentos de uma VPN? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 59 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 3. Quais as vantagens e desvantagens dos protocolos L2F, PPTP e L2TP? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ O que é acesso remoto? Acesso à distância de um computador O acesso remoto é um recurso com o qual você pode se conectar ao seu computador via Internet, não importa onde você esteja. Para usar esse recurso, o computador deve estar ligado, e o aplicativo de acesso remoto, instalado e habilitado. Se essas condições forem atendidas e o recurso de acesso remoto tiver sido configurado corretamente, você poderá acessar o PC de outro computador pela Internet e trabalhar com ele, independentemente de onde esteja, podendo este equipamento estar na nossa sala ao lado ou então milhares de quilômetros a distância. Por exemplo quando um hacker invade um equipamento, ele na verdade está realizando um acesso remoto não autorizado no equipamento. Atualmente existem inúmeras ferramentas para acesso remoto, algumas mais conhecidas, outras nem tanto, algumas gratuitas outras pagas, abaixo segue um lista e alguns comentários de ferramentas para suporte remoto que eu já utilizei. - PCanyWhere, é uma ferramenta desenvolvida pela Symantec, ou seja não é gratuita e requer licença para utilização, confesso que é uma das melhores ferramentas para acesso e suporte remoto que eu já utilizei, é rápida Meios de Comunicação de Dados [Redes de Computadores] 60 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional e muito eficiente, o sistema de envio de arquivos para o computador remoto funciona muito bem, além de continuar a transmissão do arquivo de onde parou em caso de perda de conexão. - SystemWalker, é desenvolvida pela Fujtisu, é uma boa ferramenta para suporte remoto, geralmente vem agregada ao software que realiza inventário de software e hardware do equipamento, no entanto dependendo da qualidade da conexão (conexões de baixa velocidade) com o equipamento remoto torna-se mais lenta que o PcAnyWhere, o sistema de envio de arquivos da versão que eu utilizei não continuava o upload/download de onde parou em caso de perda de conexão. - Tivoli, é uma ferramenta de suporte remoto desenvolvido pela IBM, para utilização é necessário que os equipamentos possuam instalados os chamados end point‟s, é necessário realizar autenticação via web, inserir o número do “end point” do equipamento que será realizado o suporte remoto e aguardar alguns segundos, é uma boa ferramenta, no entanto em alguns casos o primeiro acesso remoto a uma estação pode ser um pouco mais lento e demorado que o normal. - VNC, é uma ferramenta gratuita, que utilizei muito na época da faculdade para acesso e suporte remoto a amigos e conhecidos, atualmente nem sei em qual versão está, na época que utilizei não tinha função de envio de arquivos para a máquina remota, nem o envio de teclas de atalhos, no entanto o VNC é uma ótima ferramenta muito rápida e pratica. - Conexão de área de trabalho remota, ou terminal service(se bem que o terminal service e a conexão de área de trabalho são duas coisas distintas, mas enfim…), é uma ferramenta para acesso remoto que vem com o próprio WindowsXp, é bastante rápida e pratica, principalmente para acessos remotos rápidos. Meios de Comunicação de Dados [Redes de Computadores] 61 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Além de permitir que você acesse seu PC remotamente, o aplicativo de acesso remoto oferece outros recursos também: Transferência de arquivos: Permite copiar arquivos e diretórios do computador remoto para o computador que está usando e vice-versa. Compartilhamento de arquivos: Permite enviar arquivos que, devido às suas características ou por ser grande, seriam difíceis de enviar por e-mail. O aplicativo de acesso remoto gera um link seguro que você pode enviar a outros usuários para baixar o arquivo diretamente do seu PC. Convite para visitante: Esse recurso é muito útil para permitir que um amigo acesse o seu computador remotamente, por exemplo, para ajudá-lo a resolver um problema no PC. Dessa forma, ele poderá ver a sua área de trabalho, controlar o mouse e o teclado, transferir arquivos etc. A comunicação estabelecida entre os dois computadores por meio do aplicativo de acesso remoto é criptografada e assinada digitalmente para evitar interceptação por terceiros. Bem caros alunos é isso, essas são algumas das ferramentas de acesso remoto que eu já conheci e utilizei, agora é com vocês, compartilhem seus conhecimentos a respeito das suas experiências com softwares de acesso e suporte remoto com os demais colegas de sala. Meios de Comunicação de Dados [Redes de Computadores] 62 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. O que é um acesso remoto? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 2. Cite algumas ferramentas de acesso remoto? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ 3. Quais as vantagens e desvantagens do uso dessas ferramentas? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ ______________________________________________________________ Neste manual abordaremos algumas dessas ferramentas para acesso remoto: Meios de Comunicação de Dados [Redes de Computadores] 63 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional VNC Apesar de simples, muitos usuários nos perguntam como instalar e utilizar o VNC. Faremos então uma demonstração desse sistema gratuito e simples, mas de grande utilidade que é o VNC (Virtual Network Computing). A grande vantagem do VNC sobre os outros recursos de acesso remoto é que além de ser totalmente gratuito ele funciona em windows, linus, MacOS e até mesmo em handhelds usando Windows Ce, desde que usado em redes TCP/IP. A desvantagem do VNC é que ele precisa ser instalado nas duas máquinas que irão se comunicar. A máquina que será controlada deverá ser instalado o módulo “Server” do VNC e na máquina que irá controlar basta instalar o módulo “Viewer”. Os dois módulos podem ser instalados juntos na mesma máquina e usados simultaneamente. Por exemplo: Você acessa uma máquina remotamente, e, a partir dessa máquina acessar uma outra. Parece estranho, mas isso é comum para acessar pela internet uma máquina que está numa LAN mas ela própria não tem interface direta com a internet, (IP válido). Ou seja, é necessário acessar alguma outra estação dessa LAN e a partir daí acessar a máquina desejada. Obviamente podem existir outros meios para tal, como por exemplo mapear através do proxy a porta da estação. A versão do VNC chamada UltraVNC possui alguns recursos a mais sobre a versão anteriores, como a possibilidade de ser inicializado como um serviço do Windows, transferência de arquivos, compressão de vídeo e outros. Como esta última é uma versão melhorada e também gratuita, vamos portanto nos basear nela nesse manual. Meios de Comunicação de Dados [Redes de Computadores] 64 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercício Instalação do UltraVNC Faça o download da versão aqui http://www.uvnc.com/downloads/ultravnc.html Baixe a versão no link abaixo: http://www.projetoderedes.com.br/downloads/arquivos/ultra_vnc101.zip Ao executar o "setup", aparecerá a tela para que seja escolhida a linguagem. Clique em "Next" na tela de apresentação: Meios de Comunicação de Dados [Redes de Computadores] 65 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Leia e aceite os termos para a instalação do software para prosseguir: Clique em "Next" novamente: Meios de Comunicação de Dados [Redes de Computadores] 66 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Selecione o diretório onde será instalado o UltraVNC: Selecione os módulos e componentes a serem instalados. Lembrando que você poderá instalar apenas o módulo Viewer para acessar uma outra máquina ou o módulo "Server" para ser acessado remotamente. Selecione a descrição que irá ficar no menu iniciar do seu sistema operacional: Meios de Comunicação de Dados [Redes de Computadores] 67 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Selecione os recursos adicionais que desejar. Para a instalação básica do ultraVNC não é necessário escolher nenhum recurso adicional. Caso você tenha optado pela instalação básica, bastará agora clicar em "Next" nas telas seguintes e em "Finish" na última tela desse processo de instalação. Meios de Comunicação de Dados [Redes de Computadores] 68 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Configuração Para iniciar o uso do UltraVNC, procure no menu iniciar por "UltraVNC" ou o outro nome que você tenha escolhido durante a instalação. Escolha o módulo desejado, "Viewer" para acessar outra estação ou "Server" para que a sua estação seja acessada. Caso tenha optado por "Viewer" aparecerá a seguinte tela, para que você digite o IP da máquina que deseja acessar que está utilizando o módulo "Server". Caso a máquina seja encontrada, aparecerá outra tela em seguida pedindo a senha que foi colocada no módulo "Server" do VNC que está na outra ponta. Meios de Comunicação de Dados [Redes de Computadores] 69 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Caso tenha optado pelo módulo "Server" aparecerá a seguinte tela onde, você deverá criar uma senha para que a máquina remota apenas consigar acessá-lo caso possua a mesma senha. Portanto, nada de senhas como seu nome, nome da empresa etc, pois a segurança da sua estação depende disso. Meios de Comunicação de Dados [Redes de Computadores] 70 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Existem muitos outros recursos do UltraVNC que você poderá explorar aos poucos. Muitos dependem da sua infraestrutura outros dependem apenas do seu gosto pessoal. Atenção, caso você utilize algum firewall, é necessário que a porta TCP5900 esteja livre ou TCP5800 para acesso via java applet. Atualmente, além do “Terminal Services da Microsoft”, você também pode encontrar o “Atelier Web Remote Commander” para acesso remoto. Este último, não é necessária a instalação de nenhum plugin ou versão client na máquina remota, porém é pago e funciona apenas em plataforma Windows. Em ambientes corporativos, pode ser uma boa opção pela sua praticidade. Exercício - ITALC Essa ferramenta pode ser instalada em Windows ou Linux. Meios de Comunicação de Dados [Redes de Computadores] 71 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional A única coisa que temos que entender independentemente da plataforma é o conceito de chave pública e privada utilizada pelo software, iguais aos usados no ssh como já vimos anteriormente. Para os usuários de (X/K) Ubuntu 12.04 tenho uma boa notícia. A única coisa que tive de fazer para instalar foi, abrir o meu gerenciador de pacotes e marcar os pacotes italc-master ou italc-client (lógico que dependendo da finalidade da estação) para a instalação. Se você for adepto do prompt o comando para instalação no Ubuntu é: sudo apt-get install italc-client ou sudo apt-get install italc-master Uma informação importante é lembrar a todos que a chave pública em um Linux fica no path: /etc/italc/keys/public/teacher/ Essa é a chave a ser copiada para as estações cliente (Windows) ou devem ser copiadas no mesmo diretório se o cliente for outro Linux. Se por acaso na instalação do cliente no Windows não encontrar a chave no local que você copiou, acrescente a extensão “pub” ao arquivo, ficando da seguinte forma “key.pub”. Tanto em Windows ou em Linux é necessário o software ICA estar rodando. Visualmente você pode perceber pelo ícone que ele coloca no systray. Caso o mesmo não apareça, vá no painel de controle no windows e inicie o serviço ITALC. No Linux execute o comando sudo /usr/bin/ica & Meios de Comunicação de Dados [Redes de Computadores] 72 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Se você estiver usando o VNC, será necessário interromper o serviço ou alterar a porta de conexão, pois o Italc utiliza também as portas 5800 e 5900. Isso também é valido para quem utiliza algum cliente de assistência remota como o “KDE Remote Desktop” ou Vinagre no Gnome. Exercício Instalação em ambiente Windows Antes de iniciar a instalação verifique o seguinte: 1. Verifique se o computador cumpre os requisitos mínimos do sistema. (rede TCP/IP ,Pentium III ou similar e 256 MB para o computador Master 2. Faça o download (http://italc.sourceforge.net/ ) da última versão do iTALC. 3. Descomprima o arquivo descarregado para uma pasta do disco rígido, um disco USB ou unidade de rede. 4. Imprima este documento para o guiar na instalação. Instruções de Instalação da Aplicação Master/Servidor 1. Inicie como Administrador, a sessão no computador em que deseje instalar a aplicação Master/Servidor do iTALC (O Meios de Comunicação de Dados [Redes de Computadores] 73 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional computador com o qual deseja monitorar e controlar os outros computadores). Meios de Comunicação de Dados [Redes de Computadores] 74 Escola Estadual de Educação Profissional 2. Ensino Médio Integrado a Educação Profissional Faça duplo clique no ficheiro “setup.exe” para iniciar a instalação. Deverá aparecer uma janela de Boas-vindas. Clique em “Next” para continuar. Se estiver de acordo com os termos da licença, Selecione "I agree” e clique em “Next”. 3. Selecione o local onde quer instalar o iTALC (é recomendável utilizar a pasta definida como padrão) e clique em “Next.” Meios de Comunicação de Dados [Redes de Computadores] 75 Escola Estadual de Educação Profissional 4. Ensino Médio Integrado a Educação Profissional Selecione as duas opções, 'Client and Master Applications' e clique em “Next”. 5. Na primeira instalação Selecione "Create a new key-pair" e clique em “Next”. Quando fizer uma atualização Selecione “Keep all keys” para manter as chaves anteriormente criadas. Meios de Comunicação de Dados [Redes de Computadores] 76 Escola Estadual de Educação Profissional 6. Ensino Médio Integrado a Educação Profissional Especifique o local onde quer instalar as chaves (keys). Estas chaves são usadas para ligar o servidor aos computadores clientes e assegurar que só os computadores que têm a mesma chave podem comunicar entre si e também para permitir que possa ter múltiplas salas de aula na mesma rede. É recomendável que use a configuração padrão mas tome nota da pasta para onde será exportada a chave pública para a poder recolher num disco USB ou partilhar essa pasta na rede. Meios de Comunicação de Dados [Redes de Computadores] 77 Escola Estadual de Educação Profissional 7. Ensino Médio Integrado a Educação Profissional A seguir inicia-se a instalação dos serviços Meios de Comunicação de Dados [Redes de Computadores] 78 Escola Estadual de Educação Profissional 8. Ensino Médio Integrado a Educação Profissional Depois de receber a confirmação de que os serviços do iTALC foram registados corretamente clique em OK.. A instalação está completa. Clique em Quit. Meios de Comunicação de Dados [Redes de Computadores] 79 Escola Estadual de Educação Profissional 9. Ensino Médio Integrado a Educação Profissional Copie a chave pública da pasta especificada no ponto 6 para um disco USB ou partilhe a pasta na rede. Necessitará do arquivo (italc_dsa_key.pub) durante a instalação do ITALC nos computadores cliente. Meios de Comunicação de Dados [Redes de Computadores] 80 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Instruções de instalação da aplicação nos computadores cliente 1. Complete os passos 1 a 5 da secção anterior. Selecione somente a opção "Client Application", clique em “Next”. 2. Selecione "Import public key of master computer", e procure no disco USB ou na pasta partilhada na rede onde se encontra a chave pública conforme o ponto 10 da secção anterior, e clique em “Next”. 3. Especifique o local onde quer guardar a chave ( recomenda-se usar a opção padrão). Clique em “Finish”. A instalação do computador cliente terminou. Meios de Comunicação de Dados [Redes de Computadores] 81 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Automatizar a instalação dos computadores cliente Pode automatizar a instalação do iTALC (é muito útil na instalação de vários computadores clientes) No final da instalação do primeiro computador cliente selecione a opção “Save installation-settings”. Será então criado um ficheiro com o nome “installsettings.xml “ na pasta em que se encontra o ficheiro de instalação. Este ficheiro, com a extensão “xml” pode ser usado para instalar outros computadores clientes usando-o como um parâmetro na instalação seguinte. Executa-se abrindo uma janela de comando (cmd) na pasta onde está o instalador do programa ITALC e digitando: setup installsettings.xml . Meios de Comunicação de Dados [Redes de Computadores] 82 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercício TeamViewer 1 – Acesse: http://downloadus1.teamviewer.com/download/TeamViewer_Setup_pt.exe para baixar o TeamViewer. 2 - Depois de realizado o download execute o arquivo baixado (TeamViewer_Setup_pt.exe). 3 - Clique no Botão Seguinte: Meios de Comunicação de Dados [Redes de Computadores] 83 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 4 - Deixe como Particular / não comercial, e após clique no botão “Seguinte”: 5 - Deixe as duas Opções marcadas, e após clique no botão “Seguinte”: Meios de Comunicação de Dados [Redes de Computadores] 84 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 6 - Na Próxima tela deixe marcada a opção: Não(padrão) e clique em “Terminar” 7 - Aguarde a instalação e pronto ! Seu TeamViewer está instalado em sua máquina! Exercício Dropbox Essa nova ferramenta de compartilhamento de arquivos, nós explicamos que o Dropbox “é um serviço que deixa você carregar suas fotos, documentos e vídeos para qualquer lugar, e compartilhá-los facilmente. Qualquer arquivo que você salva no seu Dropbox irá automaticamente ficar salvo em todos os seus computadores, no seu smartphone ou tablet, Meios de Comunicação de Dados [Redes de Computadores] 85 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional e no site do Dropbox. O Dropbox também facilita o compartilhamento com os outros. E se o seu computador derrete, você pode restaurar todos os seus arquivos do site do Dropbox com alguns cliques” INSTALANDO O DROPBOX NO COMPUTADOR 1 – A primeira coisa a ser feita é ir ao site https://www.dropbox.com/ clica em Download Dropbox. Meios de Comunicação de Dados [Redes de Computadores] 86 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2 – Terminado o download, começa a etapa de instalação do programa. Clique em “Install”. 3 – A tela que aparecerá agora pede para que você informe se você já está cadastrado no Dropbox ou se terá que criar uma conta. Caso você não tenha uma conta no Dropbox selecione a primeira opção e clique em “NEXT”, se você já tem uma conta, selecione a segunda opção e siga o passo 4. 3.1Você que não tem ainda a conta do Dropbox precisará fazer o cadastro Meios de Comunicação de Dados [Redes de Computadores] 87 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional acima para continuar com a instalação. Feito o cadastro é só selecionar o quadradinho abaixo do nome do seu computador e clicar em “NEXT”. 4 – Você que já tem sua conta no Dropbox apenas precisa efetuar o login e clicar em “NEXT”. 5 – Agora você terá que selecionar a quantidade de armazenamento do Meios de Comunicação de Dados [Redes de Computadores] 88 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional seu Dropbox. Verifique que apenas o de 2 GB é de graça, caso você queira mais espaço terá que pagar pelo de 50 GB $9,99 e pelo de 100 GB $19,99. Lembrando que isso é cobrado em dólares. Por isso escolhemos o Free (de graça) de 2 GB, depois é só clicar em “NEXT”. 6 – Selecione a primeira opção, que é para a instalação típica do Dropbox. Após selecionado clique em “Install”. Meios de Comunicação de Dados [Redes de Computadores] 89 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 7 – Agora a instalação vai te mostrando um pouco de como funciona o programa enquanto instala o resto. E durante isso é só clicar em “NEXT” para ir passando para a próxima fase da instalação. 8 – Mais uma vez clique em “NEXT”. Meios de Comunicação de Dados [Redes de Computadores] 90 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 9 – Agora a instalação irá te mostrar aonde ficará o ícone do Dropbox para que você possa acessa-lo com mais facilidade. Feito isso clique em “NEXT”. 10 - Clique mais uma vez em “NEXT”. 11- Agora é só clicar em “Finish” para finalizar a instalação do seu Dropbox. Meios de Comunicação de Dados [Redes de Computadores] 91 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercício ShowMyPC Remote Access O ShowMyPC é um software de acesso remoto, o qual funciona sem instalação... O processo básico consiste em baixar o executável em ambas as máquinas... A máquina que será acessada deverá gerar uma senha, a qual será informada na máquina que realizará o acesso... O primeiro passo é baixar o aplicativo em http://www.showmypc.com/ Após ter baixado, na máquina que será acessada, execute o aplicativo dando um duplo-clique sobre o arquivo ShowMyPC3000.exe... Caso apareça um Aviso de Segurança, clique no botão Executar. Para gerar uma senha de acesso e permitir que outros usuários se conectem à essa máquina, clique no botão Mostrar o meu PC. Meios de Comunicação de Dados [Redes de Computadores] 92 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Após alguns segundos, será exibida uma senha ao lado do envelope verde... Clicando nesse envelope, será exibida uma página para que vc possa enviar por e-mail essa senha... Após preencher os campos, clique no botão Send Meeting Meios de Comunicação de Dados [Redes de Computadores] Invitation... 93 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Já na máquina que realizará o acesso, execute o aplicativo dando um duploclique sobre o arquivo ShowMyPC3000.exe... Caso apareça um Aviso de Segurança, clique no botão Executar. Clique no botão Ver um PC remoto... Aparecerá uma janela para você digitar a senha. Após digitá-la, clique no botão OK para iniciar o acesso remoto. Meios de Comunicação de Dados [Redes de Computadores] 94 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional FASE III – TELEFONIA IP Meios de Comunicação de Dados [Redes de Computadores] 95 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional CAPITULO 1 – INTRODUÇÃO A TELEFONIA IP A indústria de telecomunicações é a última do segmento de tecnologia que se mantém sem a utilização de sistemas de código aberto, fator este que eleva o custo para adquirir e manter sistemas de telefonia. Os principais fabricantes dos sistemas de telecomunicações ainda constroem sistemas incompatíveis, antigos e com hardwares obsoletos com um custo alto, além disso, fazem com que o cliente não tenha flexibilidade ou escolha, ou seja, impõe limites para suas aplicações empresariais (SMITH, 2007). Em virtude de um crescimento acelerado das empresas houve a necessidade de adquirir sistemas de telecomunicações mais flexíveis, que possibilitasse a troca de informações entre pessoas e setores, de acordo com as aplicações requeridas por cada um dos segmentos, é nesse contexto de mudanças rápidas e flexibilidade que surge a tecnologia VoIP que, por meio da utilização de redes TCP/IP, vem mudando, em ritmo acelerado, o processo de comunicação entre as pessoas, sendo umas das grandes revoluções em telecomunicações ocorridas nos últimos anos. 1.1 Funcionamento do VoIP A ideia primordial da tecnologia VoIP consiste na integração dos serviços das áreas de telecomunicações com os serviços de redes de computadores, dessa forma torna-se possível, por meio da digitalização e codificação do sinal da voz, a alocação da voz em pacotes de dados IP para a realização comunicação falada em uma rede que utilize os protocolos TCP/IP. VoIP, ou Voice Over IP ou Voz Sobre IP é a tecnologia que torna possível estabelecer conversações telefônicas em uma Rede IP (incluindo a Internet), tornando a transmissão de voz mais um dos serviços suportados pela rede de dados. Meios de Comunicação de Dados [Redes de Computadores] 96 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 1.2 Vantagens e desvantagens Diante disto, cita-se abaixo alguns vantagens e benefícios que se destacam em sistema de telecomunicação com VoIP: a) redução de custos com telefonia; b) ligações internacionais com tarifação reduzida; c) integração a infraestrutura existente; d) independe das operadoras de longa distância; e) utiliza a conexão banda larga à Internet; f) custo zero com ligações de VoIP para VoIP g) Mobilidade h) controle do sistema de telefonia Podemos citar algumas dificuldades que podem ser enfrentas ao se implementar a tecnologia VoIP. Uso de uma conexão Internet de alta velocidade, como DSL ou a cabo Nível da qualidade do serviço de voz inferior ao da telefonia convencional VOIP requer uma quantidade grande de dados para ser comprimido e transmitido, a seguir uncompressed e para ser entregado, tudo em um pouco relativamente de tempo. Eco Meios de Comunicação de Dados [Redes de Computadores] 97 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Atrasos No geral, os serviços de telefone VoIP podem fornecer uma alternativa viável, flexível e muito menos dispendiosa para o serviço de telefone tradicional Como desvantagens, apontamos a questão da disponibilidade, pois depende da energia elétrica para o funcional uso de telefonia e o custo do investimento que é relativamente alto para garantir o ROI (Retorno sobre o Investimento). 1.3 Telefonia Convencional x VoIP Podemos notar que a tecnologia VoIP é sinônimo de mobilidade, flexibilidade e economia, sem dúvida, o melhor atrativo da telefonia VoIP são os custos muito menores que a telefonia convencional. Pois não irá gerar custos se os dois pontos envolvidos em uma ligação estiverem utilizando VoIP. Somente há custo se uma das partes estiver utilizando a telefonia fixa comum ou telefonia celular, e ainda assim este custo costuma ser bem inferior do que praticado pela telefonia convencional. É exibido através da tabela 1 as principais características da telefonia convencional e telefonia VoIP. Tabela 1 – Principais características da Telefonia Convencional e Telefonia Voip Fonte: Teleco, 2012 Característic a Telefonia VoIP Convencional Conexão na Cabo de cobre Banda larga de Internet (par trançado) casa do usuário Falta Telefonia de Energia Elétrica Mobilidade Continua Pára de funcionar funcional Limitada a Meios de Comunicação de Dados [Redes de Computadores] Acesso em qualquer 98 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional casa do usuário lugar do mundo, desde que conectado a Internet. Associado Número ao domicílio do usuário Telefônico número contratado Área local do Chamadas domicílio do usuário locais Associado à área local do Área local do número contratado 1.4 Regulamentação A Anatel, assim como a maioria dos órgãos regulatórios no mundo, procura regular o serviço de telecomunicações e não as tecnologias usadas para implementá-los. A tecnologia Voip serve como meio e não como fim para os serviços de telefonia. Não existe ainda uma regulamentação específica para VoIP no Brasil. De acordo com Magalhães Neto - 2009, Entretanto, os serviços Voip têm sido oferecidos no mercado de telecomunicações distribuído em quatro classes: Classe 1: oferta de um Programa de Computador que possibilite a comunicação de VoIP entre dois ou mais computadores (PC a PC), sem necessidade de licença para prestação do serviço; Classe 2: uso de comunicação VoIP em rede interna corporativa ou mesmo dentro da rede de um prestador de serviços de telecomunicações, desde que de forma transparente ao usuário. Neste caso, o prestador do serviço de VoIP deve ter pelo menos a licença de Serviço de Comunicação Multimídia da Anatel (SCM); Classe 3: uso de comunicação VoIP irrestrita, com numeração fornecida pelo Órgão regulador e interconexão com a Rede Pública de Telefonia (Fixa e Móvel). Neste caso o prestador do serviço Meios de Comunicação de Dados [Redes de Computadores] 99 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional de VoIP deve ter pelo menos a licença de Serviço Telefônico Fixo Comutado (STFC); Classe 4: uso de VoIP somente para fazer chamadas, nacionais ou internacionais. Neste caso a necessidade de licença depende da forma como o serviço é caracterizado, e de onde (Brasil ou exterior) e por qual operadora é feita a interconexão com a rede de telefonia pública. Anotações Meios de Comunicação de Dados [Redes de Computadores] 100 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional CAPITULO 2 - TELEFONIA NA INTERNET A sigla VoIP se origina do termo “Voice over Internet Protocol ou Voz sobre IP”, é uma tecnologia que permite que as chamadas telefônicas sejam realizadas por meio da redes de dados (transmissão de informações, voz ou imagens), comumente conhecida de rede TCP/IP, no lugar dos serviços de telefonia convencionais. A tecnologia VoIP surgiu em Israel no ano de 1995, quando pesquisadores conseguiram desenvolver um sistema um sistema capaz de possibilitar os recursos de multimídia de um computador pessoal para transmissão de voz através da internet, o que consiste na codificação da voz em pacotes TCP/IP e assim distribuídos por redes de comutação de pacotes. OBS: Os termos Telefonia IP, Telefonia Internet ou ainda Voz sobre IP, têm se aplicados à utilização das redes baseadas no protocolo IP, na camada de rede (modelo RM-OSI) para transporte de voz, em especial, através da internet. Após as primeiras pesquisas desenvolvidas na área de telefonia IP, outros pesquisadores e empresas se interessaram pelo assunto, desenvolvendo nodos softwares e equipamentos que implementassem esta nova tecnologia. Um dos primeiros softwares dedicado a comunicação por voz foi o Internet Phone software, sendo o precursor dos softfones atuais, softwares que possuem uma interface gráfica amigável, e que conseguem comprimir a voz captada por dispositivos de entrada do computador em pacotes para posteriormente serem enviadas para a internet. Com a evolução dos dispositivos digitais, começaram a produzir os primeiros equipamentos “Gateways”, capazes de interligar centrais e aparelhos Meios de Comunicação de Dados [Redes de Computadores] 101 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional telefônicos convencionais a rede de dados para a comunicação entre estes sistemas com sistemas VoIP. Atualmente um dos softfones mais conhecidos é o Skype, utilizado principalmente por usuários domésticos, possibilitando a comunicação de pacotes de voz, bem como a conversação de vídeo, mensagens instantâneas, compartilhamento de arquivos, gerenciamento de listas telefônicas. Considera-se a telefonia IP a agregação do VoIP com outros serviços agregados à telefonia convencional. 2.1 Ligações Através Da Internet Por este termo nos referimos simplesmente à possibilidade de comunicação entre um computador e um terminal telefônico convencional. Existem algumas alternativas para que as ligações na internet possam ser efetuadas, dentre as mais comuns podemos citar: Ligações realizadas entre computadores Ligações realizadas de computadores para telefones de telefonia IP ou telefonia convencional As ligações efetuadas entre computadores já podem prover dos recursos disponíveis da máquina, como áudio. Aplicações VoIP em computadores são mais simples e de fácil utilização. O computador precisa de acessórios multimídia que já são largamente disponíveis no mercado: Headset ( Fone de ouvido e microfone) Webcam (para transferência de imagens de vídeo) Meios de Comunicação de Dados [Redes de Computadores] 102 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Além desses acessórios com computador necessita ter conexão com a internet ou rede local e ter um softfone instalado e configurado. Figura 1 – SoftFone X-lite Já para conseguir interligar comunicação entre um computador e a rede de telefonia convencional, necessita de alguns equipamentos com capacidade de desempenhar as funções de um gateway, com as funcionalidades requeridas por um telefone convencional. 2.2 ATA Um dos equipamentos mais utilizados para comunicar ligações entre computadores e telefones convencionais é o ATA. Esse tipo de dispositivo faz a conversão dos sinais digitais e analógicos da voz durante a comunicação. Este adaptador conecta o telefone comum a Internet. Os ATAs tem como características gerais suporte aos protocolos tipicamente utilizados na Internet, assim como suporte ao protocolo SIP, além de se proverem de codecs de voz e soluções de segurança. Meios de Comunicação de Dados [Redes de Computadores] 103 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 2 - Conexão de ATA com demais dispositivos Com a utilização de um adaptador ATA, não é necessário a dispensa do aparelho de telefone comum, pois o custo de um aparelho de telefone IP ainda é alto. A tabela 2 apresenta um resumo dos tipos de comunicação e suas características principais: Meios de Comunicação de Dados [Redes de Computadores] 104 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tabela 2 - Resumo dos tipos de comunicação e suas características principais Fonte: Teleco,2012 Comunicação Ligações Características entre computadores Peer-to-peer; Utiliza serviços gratuitos tais como o Skype, MSN Messenger, Yahoo Messenger, entre outros; Os próprios computadores são responsáveis pela sinalização e controle das chamadas. Ligações entre computador e telefone convencional Necessita de equipamento que convertam a voz em pacotes com a rede STFC, típica função de um gateway. Peer-to-peer até o gateway; Utiliza serviços pagos tais como o SkypeOut, Net2Phone, V59, entre outros; O gateway é responsável pela sinalização e controle das chamadas. Meios de Comunicação de Dados [Redes de Computadores] 105 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2.3 Telefone IP Outro equipamento que merece ser citado para a realização da comunicação VoIP é o Telefone IP. É um equipamento criado para a telefonia IP que contém características exclusivas para lidar com a tecnologia VoIP. Uma delas e mais visíveis é a sua conexão RJ-45, diferente do telefone comum, que contém a conexão RJ-11. Esse tipo de telefone contém um sistema ativo que permite a conversação telefônica e acesso as funcionalidades de um PABX IP. Tem suporte aos principais protocolos de sinalização da tecnologia VoIP, como: H.323 e/ou SIP, e RTP para a transmissão de voz. Figura 3 – Telefone VoIP O telefone IP necessita do endereço IP, que pode ser obtido pelo servidor com o protocolo Dynamic Host Configuration Protocol (DHCP), possivelmente já existente na rede. Meios de Comunicação de Dados [Redes de Computadores] 106 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 4 – Telefonia IP e sua arquitetura básica Alguns modelos mais sofisticados desse tipo de telefone podem conter funcionalidades para a videoconferência. 2.4 PABX IP Os PABX´s estão presentes em ambientes empresariais desde os anos 80. Tecnologia anterior a redes de dados e ao computador Desktop. Possui algumas características que o tornam estático e obsoleto nos dias atuais, além de empregarem tecnologia proprietária, limitando os usuários aos recursos disponíveis e dependentes do fabricante para adição de novas funções, também traz custos de manutenção e operação de técnicos especializados. Já um PABX IP tem sua arquitetura aberta, e ocorre a convergência de voz e dados para a mesma rede de comunicação. Uma rede de computadores é a base para a implementação do PABX IP, o que torna sua implantação viável visto que a maioria das empresas que já informatizaram suas atividades possui uma rede de dados. Muito dos Meios de Comunicação de Dados [Redes de Computadores] 107 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional componentes são distribuídos ao longo da rede IP para transmitir informações de voz e controle da ligação. A arquitetura de um PABX IP deve se compor de: Controlador de processo: é um servidor que executa uma aplicação num sistema operacional padrão (Microsoft, Unix ou Linux). Existe um grande benefício em se utilizar um hardware e software comercial, permitindo uma grande redução nos custos de desenvolvimento e fabricação; Os dispositivos de ponta (endpoints): são os telefones IPs que se conectam diretamente na rede IP. Computadores com softfone: que são considerados telefones virtuais IP; Gateway: são interfaces ou equipamentos que convertem a sinalização e o canal de voz para a rede IP, fazendo a integração com a rede STFC e para permitir utilizar os telefones analógicos ou digitais existentes, reduzindo os custos da migração para a nova arquitetura; Módulos de interconexão: é realizado através da rede IP. Vai haver uma degradação na qualidade da voz se acontecer algum congestionamento ao longo do trajeto dos dados, normalmente no link WAN. A figura 5 ilustra uma arquitetura típica de PABX IP: Meios de Comunicação de Dados [Redes de Computadores] 108 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 5: Arquitetura de PABX IP O investimento de implantação de um PABX IP é maior do que o PABX tradicional, e apesar do retorno desse investimento não ser imediato, ainda sim é vantajoso, pois aumenta a produtividade e flexibilidade dos funcionários e reduz o custo da operação. Como qualquer outro equipamento de rede, um PABX IP precisa ser protegido contra possíveis ameaças, sendo instalado atrás de um firewall. Isso é uma das principais preocupações por parte de empresas que adotam um serviço de telefonia IP, visto que os danos causados por um ataque podem gerar prejuízos elevados. Podemos citar alguns benefícios de um PABX IP, como: Redução do custo de ligação (DDD e DDI) Plano de numeração unificado para toda a empresa Aumento da produtividade Redução do custo de operação da rede Meios de Comunicação de Dados [Redes de Computadores] 109 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Integração da empresa Escalabilidade Baseado em padrões abertos Acesso através da Web Expansão das aplicações de voz Tabela 3: Comparação entre PABX analógico e PABX IP Fonte: Teleco,2012 PABX analógico Comutação Tipo PABX IP de Comutação de pacotes circuito Arquitetura Centralizada Distribuída Topologia Estrela Espinha dorsal (backbone) Instalação Elétrica Cada ponto Cada ponto (telefone) pode (telefone) necessita de um ser qualquer nó da rede TCP/IP par de fios Capacidade de ramais) (qtde Limitado (dependente do hardware) Meios de Comunicação de Dados [Redes de Computadores] Ilimitado (depende apenas da largura de banda) 110 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Complexo Escalabilidade Fácil (basta adicionar outros (dependente do hardware) Voz e dados são Convergência duas redes isoladas Voz e dados se convergem em uma única rede Não existe Conectividade servidores) Total, utiliza o mesmo protocolo da Internet. com a Internet Pouca. Adicionar ou Flexibilidade mover uma Limitado recursos (aplicação) Uma extensão extensão funciona em qualquer nó da rede, requer mudança física Limitação Grande. inclusive na Internet. aos tradicionais Aplicações baseados em de software voz Necessita Novas aplicações interfaces ou de Uma aplicação nova é fácil placas de ser implementado adicionais Redundância Não existe. Outro / PABX Backup deve Outros servidores podem ser ser configurados como Backup configurado como Backup Configuração do Complicada sistema Meios de Comunicação de Dados [Redes de Computadores] Simples e normalmente baseado em Interface Web 111 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Não Interligação interligação suporta com outros PABX´s através de VPN/WAN ou PABX´s Integração com É fácil interligar diversos pela Internet Não existe Os PC´s e telefones são integrados em uma única rede PC´s 2.5 Softwares que implementam um PABX IP Como visto na tabela de comparação acima, um PABX IP é implementado via software utilizando a mesma estrutura de rede existente em um ambiente, seja residencial ou empresarial. Através destes softwares são implementados recursos que vão além dos encontrados em um PABX convencional, podendo ser executado em qualquer distribuição Linux, plataformas Unix e até mesmo em Windows. Podemos citar alguns, como: Asterisk PBX Elastix GNU Gatekeeper sipX ECS IP PBX 3CX Phone System Uma das causas que fazem do VoIP uma tecnologia em expansão é sua flexibilidade na incorporação de novos recursos por parte do usuário e no baixo custo dos softwares para essa implantação. Estão disponíveis soluções gratuitas que adotam o software livre como metodologia de desenvolvimento. soluções que já tem uma certa maturidade e robustez e que podem ser facilmente modificadas de acordo com a necessidade de cada aplicação. Meios de Comunicação de Dados [Redes de Computadores] 112 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2.5.1 Asterisk Um dos softwares servidores mais famosos é o Asterisk, licenciado sob GPL. É um framework de código aberto para a construção de aplicações multiprotocolo de comunicação e soluções em tempo real, que transforma um computador comum em um servidor de comunicações, fornecendo sistemas IP PBX, gateways VoIP, servidores de conferências e outras soluções personalizadas. Ele é usado por pequenas e grandes empresas, call centers, operadoras e agências governamentais, em todo o mundo. Hoje, existem mais de um milhão de sistemas de comunicações baseados em Asterisk em uso, em mais de 170 países. Na maioria das vezes implantados por integradores de sistemas e desenvolvedores, o Asterisk pode se tornar a base para um sistema completo de negócios, pode ser utilizado como sistema único de telefonia ou usado para melhorar ou ampliar o sistema existente, ou para preencher uma lacuna entre os sistemas. O projeto Asterisk começou em 1999, quando Mark Spencerliberou o código inicial sob a licença GPL aberto. Desde aquela época ele foi aprimorado e testado por uma comunidade global de milhares de pessoas. Criado por Mark Spencer em dezembro de 1999 e distribuído livremente pela Digium, seguindo a licença GPL (GNU General Public License). O nome Asterisk vem do símbolo „*‟, muito comum no mundo da telefonia.. O Asterisk roda em plataforma Linux e outras plataformas Unix com ou sem hardware conectado a rede pública de telefonia, PSTN. Meios de Comunicação de Dados [Redes de Computadores] 113 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 6 - Módulos e APIs do Asterisk. Fonte: Keller, 2011. Abaixo alguns dos fatores que tornaram o Asterisk um verdadeiro fenômeno no mundo das telecomunicações: Licenciamento a custo zero → Licenciado sob a GPL (General Public License). Flexibilidade → É possível integrar facilmente o mundo VoIP à rede pública de telefonia. Redução de custos → A integração de unidades geograficamente diferentes via internet, aliada as baixas tarifas oferecidas por provedores VoIP, produzem a redução significativa do custo com telefonia. Vários são os recursos que podem ser implementados no Asterisk, a seguir apenas alguns dos recursos disponíveis: Correio de voz (integrado ao e-mail) Sistema de bilhetagem Conferência Meios de Comunicação de Dados [Redes de Computadores] 114 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Siga-me URA (Unidade de Resposta Audível) DAC (Distribuidor Automático de Chamadas) Toda chamada processada por um servidor Asterisk segue o mesmo procedimento: um cliente envia uma sequência de caracteres para o servidor, o qual autentica o cliente e então busca por uma regra equivalente aos caracteres recebidos dentro dos grupos de regras associados a esse cliente; somente assim é executada a aplicação especificada na regra e a chamada é completada, como mostra a figura 7. Figura 7 - Diagrama de uma chamada no Asterisk Fonte: Keller, 2011. Meios de Comunicação de Dados [Redes de Computadores] 115 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2.5.2 Softfones Os Softfones são programas aplicativos para clientes Voip receberem chamadas de voz e vídeo sobre a rede TCP/IP, podendo utilizar as funções disponíveis de um computador com imagem e som. Este software aplicativos tem a funcionalidade básica dos telefones comuns. A maioria de softfones disponíveis no mercado é em código aberto e na sua maioria utilizam protocolo de Iniciação de Sessão (SIP) e suportam vários tipos de codecs. Existe uma gama de softfones disponíveis na rede, seja software livre ou proprietário, cada um com recursos e características próprias. Abaixo segue alguns softwares fones e suas características: 2.5.2.1 X-lite X-Lite é um softfone proprietário, freeware, que implementa a tecnologia VoIP.Utiliza o Protocolo SIP(Protocolo de Iniciação de Sessão), mas também dá suporte a outros protocolos de comunicação VoIP, desenvolvido por CounterPath. Está Disponível para os sistemas operacionais Linux,Windows e Mac, estando mais recentemente na sua versão 5.0. È um programa que não conta com uma rede própria de ligação, devendo ser configurado para integração a um PABX IP. Vem com opção para gravar as chamadas, organizador de contatos, integração com o Outlook e opção para se conectar a mais de uma rede ao mesmo tempo no mesmo lugar. Tem suporte a chamada de vídeos, possibilitando a criação de uma sala de conferência entre múltiplos usuários simultaneamente. Possui um Visual agradável e uma fácil configuração com uma central PABX IP. É bastante indicado para ambientes empresariais. Meios de Comunicação de Dados [Redes de Computadores] 116 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 8 – Screen do softfone X-lite Recursos • Mensagem instantânea; • Conta de login único; • Conferência (Windows e mac); • Vídeo; • Rediscagem; • Espera • Gravação da chamada • Autoatendimento • Transferência • Não pertube • Histórico de chamadas • Suporte aos principais codecs • Suporte aos principais protocolos Meios de Comunicação de Dados [Redes de Computadores] 117 Escola Estadual de Educação Profissional 2.5.2.2 Ensino Médio Integrado a Educação Profissional EKIGA Ekiga (antigamente conhecido como GnomeMeeting) é um softfone de código aberto desenvolvido no ano de 2000, que dispõe de aplicações de chamadas de voz, videoconferência e mensagens instantâneas através da rede TCP/IP. Tem uma interface bastante simplificada, utiliza os padrões SIP e H.323 o que permite a realização de chamadas e conferências através da rede IP. Suporta vários tipos de áudio e codecs de vídeo e todos os recursos modernos de VoIP para o SIP e H.323. Ekiga é uma das primeiras aplicações de código aberto que apoiou os protocolos H.323 e SIP, bem como de áudio e vídeo. O Ekiga, assim como o Skype, pode se comunicar gratuitamente com outro usuário que possui o Ékiga, porém ele também possui um sistema pago de serviços para se comunicar com telefones fixos, que pode ser utilizado comprando-se créditos. Figura 10 – Screen do softfone Ekiga Meios de Comunicação de Dados [Redes de Computadores] 118 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Recursos O softfone Ekiga conta com uma interface gráfica moderna facilitando o uso do aplicativo, que além do recurso de transmissão de voz, conta com outros recursos, tais como: • Multiplataforma: Windows e GNU / Linux • Padrão de telefonia apoio características como Retenção de chamadas, transferência de chamadas, encaminhamento de chamadas DTMF. • Chamada Auto-Resposta: Atender automaticamente todas as chamadas recebidas • Suporte codec de banda larga: HD qualidade de som • 13 codecs de áudio suportados, incluindo G.711 para a interoperabilidade e som de alta HD (G.722, G.722.1 e seda) • 6 codecs de vídeo suportados, incluindo o melhor codec livre (Theora) e estado da arte codec de vídeo (H.264) • Mensagens instantâneas com suporte embutido smiley (SIP) • Hotplug: Detecção automática de hotplugging de dispositivos de áudio e dispositivos de vídeo no Linux (ALSA e v4l1 / 2) • Dispositivos de detecção automática • Possibilidade de se registrar em contas de servidores diferentes • Melhorias significativas no suporte a IPv6 Meios de Comunicação de Dados [Redes de Computadores] 119 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2.5.3 CLIENTES PARA DISPOSITIVOS MOVEIS 2.5.3.1 SIPDROID Sipdroid é um cliente VoIP para dispositivos moveis desenvolvido exclusivamente para o sistema operacional Android usando o Protocolo de Iniciação de Sessão. Sipdroid é open source software livre licenciado sob a GNU General Public License. Telefones Android que utilizam a tecnologia VoIP funcionam sempre que tiver acesso à internet via Wi-Fi ou com 3G / 4G. Figura 14 – Screen do softfone Sipdroid Recursos Duas contas SIP podem ser utilizadas simultaneamente Suporta STUN Suporta chamadas de vídeo Interfaces de Sipdroid com discador do Android aplicativo padrão e, opcionalmente, solicita que o usuário faz uma chamada usando Sipdroid ou a rede GSM/3G. Meios de Comunicação de Dados [Redes de Computadores] 120 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 2.5.3.2 3CXPhone 3CXPhone é um softfone gratuito que permite a utilização de um computador ou dispositivo movel. conectando este softfone a um provedor VOIP ou a um PABX IP, o usuário poderá relaizar chamadas para qualquer telefone VoIP, celular ou numero externo. 3CXPhone é baseado no padrão SIP e desenvolvido pela 3CX, pioneira no desenovolmento de tecnologia VoIP para Windows. È gratuito para baixar e utilizar mais como se trata de um software proprietário não pode ser modificado. Figura 18 - Screen do softfone 3CXPhone Recursos Leve e rápido Disponível para Windows, Android e iPhone Interface Intuitiva No Windows escolher entre várias interfaces de telefone popular Meios de Comunicação de Dados [Redes de Computadores] 121 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Multiplas linhas Transferência de chamadas Gravação de chamadas para o disco rígido Mostra registo de chamadas pessoais / histórico Suporta G.711, GSM e Speex codecs Fácil de implantar e gerenciar Suporta padrão USB e fones de ouvido Funciona com o 3CX Phone System, Asterisk e provedores populares de VoIP CAPÍTULO 3 - PROTOCOLOS VOIP Conforme o fundamentado até o momento, em sistemas VoIP o sinal de voz é digitalizado, comprimido e convertido em pacotes IP e, em seguida, transmitidos através da rede IP. Para tanto, um conjunto de protocolos específicos é exigido para adequação das informações de voz ao TCP/IP, por exemplo: protocolos de sinalização são utilizados para configurar e derrubar as chamadas. De acordo com GONZALEZ, 2007, Os protocolos de sinalização, são responsáveis por determinar um padrão que especifica o formato de dados e as regras a serem seguidas pelos dados trafegados, são utilizados para estabelecer as conexões, determinar o destino e também para questões relacionadas a sinalização, como: campainha, identificador de chamada, desconexão, entre outros. Entende-se por sinalização o estabelecimento, supervisão e terminação de uma conexão entre dois pontos finais, sendo a sinalização fornecida, no sistema tradicional de telefonia, pelo Sistema de Sinalização número 7 (SS7) (FERREIRA e BRANDÃO, 2007) Atualmente os principais protocolos de sinalização em VoIP são: a) H.323; Meios de Comunicação de Dados [Redes de Computadores] 122 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional b) Protocolo de Iniciação de Sessão (SIP); c) Protocolo do Controle da Passagem dos Meios (MGCP); d) Jingle; e) H.248/Megaco; f) Inter-AsteriskOR eXchange (IAX). Muito dos equipamentos utilizados Voip utilizados hoje em dia, tem em comum a utilização dos protocolos H.323 e SIP, porém o protocolo IAX está conquistando o mercado, por sua facilidade de atravessar por Firewall e regras de Tradução de Endereço de Rede (NAT), através das implantações de soluções com servidores AsteriskQR. Nos próximos tópicos temáticos são abordados os protocolos listados anteriormente. 3.1 PROTOCOLO H.323 Segundo HERSENT 2011, o protocolo H.323 foi o primeiro padrão VoIP que atingiu um nível de maturidade suficiente para ser ser usados em implantações massivas de telefonia IP. Este protocolo tem o objetivo de especificar sistemas de comunicação multimídia de redes baseadas em pacotes e que não proveem uma qualidade de serviço (QoS) garantida, ou seja, especifica o uso de áudio, vídeo e dados em comunicações de multimídia, sendo que apenas o suporte à mídia de áudio é obrigatório. De acordo com HERSENT 2011 a comunicação por meio do H323 emprega quatro tipos de elementos básicos que juntos possibilitam a comunicação multimídia: Meios de Comunicação de Dados [Redes de Computadores] 123 Escola Estadual de Educação Profissional CODECs Ensino Médio Integrado a Educação Profissional Terminais: Estações multimídia (também denominadas – Codificadores) compatíveis com os padrões de Vídeo (H.261, H.263, etc), áudio (G.711, etc) e controles (H.221, etc). Alguns fabricantes fornecem terminais com Multi Control Unit (MCU) incorporadas para possibilitar múltiplas conexões simultaneamente. Gateways: Componente opcional que possibilita a comunicação de terminais H.323 com outros padrões, tais como H.310, H.321 e H.322. Gatekeeper: Componente opcional que centraliza os pedidos de chamada e gerencia a banda empregada pelos participantes para evitar que sobrecarreguem a rede com taxas de transmissão muito elevadas. Multi Control Unit (MCU): Componente que centraliza os pedidos de chamada, possibilitando a conexão de três ou mais participantes simultaneamente. A figura 19 mostra, em detalhes, a arquitetura de rede os componentes de um sistema H.323. Figura 19 - Componentes de um sistema H.323. Fonte: Logic,2009 Meios de Comunicação de Dados [Redes de Computadores] 124 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 3.2 PROTOCOLOS DE INICIAÇÃO DE SESSÃO (SIP) A especificação do Session Initiation Protocol (SIP) é definida pelo Internet Engineering Task Force (IETF) que define as características dos protocolos e evolução das arquiteturas da internet. Sendo o SIP um protocolo de controle pertencente à camada de aplicação, que permite a criação, modificação e finalização de sessões multimídia, podendo utilizar outros protocolos para fornecer serviços extras, apesar de possuir independência de funcionamento e de operação (RFC 3261, 2002). O protocolo de iniciação de seção é um protocolo de sinalização como o H323, que utiliza os serviços do RTP ( Protocolo de transporte em tempo Real), ele é mais simples e mais fácil de implementar do que o H323 e é ideal para ser utilizado em implementações que utilizam funcionalidades avançadas. É um protocolo baseado em texto, permitindo sua implementação em diversas linguagens de programação, tendo sido criado com a finalidade de ser um protocolo mais fácil do que os existentes no mercado, apresentando uma estrutura de cliente servidor (FERREIRA e BRANDÃO, 2007; MORAES, 2006; JÚNIOR, 2005; AMARAL, 2005), assim, torna-se um protocolo de fácil integração junto às aplicações já existentes, devido às semelhanças, principalmente, com os protocolos HTTP e SMTP (DAVIDSON et al., 2006; JÚNIOR, 2005) Uma de suas principais vantagens é a forma de endereçamento dos pontos finais, utilizando um modelo similar ao de um e-mail, como por exemplo, sip:[email protected], onde renato é o nome do usuário e voip.esab.edu.br é o domínio onde o usuário se encontra registrado. Tem como objetivo: iniciar, modificar e terminar sessões multimídia entre um ou mais usuários. Este é utilizado em conjunto com outros protocolos também descritos pela IETF: Real Time Transport Protocol(RTP) - utilizado para transportar dados em tempo real; Meios de Comunicação de Dados [Redes de Computadores] 125 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Real Time Streaming Protocol (RTSP) - utilizado para controlar a entrega de fluxos de distribuição de mídia (streaming); Media Gateway Control Protocol (MGCP) e o Media Gateway Controller (MEGACO)/H.248 - utilizado para controlar gateways de mídia; Session Description Protocol (SDP) - utilizado para descrever sessões multimídia; 3.2.1 ELEMENTOS DE UMA REDE SIP Basicamente uma rede SIP é composta por alguns elementos básicos, que são: User Agents, Proxy Server, Redirect Server e Register Server, conforme demonstrado na figura 20. Figura 20 - Componentes da arquitetura SIP. Fonte: Inoc,2009 SIP é baseado no modelo cliente-servidor, onde um cliente é qualquer elemento de rede, como por exemplo, um PC com um microfone ou um SIP phone, software que envia requisições SIP (SIP requests) e recebe respostas Meios de Comunicação de Dados [Redes de Computadores] 126 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional SIP (SIP responses); e o servidor é um elemento de rede que recebe requisições e envia respostas, que podem aceitar rejeitar ou redirecionar a requisição. 3.2.2 USER AGENT SIP (UA SIP) São terminais que usam SIP para encontrar e negociar características da sessão. Praticamente, podemos dizer que o Agente SIP é capaz de iniciar e receber chamadas, já que é um protocolo cliente-servidor para ser usado em redes de comunicação ponto a ponto (Mohmand, 2007). Um UA é uma entidade que pode atuar de duas formas: UAC (User Agent Client), o qual se encarrega de enviar as requisições (request) e receber as respostas (responses) ou como, UAS (User Agent Server), encarregando-se de receber as requisições (request) e enviar as respostas (responses). Os Users Agents podem ser: Telefones IP e celulares; Softfones; Personal Digital Assistants (PDA) ou Handhelds; PSTN gateways (Gateway de voz com a Operadora RTPC); Meios de Comunicação de Dados [Redes de Computadores] 127 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 3.2.3 PROXY SERVER Proxy Server – O Proxy Server, ou SIP Proxy (exibido através da figura 21), dentro do contexto SIP é uma entidade intermediária que atua como cliente/servidor recebendo requisições de um cliente e encaminhando-as até seu destino. Sendo o responsável por estabelecer chamadas entre os integrantes da chamada, encaminhar os pedidos recebidos até o seu destino, podendo passar, ou não, por outros servidores Proxy, possuindo informações com o intuito de bilhetagem. (SILVA, 2010). Figura 21– servidor Proxy Autor – Mohmand, 2007. Devido à existência de cliente e servidor no mesmo UA SIP, é possível a comunicação peer-to-peer (P2P) entre os agentes sem a necessidade de se utilizar servidores (MORAES, 2006; JÚNIOR, 2005; AMARAL, 2005). Meios de Comunicação de Dados [Redes de Computadores] 128 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 3.2.4 REDIRECT SERVER Um redirect Server (Exibido através da figura 22), é um servidor que recebe requisições SIP, localiza o endereço de destino em um conjunto de um ou mais endereços, e retorna a informação de roteamento para o originador da requisição, utilizando, para isso, um DNS, cuja função é resolver nomes. Em outras palavras, a entidade servidora que recebe uma requisição do cliente e gera uma resposta do tipo 3XX (XX – 00 a 99) contendo uma lista da localização atual de um usuário em particular ao qual se quer estabelecer uma sessão multimídia (Magalhães Neto, 2009). Figura 22 - Redirect Server Autor – Mohmand, 2007. Após o recebimento da resposta enviada pelo Redirect Server, o cliente extrai a lista de localizações e envia outra requisição, agora aos destinos retirados da lista. Cabe lembrar que o Redirect Server não encaminha a sinalização como o SIP Proxy faz. Meios de Comunicação de Dados [Redes de Computadores] 129 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 3.2.5 REGISTER SERVER É um servidor que trabalha em conjunto com o servidor de redirecionamento e o servidor Proxy para armazenar informações sobre a localização de um terminal. Register é uma entidade SIP que recebe requisições de registro de seus usuários extraindo informações sobre a localização atual do mesmo. Armazena a informação sobre onde uma parte pode ser encontrada, trabalhando em conjunto com o servidor de redirecionamento e o servidor proxy. Dentre as informações extraídas destacam-se as seguintes: Endereço IP; Número da porta; Username; Como resultado dessa arquitetura, o endereço do usuário SIP remoto sempre é o mesmo (exemplo: sip:[email protected]), mas ao invés de estar amarrado a um endereço estático, ele se comporta como um endereço dinâmico que reflete o endereço de locação atual da pessoa remota. Mesmo quando o usuário remoto é móvel, o proxy e o redirecionador podem ser usados para passar adiante o pedido de conexão para o usuário da locação atual. As sessões podem envolver múltiplos participantes, similar a uma chamada multiponto H.323. Comunicações dentro de uma sessão em grupo podem ser via multicast ou uma rede de chamadas unicast, ou até mesmo uma combinação dos dois (VIDENET, 2005). 3.2.6 MENSAGENS SIP Uma comunicação SIP compreende uma série de mensagens. Cada mensagem é transportada separadamente em datagramas UDP, onde cada uma delas consiste de uma primeira linha contendo o tipo da mensagem, cabeçalho e o corpo da mensagem. Meios de Comunicação de Dados [Redes de Computadores] 130 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 23 - Mensagem SIP. Fonte: MORAES (2006) As mensagens SIP são divididas, basicamente, em dóis tipos: mensagens de requisição e de resposta, onde os pedidos são realizados pelos clientes e as respostas são fornecidas pelos servidores (MORAES, 2006; JÚNIOR, 2005; AMARAL, 2005). As mensagens SIP são constituídas por uma linha de início ou de requisição, cabeçalhos, linha em branco e pela mensagem propriamente dita, conforme figura 13 (DAVIDSON et al., 2006; MORAES, 2006; JÚNIOR, 2005). A linha de requisição é constituída por um método, um endereço e pela identificação da versão SIP utilizada. A Tabela 4 apresenta as mensagens de requisição acompanhados de suas funcionalidades (Teleco, 2009). Meios de Comunicação de Dados [Redes de Computadores] 131 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tabela 4 - Mensagens de Resposta SIP Fonte: Teleco , 2009 Mensagens de requisição SIP (SIP Request INVITE Convite de participação de uma sessão ACK Resposta final de uma requisição INVITE BYE Solicitação de término de uma sessão REGISTER Registro de informação de um cliente CANCEL Prévia requisição de cancelamento de um cliente OPTIONS Consulta a servidores a respeito de suas capacidades Já as mensagens de resposta com as suas funcionalidades podem visualizadas na Tabela 5 (teleco, 2009). Meios de Comunicação de Dados [Redes de Computadores] 132 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tabela 5 - Mensagens de Resposta SIP Fonte: Teleco, 2009 Mensagens de Reposta SIP (SIP Reponses) 1xx Resposta Afirmativa 2xx Resposta de sucesso 3xx Resposta redirecionamento 4xx Resposta requisição de 5xx Resposta servidor de 6xx Resposta de falha global 180 Riging 200 OK de 302 Moved Temporarily falha de 404 Not Found Falha em 503 Service Unavailable 600 Busy Everywhere O terminal A envia uma mensagem de requisição do INVITE ao terminal B com o propósito de convidá-lo a participar de uma sessão multimídia. O terminal B recebe a requisição e retorna uma resposta do tipo 100 Trying (indicando que a requisição para estabelecimento de uma sessão multimídia foi recebida) e 180 Ringing (indica qual padrão de codecs de mídia foi selecionado e qual porta o agente B receberá o streaming RTP) e um 200 OK (aceitou o estabelecimento de uma sessão com terminal A). Ao receber a resposta de confirmação do terminal B, o terminal A envia um ACK confirmando o recebimento de uma resposta final (200 OK) e estabelece-se a sessão. Através da figura 24 é ilustrado o estabelecimento de uma sessão ponto a ponto SIP. Meios de Comunicação de Dados [Redes de Computadores] 133 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 24- Mensagens Trocadas no Estabelecimento de uma Sessão SIP Fonte: Teleco, 2009 3.3 REAL TIME PROTOCOL (RTP) O RTP é responsável pela transmissão, através de data gramas (UDP), das aplicações multimídia (fluxos de áudio, vídeo e texto). Segundo TANENBAUM (2003, p. 564) “A função básica do RTP é multiplexar diversos fluxos de dados de tempo real sobre um único fluxo de pacotes UDP”. As principais características do RTP são: a sincronização dos pacotes pela hora de transmissão e a capacidade de alterar o formato de codificação durante a transmissão (de PCM para ADPCM, por exemplo), o que garante a integridade e a possibilidade diminuição de tamanho, caso a banda disponível diminua, por exemplo. O Protocolo de Controle de Tempo Real (RTCP) funciona em conjunto com o RTP, segundo TANENBAUM (2003, p.565) “Ele cuida do feedback, da sincronização e da interface com ou usuário, mas não transporta dados”. O RTCP informa ao RTP as oscilações na largura de banda e também cuida da sincronização entre transmissor e receptor. “Ambos os protocolos RTP e RTCP Meios de Comunicação de Dados [Redes de Computadores] 134 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional constituem-se em elementos centrais da maioria (senão todas) das arquiteturas e serviços de VoIP.” (COLCHER et al., 2005, p. 140) 3.4 INTER-ASTERISK EXCHANGE PROTOCOL (IAX) Com o Asterisk, surgiu um novo protocolo para ser usado para a comunicação multimídia, o Inter-Asterisk eXchange (IAX), criado inicialmente para o estabelecimento de conexões entre servidores Asterisk, mas já usado também em softfones, atas e gateways. O IAX já está em sua segunda versão, sendo chamado apenas de IAX2. (Keller, 2011). IAX é um protocolo aberto desenvolvido e voltado ao sistema Asterisk com o propósito de definir um modelo de comunicação entre servidores Asterisk. SMITH 2007, diz que o IAX é um protocolo de transporte e sinalização que utiliza uma única porta UDP - 4569, tanto para sinalização como para o tráfego de stream RTP, o que o torna mais fácil para o tratamento em Firewalls e Network Address Translation (NAT). Pontos fortes, eficiência em banda passante, segurança e facilidade com NAT. Ponto fraco, proprietario. 3.5 CODIFICADOR/DECODIFICADOR (CODEC) O processo de digitalização e codificação de voz (é mostrado através da figura 15) que ocorre em uma chamada Voip é feito através de um conversor analógico-digital denominado CODEC (Codificador-Decodificador), que é responsável por converter o sinal analógico em sinal digital. Isto é efetuado de modo a converter o tráfego de voz em dados, possibilitando que seja encapsulado em um protocolo. Cada serviço, programa, telefone, gateway, equipamento Voip suporta mais de um Codec e negocia qual será utilizado durante a inicialização das chamadas. Ao utilizar o Voip, você deve escolher qual Codec será utilizado na comunicação. (Keller, 2011). Meios de Comunicação de Dados [Redes de Computadores] 135 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Figura 25 - Processo de digitalização e codificação de voz Autor - GONÇALVES, 2005. Para ilustrar essa relação serão citados alguns CODECS como exemplo. O G.711 tem uma taxa de transmissão de 64 kpbs, porém tem um baixo tempo de atraso por processamento. O G.729 tem uma taxa de transmissão de 8 kpbs e um tempo de atraso por codificação de 25 ms. Já o G.723 tem uma taxa de transmissão variando em torno de 5 a 6 Kbps dependendo do tipo de codificação e um tempo de atraso por processamento variando em torno de 67 ms (COLCHER, 2005). De acordo com Keller 2011, as principais características dos Codecs são: Taxa de bits (Codec Bit Rate) (Kbps): quantidade de bits por segundo que precisa ser transmitida para entregar um pacote de voz. • Intervalo de amostra (Codec Sample Interval) (ms): esse é o intervalo de amostra em que o Codec opera. Por exemplo, o Codec G.729 a opera com um intervalo de amostra de 10 ms. • Tamanho de amostra (Codec Sample Size) (bytes): quantidade de bytes capturada em cada intervalo de amostra. Por exemplo, o Codec G.729a Meios de Comunicação de Dados [Redes de Computadores] 136 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional opera com um intervalo de amostra de 10 ms, correspondendo a 10 bytes (80 bits) por amostra, a uma taxa de 8 Kbps. • Tamanho de Payload de Voz (Voice Payload Size) (bytes/ms): representa a quantidade de bytes (ou bits) preenchida em um pacote de dados. O tamanho do payload de cada pacote influência diretamente o tamanho de banda a ser utilizado e o delay da conversa, ou lag. Quanto maior o payload, proporcionalmente menor a quantidade de pacotes a ser transmitida, mas, consequentemente, maior é a quantidade de áudio necessária para compor cada pacote, exigindo menor largura de banda nominal. Entretanto, ao utilizar valores de payload maiores, automaticamente aumenta-se o que chamamos de lag, pois, quanto maior o pacote, maior o tempo para ele chegar ao seu destino e ser decodificado. A maioria dos Codecs utiliza valores de payload entre 10 e 40 ms. Veja na tabela 6 alguns Codecs e suas principais características: Tabela 6 – Características dos principais Codecs Fonte Keller, 2011 Codec Banda (Kbps) Payloa d (ms) G.711 G.729ª 64 8 20 20 Banda nominal (ms) 87.2 31.2 G.722.1 48/56/64 30/30 160 G.723.1 5,3/6,3 30/30 20.8/55.2 G.726 24/32 20/20 47.2/55.2 GSM 13 iLBC Speex 13.33/15 8/16/32 30/20 Meios de Comunicação de Dados [Redes de Computadores] Comentários Baixa utilização de CPU. Excelente utilização de banda e qualidade de voz. Excelente qualidade de áudio. É o considerado HD voicer CODEC Exige muito poder de processamento Baixo nível de compressão e de utilização de processamento. Mesma codifcação dos telefones celulares. Resistente à perda de pacotes Utiliza taxa de bit variável para minimizar a utilização da banda. 137 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional CAPITULO 4 - FATORES DE DEGRADAÇÃO DA VOZ Os principais fatores que prejudicam a qualidade do sinal de voz na tecnologia VoIP, são: Banda; Perda de Pacote; Atrasos; Jitter e Eco. Banda - Cada tipo de aplicação de rede, demanda certa quantidade de banda passante para ter um bom desempenho. Cabe lembrar que este recurso é finito e exige-se uma priorização da banda. Em Voz sobre IP a largura de banda é algo essencial. Nesses sistemas, os CODECS são utilizados com o objetivo de reduzir a banda utilizada na transmissão da voz. Algoritmos e técnicas complexas de codificação (ou compressão) são usados para tentar reduzir a taxa de bits despendida para representar os sinais de voz com o menor prejuízo possível à qualidade do sinal que será reconstruído posteriormente a partir do sinal compactado. A tabela 7, ilustra alguns dos principais CODECS utilizados em sistemas VoIP. Meios de Comunicação de Dados [Redes de Computadores] 138 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tabela 7 – Valor MOS dos principais Codecs Fonte: Keller, 2011. Codec Bit Rate (Kbps) MOS G.711 (ISDN) 64 4.3 Ilbc 15.2 4.14 AMR 12.2 4.14 G.723. 1 r63 6.3 3.9 GSM EFR 12.2 3.8 G.726 ADPCM 32 3.8 G.729ª 8 3.7 G723. 1R53 5.3 3.65 GSM FR 12.2 3.5 PERDA DE PACOTES - A perda de pacotes é um dos grandes problemas enfrentados pela tecnologia Voip. Geralmente as perdas são atribuídas aos congestionamentos dos buffers nos nós da rede, substituições por pacotes que tenham uma maior prioridade, erros no meio físico. No estabelecimento de uma chamada de Voz sobre IP uma grande perda de pacotes torna a comunicação inviável. ATRASO - É o tempo decorrido desde a emissão do som na origem da chamada até a chegada ao destino. Quanto maior o delay, maiores as chances de a chamada ter a sua qualidade prejudicada. Meios de Comunicação de Dados [Redes de Computadores] 139 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional JITTER - È a variação da latência. Devido ao excesso de tráfego ou baixa largura de banda, o tempo de tráfego dos pacotes é diferente, e quanto maior a variação do tempo de tráfego dos pacotes, maior é o jitter. O excesso de jitter gera distorção no áudio da chamada, desde um pequeno chiado até o cancelamento da chamada em casos mais extremos. ECO - partindo do princípio de que em toda comunicação há o retorno do áudio enviado, sempre ocorre eco em telefonia, seja convencional, seja VoIP. Na verdade, o retorno do áudio sempre ocorre em uma velocidade rápida o bastante para que nosso cérebro simplesmente o ignore, e nós não o percebamos. Existem, entretanto, alguns fatores que aumentam o delay dos pacotes e reduzem a velocidade de retorno do áudio, e nós passamos então a ouvir nossa própria voz ao telefone, ou seja, o eco. Alguns dos fatores que podem aumentar o delay na rede são: softfones, Codecs, transcodifcação de Codecs, gateways, roteadores, switches, VPNs, velocidade de banda. 4.1 Métodos de avaliação de desempenho Alguns métodos são utilizados para avaliar o desempenho da qualidade de voz trafegada por uma rede IP, dentre eles podemos citar: MOS, PSQM, PAMS e PESQ. 4.1.1 O MOS (Mean Opinion Score) é definido pela recomendação ITUT P.800. É um método de avaliação da qualidade da voz, que compara resultados com uma referência bem específica. O MOS é um método subjetivo, baseado na opinião de um grupo de avaliadores sobre a qualidade de uma conversa. Estes avaliadores participam da conversa ou ouvem uma amostra de voz que atribuem uma pontuação. É exibido através da tabela 8, a escala de valores do MOS utilizada pela ITU. Meios de Comunicação de Dados [Redes de Computadores] 140 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tabela 8: Escala de valores MOS Fonte: Teleco, 2012 PONTUAÇà COMPREENSÃO DA O (MOS) DISTORÇÃO VOZ 5 Excelente Imperceptível 4 Boa Apenas imperceptível, sem incomodar. 3 Regular Perceptível, leve incomodação. 2 Pobre Perturbando, mas audível. 1 Ruim Perturbando muito, inaudível É exibida através da Tabela xx a comparação entre os codecs de voz utilizados em VoIP e seus respectivos MOS: Tabela 9: MOS, taxas de bits e atrasos de codecs de voz Fonte: Teleco, 2012 CODEC E ALGORITMO TAXA DE BITS M (KBIT/S) G.711 PCM OS 64,0 ATRA SO (MS) 4 0,125 2 0,125 3 70 4 2 4 20 ,3 G.726 ADPCM 16 a 40 ,0 a 4,3 G.723.1 MP- 5,3 e 6,3 MLQ ,7 e 3,8 G.728 LD-CELP 16,0 ,1 G.729 CS- 8,0 ACELP Meios de Comunicação de Dados [Redes de Computadores] ,0 141 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 4.1.2 Speech Quality Measure (PSQM) da recomendação ITU-T P.861. É um algoritmo baseado num modelo matemático, bastante utilizado para determinar o nível de degradação de qualidade dos sinais de voz, usando uma escala entre 0 (sem degradação) e 6,5 (degradação total). Ele compara uma amostra de voz adequada com outra um pouco distorcida. Este mecanismo foi desenvolvido para a comutação de circuitos, portanto o algoritmo não leva em consideração o jitter e a perda de pacotes. 4.1.3 Perceptual Analysis Measurement System (PAMS) - é um processo de medição proprietário. Tem como principio de funcionamento a inserção de um sinal de voz numa terminação da rede e a captura do sinal degradado na outra ponta. Assim a predição é computada comparando matematicamente a versão original do sinal com o sinal degradado. Esse algoritmo difere do PSQM na escala de medição de qualidade da voz entre 1 e 5, semelhante a escala MOS. 4.1.4 Perceptual Evaluation of Speech Quality (PESQ), da recomendação ITU-T P.862, tem como principio de funcionamento a combinação de dois mecanismos (PSQM+ e PAMS) para medir a qualidade fim a fim de uma comunicação de voz, em condições de rede reais. Meios de Comunicação de Dados [Redes de Computadores] 142 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Cite os principais pontos da evolução do telefone? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 2. Central em que a comutação de circuitos ocorre pela comutação de caminhos por onde se propaga um sinal analógico. _______________________________________________________________ _______________________________________________________________ 3. (RTPC) Central de comutação à qual o público em geral pode ter acesso, na prestação de serviços de telecomunicações. _______________________________________________________________ _______________________________________________________________ 4. Central na qual usa o termo usado para caracterizar uma central telefônica dentro de uma empresa, em contraposição às centrais telefônicas públicas. _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 143 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Defina VoIP, Telefonia IP? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 2. Qual a maior diferença entre a telefonia convencional para VoIP? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 3. O que são adaptadores VoIP? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 4. Cite os principais telefones para telefonia IP? _____________________________________________________________ _____________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 144 Escola Estadual de Educação Profissional 5. Ensino Médio Integrado a Educação Profissional O que são softphones? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 145 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Agora vamos aprender um pouco sobre Asterisk, sua história, como funciona dentre outras informações consideradas importantes. O que é o Asterisk? O Asterisk é um software de conceito livre do tipo PABX (GPL), desenvolvido pela Digium Inc. e contínuo crescimento em uma base de usuários. A Digium investe em ambos, o desenvolvimento do código fonte do Asterisk e em hardware de telefonia de baixo custo que funciona perfeitamente com o Asterisk. O Asterisk funciona em plataforma Linux e outras plataformas Unix com ou sem hardware conectando a rede pública de telefonia, PSTN (Public Service Telephony Network). O Asterisk permite conectividade em tempo real entre as redes PSTN e redes Voip. Com o Asterisk, você apenas não tem uma troca do seu PABX. O Asterisk é muito mais que um PABX padrão. Com o Asterisk em sua rede, você criar coisas novas em telefonia como: Conectar funcionários trabalhando em sua residência para o PABX do escritório sobre conexões de banda larga; Conectar escritórios em vários lugares sobre IP. Isto pode ser feito pela Internet ou por uma rede IP privada; Dar aos funcionários, correio de voz, integrado com a “web” e seu e-mail; Desenvolver aplicações de resposta automática por voz, que a mesma aplicação podem se conectar a sistemas internos; Acesso ao PABX da empresa para usuários que viajam, conectando sobre VPN de um aeroporto ou hotel. Dentre outras funções. Meios de Comunicação de Dados [Redes de Computadores] 146 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional O Asterisk inclui muitos recursos que só eram encontrados em sistemas de mensagem unificada “TOP DE LINHA” como: Música em espera nas filas quando os clientes aguardam, suportando música em MP3 em streaming de media assim. Filas de chamada monitorada por conjunto de agentes. (text-to-speech) Integração para sintetização da fala. (call-detail-records) Registro detalhado de chamadas para integração com sistemas de tarifação. Integração com reconhecimento de voz. A habilidade de comunicar com linhas telefônicas normais, ISDN em acesso básico (2B+D) e primário (30B+D). Qual o papel da Digium? A Digium é localizada em Huntsville, Alabama, A Digium é a primeira a desenvolver o Asterisk, o primeiro PABX de código aberto da Companhia. Usado em conjunto com as placas de telefonia PCI, ele oferece uma abordagem estratégica com excelente relação custo/benefício para o transporte de voz e dados sobre arquiteturas TDM, comutadas e redes Ethernet. O principal patrocinador da Asterisk é a Digium como um dos maiores líderes na indústria do PABX em código aberto. Mark Spencer é o criador e principal mantenedor do Asterisk, admirado pelo grande trabalho que fez e pela responsabilidade que carrega. O projeto Zapata O projeto ZAPATA foi conduzido por Jim Dixon. Ele é o responsável pelo desenvolvimento do hardware da DIGIUM. É interessante ressaltar que o hardware também é aberto e pode ser produzido por qualquer empresa. Hoje a Meios de Comunicação de Dados [Redes de Computadores] 147 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional placa com 4 E1/T1s é produzida pela Digium e também pela Varion (www.govarion.com). Porque o Asterisk? É interessante que a primeira reação ao encontrarmos algo novo que compete com aquilo que conhecemos é rejeitar. É o que acontece, com algumas pessoas quando utiliza a primeira vez o Asterisk. De qualquer forma, sempre devemos levantar todas as informações sobre as alternativas de projetos, é de grande importância descobrir quais os pontos fortes e fracos de uma solução como o Asterisk. Posso dizer que o Asterisk traria uma mudança profunda em todo o mercado de telecomunicações e voz sobre IP. O Asterisk é o Apache da telefonia. Veremos então várias razões para o Asterisk. Redução de custos extrema Se você comparar um PABX convencional com o Asterisk a uma mínima diferença, principalmente pelo valor do hardware e dos telefones IP. O Asterisk só pode ser comparado a um PABX digital estado da arte. Comparar uma central analógica com o Asterisk é no mínimo injusto. Ter controle do seu sistema de telefonia Um dos benefícios mais citados, ao invés de contratar alguém para configurar o seu PABX (alguns nem mesmo dão a senha para o cliente final), configure você mesmo. Total liberdade e interface padrão. No fim das contas é LINUX. Ambiente de desenvolvimento fácil e rápido. Usando as APIs nativas o Asterisk pode ser desenvolvido em C, usando AGI pode ser desenvolvida em qualquer outra linguagem. Meios de Comunicação de Dados [Redes de Computadores] 148 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Risco e abrangente em recursos Os equipamentos PABX vendidos no mercado possuem poucos recursos que não possam ser encontrados ou desenvolvidos no Asterisk. O Asterisk já é contrário tudo que ele possui tem em um PABX convencional. É possível prover conteúdo dinâmico por telefone. Como o Asterisk é desenvolvido na linguagem C, como também pode ser desenvolvido em qualquer outra linguagem do programador não existe limites para conteúdo dinâmico por telefone. Plano de discagem flexível e poderoso Processo simples e fácil quando se utiliza o Asterisk, diferente caso utilizado na maioria das centrais, se pensarmos nem rota de menor custo possuem. Roda no Linux e é código aberto Em perfeito funcionamento no Linux, com a facilidade das comunidades de softwares para ajuda nas correções de erros. A grande vantagem por seu código ser aberto é facilidade das correções de erros. O Asterisk é está entre um dos softwares que mais pessoas têm disponíveis para testes e avanços. Tornando o código estável e que permite a rápida resolução de problemas. Limitações da arquitetura do Asterisk O Asterisk usa a CPU do servidor para processar os canais de voz, ao invés de ter um DSP (processador de sinais digitais) dedicado a cada canal. Enquanto isto permitiu que o custo fosse reduzido para as placas E1/T1, o Meios de Comunicação de Dados [Redes de Computadores] 149 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional sistema é muito dependente do desempenho da CPU. A recomendação é preservar ao máximo a CPU do Asterisk, rodá-lo sempre em uma máquina dedicada e testar o dimensionamento antes de implantar. O Asterisk deve ser sempre implementado em uma VLAN específica para VoIP, qualquer tempestade de broadcasts causada por loops ou vírus pode comprometer o seu funcionamento devido ao uso de CPU das placas de rede quando este fenômeno acontece. Arquitetura do Asterisk CANAIS que podem ser analógicos, digitais ou Voip. PROTOCOLOS de comunicação como o SIP, H323, MGCP e IAX que são responsáveis pela sinalização de telefonia. CODECs que fazem a codificação da voz de um formato para outro, permitindo que seja transmitida com compressão de até oito vezes (G729a). APLICAÇÕES que são responsáveis pela funcionalidade do PABX. Meios de Comunicação de Dados [Redes de Computadores] 150 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional A figura acima mostra a arquitetura básica do Asterisk. Vamos explicar abaixo os conceitos relacionados à figura acima como canais, codecs e aplicações. Canais Um canal é o equivalente à uma linha telefônica na forma de um circuito de voz digital. Ele geralmente consiste de ou um sinal analógico em um sistema POTS1 ou alguma combinação de CODEC e protocolo de sinalização (GSM com SIP, Ulaw com IAX). No início as conexões de telefonia eram sempre analógicas e por isso mais suscetíveis à ruídos e eco. Mais recentemente, boa parte da telefonia passou para o sistema digital, onde o sinal analógico é codificado na forma digital usando normalmente PCM (Pulse Code Modulation). Isto permite que um canal de voz seja codificado em 64 Kilobits/segundo sem compactação. Alguns dos hardwares que o Asterisk suporta: – Wildcard T410P – Placa E1/T1 com quatro portas (PCI 3.3 volts apenas) Zaptel – Wildcard T405P – Placa E1/T1 com quatro portas (PCI 5 volts apenas) Zaptel – TDM400P – Placa com quatro portas para tel. analógicos e ADSI, Zaptel - TE110P – Placa com E1/T1 com uma porta, meio comprimento. Quicknet, - as placas quicknet, tanto PhoneJack quanto LineJack podem ser usadas com o Asterisk Voicetronix: possui placas com maior densidade de canais FXS e FXO que as da Digium. Canais que o Asterisk suporta: Meios de Comunicação de Dados [Redes de Computadores] 151 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Agent: Um canal de agente DAC. Console: Cliente de console do Linux, driver para placas de som (OSS ou ALSA). H323: Um dos protocolos mais antigos de VoIP, usado em muitas implementações. IAX e IAX2: Inter-Asterisk Exchange protocol, o próprio protocolo do Asterisk. VOIP. MGCP: Media Gateway Control Protocol, outro protocolo de Modem: Usado para linhas ISDN e não modems. NBS: Usado para broadcast de som. Phone: Canal de telefonia do Linux. SIP: Session Initiation Protocol, o protocolo de VoIP mais comum. Cisco. Skinny: Um driver para o protocolo dos telephones IP da VOFR: voz sobre frame-relay da Adtran. VPB: Linhas telefônicas para placas da Voicetronix. ZAP: Para conectar telephones e linhas com placas da Digium. Também usado para TDMoE (TDM sobre Ethernet) e para o Asterisk zphfc (ISDN em modo NT). Alguns drivers que podem ser instalados: Bluetooth: Permite o uso de dispositivos Bluetooth para mudar o roteamento. CAPI: canal ISDN CAPI ISDN4Linux – É um driver antigo para placas ISDN BRI, acesso básico. Placas neste padrão poderão ser usadas no Asterisk. ISDN CAPI – É a outra forma de suportar as placas ISDN BRI no Meios de Comunicação de Dados [Redes de Computadores] 152 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Linux. Placas que suportam este padrão poderão ser usadas com o Asterisk. Cenários de uso do Asterisk Vamos ver abaixo alguns cenários de uso do Asterisk como ele se encaixa no seu modelo atual e de telefonia. Visão Geral Dentro de uma visão geral, o Asterisk é um PABX híbrido que integra tecnologias como TDM e telefonia IP com funcionalidade de unidade de resposta automática e distribuição automática de chamadas. “Que definição!!”, neste momento do livro é provável que você não esteja entendendo todos estes termos, mas ao longo dos capítulos, você estará cada vez mais familiarizado. Na figura acima podemos ver que o Asterisk pode se conectar a uma operadora de telecomunicações ou um PABX usando interfaces analógicas ou Meios de Comunicação de Dados [Redes de Computadores] 153 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional digitais. Pode se comportar como um servidor de conferência, correio de voz, unidade de resposta automática, distribuidor automático de chamadas e servidor de música em espera. Os telefones podem ser IP, analógicos ou ADSI que é um telefone analógico com display digital. VALE LEMBRAR QUE TDM É: multiplexação por divisão de tempo, toda a telefonia convencional está baseada neste conceito, quando falarmos em TDM estaremos nos referindo a circuitos T1 e E1. E1 é mais comum no Brasil e Europa, T1 é mais usado nos EUA. Vamos conceituar de uma forma um pouco mais detalhada: Correio de voz – Permite que quando o usuário não atender ao telefone por estar ocupado ou ausente, receba um “prompt‟ solicitando que deixe uma mensagem na caixa postal. É semelhante à uma secretária eletrônica ou caixa de mensagens do celular. O Asterisk apresenta esta funcionalidade, sem custo adicional. Sistema de mensagens unificadas – É um sistema onde todas as mensagens são direcionadas para um único lugar, por exemplo, a caixa de correio eletrônico do usuário. Neste caso as mensagens de e-mail, junto com as mensagens do correio de voz e fax seriam encaminhadas para a caixa postal do usuário. No Asterisk também da para fazer. Distribuidor automático de chamadas e fila de atendimento – DAC (ACD em inglês, Automatic Call Distribution). Em um DAC, as pessoas normalmente se autenticam em uma fila de atendimento para receber as chamadas, o distribuidor verifica se o usuário está com o telefone livre antes de passar a chamada. Se nenhum operador estiver livre ele segura a chamada na fila com aquela “musiquinha” e uma mensagem como “Você ligou para... Sua ligação é muito importante...” (Que nós adoramos!!). No primeiro atendente que é liberado, o DAC passa a ligação. DAC é fundamental em qualquer sistema de Meios de Comunicação de Dados [Redes de Computadores] 154 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional atendimento e qualquer Call Center receptivo. Há muito mais sobre DAC do que está escrito aqui, o sistema de roteamento pode ser muito sofisticado. DAC custa uma pequena fortuna na maioria das plataformas convencionais. Servidor de música em espera – Parece uma idiotice isso, mas acredite ou não, na maioria das centrais telefônicas é preciso colocar um aparelho de CD ligado a um ou vários ramais, para que o usuário fique ouvindo a “musiquinha”. Discador automático – Isto é muito útil em telemarketing, pode se programar o sistema para discar automático e distribuir numa fila. Mais uma tecnologia que é vendida separadamente em outros PABX. No Asterisk você pode programar a discagem e existem diversos exemplos de discador disponíveis na Internet. Sala de Conferência – Permite que vários usuários falem em conjunto. É implementado como sala de conferência, você escolhe um ramal para ser a sala de conferência e todos os que discarem para lá estão imediatamente conectados. Tem várias opções como senha, por exemplo. Estas são algumas das funcionalidades atuais do Asterisk, novas aplicações estão surgindo à cada dia, com a contribuição de centenas de pessoas ao redor do mundo. PABX – Softswitch no modelo convencional Meios de Comunicação de Dados [Redes de Computadores] 155 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Já é comum nos dias de hoje o uso de softswitches, que são PCs que comutam circuitos de hardware na forma de interfaces padrão de telefonia. Entretanto a forma de comercialização destes equipamentos segue muitas vezes a lógica mostrada na figura 2, todos os componentes são separados e muitas vezes de diferentes fabricantes. Em muitos casos, mesmo a tarifação é feita por um servidor separado. Os custos da aquisição de cada um destes componentes é elevado e a integração Meios de Comunicação de Dados [Redes de Computadores] muitas vezes difícil. 156 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Telefonia do jeito Asterisk O Asterisk faz todas estas funções de forma integrada, o licenciamento é gratuito (GPL General Public License) e pode ser feito em um único ou em vários servidores de acordo com um dimensionamento apropriado. Incrível dizer isto, mas posso atestar que às vezes é mais fácil implementar o Asterisk do que até mesmo especificar um sistema de telefonia convencional, com todo o seu licenciamento por usuário, por linha, por sabe se lá o que. O Asterisk ganha grande destaque em relação a outro fabricantes pela facilidade na descoberta dos equipamentos que estão incluídos sem uso de licenças. Meios de Comunicação de Dados [Redes de Computadores] 157 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional PABX 1x1 Você vê um exemplo de um PABX de um tronco e uma linha. Este é um dos sistemas mais simples que você pode construir com o Asterisk. Apesar de ter pouca utilidade prática ele permite que se conceituem alguns pontos importantes. Em primeiro lugar o PABX 1x1 possui uma placa FXO (Foreign Exchange Office) para se ligar às operadoras ou a uma interface de ramal. Você pode adquirir uma placa desta da Digium sob o nome TDM400P. Outras duas possibilidades para uma interface FXO são um voicemodem com chipset Intel MD3200 (Cuidado, apenas alguns chipsets funcionam, teste antes de comprar, eu testei a Ambient MD3200 e funciona legal, se você não quiser correr risco, compre a placa da Digium). Meios de Comunicação de Dados [Redes de Computadores] 158 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Crescendo o seu PABX usando um banco de canais Chega uma hora que é difícil continuar colocando placas no PC. A maioria das placas-mãe não permite muito mais do que 4 ou 5 slots PCI. Se você quiser atender oito troncos e 16 ramais, já fica difícil. Por exemplo, se você usar a TDM400P apenas quatro canais por placa são possíveis. Neste caso você pode usar um banco de canais. Um banco de canais é um multiplexador onde entra um E1 (30 canais) ou T1 (24 canais) e no banco de canais estes sinais são abertos em diversas interfaces analógicas FXS, FXO e mesmo E+M. A Adtran é uma das empresas que fabrica estes bancos de canais. Existem diversos fabricantes que fabricam bancos de canal GSM, o que permite que você ligue até 30 linhas de celular no seu Asterisk. Como sempre é bom testar ou consultar alguém que já tenha feito isto, você não vai investir milhares de dólares antes de ter certeza que funciona. Meios de Comunicação de Dados [Redes de Computadores] 159 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Interligação de filiais à matriz O Asterisk possui a funcionalidade de um gateway de media. Ele pode converter os sinais analógicos (FXS, FXO) ou digitais (ISDN) vindos da central telefônica, ou dos telefones do cliente em voz sobre IP e transmitir pela rede corporativa de dados. Com a convergência à redução do número de circuitos e um melhor aproveitamento dos recursos. Os projetos mais comuns são conhecidos como “Toll-Bypass” (Contornando a tarifação), pois eliminam os custos de operadora de longa distância nos telefonemas entra as filiais da empresa. Media Gateway – Um gateway de mídia permite que suas ligações em telefonia analógica possam ser convertidas em Voz sobre ip, por exemplo, e transmitida pela rede de dados até outro escritório sem passar pela tarifação da rede pública. Este é o ponto número um da implementação de voz sobre IP, reduzir a conta. Se você tem um Asterisk em cada filial, você pode Meios de Comunicação de Dados [Redes de Computadores] 160 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional interconectá-los usando IAX trunked, uma das melhores tecnologias de conexão de PABX por IP. Isto é o que me espanta, apesar de ser um software livre, este recurso de protocolo, em particular é superior ao que eu tenho encontrado em equipamentos pagos. Unidade de resposta automática Unidade de resposta automática – Para mim este é um dos pontos altos do Asterisk, ele permite criar uma URA (Em inglês IVR, Interactive Voice Response) bastante personalizável. Isto permite que você, por exemplo, crie um sistema de consulta à estoque e preços para os vendedores, um sistema de atendimento à posição dos pedidos e inúmeras outras aplicações. É bom lembrar que ao contrário dos EUA e Europa, a quantidade de computadores por Brasileiro é relativamente pequena e o telefone ainda é um dos meios de acesso mais universais no Brasil. Usando recursos como o AGI (Asterisk Gateway Interface) que é muito semelhante ao CGI (Common Gateway Interface), as possibilidades de programação são muito amplas, a linguagem de programação pode ser Meios de Comunicação de Dados [Redes de Computadores] 161 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional escolhida pelo desenvolvedor. Acredito que serão cada vez mais comuns os portais de voz, para disseminar a informação por um conjunto ainda maior de pessoas. Interface de gerenciamento do Asterisk. A interface de gerenciamento do Asterisk permite ao programados se conectar ao Asterisk e emitir comandos ou ler eventos de PABX usando a interface sockets do TCP/IP. Integradores vão achar este recurso útil quando tentarem rastrear o status de um cliente dentro do Asterisk e direcionar o cliente baseado em uma regra personalizada, talvez até dinâmica. Um protocolo de linha do tipo “chave:valor” é utilizado entre o cliente e o Asterisk. As linhas são terminadas com CRLF. Comportamento do protocolo O protocolo tem a seguinte semântica: Antes de você emitir quaisquer comandos você deve se logar usando a ação “Login”. Os pacotes podem ser transmitidos em qualquer direção à qualquer momento após a autenticação. A primeira linha do pacote deve ter uma chave “Action” quando enviado pelo cliente e “Event” quando enviado do Asterisk ao cliente. A ordem das linhas dentro de um pacote não é importante, então você pode usar um tipo de dado de dicionário não ordenado em sua linguagem de programação nativa para armazenar um único pacote. Meios de Comunicação de Dados [Redes de Computadores] 162 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Tipos de pacote O tipo de pacote é determinado pela existência de uma das seguintes chaves: Action: Um pacote enviado pelo cliente ao Asterisk, pedindo que uma ação em particular seja executada. Response: A resposta enviada pelo Asterisk para a última ação enviada pelo cliente. Event: Dados pertencentes à um evento gerado dentro do núcleo do Asterisk ou um módulo de extensão. Autenticação Contas de usuário são configurada em /etc/asterisk/manager.conf. Uma conta de usuário consiste de um conjunto de hosts que podem acessar a interface de gerenciamento, uma senha e uma lista de permissões, cada um pode ser ou “read”, “write”, ou “read/write”. Exemplos de aplicações usando a interface de gerenciamento: Pode se criar uma aplicação que gera uma discagem a partir de uma página de Web. Pode se criar uma aplicação que monitora as ligações entrantes e jogam uma tela personalizada para a estação de trabalho que recebeu a ligação. Detalhes de programação da interface de gerenciamento do Asterisk estão fora do escopo deste material. Meios de Comunicação de Dados [Redes de Computadores] 163 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Asterisk Gateway Interface – AGI. AGI é a interface de gateway do Asterisk, muito similar ao CGI (Common gateway Interface). Uma interface para adicionar funcionalidade ao Asterisk com muitas linguagens de programação diferentes. Perl, PHP, C, Pascal, Bourne Shell, Java é só escolher. AGI pode controlar o plano de discagem, chamado em extensions.conf EAGI dá à aplicação a possibilidade de acessar e controlar o canal de som além da interação com o plano de discagem. DEADAGI permite o acesso ao canal morto após o hangup. Usando o AGI O AGI funciona, fazendo com que o programa se comunique com o Asterisk através do standard input (Em um programa normal, seria o teclado, no AGI é o Asterisk que envia estes dados) e do standard output (Em um programa normal seria a tela do computador, no AGI o programa envia comandos como se estivesse escrevendo na tela). Desta forma qualquer linguagem pode ser usada. Com o AGI é possível programar o Asterisk como uma URA consultando bancos de dados e retornando informações usando text-to-speech (texto para fala). O que é FastAGI? O FAST AGO permite que um aplicativo possa ser executado sobre uma conexão TCP/IP usando a porta #4573 deste modo descarregando o Asterisk desta tarefa. O servidor JAVA do outro lado usa um servidor JAGIServer para executar as aplicações. Meios de Comunicação de Dados [Redes de Computadores] 164 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exemplo: exten=>5551212,1,Agi(agi://192.168.0.2) Exercícios 1. Marque as opções corretas. O Asterisk tem quatro componentes básicos de arquitetura: ( ) CANAIS ( ) TELEFONES ( )PROTOCOLOS ( ) CODECS ( ) AGENTES ( ) APLICAÇÕES 2. Se for necessário criar um PABX com 4 troncos e oito telefones, você pode usar um PC com Linux e três placas TDM400P uma com quatro canais FXO e duas com quatro canais FXS cada. A afirmação acima está: ( ) CORRETA ( ) INCORRETA 3. Um canal FXS gera tom de discagem, enquanto um canal FXO recebe o tom vindo da rede pública ou de um outro PABX. A afirmação acima está: ( ) CORRETA ( ) INCORRETA 4. Marque as opções corretas, O Asterisk permite os seguintes recursos: ( ) Unidade de Resposta Automática ( ) Distribuição automática de chamadas ( ) Telefones IP ( ) Telefones Analógicos ( ) Telefones digitais de qualquer fabricante. Meios de Comunicação de Dados [Redes de Computadores] 165 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 5. Para tocar música em espera o Asterisk necessita de um CD Player ligado em um ramal FXO. A afirmação está: ( ) CORRETA ( ) INCORRETA 6. É responsável pelo atendimento automático de clientes, normalmente toca um “prompt” e espera que usuário selecione uma opção. Am alguns casos pode ser usada em conjunto com um banco de dados e conversão texto para fala. Estamos falando de uma: ( ) URA ( ) IVR ( ) DAC ( ) Unified Messaging 7 – Marque as opções corretas, Um banco de canais é conectado ao Asterisk através de uma interface: ( ) E1 ( ) T1 ( ) FXO ( ) FXS 8 – Marque a opção correta. Um canal E1 suporta ___ canais de telefonia enquanto um T1 suporta ___ canais. ( ) 12, 24 ( ) 30, 24 ( ) 12,12 ( ) 1,1 9 – Nas plataformas de telefonia convencional, normalmente URA, DAC e Correio de voz estão incluídos no PABX. Esta afirmação está: Meios de Comunicação de Dados [Redes de Computadores] 166 Escola Estadual de Educação Profissional ( ) CORRETA ( ) INCORRETA Ensino Médio Integrado a Educação Profissional 10 – Marque as opções corretas, É possível interligar usando o Asterisk várias filiais através de voz sobre IP reduzindo a despesa com ligações de longa distância. Em uma filial: ( ) O Asterisk pode ser a central telefônica para todos os usuários. ( ) O Asterisk pode integrar uma central telefônica existente ( ) Podem ser usados apenas telefones IP ligados à um Asterisk centralizado ( ) Redundância e confiabilidade não são importantes quando se ligam IP fones. Meios de Comunicação de Dados [Redes de Computadores] 167 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Baixando e instalando o Asterisk – Passo a Passo. Hardware Mínimo O Asterisk pode ser intensivo em processador, pois ele usa o próprio processador da máquina para fazer o processamento dos sinais digitais. Se você estiver construindo um sistema complexo com carga elevada é importante entender este conceito. Para construir seu primeiro PABX um processador compatível com Intel que seja melhor que um Pentium 300Mhz com 256 MB RAM é o suficiente. O Asterisk não requer muito espaço em disco, cerca de 100 MB compilados, mais código fonte, voice-mail, prompts customizados e todos requerem espaço. Se você usar apenas VOIP, nenhum outro hardware é necessário. Pode se usar softfones como os da XTEN (X-Lite) e entroncar com operadoras gratuitas como o Free World Dialup http://www.freeworlddialup.com/. Um sistema com apenas VOIP permite que você avalie o Asterisk sem custos. Entretanto se você quiser explorar todo o poder do Asterisk você vai acabar querendo instalar uma das placas da Digium. Nota: Muitas pessoas rodando o Asterisk requerem uma fonte de clock para fornecer a temporização. As placas da Digium têm esta capacidade por padrão. Para sistemas sem uma fonte de temporização, existe o ztdummy, ele usa a controladora USB como fonte de temporização. Algumas aplicações como o Meetme (Conferência) precisam desta temporização. Existem dois tipos de controladores USB, UHCI e OHCI, é necessário um UHCI para que o sistema funcione. Os sistemas com OHCI também funcionam, mas vão precisar do módulo zaprtc. Dica: Você pode usar uma placa de fax/modem com chipset Intel 537 ou MD3200, ela se comporta como uma Digium X100P. Nós conseguimos Meios de Comunicação de Dados [Redes de Computadores] 168 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional algumas destas placas por um preço bastante acessível, bem mais baixo que importar da Digium. Montando o seu sistema O hardware necessário para o Asterisk não é muito complicado. Você não precisa de uma placa de vídeo sofisticada ou periféricos. Portas seriais, paralelas e USB podem ser completamente desabilitadas. Uma boa placa de rede é essencial. Se você estiver usando uma das placas da Digium, é bom verificar as instruções da sua placa-mãe para determinar se os Slots PCI suportam estas placas. Muitas placas-mãe compartilham interrupções em slots PCI. Conflitos de interrupções são uma fonte potencial de problemas de qualidade de áudio no Asterisk. Uma maneira de liberar IRQs é desabilitar na BIOS tudo que não for necessário. Questões de compartilhamento de IRQ Muitas placas de telefonia como a X100P podem gerar grandes quantidades de interrupções, atendê-las toma tempo. Os drivers podem não conseguir fazê-lo em tempo se outro dispositivo estiver processando a mesma IRQ compartilhada e a linha de IRQ não puder receber outra interrupção. Tende a funcionar melhor em sistemas multiprocessados. Em sistemas monoprocessados você pode ter muitas perdas de interrupção e clock desalinhado. Quaisquer das placas da Digium e outras placas de telefonia podem estar sujeitas ao mesmo problema. Como a entrega precisa de IRQs é uma necessidade primária em telefonia, você não deve compartilhar IRQs com nada. Nem sempre isto ocorre, mas você deve prestar atenção ao problema. Se você está usando um computador dedicado para o Asterisk, desabilite o máximo de dispositivos que você não vá usar. A maioria das BIOS permite que você manualmente designe as IRQs. Vá até a BIOS e olhe na seção de IRQs. É bem possível que você consiga Meios de Comunicação de Dados [Redes de Computadores] 169 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional configuras as interrupções manualmente por slot. Uma vez iniciado o computador, veja em /proc/interrupts as IRQs designadas. # CPU0 XT-PIC 0: 1: XT-PIC 2: 0 XT-PIC 3: XT-PIC <-- TDM400 4: XT-PIC XT-PIC wcfxo <-- X100P 7: 8: 1 XT-PIC rtc 9: XT-PIC wcfxo <-- X100P 0 XT-PIC XT-PIC 3 XT-PIC NMI: 0 0 Acima você pode ver as três placas da Digium cada uma na sua IRQ. Se este for o caso, você pode ir em frente e instalar os drivers de hardware. Se não for o caso, volte na BIOS até que as placas não estejam compartilhando as IRQs. Escolhendo uma distribuição do Linux. O Asterisk foi originalmente desenvolvido para rodar em Linux, embora possa ser usado no BSD e OS X. No entanto, as placas PSTN da Digium foram desenhadas para trabalhar com Linux i386. Se você for novo com Asterisk procure usar o Linux. Meios de Comunicação de Dados [Redes de Computadores] 170 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Requisitos do Linux Várias distribuições foram usadas com sucesso como RedHat, Mandrake, Fedora, Debian, Slackware e Gentoo foram usadas com sucesso com o Linux. Se você descobrir que algo não funciona com seu sistema em particular reporte o erro em http://www.digium.com/bugtracker.html. Pacotes necessários. Antigamente existiam alguns pacotes que eram necessários para instalar o Asterisk como o readline e readline-devel que não são mais necessários. Não existe hardware especial tal como uma placa de som e o único pacote necessário é o próprio Asterisk. Se você estiver usando hardware da Digium ou ztdummy, você vai precisar do pacote zaptel. O pacote zaptel é necessário para que algumas aplicações sejam incluídas em tempo de compilação. Se você escolher compilar o Asterisk e não o zaptel, mas descobrir que esta faltando uma aplicação relacionada ao pacote zaptel (Como o Meetme()), você terá de compilar o zaptel e então recompilar o Asterisk para que a aplicação seja incluída. Para interfaces T1 e E1 o pacote libpro é necessário. Bison é necessário para compilar o Asterisk. Os pacotes de desenvolvimento ncurses e ncurses development são necessários se você quiser construir novas ferramentas (Como o astman). As bibliotecas zlib e zlib-devel são necessárias agora para compilar. Isto se deve a adição do DUNDi (Distributed Universal Number Discovery) protocol. Instalando o Linux para atender ao Asterisk. Para nossa instalação vamos usar o Suse Linux. É uma distribuição bastante usada e não devemos ter problemas durante as instalações. Meios de Comunicação de Dados [Redes de Computadores] 171 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 1: Coloque o CD e faça o boot usando o disco 1 do Suse 9.2. Pressione F2 e inicie a instalação em modo texto. Passo 2: Escolha a linguagem, eu sempre escolho Inglês para servidores, considero a opção mais segura. Meios de Comunicação de Dados [Redes de Computadores] 172 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 3: Você receberá a seguinte tela, usando [TAB] vá para a opção [change]. Passo 4: Escolha o item Software... Meios de Comunicação de Dados [Redes de Computadores] 173 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 5: Escolha, sistema mínimo “Minimum System” Passo 6: Voltando a tela inicial escolha aceitar [Accept]. Meios de Comunicação de Dados [Redes de Computadores] 174 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 7: Confirme a mensagem que mostra que faremos uma instalação com a interface texto do Suse. Passo 8: Entre com a senha do Root e entre com ela novamente para confirmar. Meios de Comunicação de Dados [Redes de Computadores] 175 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 9: Use a configuração abaixo. Em sistemas em produção você vai precisar definir um endereço estático para o servidor Asterisk. Passo 10: Adicione um usuário local para encerrar o processo. Meios de Comunicação de Dados [Redes de Computadores] 176 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 11: Reinicialize o sistema e você deve chegar no prompt do Suse. Passo 12: Selecionar pacotes adicionais. Para que você possa compilar o Asterisk é necessário que você selecione vários pacotes adicionais. Entre como root no sistema e carregue o YaST. Entre na opção Adicionar e Remover Software. Meios de Comunicação de Dados [Redes de Computadores] 177 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Passo 13: Entre na janela de instalação e instale os seguintes pacotes: Kernel Sources gcc - GNU C Compiler and Support Files cvs – Concurrent Versions System ncurses – New curses libraries ncurses-devel – Bibliotecas para desenvolvimento com ncurses bison – The GNU parser generetor Termcap – Termcap library openssl – Secure Sockets and TLS Layer Security openssl-developer – Bibliotecas do openssl. zlib-devel. Obtendo e compilando o Asterisk Agora que você já instalou o Linux e as bibliotecas necessárias, vamos partir para a instalação do Asterisk. O que é CVS? CVS é um repositório central que desenvolvedores usam para controlar o código fonte. Quando uma mudança é feita ela é enviada para o servidor CVS onde fica imediatamente disponível para download e compilação. Outro benefício de usar um CVS é que se algo estava funcionando até um ponto, mas uma mudança fez com que parasse de funcionar, a versão para qualquer tipo de arquivo em particular pode ser retornada a certo ponto. Isto é verdade para toda árvore também. Se você descobrir que algo estava funcionando até um ponto, mas a instalação da última versão do Asterisk fez com que o sistema parasse de funcionar, você pode voltar atrás para qualquer ponto no tempo. Veja a seção de como baixar os arquivos do CVS. Meios de Comunicação de Dados [Redes de Computadores] 178 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Drivers para as placas de telefonia A digium assim como outros fabricantes fabrica placas de telefonia para serem usadas com o Asterisk. Vamos abordar neste caso a placa X100P, a TDM400P e a Wildcard E100P que serão provavelmente as placas mais usadas no Brasil. Digium X100P É uma das placas mais simples da Digium com uma porta FXO que pode ser ligada à rede publica ou à uma interface de ramal de um PABX. TDM400P A placa Wildcard TDM400P é uma placa analógica até quatro canais. Os canais podem ser FXO ou FXS dependendo dos módulos adquiridos. Meios de Comunicação de Dados [Redes de Computadores] 179 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional TE110P A placa E100P já uma placa para 30 canais digitais no padrão E1–ISDN. Com esta placa você pode se conectar de forma digital à sua central telefônica ou à rede pública. Vamos mostrar nesta seção, como carregar os drivers de telefonia das placas analógicas e digitais da Digium conhecidas como zaptel (Zapata Telephony). Meios de Comunicação de Dados [Redes de Computadores] 180 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Obtendo os drivers Para obter os drivers da Zaptel para uso com hardware digium, você tem de verificar a parte da zaptel no servidor CVS da Digium. Exemplo, baixando os drivers da Zaptel do CVS: cd /usr/src/ export CVSROOT=:pserver:[email protected]:/usr/cvsroot cvs login ;(senha é anoncvs) cvs checkout –r v1-0-7 zaptel Você será conectado ao servidor CVS onde ele vai descarregar todos os arquivos necessários para compilar os drivers da zaptel. Estes arquivos vão ser armazenados em /usr/src/zaptel. Compilando os drivers Você vai precisar compilar os módulos da Zaptel se você planeja usar o ztdummy ou qualquer hardware da Digium. Os seguintes comandos irão compilar e instalar módulos para quaisquer hardwares da Digium que você possa ter instalado no seu sistema. Exemplo: Compilando os drivers da Zaptel. cd /usr/src/zaptel/ make clean make install Se você usar qualquer distribuição que use o kernel 2.6, você precisa fazer um passo adicional antes de fazer o make install. cd /usr/src/zaptel make clean make linux26 make install Meios de Comunicação de Dados [Redes de Computadores] 181 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Compilando o ztdummy O ztdummy é usado quando você não tem quaisquer hardwares da Digium para os recursos de temporização, mas precisa deles para usar os aplicativos “Música em Espera MusicOnHold()” e “Conferência MeetMe()”. O Driver ztdummy requer que você tenha uma controladora USB UHCI. Se você estiver usando uma controladora USB OHCI, você terá de usar o zaprtc. Você pode verificar se a sua placa-mãe tem uma controladora UHCI USB rodando o lsmod da linha de comando. # lsmod Module Size Used by Not tainted ... uhci-hcd 29725 0 [unused] <-- usb-uhci usbcore 105342 3uhci-hcd A tela acima mostra os módulos USB carregados. Se você vir uma linha que lê usb-uhci. Isto mostra que o módulo UHCI está carregado e pront o para ser usado com o ztdummy. Editando o Makefile Para compilar o ztdummy você tem de editar o arquivo makefile localizado no seu diretório /usr/src/zaptel. Encontre a linha contendo: MODULES=zaptel tor2 torisa ztdynamic ztd-eth wct1xxp wct4xxp # ztdummy wcusb wcfxo wcfxs \ Retire o comentário do modulo ztdummy removendo o sustenido (#). Salve o arquivo e faça a compilação normalmente. Uma vez que você tenha compilado com sucesso o ztdummy, você pode carregá-lo na memória usando o comando modprobe. Meios de Comunicação de Dados [Redes de Computadores] 182 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Instalando e configurando o hardware A configuração das placas da Digium é feita no arquivo /etc/zaptel.conf. Os procedimentos para a carga destas placas estão descritos mais abaixo. As placas da Digium além de ter o papel de conexão a um PABX ou à rede pública também são usadas como fonte para a sincronização de tempo. Passos necessários para instalação do hardware. 1. Instalar o hardware no PC. 2. Ajustar udev (para linux com Kernel 2.6) 3. Carregar os drivers de Kernel. Instalar o Hardware no PC Instale as placas no seu PC. Certifique-se que as placas de telefonia possuem um IRQ dedicado a interface. Desabilite todo o hardware desnecessário. Ajustar o udev O udev permite à usuários Linux ter um diretório /dev dinâmico. Isto permite que se tenham nomes de dispositivo persistentes. Ele usa sysfs e /sbin/hotplug e roda inteiramente no espaço do usuário. Quando o udev está sendo usando (Caso do Suse 9.2 e outros Linux com kernel 2.6) você será direcionado ao arquivo README.udev durante a compilação. Para udevd (o daemon responsável pela criação /deleção dos dispositivos), você precisa adicionar as seguintes linhas para as suas regras de udev. Meios de Comunicação de Dados [Redes de Computadores] 183 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Copie as linhas abaixo para dentro do arquivo /etc/udev/rules.d/50udev.rules # Section for zaptel device KERNEL="zapctl", NAME="zap/ctl" KERNEL="zaptimer", NAME="zap/timer" KERNEL="zapchannel", NAME="zap/channel" KERNEL="zappseudo", NAME="zap/pseudo" KERNEL="zap[0-9]*", NAME="zap/%n" Isto irá permitir que tudo funcione bem e o udev crie os arquivos corretos para as placas zaptel. Carregar os drivers de kernel Você deve carregar o modulo zaptel e um módulo correspondente à placa que você está instalando. modprobe zaptel Tabela dos Drivers da Digium Pla Descrição w 4xE1/T1- river ca TE 410P ct4xxp TE 405P w ct4xxp TD M400P 00P 3.3V PCI 4xE1/T15V PCI w 4 FXS/FXO w 1 T1 cfxs T1 ct1xxp E1 00P w 1 E1 w 1 FXO ctlxxp X1 00P D cfxo Meios de Comunicação de Dados [Redes de Computadores] 184 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Modprobe é usado para carregar os drivers da zaptel na memória de forma que se possa ter acesso ao hardware do sistema. Nós sempre carregamos o driver zaptel na memória primeiro. Após ele carregamos os drivers específicos para o tipo de dispositivo que estamos carregando (FXS, FXO, ztdummy, etc.) Podemos carregar o módulo da Zaptel com o seguinte comando, por exemplo: modprobe wcfxs Se o modulo zaptel carregou com sucesso, você não deve ver qualquer saída do comando após teclar enter. Você pode verificar se foi carregado com sucesso rodando o comando lsmod. #lsmod Module Size Used by Not tainted zaptel 175132 0 (unused) Como podemos ver, o primeiro módulo listado é o zaptel. O módulo zaptel é usado para nossos módulos de canal, por isto esta como “unused” (não usado). Isto irá mudar uma vez que carreguemos as portas FXS ou FXO. Caso não exista nenhuma placa de telefonia. Coloque no ar o ztdummy para prover o sincronismo. Sem isto, aplicativos como Conferência e Música em espera não vão funcionar. modprobe ztdummy Novamente, não se deve ver nenhuma saída do comando. A verificação pode ser feita usando o lsmod. Configurando o arquivo zaptel.conf De forma a configurar os parâmetros regionais e de sinalização para os canais de telefonia físicos o arquivo zaptel.conf precisa ser editado. Este arquivo contém muitas opções e parâmetros que não estão incluídos neste material. Meios de Comunicação de Dados [Redes de Computadores] 185 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional # Zaptel Configuration File # fxoks=1 fxsks=4 loadzone=us defaultzone=us A TDM11B (Uma FXO e uma FXS na placa TDM400P) vem padrão com o módulo FXS conectado na primeira porta. O módulo FXO é conectado na quarta porta da placa. A linha fxoks=1 então diz ao módulo wcfxs para usar sinalização FXO na primeira porta da TDM400P. Da mesma forma fxsks=4 especifica que a quarta porta vai usar sinalização FXS. Após carregar o driver, você deve configurar os canais usando ztcfg.O comando ztcfg é usado para configurar a sinalização usada para a interface física FX. ztcfg irá usar a configuração de sinalização em zaptel.conf. Para ver a saída do comando você deve usar –vv para colocar o programa em modo verbose. /sbin/ztcfg -vv Zaptel Configuration ====================== Channel map: Channel 01: FXO Kewlstart (Default) (Slaves: 01) Channel 04: FXS Kewlstart (Default) (Slaves: 04) 2 channels configured. Após os canais terem sido configurados com sucesso, você está pronto para iniciar o uso do seu hardware com o Asterisk. Resumindo, como carregar uma placa de telefonia. modprobe zaptel modprobe wcfxo ; ou a placa que você adquiriu ztcfg asterisk -vvvvvvvvvvvvvvvcg Meios de Comunicação de Dados [Redes de Computadores] 186 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Obtendo e compilando o Asterisk De forma a obter o Asterisk, você deve retirá-lo do servidor CVS da Digium. Quando do fechamento deste livro estava na versão 1.0.5. Obtendo a versão principal. Compilando Se você já compilou o software antes, compilar o Asterisk vai parecer bem simples. Rode os seguintes comandos para compilar e instalar o Asterisk após você ter baixado ele do servidor CVS. cd /usr/src/asterisk/ make clean make make install make samples Iniciando e parando o Asterisk Antes de usar o Asterisk, você deve criar os arquivos de configuração. Muito embora a quantidade de configurações possíveis seja muito grande, apenas um pequeno conjunto é necessário de forma a iniciar o Asterisk com sucesso. Com esta configuração mínima, já é possível iniciar o Asterisk com sucesso. /usr/sbin/asterisk –vvvgc Use o comando stop now para derrubar o Asterisk. Veja os comandos disponíveis na interface de linha de comando do Asterisk. Meios de Comunicação de Dados [Redes de Computadores] 187 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional CLI>stop now Parâmetros de linha de comando do Asterisk. O processo de executar o Asterisk é bem simples. Se o Asterisk for rodado sem argumentos, ele é lançado como um daemon (Processo que espera conexões em uma porta TCP ou UDP). /sbin/asterisk Você pode acessar a console de um processo do Asterisk que já esteja em execução. Mais de um console pode ser conectada ao Asterisk simultaneamente. Use: /sbin/asterisk –r Abaixo os parâmetros disponíveis -h: Help mostra as opções de parâmetros de linha de comando. -C <configfile>: Inicia o Asterisk com arquivo de configuração diferente do padrão /etc/asterisk/asterisk.conf -f: Foreground. Inicia o Asterisk, mas não coloca um processo em Background. -c: Habilita o modo de console. Inicia o Asterisk em Foreground (na frente, implica na opção –f), com uma console com interface de linha de comando. -r: Console remota. -n: Desabilita a cor na console. -i: Pede pelos códigos criptográficos de inicialização. -p: Roda como pseudo-realtime. Roda com prioridade de tempo real. -q: Modo silencioso suprime as mensagens. -v: Inclui mensagens detalhadas, (múltiplos v‟s = mais verbose). -d: Habilita debug extra em todos os módulos Meios de Comunicação de Dados [Redes de Computadores] 188 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional -g: Faz com que o Asterisk descarregue o núcleo em caso de segment violation. -x<cmd>: Executa o comando <cmd> (válido apenas com r) Iniciando o Asterisk em tempo de inicialização. Sistemas operacionais diferentes têm métodos levemente diferentes de iniciar os programas em tempo de inicialização. O diretório /usr/src/asterisk/contrib/init.d contém scripts para alguns sistemas operacionais. Escolha um ou crie um que atenda sua aplicação. Você pode escolher lançar /sbin/asterisk diretamente, ou fazer uso do shell script instalado em /sbin/safe_asterisk que executa o Asterisk e tenta reexecutar no caso do Asterisk “dar pau”. Vamos usar o script de inicialização do Asterisk criado por Martin Mielke para o SuSe. O script pode ser baixado em: (http://www.leals.com/~mm/asterisk/asterisk_suse.sh) Como instalar: 1. Entre como root 2. Salve o script como /etc/init.d/asterisk 3. Faça um link simbólico de /etc/init.d/rc3.d para o script para que o Asterisk inicie no boot do sistema. cd /etc/init.d/rc3.d ln –s ../asterisk S90asterisk Meios de Comunicação de Dados [Redes de Computadores] 189 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional 4. Faça um link simbólico de /etc/init/d/rc0.d para o script de forma que ele seja descarregado no shutdown do sistema. cd /etc/init.d/rc0.d ln –s ../asterisk K10asterisk Como usar: Uma vez instalado, se você desejar iniciar ou para o Asterisk manualmente, Entre como root e digite: /etc/init.d/asterisk opção Onde a opção pode ser: start: Inicia o Asterisk stop: Para o Asterisk status: Verifica o status do Asterisk restart: Reinicializa o Asterisk Considerações sobre a instalação do Asterisk Sistemas em produção Se o Asterisk for instalado em um ambiente de produção, deve-se prestar atenção no projeto do sistema. O servidor deve ser otimizado de forma que as funções de telefonia tenham prioridade sobre os outros processos do sistema. Na maioria dos casos o Asterisk não deve rodar outros processos, principalmente se forem intensivos em CPU. Se forem necessários processos que utilizam muita CPU como bancos de dados, por exemplo, estes devem ser instalados eventualmente em um servidor separado. Meios de Comunicação de Dados [Redes de Computadores] 190 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional De uma forma geral o Asterisk é um sistema sensível a variações de performance da máquina. Isto significa que em um sistema em produção o ideal é não usar interfaces gráficas como o KDE ou GNOME. Considerações sobre a rede Se você vai usar telefones IP, o que é muito provável é importante que você preste atenção a algumas questões sobre a rede. Os protocolos de voz sobre IP são muito bons e resistentes a perdas de pacotes, atrasos e variações de atrasos. Entretanto se você abusar, a qualidade de voz não será boa. Só é possível garantir a qualidade da voz utilizando QoS fim-a-fim, o que é inviável principalmente em telefonia sobre a Internet. Desta forma seguem algumas recomendações. Implemente QoS fim-a-fim sempre que possível. Mesmo em switches de 100 Mbps onde é raro ter um congestionamento, vale a pena, um vírus ou uma condição de rede inesperada pode por tudo a perder. Seja conservador, use, por exemplo, uma conexão de Internet exclusiva para softfones e telefones IP. Na maioria das vezes os backbones têm folga no tráfego, mas a conexão de acesso é congestionada pelo próprio usuário com downloads, navegação, e-mail entre outros. Evite hubs de 10 e 100 Mbps, as colisões nestes equipamentos, causam variação no atraso (jitter). Jitter é um dos piores inimigos da telefonia IP. Oriente os usuários de telefonia sobre a Internet que não é possível garantir a qualidade. Manter as expectativas em um nível realista evita problemas futuros e comentários como “Se eu soubesse que era assim....”. Quando usar uma rede IP privada com equipamentos que suportam QoS fim-a-fim, se a qualidade da voz estiver ruim, verifique imediatamente, existe algum problema na sua rede. Com QoS bem implementado a qualidade de voz é perfeita, “sem desculpas”. Meios de Comunicação de Dados [Redes de Computadores] 191 Escola Estadual de Educação Profissional Ensino Médio Integrado a Educação Profissional Exercícios 1. Qual a configuração mínima para o Asterisk. _______________________________________________________________ _______________________________________________________________ 2. As placas de telefonia para o Asterisk têm um processador próprio (DSP), não precisando assim de muita CPU do servidor. ( ) Correto ( ) Incorreto 3. Para que a telefonia IP funcione com perfeição é necessário que à rede possua QoS fim-a-fim. ( ) Correto ( ) Incorreto 4. É possível obter uma boa qualidade de voz em uma rede que não esteja congestionada com switches de 100 Mbps. ( ) Correto ( ) Incorreto 5. Liste abaixo as bibliotecas necessárias para compilar o Asterisk. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 192 6. Se você não tem uma placa zaptel, você precisa de uma fonte de tempo. O driver ztdummy faz este papel aproveitando uma biblioteca USB. Isto é necessário, pois algumas aplicações como o ______________________ e o ______________________ precisam de uma referência de tempo. 7. O CVS é o sistema de controle de versões do Asterisk. Desta forma você só pode baixar a última versão. ( ) Correto ( ) Incorreto 8. Quando você faz uma instalação do Asterisk, o melhor é não instalar os pacotes gráficos como o KDE e GNOME, pois o Asterisk é sensível na questão de CPU e interfaces gráfica roubam muitos ciclos de CPU do servidor. ( ) Correto ( ) Incorreto 9. Os arquivos de configuração do Asterisk ficam em____________________. 10. Para instalar os arquivos de configuração de exemplo você precisa executar o seguinte comando. _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Meios de Comunicação de Dados [Redes de Computadores] 193 Arquivos de configuração do Asterisk O Asterisk é controlado através de arquivos de arquivos de configuração localizados no diretório /etc/asterisk. O formato dos arquivos de configuração do Asterisk é semelhante aos arquivos (.ini) do Windows. O arquivo está em ASCII dividido em seções com o nome da seção em chaves ([]‟s). Em seguida vêm os pares de Chave, Valor separado por um sinal de igual (=) ou por um sinal de igual seguido pelo sinal de maior que (=>). O ponto e vírgula é o caractere de comentário. O (=) e o (=>) podem ser usados de forma idêntica, linhas em branco são ignoradas. Arquivo de exemplo: ; ; A primeira linha sem ser comentário deve ser um título de sessão. ; [sessao1] chave = valor ; Designação de variável [sessao2] objeto => valor ; Declaração de objeto O interpretador do Asterisk interpreta (=) e (=>) de forma idêntica. A sintaxe é apenas para tornar o código mais legível. Embora os arquivos compartilhem a mesma sintaxe, existem pelo menos três tipos distintos de gramática. Grupo simples O formato de grupo simples é o mais básico e usado por arquivos de configuração onde os objetos são declarados com todas as opções na mesma linha. Os arquivos extensions.conf, meetme.conf e voicemail.conf seguem este formato. [sessao] objeto1 => op1,op2,op3 objeto2 => op1b,op2b,op3b Meios de Comunicação de Dados [Redes de Computadores] 194 Neste exemplo, o objeto1 é criado com opções op1, op2 e op3 enquanto o objeto 2 é criado com op1b, op2b e op3b. Entidades individuais A sintaxe de entidades individuais é usada por arquivos de configuração no qual objetos são declarados com muitas opções e onde estas opções raramente são compartilhadas com outros objetos. Neste formão uma seção é associada com cada objeto. Existe normalmente uma seção [general] para as configurações globais. Exemplo: [general] globalop1=valorglobal1 globalop2=valorglobal2 [objeto1] op1=valor1 op2=valor2 [objeto2] op1=valor3 op2=valor4 Neste exemplo, a seção geral define duas variáveis globais. Em seguida dois objetos são criados [objeto1] e [objeto2]. Formato de objeto com herança de opções Meios de Comunicação de Dados [Redes de Computadores] 195 Este formato é usado pelo phone.conf, mgcp.conf e zapata.conf e outras interfaces onde há muitas opções. Entretanto, a maioria das interfaces e objetos compartilha o mesmo valor para opções com outros. Nesta classe de arquivo de configuração, tipicamente existem uma ou mais seções que contém declarações de um ou mais canais ou objetos. As opções para o objeto são especificadas acima da declaração do objeto e podem ser mudadas para a declaração de outro objeto. É um conceito difícil de entender, mas muito fácil de usar. Considere o exemplo abaixo: [ sessao] op1 = bas op2 = adv objeto= >1 op1 = int objeto => 2 As primeiras duas configuram o valor da opção op1 e op2 para “bas” e “adv” respectivamente. Quando o objeto 1 é instanciado, ele é criado com sua opção 1 sendo “bas” e sua opção 2 sendo “adv”. Após declara o objeto 1, mudamos o valor da opção 1 para “int”. E então criamos o objeto 2, agora o objeto 2 é criado com sua opção 1 sendo “int” e sua opção 2 permanecendo “adv”. Objeto entidade complexa O formato objeto entidade complexa é usado pelo iax.conf e sip.conf e outras interfaces nas quais existem numerosas entidades com muitas opções Meios de Comunicação de Dados [Redes de Computadores] 196 e que tipicamente configurações comuns. não compartilham um grande volume de Cada entidade recebe seu próprio contexto (As vezes existe um contexto reservado tal como [general] para as configurações globais. As opções então são especificadas na declaração de contexto. Considere: [ entidad e1] op1=va lor1 op2=va lor2 [entidad e2] op1=va lor3 op2=va lor4 A entidade [entidade1] tem valores valor1 e valor2 para opções op1 e op2 respectivamente. A entidade [entidade2] tem valores valor3 e calor4 para as opções op1 e op2. Configurando uma interface com a rede pública ou com um PABX Meios de Comunicação de Dados [Redes de Computadores] 197 Para se interligar com a rede pública de telefonia é necessária uma interface do tipo FXO (Foreign Exchange Office) e uma linha telefônica comum. Um ramal de uma central telefônica analógica existente pode ser usado também. Você pode obter uma placa FXO comprando uma placa Digium TDM400P. Em termos gerais, uma placa FXO é usada para ligar na rede pública ou à um PABX, esta placa recebe tom. Uma placa FXS em contrapartida pode ser usada para ligar um aparelho telefônico comum, uma linha FXS dá tom. Diferença entre interface FXS e FXO Outra forma é conseguir uma placa FXO clone de uma X100P. Algumas placas de modem com chipset Motorola e Intel podem ser usadas. Elas são difíceis de serem encontradas, pois já não são mais fabricadas. Em sites de leilão, lojas na Internet e nos fóruns, você pode acabar encontrando. Estas placas possuem preços bem mais baixos que as placas da Digium. Os chipsets que são conhecidos por funcionar são: Motorola 68202-51 Intel 537PU Intel 537 PG Intel Ambient MD3200 Meios de Comunicação de Dados [Redes de Computadores] 198 Não há nenhuma garantia de que estas placas funcionem com o seu PC e que mesmo funcionando não apresentem problemas com ECO devido a diferenças de impedância. Use as por sua própria conta e risco, se você não quiser correr riscos as placas da Digium são uma excelente opção. Instalando a placa X100P clone Antes de instalar uma placa X100P no seu microcomputador, é recomendável que você desabilite todas as interrupções e hardware que não está sendo usado no seu asterisk no momento como portas seriais, paralelas, interrupção para vídeo etc... Para instalar a sua placa X100P você deve encaixá-la em um slot PCI e configurar dois arquivos de configuração: • “zaptel.conf “ no diretório /etc que é o arquivo de configuração da placa zaptel. • “zapata.conf” no arquivo diretório /etc/asterisk que é o de configuração dos canais zapata do Asterisk. Não se preocupe neste momento em entender todos os detalhes dos arquivos de configuração, teremos um capítulo inteiro sobre canais zapata. Neste momento queremos apenas integrar o Asterisk na rede pública usando uma placa FXO. zaptel.conf fxsk s=1 defaultzone =us Meios de Comunicação de Dados [Redes de Computadores] 199 loadzone= us zapata.conf signalling=fxs_k s echocancel=yes echocancelwhenbridged =yes echotraining=400 callerid=no gro up=1 context=def ault channel => Após configurar os arquivos carregue os drivers zaptel. modpr obe zaptel ztcfg – vvvvvv modprobe wcfxo Meios de Comunicação de Dados [Redes de Computadores] 200 asterisk - vvvvvgc Configuração dos telefones IP SIP Neste capítulo ainda vamos dar uma visão geral de como configurar os telefones SIP. O objetivo neste momento é que você possa configurar um PABX simples. Mais a frente você vai ter uma sessão inteira dedicada ao SIP e poderemos ver em detalhes a configuração. O SIP é configurado no arquivo /etc/asterisk/sip.conf e contém parâmetros relacionados à configuração dos telefones e operadoras SIP. Os clientes devem estar configurados antes que possam fazer e receber chamadas. O arquivo SIP é lido de cima para baixo. A primeira seção contém as opções globais [general]. Estas opções são: o endereço IP e número de porta ao qual o servidor está ligado. As seções seguintes definem os parâmetros de clientes tais como o nome do usuário, senha, e endereço IP default para clientes não registrados. A primeira seção é a [general] e as seções seguintes são o nome do cliente entre chaves ([]‟s) seguida das respectivas opções. Configurações globais (Seção [general]) allow: Permite que um determinado codec seja usado. Meios de Comunicação de Dados [Redes de Computadores] 201 bindaddr: Endereço IP onde o Asterisk irá esperar pelas conexões SIP. O comportamento padrão é esperar em todas as interfaces e endereços secundários. context: Configura o contexto padrão onde todos os clientes serão colocados, a menos que seja sobrescrito na definição da entidade. disallow: Proíbe um determinado codec. port: Porta que o Asterisk deve esperar por conexões de entrada SIP. O padrão é 5060. tos: Configura o campo TOS (tipo de serviço) usado para o SIP e RTP. Os valores aceitáveis são lowdelay, throughput, reliability e mincost. Um inteiro de 0-255 deve ser especificado. maxexpirey: Tempo máximo para registro em segundos. defaultexpirey: Tempo padrão para registro em segundos. register: Registra o Asterisk com outro host. O formato é um endereço SIP opcionalmente seguido por uma barra normal (/) e a extensão. Arquivo exemplo do sip.conf seção geral [general] [general] port = 5060 bindaddr = 10.1.30.45 context = default Meios de Comunicação de Dados [Redes de Computadores] 202 disallow = speex disallow = ilbc allow = ulaw maxexpirey = 120 defaultexpirey = 80 register => [email protected]/775657 Opções para cada telefone Após a seção geral, seguem as definições das entidades padrão SIP. É bom lembrar que nesta seção vamos apenas dar uma introdução ao arquivo sip.conf. Teremos uma seção específica para detalhar os outros parâmetros. As entradas são divididas em três categorias: peer: Entidade que o Asterisk envia chamadas (Provedor). user: Entidade que faz chamadas através do Asterisk. friend: Os dois ao mesmo tempo , o que faz sentido para os telefones 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, é a opção mais comum. Meios de Comunicação de Dados [Redes de Computadores] 203 username: Esta opção configura o nome do usuário que o Asterisk tenta conectar quando uma chamada é recebida. Usado por alguma razão o valor não é o mesmo do nome do usuário do cliente registrado. secret: Um segredo compartilhado usado para autenticar os peers e users fazendo uma chamada. Exemplo completo do SIP [general] port=5060 bindaddr=10.1.3 0.45 context=default register => [email protected] [cisc o] type=friend secret=myse cret host=10.1.3 0.50 canreinvite= no mailbox=85 80 Meios de Comunicação de Dados [Redes de Computadores] 204 context=trus ted [xlite] type=friend secret=xlite host=dynamic defaultip=10.1.3 0.17 mailbox=8590 Introdução ao plano de discagem O plano de discagem é o coração do Asterisk, na medida, que ele define como o Asterisk irá gerenciar as chamadas. Ele consiste de uma lista de instruções ou passos que o Asterisk deveria seguir. Essas instruções são disparadas a partir dos dígitos recebidos de um canal ou aplicação. É fundamental para configurar o Asterisk, que se entenda o plano de discagem. A maior parte do plano de discagem está contida no extensions.conf no diretório /etc/asterisk. O arquivo pode ser separado em quatro partes: Aplicações Contextos Extensões Prioridades Se você instalou os arquivos de exemplo, já existe o extensions.conf. No nosso caso será mais interessante começar do zero. Isto vai ajudar o Meios de Comunicação de Dados [Redes de Computadores] 205 aprendizado e poderemos abordar passo a passo cada parte do arquivo do plano de discagem. Contextos Os contextos têm um papel importante no Asterisk na organização e segurança do plano de discagem. Os contextos também definem o escopo e permitem separar diferentes partes do plano de discagem. Um ponto que chama atenção é que os contextos 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. Exemplificando, vamos supor que você tenha duas classes de ramais, aqueles que podem fazer ligações de longa distância e aqueles que não. Você pode criar dois contextos, [gerente] e [funcionário]. Dentro do contexto [gerentes] quando o dígito “0” é discado, ouve-se o tom de discagem da rede pública. Dentro do contexto [funcionário] quando o dígito “0” é discado é recebida, por exemplo, uma gravação “ligação não autorizada”. Por outro lado, uma ligação é recebida dentro do contexto do canal. Com isto diferentes canais podem ser recebidos em diferentes telefones dependendo do contexto selecionado. Isto pode ser útil para ter uma recepção diferente para cada companhia compartilhando um mesmo servidor Asterisk. Contextos também são usados para criar menus de voz que dão ao usuário uma lista de extensões para escolher pressionando as teclas de um telefone multifreqüencial. Esta funcionalidade é normalmente conhecida como auto- atendente. Auto-atendimento será visto em capítulos posteriores. Meios de Comunicação de Dados [Redes de Computadores] 206 Os contextos recebem o seu nome dentro de chaves ([]s). Por exemplo, se nós fossemos criar um contexto para a entrada de chamadas, poderíamos definir como: [entrada] Todas as instruções colocadas após a definição são partes do contexto. Para iniciar um novo contexto, simplesmente digite o novo contexto [novocontexto]. No início do arquivo extensions.conf existe um contexto chamado [globals]. O contexto globals é onde as variáveis são definidas e podem ser usadas por todo o plano de discagem. Extensões Dentro de cada contexto serão definidas diversas extensões. No Asterisk, uma extensão é uma string que vai disparar um evento. Veja o exemplo: exten=>8580,1,Dial(SI P/8580,20) exten=>8580,2,voicemail(u85 80) exten=>8580,101,voicemail(b 8580) A instrução “exten=> “ descreve qual o próximo passo para a ligação. O “8580” é o conjunto de dígitos que foi recebido (número discado). O “1”, “2”e “101” são as prioridades que determinam a ordem de execução dos Meios de Comunicação de Dados [Redes de Computadores] 207 comandos. Neste exemplo, discando “8580” irá tocar o telefone IP registrado como “8580”, se não atender em 20 segundos será desviado para a prioridade 2 na caixa de correio de voz com a mensagem “não atende”. Se estiver ocupado é desviado para a prioridade 101, vai para o correio de voz com a mensagem, “ocupado”. Extensões determinam o fluxo das chamadas. Embora as extensões possam ser usadas para especificar as extensões, elas podem ser usadas para mais do que isto no Asterisk. Uma extensão pode ser criada com a sintaxe definida abaixo: exten=> número (nome), prioridade, aplicação O comando “exten=>” é seguido por um número da extensão, uma vírgula, a prioridade, outra vírgula e finalmente a aplicação. Prioridades Prioridades são passos numerados na execução de cada extensão. Cada prioridade chama uma aplicação especifica. Normalmente estes números de prioridade começam com 1 e aumentam de um a um em cada extensão. Os números de prioridade como você viu acima nem sempre são consecutivos. As prioridades são rodadas na ordem numérica. Aplicações Meios de Comunicação de Dados [Redes de Computadores] 208 As aplicações são partes fundamentais do Asterisk, elas tratam o canal de voz, tocando sons, aceitando dígitos ou desligando uma chamada. As aplicações são chamadas com opções que afetam a sua forma de funcionamento. Você pode usar show applications na interface de linha de comando do Asterisk. Na medida em que você construir seu primeiro plano de discagem você vai aprender a usar as aplicações de forma apropriada. Criando um ambiente de testes Laboratório de voz sobre IP Meios de Comunicação de Dados [Redes de Computadores] 209 Para fazer o laboratório descrito abaixo você vai precisar de dois PCs, Pentium 300Mhz ou maior com 256 MB RAM pelo menos. Se você tiver um único PC pode usar o vmware (não é freeware) e você precisa de pelo menos 512 MB RAM. Vamos usar o softfone gratuito da XTEN o xlite. Você pode baixá-lo de www.xten.com. Passo 1: Desabilitar o Firewall do SuSe De uma forma geral, quando você instala o SuSe 9.2, o serviço de firewall é automaticamente habilitado. Para que os protocolos de voz sobre IP possam operar, é preciso que o Firewall esteja desabilitado ou configurado para tal. Como o objetivo deste material não é abordar como configurar um Firewall, vamos simplesmente desabilitar o Firewall. Se você quiser configurar o Firewall, entretanto, as portas são (TCP e UDP 5060 e Faixa UDP 10000-20000). Entre no YaST, escolha “security services”, “firewall” e pressione [enter]. Meios de Comunicação de Dados [Redes de Computadores] 210 Escolha a opção “Stop Firewall e Remove from Boot Process. Passo 2: Edite o arquivo sip.conf e adicione a configuração de um ramal. [general] port=5060 bindaddr=10.1.30.45 ; Coloque aqui o endereço IP do seu servidor context=default allow=all Meios de Comunicação de Dados [Redes de Computadores] 211 [80 00] type=frien d secret=800 0 host=dyna mic canreinvite =no Passo 3: Configure o xlite de forma à acessar o Asterisk. a) Execute o programa de instalação b) Pressione “next” na primeira tela c) Aceite o contrato de licença d) Aceite as próximas telas na situação padrão até terminar a instalação. Em outras palavras NEXT->NEXT->FINISH. e) Entre no menu no X-LITE pressionando o ícone mostrado abaixo: f) Na tela seguinte escolha “system settings”. g) Na próxima escolha SIP PROXY. h) Escolha Default Meios de Comunicação de Dados [Redes de Computadores] 212 i) Preencha os seguintes campos: Display Name: 8000 Username: 8000 Authorization User: 8000 Password: 8000 Domain/Realm: Endereço IP do servidor SIP Proxy: Endereço IP do servidor j) Feche o XLITE e abra de novo. k) Confirme que o telefone foi registrado no Asterisk com o comando sip show peers. Criando um plano de discagem simples Agora estamos prontos para criar o extensions.conf da forma mais simples possível. Neste exemplo tudo que o Asterisk irá fazer é responder à uma chamada, tocar um som que diz “adeus” e desligar. A extensão especial ”s” Vamos começar vendo a extensão especial „s‟ que significa inicio (start). De uma forma geral a chamada inicia no contexto ao qual o canal Meios de Comunicação de Dados [Redes de Computadores] 213 pertence. A extensão „s‟ é imediatamente executada ao entrar em um canal. No nosso exemplo vamos criar um plano de discagem com a extensão „s‟ As aplicações Answer(), Hangup() e Playback() Se vamos responder a uma chamada, é melhor conhecermos as aplicações que vão fazer isto. A aplicação answer() é usada para responder à um canal que está tocando. Ela faz a configuração inicial da chamada e pode fazer outras funções. Poucas aplicações não requerem que necessariamente se responda (Answer()) o canal antes de fazer qualquer outra coisa. A aplicação playback() é usada para tocar um arquivo de som previamente gravado sobre um canal. Quando a aplicação Playback() está sendo executada, qualquer dígito pressionado pelo usuário é simplesmente ignorado. O Asterisk vem com muitos sons pré-gravados que normalmente são encontrados em /var/lib/asterisk/sounds. Quando da publicação deste material, os sons em português já www.asteriskbrasil.org. devem estar disponibilizados em O formato é Playback(nomedoarquivo), ele toca o arquivo com a extensão .gsm no diretório de sons padrão. A aplicação hangup() faz exatamente o que seu nome diz. Ela desliga um canal ativo. Você deveria usá-la no fim do contexto uma vez que você queira desligar quem não precisa estar conectado no sistema. Meu primeiro plano de discagem Agora, nós estamos prontos para nosso primeiro exemplo de plano de discagem. Por favor, prestem atenção à maneira que cada prioridade chama uma aplicação. Note que neste exemplo temos apenas uma extensão criada Meios de Comunicação de Dados [Redes de Computadores] 214 com SIP. Estes exemplos assumem que você tem uma placa FXO. Vamos mostrar os exemplos e explicar passo à passo. [entrada] exten=>s,1,answer() exten=>s,2,playback(goo dbye) exten=>s,3,hangup() Uma chamada que entre pela FXO é enviada dentro do contexto [entrada] (Este contexto [entrada] deve estar configurado no arquivo zapata.conf para o canal FXO) e é enviada para a extensão „s‟. Nós temos três prioridades no contexto, 1, 2 e 3. Cada prioridade chama um aplicativo. Vamos olhar de perto as prioridades: A prioridade 1 chama a aplicação answer(), o Asterisk toma conta da linha e configura a chamada. Após responder a linha, o asterisk vai para a próxima prioridade. Prioridade 2, o Asterisk chama a aplicação playback() para tocar o arquivo de som goodbye.gsm (por enquanto vamos usar as mensagens em inglês), esta mensagem dará uma mensagem de adeus ao usuário. Por fim a prioridade 3 irá desconectar o usuário. Um exemplo mais útil Agora que já começamos simples, vamos incrementar aprendendo um pouco dos aplicativos background() e goto(). Estas duas aplicações irão permitir nos criar planos de discagem, com muito mais funcionalidade. Meios de Comunicação de Dados [Redes de Computadores] 215 A chave para sistemas interativos baseados no Asterisk está na aplicação Background(). Ela permite que você grave um arquivo de som, mas quando o originador pressiona uma tecla isso interrompe a gravação e manda para a extensão correspondente aos dígitos discados. Outra aplicação muito útil é o goto(). Como seu nome implica, ele pula de um contexto atual, extensão e prioridade para um contexto específico e prioridade. A aplicação goto() torna fácil a movimentação entre diferentes partes do plano de discagem. O formato do comando goto() precisa do contexto de destino e prioridade como argumentos. exten=>extensão, prioridade,Goto(contexto,extensão, prioridade) Formatos válidos do comando Goto() são : Goto(contexto,extensã o,prioridade) Goto(extensão,prioridade) Goto(prioridade) Neste exemplo, vamos assumir que somos uma empresa de suporte, treinamento e vendas. Vamos criar um sistema interativo que permita ao usuário selecionar para que área da empresa ele queira ser redirecionado. Em primeiro lugar vamos usar o comando Background() para tocar a mensagem “disque 1 para suporte, 2 para treinamento e 3 para vendas”, neste momento inválidos. ainda não vamos explorar o tratamento de dígitos Em cada contexto vamos tocar uma gravação como “você foi redirecionado para o suporte (treinamento ou vendas)”. [entrada] exten=>s,1,Answer() exten=>s,2,Background(saud ação) exten=>s,3,hangup() Meios de Comunicação de Dados [Redes de Computadores] 216 exten=>1,1,playback(suporte ) exten=>1,2,goto(suporte,s,1) exten=>2,1,playback(treinam ento) exten=>2,2,goto(treinamento ,s,1) exten=>3,1,playback(vendas, ) exten=>3,2,goto(vendas,s,1) Vamos seguir este exemplo passo à passa. Quando alguém liga na interface FXO (Configurada para o contexto [entrada]), a ligação é passada para a extensão „s‟ dentro do contexto [entrada]. A extensão „s‟ atende a ligação e usando o comando Background() toca uma saudação e aguarda pela discagem de um dígito. Após discar o dígito „1‟ por exemplo, o sistema vai para a extensão „1‟ na prioridade „1‟ e toca uma mensagem no arquivo suporte.gsm (Algo como, “você ligou para o suporte técnico” atenderemos em alguns minutos). Em seguida temos o comando goto() que manda a ligação para o contexto (suporte) onde ela será tratada por uma fila de atendimento. Interligando canais com a aplicação Dial() Nós vamos adicionar ao nosso exemplo a aplicação Dial(). Ao invés de mandar a ligação para outro contexto, vamos atendê-la em um ramal específico. [entrada] exten=>s,1,Answer() Meios de Comunicação de Dados [Redes de Computadores] 217 exten=>s,2,Background(saud ação) exten=>s,3,hangup() exten=>1,1,playback( suporte) exten=>1,2,Dial(SIP/8000) exten=>2,1,playback(treinam ento) exten=>2,2,Dial(ZAP/1) exten=>3,1,playback(vendas ) exten=>3,2,Dial(IAX/8002) Ao comparar com o exemplo anterior, apenas criamos um atalho. Ao invés de enviar para um outro contexto para o tratamento da chamada, enviamos diretamente à um canal SIP no ramal 8000 ou à um canal Zaptel (FXS - Analógico) ou ainda à um canal IAX no ramal 8002. Neste ponto você já deve estar entendendo o uso de várias aplicações como o Answer(), Background(), Goto(), Hangup() e Playback() e o básico do comando Dial(). Isto é fundamental para o aprendizado daqui para frente. Se ainda não está claro volte e leia de novo, é fundamental que fique entendido o processo antes que se passe a frente. Com um entendimento básico das extensões, prioridades e aplicações é simples criar um plano de numeração básico. Nos próximos capítulos vamos fazer um plano de discagem ainda mais poderoso. Lab. Implantando uma aplicação simples Nestes exercícios não vamos usar o extensions.conf de exemplo, vamos copiar o extensions.conf para extensions.conf.bak e criar um arquivo extensions.conf novo. Para renomear o arquivo extensions.conf atual use: Meios de Comunicação de Dados [Redes de Computadores] 218 mv extensions.conf extensions.conf.bak Edite o arquivo extensions.conf e adicione as seguintes linhas: [default] exten=>9000,1,Answer() exten=>9000,2,Playback(demothanks) exten=>9000,3,hangup A partir do softfone disque 9000. Sofisticando um pouco mais. Vamos fazer algumas gravações para o exercício seguinte. Para fazer estas gravações vamos usar o aplicativo Record(), as gravações serão armazenadas no diretório /var/lib/asterisk/sounds. Adicione as seguintes linhas no arquivo extensions.conf. [default] exten=>9000,1,Answer() exten=>9000,2,Playback(demothanks) exten=>9000,3,hangup ; Use a extensão 9001 para gravar: ; “Você ligou para a XYZ, disque 1 para suporte, 2 para treinamento, 3 para vendas”. exten=>9001,1,Wait(2 ) exten=>9001,2,Record(menu :gsm) exten=>9001,3,Wait(2) Meios de Comunicação de Dados [Redes de Computadores] 219 exten=>9001,4,Playback(me nu) exten=>9001,5,Wait(2) exten=>9001,6,Hangup ; Use a extensão 9002 para gravar “Você ligou para o suporte” exten=>9002,1,Wait(2) exten=>9002,2,Record(suporte :gsm) exten=>9002,3,Wait(2) exten=>9002,4,Playback(supor te) exten=>9002,5,Wait(2) exten=>9002,6,Hangup ; Use a extensão 9003 para gravar “Você ligou para o treinamento” exten=>9003,1,Wait(2) exten=>9003,2,Record(treinamento:gsm) exten=>9003,3,Wait(2) exten=>9003,4,Playback(t reinamento) exten=>9003,5,Wait(2) exten=>9003,6,Hangup ; Use a extensão 9004 para gravar “Você ligou para vendas” exten=>9004,1,Wait(2) exten=>9004,2,Record(vendas:gsm) exten=>9004,3,Wait(2) exten=>9004,4,Playb ack(vendas) exten=>9004,5,Wait(2) exten=>9004,6,Hangup Meios de Comunicação de Dados [Redes de Computadores] 220 Nota: Ao final da gravação use a tecla # para finalizar a gravação. Exemplo de uma URA simples Vamos agora Background() criar uma URA simples usando os comandos e Goto(). Neste exemplo, você vai discar 8000 para ser direcionado para o menu da URA. [default] exten=>8000,1,Goto(entrada,s,1) [entrada] exten=>s,1,Answer() exten=>s,2,Background( menu) exten=>s,3,Wait(2) exten=>s,4,Goto(s,2) exten=>1,1,playback( suporte) exten=>1,2,hangup() exten=>2,1,playback(treinam ento) exten=>2,2,hangup() exten=>3,1,playback(vendas, ) exten=>3,2,hangup() Meios de Comunicação de Dados [Redes de Computadores] 221 Saindo para a rede pública Se você tem uma placa X100P instalada você pode testar a saída para a rede pública usando “0”. [ defa ult] exten=>0,1,Dial( ZAP/1,20,r) Exercícios 1. São exemplos de arquivos de configuração de canais Asterisk. zaptel.conf zapata.conf sip.conf iax.conf 2. É importante definir o contexto no arquivo de canais, pois quando uma ligação deste canal (sip, iax, zap) chegar ao Asterisk ele será tratado no arquivo extensions.conf neste contexto. Correto Meios de Comunicação de Dados [Redes de Computadores] 222 Incorreto 3. O parâmetro switchtype no arquivo zapata.conf define o tipo de PABX ao qual o Asterisk está ligado. Isto é válido para conexões no padrão E1 com sinalização ISDN PRI. Normalmente no Brasil e na Europa este padrão deve ser definido como National. Correto Incorreto 4. Apesar de ser considerado uma linha digital, o E1 pode ser configurado com sinalização associada ao canal (CAS) neste caso cada timeslot pode se comportar como um canal analógico FXS ou FXO, por exemplo. Isto é útil para a conexão à channel-banks (bancos de canal). Correto Incorreto 5. SIP Session Initiated Protocol é o protocolo da ITU usado para conexões de voz sobre IP. Ele é bastante antigo e vem sendo substituído recentemente pelo H.323. Correto Incorreto 6. Dado a configuração [general] abaixo do arquivo sip.conf, na seção está definido o endereço IP 10.1.30.45, onde o SIP estará esperando por conexões. Se fosse necessário que todas as placas de rede da máquina esperassem por uma conexão SIP, bindaddr deveria estar configurado para:____.____.____.____ [general] port = 5060 bindaddr = 10.1.30.45 Meios de Comunicação de Dados [Redes de Computadores] 223 context = default disallow = speex disallow = ilbc allow = ulaw maxexpirey = 120 defaultexpirey = 80 7. No arquivo abaixo, os telefones 8000 e 8001 foram definidos com a opção canreinvite=no. Com isto, quando uma ligação é feita de um telefone para o outro, o Áudio vai diretamente de um telefone para outro sem passar pelo Asterisk. [80 00] type=frien d secret=800 0 host=dyna mic canreinvite =no [80 01] type=frien d Meios de Comunicação de Dados [Redes de Computadores] 224 secret=800 0 host=dyna mic canreinvite =no Correto Incorreto 8. A principal diferença entre o comando Playback() e o comando Background() é que o Playback() simplesmente toca uma mensagem e passa ao comando seguinte, enquanto o Background aguarda que você digite algo e desvia para algum lugar no plano de discagem baseado nos dígitos discados. Correto Incorreto 9. Quando uma ligação entra no Asterisk por uma interface de telefonia (FXO) sem identificação de chamada, esta ligação é desviada para a extensão especial: „0‟ „9‟ „s‟ „i‟ Meios de Comunicação de Dados [Redes de Computadores] 225 10. Os formatos válidos para o comando Goto() são: Goto(contexto,extensão,prioridade) Goto(prioridade, contexto, extensão) Goto(extensão,prioridade) Goto(prioridade) Canais Analógicos e Digitais Nesta seção vamos mostrar como definir os canais de integração de com a rede de telefonia (POTS – Plain Old Telephony System). Também faremos uma revisão sobre conceitos de telefonia e aprenderemos a configurar o arquivo zapata.conf para diversos cenários. Sinalização de supervisão Podemos destacar os sinais on-hook (no gancho), off-hook (fora do gancho) e ringing (tocando). On-Hook - Quando o usuário larga o telefone no gancho, o PABX interrompe e não permite que a corrente seja transmitida. Neste caso o circuito é dito em estado “on-hook”. Quando o telefone está nesta posição apenas o “ringer” (campainha) está ativo. Off-Hook – O usuário que desejar fazer uma chamada telefônica deve passar para o estado “off-hook” (fora do gancho), retirando o telefone do gancho. Este estado fecha o loop elétrico, o qual indica ao PABX que o usuário deseja fazer uma chamada telefônica. O PABX então, após receber essa indicação, gera o tom de discagem, indicando ao usuário que está pronto para receber o endereço de destino (número do telefone). Meios de Comunicação de Dados [Redes de Computadores] 226 Ringing – O usuário ao realizar uma ligação, envia uma voltagem ao “ringer” (campainha) que avisa ao outro usuário a recepção de uma chamada. A companhia telefônica também manda um tom de volta avisando a quem discou o progresso da chamada. Existem diferenças na sinalização de tom de discagem, tom de ocupado, tom de campainha (ringing). Você pode personalizar os tons do Asterisk para o padrão brasileiro alterando o arquivo indications.conf. Existem diferenças na sinalização de tom de discagem, tom de ocupado, tom de campainha (ringing). Você pode personalizar os tons do Asterisk para o padrão brasileiro alterando o arquivo indications.conf. [br] description=Brazil ringcadance=1000, 4000 dial=425 busy=425/250,0/25 0 ring=425/1000,0/4 000 congestion=425/250,0/250,425/750,0/250 callwaiting=425/50,0/1000 Sinalização de endereçamento Podemos usar dois tipos de sinalização para a discagem, o multifrequencial (dtmf) ou o pulso (usado nos antigos telefones de disco). Os usuários que tem um teclado para discagem têm associado à cada botão um conjunto de frequências alta e baixa. A combinação destes dois tons indica Meios de Comunicação de Dados [Redes de Computadores] 227 para a central qual o digito. Isto é conhecido como dtmf (dual tone multifrequency). Sinalização de informação A sinalização de informação mostra o progresso da chamada e os diferentes eventos. Este eventos, podem ser: Tom de discagem Sinal de ocupado Tom de retorno (ringback) Congestionamento (congestion) Número inválido Tom de confirmação Interfaces FXS, FXO e E+M. Interfaces FX (Foreign eXchange) São interfaces analógicas. O termo “Foreign eXchange” é aplicado para “TRUNKs” com acesso a um distante “CO” (Central Office). FXO (Foreign eXchange Office) Meios de Comunicação de Dados [Redes de Computadores] 228 Basicamente utilizadas para a comunicação com “CO” ou PABX. Uma porta FXO em um roteador se comunica diretamente com a PSTN ou PABX, esta comunicação requer “dialtone”, indicação de “ringing” e prover indicadores de chamadas em progresso. Interfaces FXO conectam o PABX a outro comutador (PABX, Rede Pública, gateway de voz sobre IP). É muito comum ligar uma interface FXO de uma central telefônica (ramal) à um gateway VoIP e transportar a voz empacotada para outro gateway onde uma interface FXS conecta um telefone. Esta operação é conhecida como OPX (Off-Promises Extension) ou ramal remoto. FXS (Foreign eXchange Station) São as conhecidas linhas residenciais padrão. Podem ser utilizadas para conectar Deve dispositivos básicos: telefones, modems e faxes. prover voltagem, gerar “ringing”, detecção de “off-hook” e indicar chamadas em progresso. Interfaces E & M São também interfaces analógicas. O termo “E & M” vem de “Ear (receive) and Mouth (transmit)”. Usadas principalmente nas ligações entre PABXs ou entre Net-Net Switches. Meios de Comunicação de Dados [Redes de Computadores] 229 Placas E&M para o Asterisk não estão disponíveis. Estas placas são conhecidas no mercado de telefonia como “tie-lines” analógicas. A maioria das centrais não vem com este tipo de interface, muito embora as centrais de marcas conhecidas possuam E&M como um opcional. As placas E&M permitem uma comunicação bi-direcional, podem dar ou receber tom. Se você precisar usar uma interface E&M com o Asterisk a melhor opção é a integração de um gateway de voz. A Cisco possui interfaces E&M para a maioria dos seus roteadores de voz e podem ser integradas ao Asterisk. Sinalização nos troncos Loop-Start Ground-Start E&M Wink Start E&M Immediate Start E&M Delay Start É quase um padrão no Asterisk o uso da sinalização “koolstart”. Koolstart não é um padrão de supervisão conhecido na indústria, o que o “koolstart” faz é que ele adiciona inteligência dando aos circuitos a habilidade de monitorar o que o outro lado está fazendo. Como o “koolstart” incorpora o “loopstart” e o “groundstart”, é praticamente só o que se usa. Loopstart: é usada por praticamente todas as linhas analógicas digitais. Permite ao telephone indicaros estados de “on hook/offhook”, e ao “switch” indicar os estados de “ring/no ring”. É o que você tem em casa. Cada linha vem em um par separado de fios, podendo ser utilizada tanto para fazer quanto receber chamadas. Possui este nome pois é uma linha aberta e a maneira para se iniciar as chamadas é fechandose um “loop”, assim a central telefônica lhe fornece o “dial tone”. Da mesma maneira um chamada entrante é sinalizada por 100 V "ringing voltage" Meios de Comunicação de Dados [Redes de Computadores] 230 através do par aberto, e para responder à chamada, o “loop” deve ser fechado. Groundstart: bastante semelhante ao “Loopstart”. Quando você quer fazer uma ligação não fecha o “loop”, o que acontece é que um dos lados do cirtuito é colocado em curto, quando a Central identifica este estado, reverte a voltagem através do par aberto, somente então o “loop” é fechado. Desta forma, a linha primeiramente torna-se ocupada na Central antes de ser fornecida para a realização de uma chamada. Koolstart: adiciona inteligência à habilidade dos circuitos em monitorar o que o outro lado está fazendo. Desde que “koolstart” incorporou as vantagens “loopstart” e “groundstart” e sendo superior a ambos, você provavelmente irá utilizá-lo, a não ser que haja algum problema de compatibilidade. “Koolstart” tornou-se, informalmente, o padrão par auso com o Asterisk. Linhas digitais E1/T1, sinalização CAS e CCS. Quando o número de linhas telefônicas solicitadas por um cliente passa a ser muito grande, a companhia telefônica normalmente entrega um canal digital. No Brasil o mais comum é uma linha padrão E1 (2 Mbps) com sinalização CAS (Channel Associated Signaling). Normalmente são comercializados 10, 15 ou 30 canais (linhas telefônicas). Algumas companhias já entegram o canal E1 (2 Mbps) com CCS (Common Channel Signaling) no padrão ISDN PRI que é mais simples com o Asterisk. ISDN (Rede Digital Integrada de Serviços): é uma nova (desde Meios de Comunicação de Dados [Redes de Computadores] 231 1990) completamente digital forma de conexão. Um simples par de fios pode transportar duas linhas e mais um circuito de dados de 16kbps usado para sinalização. ISDN permite uma forma bastante elegante de manusear as ligações. Por exemplo, serviços como : caller-ID, chamada em espera, serviços de SMS, entre outros foram originalmente desenvolvidos para ISDN. MFC/R2 é uma sinalização definida pela ITU (Q.421/Q.441), usada principalmente na América Latina e Ásia. A sinalização usa CAS, muito embora passe as sinalizações da cada canal pelo canal 16. O R2 possui variações específicas para cada país. É a sinalização de linha digital mais comum no Brasil. Sinalização e enquadramento E1 Em um enquadramento E1, 30 dos 32 canais disponíveis são usados para voz, as informações de frame usam o primeiro DS0 e as informações de sinalização seguem pelo DS0 16. O formato de sinalização é conhecido como CAS pois os bits do canal 16 são exclusivamente reservados para o Meios de Comunicação de Dados [Redes de Computadores] 232 propósito de sinalizar cada canal. A implementação de CAS é considerada “fora-da-banda”pois ao contrario do T1 ela não rouba um bit do canal de voz para este fim e sim usa um canal separado fora da banda do canal de voz. Sinalização CAS, E1-R2-Brasil No Brasil o tipo mais comum de sinalização CAS é o R2 Digital Brasil. É possível implementar um canal R2 usando uma paca Digium E1 e o driver unicall que pode ser baixado de http://www.soft-switch.org/unicall/installingmfcr2.html. Este driver tem sido usado com sucesso no Brasil e na V.Office já fizemos algumas implementações com sucesso. Muito embora possa ser usado, sempre que possível use um canal ISDN, é mais simples, tem melhor desempenho e é parte integrante do Asterisk. Cabe lembrar que o driver para R2 é experimental e não tem suporte da Digium. A instalação, compilação e configuração do E1 MFC/R2 estão fora do escopo deste livro. Instruções detalhadas podem ser encontradas em www.soft- switch.org/unicall. Sinalização CCS, E1-ISDN-PRI. A sinalização ISDN está disponível para o Asterisk em diversas variações. Estas variações são configuradas no arquivo zapata.conf. A rede pública no Brasil quando fornece o ISDN normalmente usa switchtype como EuroISDN. Várias operadoras disponibilizam ISDN no Brasil dependendo da central telefônica instalada na cidade. Em centrais telefônicas digitais, é possível usar ISDN, muitos fabricantes exigem upgrade de hardware e software para isto. Configurando um canal de telefonia no Asterisk Meios de Comunicação de Dados [Redes de Computadores] 233 Para configurar uma placa de telefonia vários passos são necessários. A seguir vamos detalhar esses passos e mostrar alguns exemplos. 1. Preparação do hardware 2. Instalação da placa TDM 3. Configuração do arquivo zaptel.conf 4. Carga do driver da placa zaptel 5. Executar o utilitário ztcfg -vvvv 6. Testar as interrupções usando zttest 7. Configurar o arquivo zapata.conf a. FXS b. FXO c. ISDN na rede pública Preparação do hardware Antes de escolher um hardware para o Asterisk você deve considerar o número de ligações simultâneas e os serviços e codecs que serão instalados. O Asterisk é intensivo no uso do hardware, por isso recomendamos uma máquina exclusiva para o Asterisk. O número de placas que podem ser instalados no Asterisk é limitado pelo número de interrupções disponíveis. É melhor instalar uma placa com 4 E1s do que quatro placas de 1 E1. Conflitos de interrupção são comuns, e o uso do Kernel 2.6 do Linux com motherboards que suportam APIC ajuda bastante nestes casos. Evite hardware incompatível com as placas ZAPTEL. Dê uma olhada na lista da página da Digium. Uma lista pode ser encontrada no link abaixo. http://www.digium.com/index.php?menu=compatibility Meios de Comunicação de Dados [Redes de Computadores] 234 Instalação da placa Zaptel Existem diversos modelos de placas zaptel. Algumas exigem configuração do hardware. Você deve observer as seguintes placas: TE110P (E1/T1) É preciso configurar um Jumper para E1. Você pode conferir isto em: http://www.digium.com/index.php?menu=te110p_config TDM400P (4 FXO/FXS) É preciso alimentar as placas com uma fonte de energia (semelhante ao conector do had disk). http://www.digium.com/downloads/tdm_inst.pdf TE210P e TE410P Observar que estas placas exigem um slot PCI de 3.3 Volts. Nem todas as Motherboards possuem estes slots. As placas TE405P e TE205P usam slots PCI de 5 Volts. A referência a seguir tem um indicativo excelente de como são os slots necessários para cada tipo de placa. http://www.digium.com/index.php?menu=whatpcislot Meios de Comunicação de Dados [Redes de Computadores] 235 Configuração do arquivo zaptel.cfg Para cada placa é preciso configurar o arquivo zaptel.conf de acordo. Este arquivo se encontra no diretório /etc ao contrário de todos os outros que se encontram no diretório /etc/asterisk. Vamos separar a configuração do arquivo zaptel.conf em dois tipos, placas analógicas (FXS e FXO) e placas E1 (usando sinalização CAS). Placas FXS e FXO (TDM400P) Vamos supor que estamos configurando uma placa TDM400P com duas portas FXS e duas portas FXO. Na TDM400P os módulos FXS são verdes e os módulos FXO são vermelhos. fxsks=1-2 # Duas portas FXO, certifique-se que os módulos vermelhos estão mais próximos da chapa externa da placa, olhando do lado dos componentes eletrônicos. fxoks=3-4 # Duas portas FXS defaultzone=br loadzone=br Placa E1 (TE110P) Para configurar a placa E1 é um pouco diferente. Primeiro precisamos definir o span e depois os canais. Os spans são numerados a partir da seqüência de reconhecimento das placas no hardware. Em outras palavras não dá para saber se você tem mais de uma placa qual o span. Normalmente usamos um cabo com o sinal ISDN e colocamos em uma das Meios de Comunicação de Dados [Redes de Computadores] 236 placas, na console Asterisk, temos a mensagem “primary span X UP” . Em minha opinião esta é a forma mais simples de detectar em que span a placa está configurada. span=1,1,0,ccs,hdb3,crc4 # nem sempre crc4 é necessário, consulte a operadora bchan=1-15 bchan=17-31 dch an=16 defaultzon e=br loadzone= br Carregar os drivers de kernel Como você já viu no capítulo 2, você deve carregar o modulo zaptel e um módulo correspondente a placa que você está instalando. modprobe zaptel Tabela dos drivers da Digium Placa TE410 TE405 TDM4 T100P E100P X100P Driver wct4xx wct4xx wcfxs wct1xx wctlxx wcfxo Meios de Comunicação de Dados [Redes de Computadores] Descrição 4xE1/T1-3.3V 4xE1/T1-5V 4 FXS/FXO 1 T1 1 E1 1 FXO 237 Exemplo modprobe wcfxs Usando o utilitário ztcfg Após carregar o driver, você deve configurar os canais usando ztcfg. O comando ztcfg é usado para configurar a sinalização usada para a interface física FX. ztcfg irá usar a configuração de sinalização em zaptel.conf. Para ver a saída do comando você deve usar –vv para colocar o programa em modo verbose. # /sbi n/ztcfg -vv Zaptel Configuration ============= ========= Channel map: Channel 01: FXO Kewlstart FXO Kewlstart (Default) (Slaves: 01) Channel 02: (Default) (Slaves: 02) Channel 03: FXS Kewlstart (Default) (Slaves: 03) Channel 04: FXS Kewlstart (Default) (Slaves: 04) Meios de Comunicação de Dados [Redes de Computadores] 238 2 channels configured. Se os canais carregarem com sucesso, você vai ver uma saída similar à acima. Um erro comum é inverter a sinalização entre os canais. Se isto acontecer você vai ver algo parecido como: ZT_CHANCONFIG failed on channel 1: Invalid argument (22) Did you forget that FXS interfaces are configured with FXO signalling and that FXO interfaces use FXS signalling? Após os canais terem sido configurados com sucesso, você está pronto para iniciar o uso do seu hardware com o Asterisk. zttest Um utilitário importante é o zttest que pode ser usado para verificar conflitos de interrupção e interrupt misses. É muito comum problemas de qualidade de áudio por causa de conflitos e perdas de interrupção. Você pode usar o comando: #cat /proc/interrupts Para verificar em que interrupção está cada uma das placas. O zttest permite verificar a quantidade de interrupções perdidas. Um número abaixo de 99.98% indica possíveis problemas. Configuração do arquivo zapata.conf Meios de Comunicação de Dados [Redes de Computadores] 239 Após configurar o arquivo zaptel.conf, você tem o hardware configurado. Este hardware pode ser usado com Asterisk bem como outros softwares como Open SS7 e mesmo para roteamento PPP ou HDLC. Para usar o Asterisk com um hardware zaptel, você deve agora configurar o arquivo de canais zapata.conf. Ele vai criar os canais lógicos TDM que serão usados no seu plano de discagem. O arquivo zapata.conf consiste da várias instruções no formato de herança de opções, as opções se mantém até que sejam sobrescritas. Exemplo: Placas FXS e FXO (TDM400P) signalling=fxs_ks; sinalização para os dois módulos fxo próximos da chapinha. echocancel=yes ; habilita cancelamento de eco echocancelwhenbridged=yes; permite o cancelamento de eco entre canais TDM echotraining=400; permite ajustar o cancelamento de eco callerid=asreceived; permite o uso do callerID group=1; número do grupo de canais context=entrada ; contexto de entrada dos canais channel => 1-2; número dos canais signalling=fxo_ks; sinalização dos módulos fxs group=2; número do grupo de canais context=ramais; contexto channel=> 3-4 número dos canais dos canais Exemplo: Placa E1 (TE110P) Meios de Comunicação de Dados [Redes de Computadores] 240 echocancel=yes echocancelwhenbridged =yes echotraining=yes group=1 callgroup=1 pickupgroup=1 callerid=<48302585 80> amaflags=document ation accountcode=escrito rio musiconhold=defaul t signalling = pri_cpe group = 1 channel => 1-15 Opções de configuração do arquivo zapata.conf As seguintes palavras-chave estão disponíveis no zapata.conf context: Define o contexto para aquele canal: Este é o contexto para entrada de chamadas pelo canal. Exemplo: context=default channel: Define o canal ou faixa de canais. Cada definição de canal irá herdar todas as opções colocadas a frente no arquivo. Canais podem ser especificados individualmente, separado por vírgulas ou como uma faixa separada por um hífen. Meios de Comunicação de Dados [Redes de Computadores] 241 Channel=>1-15 Channel=>16 Channel=>17,18 group: Permite que um número de canais seja tratado como um para o propósito de discagem. Se você discar usando um grupo, o primeiro canal disponível será usado. Se forem telefones, ao ligar para o grupo todos receberão a campainha ao mesmo tempo. Com vírgulas você pode especificar que um canal pertence a mais de um grupo. grou p=1 group=3,5 switchtype: Configura o tipo de sinalização usado para a linha PRI. Os valores aceitáveis são: 5ess: 5ESS Lucent euroisdn: EuroISDN national: National ISDN dms100: Nortel DMS100 4ess: AT&T 4ESS switchtype = EuroISDN Dica: Todas as implantações que fiz no Brasil, principalmente usando roteadores Cisco caíram em EuroISDN e Qsig, no momento Meios de Comunicação de Dados [Redes de Computadores] 242 ainda não há suporte à QSIG no Asterisk. As conexões à rede pública pelo menos em Santa Catarina também são EuroISDN. ri_dialplan: Configura uma opção necessária para alguns switches (centrais e operadoras) que requerem que um plano de discagem seja passado. Esta opção é ignorada pela maioria dos equipamentos. Opções válidas são private, national e international pri_dialplan = national signaling: Configura o tipo de sinalização para os seguintes tipos de definição de canal. Estes parâmetros devem coincidir com os definidos no arquivo /etc/zaptel.conf. As escolhas corretas são baseadas no hardware disponível. O Asterisk não inicia se a definição estiver incorreta ou impossível da trabalhar. Se as instruções não batel com o arquivo zaptel.conf, ou se o dispositivo não está presente ou configura de forma apropriada. Vou separar em dois grupos, a sinalização RBS e Digital. RBS – Simula o sinal analógico na linha digital. Ideal para uso com bancos de canal. Algumas centrais suportam. Pessoalmente nunca tive muito sucesso com estas sinalizações na integração de roteadores, mas são fundamentais no uso de bancos de canal (channel banks). • fxo_gs: FXO groundstart • fxs_gs: FXS groundstart • fxo_ks: FXO com sinalização Kewlstart que nada mais é que Loopstart com supervisão de desconexão • fxs_ks: FXS com sinalização Kewlstart Meios de Comunicação de Dados [Redes de Computadores] 243 • fxo_ls: FXO loopstart • fxs_ls: FXS loopstart • em: • em_w: E&M pulsado • featd: Feature Group D, Compatível com Adtran. Para uso com E&M usado para conexão entre centrais ATLAS e equipamentos similares da Adtran (versão DTMF) • featdmf: Standard Feature Group D (versão MF). • featb: Feature Group B Normalmente quando eu projeto uma interligação entre roteadores (podemos extrapolar este conceito para o Asterisk) e centrais telefônicas com a rede pública eu procuro usar a sinalização PRI. Normalmente a integração é simples e rápida. Se você tiver disponível PRI, não escolha outra. Se você não tiver disponível, veja o que é preciso para conseguir, algumas centrais precisam de placas específicas e licenciamento de software. O Asterisk se comporta exatamente com o um roteador no momento de se integrar à rede pública ou a outras centrais telefônicas. pri_cpe: Use a sinalização PRI como CPE/Client/User/Slave. É usado para terminar uma linha PRI em canais do Asterisk. Esta é a sinalização mais simples. Se você pediu o circuito de uma rede pública, deve funcionar de imediato. Se você vai se conectar a uma oura central, cuidado, é comum que a central estejam configurados como CPE também, pois é o caso mais comum. Neste caso peça ao técnico responsável pela central para que ele configure a central telefônica à qual você vai se interligar como Máster (A nomenclatura muda de fabricante para fabricante, alguns se referem Meios de Comunicação de Dados [Redes de Computadores] 244 como Máster/Slave, outros como Host/User e outros como Network/Client, assegure-se de que você consiga falar a mesma língua do técnico da central). pri_net: Usa sinalização PRI como Rede/Master/Network Nota: A sinalização de telefonia analógica pose ser uma fonte de confusão. Canais FXS são sinalizados com sinalização FXO e canais FXO são sinalizados com FXS. O Asterisk fala com os dispositivos internos como se estivesse do lado oposto. Andamento da chamada Estes itens são usados para emular a sinalização existente em linhas digitais como um PRI, que traz informações sobre o progresso da chamada. Os canais analógicos em geral não passam estas informações. busydetect: Tenta detectar um sinal padrão em linhas analógicas FXO, FXS e E+M. (Em linhas digitais T1 e E1 usando CAS (Channel Associated Signaling) sinalizações analógicas como E+M, immediate start e wink start). callprogress: Ao habilitar call progress o Asterisk irá tentar monitorar o estado da chamada e detectar ocupado, campainha e linha ativa. Este recurso só funciona com tons de telefones americanos. callp rogress=n o busydetect= yes Meios de Comunicação de Dados [Redes de Computadores] 245 Opções para multilink PPP (Usado com PRI, requer que o outro lado suporte). Estas opções são usadas para ajustar as opções de multi-link PPP em linhas PRI que suportem isto. Esta tecnologia permite agrupar vários canais de um circuito E1 ou T1 com sinalização PRI em um canal de dados de forma dinâmica, compartilhando assim o canal entre voz e dados. Isto pode ser usado em um provedor de forma a dar acesso não só a canais de voz, mas permita que usuários com modems possam se conectar ao servidor, veja ZapRAS (Servidor de Acesso Remoto). Note que o Multilink PPP apenas faz o papel de permitir o agrupamento de linhas (Normalmente quando um usuário usa uma linha ISDN com acesso BRI ele agrupa dois canais de dados de 64Kbps para transmitir à 128Kbps, por isto é importante o papel do MultilinkPPP). minunused: O número mínimo de canais disponíveis. Se existirem menos canais disponíveis, o Asterisk não irá tentar alocar quaisquer canais à conexão de dados. Formato: Número Inteiro. minidle: O número mínimo de canais livres para agrupar um link de dados. O Asterisk irá manter este número de canais abertos para dados, ao invés de pegá-los de volta para voz. Formato: inteiro. idledial: O número à discar como o número livre. É tipicamente o telefone agrupador. do servidor de acesso remoto. Canais ociosos serão enviados para esta extensão. Formato: Inteiro que não conflite com nenhuma outra extensão no plano de numeração e tenhas sido definido como um idleext. Idleext: A extensão usada como extensão ociosa. Recebe um valor na forma de exten@context. De uma forma geral a extensão será uma extensão para rodar a aplicação ZapRAS. Meios de Comunicação de Dados [Redes de Computadores] 246 minunused => 3 minidle => 1 idleext => 5000@default idledial => 5000 Parâmetros de temporização Estes valores são usados apenas com linhas T1 (Não PRI). Como é muito incomum no Brasil este tipo de sinalização eu não vou perder o tempo do caro leitor com isto. Os parâmetros são: prewink, preflash,wink, rxwink, rxflash, flash, start, debounce, rxwink, prewink. Opções de identificador de chamadas (Caller ID). Existem várias opções de identificação de chamada. Algumas opções podem ser desligadas. A maior parte está habilitada por default. usecallerid: Habilita ou desabilita a transmissão do identificador de chamadas para os seguintes canais. (Sim/Não) hidecallerid: Configura se vai ocultar o CallerID. (Sim/Não) calleridcallwaiting: Configura se vai receber a identificação de chamadas durante uma indicação de espera de chamada. callerid: Configura a string de callerID para um dado canal. Esta chave recebe uma string formatada apropriadamente contendo o nome e o telefone a ser suprido como CallerID. O originador pode ser configurado como asreceived em interfaces de tronco para passar o CallerID recebido à frente. Meios de Comunicação de Dados [Redes de Computadores] 247 usecall erid => yes hidecallerid => no Importante: Apenas linhas como PRI podem transmitir a identificação de chamadas. As operadoras exigem que você configure seu CallerID de acordo com a numeração que você recebeu de 10 dígitos. Se você não passar o CallerID com a numeração correta sua chamada não é completada, muito embora você consiga receber chamadas. callerid = "Flavio Eduardo Goncalves" <48 3025-8500> Opções de recursos de chamada Estas opções habilitam ou desabilitam recursos avançados em linhas FXS. adsi: (Analog Display Services Interface). É um conjunto de padrões da indústria de telecom. Foi usado por algumas companhias telefônicas para oferecer serviços como compras de passagens. Pouco comum no Brasil, a opção habilita ou desabilita o suporte à ADSI. cancallforward: Habilita ou não o siga-me de chamadas. Siga-me é habilitado com *72 e desativado com *73. Meios de Comunicação de Dados [Redes de Computadores] 248 immediate: Quando o Asterisk está no modo immediate, ao invés de prover o tom de discagem, ele imediatamente pula para a extensão s. Este recurso pode ser usado para criar uma hotline. threewaycalling: Configura se vai ser permitido conferência à três daquele canal. transfer: Habilita ou desabilita a transferência usando a tecla flash. Para usar esta opção, threewaycalling deve estar configurado para yes. adsi = no cancallforward = yes immediate = no threewaycalling = yes transfer = yes Opções de qualidade de áudio Estas opções ajustam certos parâmetros do Asterisk que afetam a qualidade do áudio em canais zapata. echocancel: Desabilita ou habilita cancelamento de eco. É recomendável que permaneça ligado. Aceita „yes‟ (128 taps) , „no‟ ou o número de taps que podem ser 16, 32, 64, 128 ou 256. Cada tap é uma amostra de um fluxo de dados. Em um T1 isto é 1/8000 de um segundo. De acordo com o número de taps isto é igual à 2,4,6,8,16 ou 32 ms de comprimento. Explicação: Como o cancelamento de eco funciona? Meios de Comunicação de Dados [Redes de Computadores] 249 A maioria dos algoritmos de cancelamento de eco opera gerando múltiplas cópias do sinal recebido, cada uma atrasada por um pequeno espaço de tempo. Este pequeno fluxo é conhecido como tap. O número de taps determina o tamanho do atraso do eco que pode ser cancelado. Estas cópias atrasadas são então ajustadas e subtraídas do sinal original recebido. O truque é ajustar o sinal atrasado para exatamente o necessário de forma à remover o echo e nada mais. Os métodos usados em determinar o peso do tap ou fatores de escalonamento e o que distingue um do outro. echocancelwhenbridged: Habilita ou desabilita o cancelamento de eco durante uma chamada, puramente TDM.. Em princípio, as chamadas puramente TDM não deveriam requerer cancelamento de eco, mas frequentemente o desempenho do áudio é melhorado. Formato: yes/no. rxgain: Ajusta o ganho de recebimento. Isto pode ser usado para aumentar ou diminuir o volume de entrada e compensar diferenças de hardware. Formato: Percentual da capacidade -100% à 100%. txgain: Ajusta a transmissão. Isto pode ser usado para levantar ou diminuir o volume de saída para compensar diferenças de hardware. Recebe o mesmo argumento do rxgain. echocancel=yes echocancelwhenbridged =yes txgain=-10% rxgain=10% Opções de registro de chamadas Estas opções mudam a maneira em que as chamadas são gravadas no registro detalhado de chamadas (CDR – Call Detail Records). Meios de Comunicação de Dados [Redes de Computadores] 250 amaflags: Configura as AMA flags afetando a categorização das entradas no registro de chamadas. Aceita estes valores: • billing: Marca o registro para tarifar. • documentation: Marca o registro para documentar. • omit: Não registra os chamados. • default:Configura a default do sistema. accountcode: Configura o código da conta para as chamadas colocadas no canal. O código da conta pode ser qualquer string alfanumérica. accountcod e=financeiro amaflags=billing Outras opções Algumas opções que não se encaixam nas categorias prévias. language: Liga a internacionalização e configure a linguagem. Este recurso irá configurar as mensagens do sistema para uma dada linguagem. Embora o recurso esteja preparado, Inglês é a única linguagem que foi completamente gravada para a instalação padrão do Asterisk. mailbox: Este comando pode dar uma mensagem avisando o usuário de que há uma mensagem esperando no correio de voz. Esta mensagem pode vir por meio de um sinal audível, ou visual se o telefone suportar. Tem como argumento o número da caixa de correio de voz. stripmsd: Retira o „digito mais significativo‟, o primeiro dígito ou dígitos de todas as chamadas de saída em um dado grupo de canais. Formato: Meios de Comunicação de Dados [Redes de Computadores] 251 inteiro com o número de dígitos a retirar. Esta opção não é mais usada, existe uma opção melhor no extensions.conf usando a aplicação StripMSD. deveriam requerer cancelamento de eco, mas frequentemente o desempenho do áudio é melhorado quando habilitado. rxgain: Ajusta o ganho de recebimento. Isto pode ser usado para aumentar ou diminuir o volume de entrada e compensar diferenças de hardware. Formato: Percentual da capacidade -100% a 100%. txgain: Ajusta a transmissão. Isto pode ser usado para levantar ou diminuir o volume de saída para compensar diferenças de hardware. Recebe o mesmo argumento do rxgain. echocancel => yes echocancelwhenbridged => yes txgain => -10% rxgain => 10% Opções de registro de chamadas Estas opções mudam a maneira em que as chamadas são gravadas no registro detalhado de chamadas (CDR – Call Detail Records). amaflags: Configura as AMA flags afetando a categorização das entradas no registro de chamadas. Aceita estes valores: • billing: Marca o registro para tarifar. • documentation: Marca o registro para documentar. • omit: Não registra os chamados. • default:Configura a default do sistema. Meios de Comunicação de Dados [Redes de Computadores] 252 accountcode: Configura o código da conta para as chamadas colocadas no canal. O código da conta pode ser qualquer string alfanumérica. accountcod e=financeiro amaflags=billing Outras opções Algumas opções que não se encaixam nas categorias prévias. language: Liga a internacionalização e configura a linguagem. Este recurso irá configurar as mensagens do sistema para uma dada linguagem. Embora o recurso esteja preparado, Inglês é a única linguagem que foi completamente gravada para a instalação padrão do Asterisk. mailbox: Este comando pode dar uma mensagem avisando o usuário de que há uma mensagem esperando no correio de voz. Esta mensagem pode vir por meio de um sinal audível, ou visual se o telefone suportar. Tem como argumento o número da caixa de correio de voz. stripmsd: Retira o „digito mais significativo‟, o primeiro dígito ou dígitos de todas as chamadas de saída em um dado grupo de canais. Formato: inteiro com o número de dígitos a retirar. Esta opção não é mais usada, existe uma opção melhor no extensions.conf usando a aplicação StripMSD. Nomenclatura dos canais ZAP Os canais ZAP configurados no arquivo zapata.conf usam o seguinte formato: Meios de Comunicação de Dados [Redes de Computadores] 253 Zap/[g]<identificador>[c][r<cadence> <identificador>- Identificador numérico para o número de canal físico do canal selecionado. [g] – Identificador do grupo ao invés do canal [c] – Pede confirmação de resposta. Um número não é considerado respondido até que a parte chamada pressione # [r] – Campainha personalizada. [cadence] Um inteiro de um à quatro. Exemplos: zap/2 - Canal 2 zap/g1 - Primeiro canal disponível no grupo 1 Dica: Caso seja configurado um canal MFC/R2, no lugar de Zap devese utilizar Unicall. Exemplo de arquivos ZAPTEL.CONF e ZAPATA.CONF completos: Exemplo 1: E1 com 15 canais ISDN ZAPTEL.CONF span = 1,1,0,ccs,hdb3,crc4 bchan = 1-15 Meios de Comunicação de Dados [Redes de Computadores] 254 dchan = 16 loadzone = us defaultzone = us ZAPATA.CONF [channels] echocancel => yes echocancelwhenbridged => no echotraining => yes group => 1 callgroup => 1 pickupgroup => 1 callerid => <4830258580> amaflags => documentation accountcode => escritorio musiconhold => default signaling => pri_cpe grou p => 1 Meios de Comunicação de Dados [Redes de Computadores] 255 channel => 1-15 Exemplo2: E1 com 15 canais ISDN + 1 FXO ZAPTEL.CONF span =1,1,0,ccs,hdb3,crc4 bchan = 1-15 dcha n = 16 fxoks=32 loadzone = us defaultzone = us ZAPATA.CONF [channels] echocancel => yes echocancelwhenbridged => no echotraining => yes group => 1 callgroup => 1 pickupgroup => 1 callerid => <4830258580> Meios de Comunicação de Dados [Redes de Computadores] 256 amaflags => documentation accountcode => escritorio musiconhold => default signaling => pri_cpe grou p => 1 channel => 1-15 ; Configuração da FXO group => 2 signalling => fxs_ks context => default channel => 32 Exemplo 3: E1 com 15 canais ISDN + FXO+ FXS ZAPTEL.CONF span = 1,1,0,ccs,hdb3,crc4 bchan = 1-15 dc han = 16 Meios de Comunicação de Dados [Redes de Computadores] 257 fxoks = 32 fxsks = 33 loadzone = us defaultzone = us ZAPATA.CONF [channels] echocancel => yes echocancelwhenbridged => no echotraining => yes group => 1 callgroup => 1 pickupgroup => 1 callerid => <4830258580> amaflags => documentation accountcode => escritorio musiconhold => default signaling => pri_cpe group => 1 channel => 1-15 ; Configuração da FXO group => 2 signalling => fxs_ks context => default channel => 32 ; Configuração da FXS Signalling => fxo_ks record_out => On-Demand record_in => OnDemand mailbox => 8520@default echotraining => 800 echocancelwhenbridge => no echocancel => yes Meios de Comunicação de Dados [Redes de Computadores] 258 context => default callprogress => no callerid => "Alexandre" <4830258520> busydetect => no busycount => 7 channel => 33 Exemplo 4 - E1 com 30 canais MFC/R2 ZAPTEL.CONF span=1,1 ,0,cas,hdb3 cas=1-15:1001 cas=17-31:1001 loadz one = us defaultzone = us UNICALL.CONF [channels] ; Configuração de uma E1 MFC/R2 ligada a uma central telefônica language => en context => default usecallerid => yes hidecallerid => no callwaiting => yes usecallingpres => yes callwaitingcallerid => yes threewaycalling => yes transfer => yes cancallforward => yes callreturn => yes echocancel => yes echocancelwhenbridged => no echotraining => 800 Meios de Comunicação de Dados [Redes de Computadores] 259 rxgain => 0.0 txgain => 0.0 callgroup => 1 pickupgroup => 1 immediate => no protocolclass => mfcr2 protocolvariant => br,20,20 protocolend => co group => 1 channel => 1-15 channel => 17-31 Meios de Comunicação de Dados [Redes de Computadores] 260 Arquitetura do Asterisk e Voz sobre IP Como pode ser visto na figura abaixo, as tecnologias e protocolos de voz sobre IP são tratados como canais do Asterisk. O Asterisk pode usar simultaneamente protocolos do tipo TDM como o ISDN e interfaces analógicas junto com canais VoIP nos padrões SIP, H323, MGCP, IAX e SCCP. Arquitetura do Asterisk O ponto fundamental da arquitetura do Asterisk é que ele funciona como um gateway de mídia entre todos estes protocolos e não apenas como um proxy de sinalização. Com isto um canal pode estar configurado em IAX2 com codec GSM e se comunicar com outro com SIP e Codec G.711. Meios de Comunicação de Dados [Redes de Computadores] 261 Vamos estudar um pouco das características de cada um destes protocolos, ver quando eles são mais recomendados. Em capítulos a frente vamos dar uma ênfase maior aos dois mais utilizados que são o SIP Session Initiated Protocol e o IAX Inter Asterisk Exchange, como a maioria dos gateways e provedores no Brasil ainda usam H.323 vamos falar um pouco sobre a implementação deste protocolo. Distribuição dos protocolos de VoIP dentro do modelo OSI. Como se pode ver na figura acima, voz sobre IP é composto de diversos protocolos envolvendo várias camadas do modelo OSI. De qualquer forma VoIP é na verdade uma aplicação que funciona sobre as redes IP atuais. Estaremos aqui tratando principalmente das camadas de transporte, sessão, apresentação e aplicação. Na camada de transporte, a maior parte destes protocolos usa o RTP/RTCP sendo o primeiro um protocolo de mídia e o segundo um protocolo de controle. A exceção é o IAX que implementa um transporte de mídia próprio. Todos eles usam o UDP para tranportar a voz. Meios de Comunicação de Dados [Redes de Computadores] 262 Na camada de sessão entram os protocolos de voz sobre ip propriamente ditos, H323, SIP, MGCP, IAX e SCCP. Na camada de sessão os CODECs definem o formato da apresentação da voz com suas diferentes variações de compressão. Como escolher um protocolo SIP Padrão aberto descrito pela IETF, largamente implementado, as principais operadoras VoIP estão usando SIP. É o protocolo padrão de fato para telefonia IP no momento. Ponto forte, padrão da IETF, adoção do mercado. Pontos fracos, problemas no uso do NAT, uso da banda com RTP é alto. IAX Protocolo proprietário do Asterisk. Eficiente em banda passante e principalmente pode passar facilmente por firewalls com NAT. Se quiser usar SIP com NAT na Internet pode se usar o SER (Sip Express Router) em conjunto o Asterisk. Pontos fortes, eficiência em banda passante, segurança e facilidade com NAT. Ponto fraco, proprietário. MGCP É um protocolo para ser usado em conjunto com o H323, SIP e IAX. Sua grande vantagem é a escalabilidade. Toda a inteligência é implementada no Call Agent ao invés dos gateways. Simplifica muito a configuração. Pontos fortes: Gerenciamento centralizado, pontos fracos, o protocolo é pouco adotado ainda. Meios de Comunicação de Dados [Redes de Computadores] 263 H323 Largamente usado em voz sobre IP. Essencial na conectividade com projetos mais antigos usando roteadores Cisco ou gateways de voz. H323 ainda é padrão para fornecedores de PBX e roteadores, muito embora eles comecem a adotar o SIP. Excelente para videoconferência. Pontos fortes, larga adoção do mercado, padronização pela ITU. Pontos fracos: complexo, pouco adotado em telefonia IP. Conceito de Peers, Users e Friends Existem três tipos de clientes SIP e IAX. O primeiro é o user. Usuários podem fazer chamadas através de um servidor Asterisk, mas não podem receber chamadas do servidor. Isto é útil em uma situação onde você pode prover alguns serviços telefônicos ao cliente, mas nunca deve poder chamar o telefone, tal como um provedor de longa distância. O segundo é o peer. Um peer é um cliente para o qual você pode passar as chamadas, Meios de Comunicação de Dados [Redes de Computadores] 264 mas que você nunca vai receber chamadas dele. Isto pode ser útil para ter um telefone que só recebe chamadas, ou passar chamadas à um servidor Asterisk de uso especial como um voice mail. Normalmente, o servidor ou dispositivo irá precisar ser ambos um “user” e um “peer” ao mesmo tempo, neste caso, você o definiria como um “friend”, que é um atalho para “user”e “peer”. Um “friend”pode ambos enviar e receber chamadas de um servidor. Um telefone provavelmente cairá nesta categoria, assim como um servidor remoto que precise acesso à suas extensões. Exercícios 1. Cite pelo menos quatro benefícios do uso de Voz sobre IP ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 2. Convergência é a unificação das redes de voz, vídeo e dados em uma única rede e seu principal benefício é a redução com os custos de manutenção de redes separadas. Correto Incorreto 3. O Asterisk não pode usar simultaneamente recursos de PSTN (Rede pública de telefonia e de voz sobre IP, pois os codecs não são compatíveis). Correto Incorreto Meios de Comunicação de Dados [Redes de Computadores] 265 4. A Arquitetura do Asterisk é de um SIP proxy com possibilidade outros protocolos. Correto Incorreto 5. Dentro do modelo OSI, os protocolos SIP, H.323 e IAX2 estão na camada de: Apresentação Sessão Aplicação Enlace Física 6. SIP é hoje o protocolo mais aberto (IETF) sendo implementado pela maioria dos fabricantes. Correto Incorreto 7. O H.323 é um protocolo sem expressão, pouco usado foi abandonado pelo mercado em favor do SIP. Correto Incorreto 8. O IAX2 é um protocolo proprietário da Digium, apesar da pouca adoção por fabricantes de telefone o IAX é excelente nas questões de: Uso de banda Uso de vídeo Passagem por redes que possuem NAT Padronizado por órgãos como a IETF e ITU. Meios de Comunicação de Dados [Redes de Computadores] 266 9. “Users” podem receber chamadas Correto Incorreto 10. Sobre codecs assinale o que é verdadeiro O G711 é o equivalente ao PCM (Pulse Code Modulation) e usa 64 Kbps de banda. O G.729 é gratuito por isto é o mais utilizado, usa apenas 8 Kbps de banda. D GSM vêm crescendo, pois ocupa 12 Kbps de banda e não precisa de licença. D G711 u-law é comum nos EUA enquanto a-law é comum na Europa e no Brasil. G.729 é leve e ocupa pouca CPU na sua codificação. Meios de Comunicação de Dados [Redes de Computadores] 267 O Protocolo IAX e o Asterisk Todas as referências ao IAX que estamos trabalhando correspondem a versão 2, normalmente chamado de IAX2. O IAX2 substitui o IAX e como tal vamos nos referir a ele como apenas IAX daqui em diante. O Inter-Asterisk eXchange Protocol fornece controle e transmissão de voz sobre redes IP. O IAX pode ser usado com qualquer tipo de mídia como voz e vídeo, mas foi pensado primariamente para chamadas em voz. Os objetivos do projeto do IAX derivaram da experiência com os protocolos de voz sobre ip como o SIP (Session Initiated Protocol) e o MGCP (Media Gateway Control Protocol) para controle e o RTP para o fluxo-multimídia (streaming media) e são: • Minimizar o uso de banda passante para o tráfego de ambos, media e controle com ênfase específica em chamadas de voz individuais. • Prover transparência à NAT (Network Address Translation). • Ter a possibilidade de transmitir informações sobre o plano de discagem. • Suportar a de paging e intercomunicação. implantação eficiente de recursos Teoria de operação IAX é um protocolo de mídia e sinalização “peer-to-peer”. Isso significa que os dispositivos mantém conexões associadas com as operações de protocolo. Com respeito ao componente de sinalização do IAX, ele é mais parecido com o SIP do que com o MGCP, que é um protocolo de controle do tipo mestre-escravo. Meios de Comunicação de Dados [Redes de Computadores] 268 A abordagem do projeto básico do IAX multiplexa a sinalização e múltiplos fluxos sobre uma única associação UDP entre dois hosts de Internet. Nesta faceta do projeto, ele se torna dois protocolos, o primeiro é o protocolo de sinalização das sessões, o segundo o protocolo para transportar os fluxos de mídia. Esta abordagem difere da arquitetura geral dos protocolos baseados na IETF com dois protocolos separados para, sinalização (MGCP e SIP) e fluxo de mídia (RTP/RTCP). Como o IAX usa o mesmo protocolo para sinalização e mídia em uma mesma porta UDP, ele não sofre dos problemas de atravessar dispositivos que fazem NAT (Network Address Translation), como, por exemplo, roteadores ADSL.(característica fundamental para operadoras de telefonia IP). O IAX usa a porta UDP 4569 para comunicar todos os pacotes. O IAX então usa um número de chamada de 15 bits para multiplexar os fluxos sobre uma única associação UDP. Figura 5.1: Múltiplas chamadas sobre uma única associação de porta UDP. O valor de 0 é um número especial de chamada reservado em cada host. Quando tentando fazer uma chamada, o número de chamada do destino ainda não é conhecido. Um número de chamada zero é usado nesta situação. IAX é um protocolo binário. O desenho foi feito para melhorar a eficiência no uso da banda passante. Além disso, o protocolo é otimizado para fazer um uso eficiente de banda para cada chamada individual. O protocolo IAX emprega um processo similar ao SIP de registro e autenticação. Meios de Comunicação de Dados [Redes de Computadores] 269 Formato dos Frames As mensagens IAX são chamadas frames. Existem vários tipos básicos de frames. Cada um dos tipos é descrito em detalhes nesta seção. Um bit F é usado para indicar se o frame é completo (Full) ou não. O valor 0 indica que é completo. Um número de chamada de 15 bits é usado para identificar o ponto final do fluxo de mídia. Um valor de 0 indica que o ponto final não é conhecido. Uma chamada tem dois números de chamada associados com ele em qualquer uma das direções. O horário (timestamp) pode ser um campo de 32 ou 16 bits. De qualquer forma o campo ocupa 32 bits. Frame completo Um frame complete pode ser usado para enviar sinalização, áudio e vídeo de forma confiável. Frames completos é o único tipo de frame que é transmitido de forma confiável. Isto significa que o recipiente deve retornar algum tipo de mensagem ao emissor após o recebimento. Uma descrição completa do protocolo IAX pode ser encontrada em http://www.cornfed.com/iax.pdf Cenários de uso Servidor IAX: O Asterisk suporta telefones IP baseados em IAX como o SNOM e o AIXy e também softfones como o Firefly e Gnophone. Para configurar um telefone IAX basta configurar o arquivo iax.conf e o próprio telefone. Exemplo de configuração de um telefone IAX: Meios de Comunicação de Dados [Redes de Computadores] 270 [85 80] type=frien d context=de fault auth=md5 secret=sen ha notransfer =0 caller id=8580 host=dyna mic allow=gsm Cliente IAX Neste cenário é possível se conectar a um provedor de telefonia IAX como o Free World Dialup, www.freeworlddialup.com. Na verdade, é possível se conectar ao FWD usando SIP e IAX, por default a conexão é padrão SIP, mas IAX pode ser ativado. Existe também o IAXTEL. Uma lista de provedores IP no mundo pode ser encontrada em: http://www.voip-info.org/wiki-VOIP+Service+Providers. Meios de Comunicação de Dados [Redes de Computadores] 271 Como fazer para discar para um provedor Para discar é preciso apenas usar o comando Dial(), usando a nomenclatura de canal apropriada. Exemplo: Ligando para o ramal de serviço 612 no fwd. Edite o arquivo extensions.conf e inclua a seguinte linha no seu contexto default. exten=>612, 1,Dial(IAX2/621538:[email protected]/612,20,r) Nada mais é necessário se o que você quer é simplesmente discar para um número dentro do provedor. Abreviando os comandos Eventualmente, você não vai querer todas estas senhas no plano de discagem. Você pode criar entradas no arquivo iax.conf que vão simplificar o processo de configuração. No arquivo iax.conf use: [621538] type=peer secret=senha host=iax2.fwdne t.net Meios de Comunicação de Dados [Redes de Computadores] 272 Agora no arquivo extensions.conf você pode usar a forma abreviada. exten=>612, 1,Dial(IAX2/621538/612,20,r) Como fazer para receber uma ligação Para receber uma ligação é necessário se registrar no provedor para que ele saiba em que endereço nosso servidor se encontra. Além disso, é preciso criar uma entrada do tipo “user” para que possa ser feita a recepção da chamada. Na seção [general] do arquivo iax.conf use: register=>621538:[email protected] A ligação será recebida na extensão „s‟ do contexto default. Na seção [iaxfwd] do arquivo iax.conf use (está no exemplo do iax.conf é só retirar o comentário). Isto é necessário para que ocorra a autenticação. Através do uso de chave pública você pode ter certeza de que a ligação está sendo recebida do “freeworlddialup”. Se alguém tentar usar este mesmo caminho as chaves de autenticação não vão bater. [iaxfwd] type=user context=default auth=rsa inkeys=freeworlddi alup Meios de Comunicação de Dados [Redes de Computadores] 273 Use o seguinte comando para ver se o registro ocorreu com sucesso. CLI>iax2 show registry Dentro do arquivo extensions.conf é preciso receber esta ligação e tratá-la. A estensão „s‟ no contexto [default] tem de estar configurada. Trunk IAX Dois servidores Asterisk podem ser ligados usando o protocolo IAX2. Meios de Comunicação de Dados [Redes de Computadores] 274 Como configurar um trunk IAX Para configurar um trunk IAX, vamos usar o conceito de mestreescravo para tornar mais fácil o entendimento. Os seguintes passos têm de ser feitos para que o servidor escravo possa fazer e receber ligações do servidor mestre. Para simplificar o exemplo colocamos todas as ligações no contexto [default]. Mais tarde neste material você vai aprender a colocar as chamadas em contextos mais apropriados. 1. Configurar o arquivo iax.conf do servidor escravo para: 1.1.Se registrar no mestre. 1.2.Receber chamadas do mestre. 2. Configurar o arquivo iax.conf do servidor mestre para: 2.1.Receber chamadas do escravo. 2.2.Se registrar no escravo. 3. Configurar o arquivo extensions.conf do escravo: 3.1.Para discar para o mestre. 4. Configurar o arquivo extensions.conf do mestre Meios de Comunicação de Dados [Redes de Computadores] 275 4.1.Para discar para o escravo. Vamos supor para o exemplo abaixo que todos os ramais no servidor mestre começam com 41xx e todos os ramais do escravo começam com 42xx. Passo 1 - iax.conf do servidor escravo 1.1 Registrar no mestre No arquivo iax.conf register=>mestre:[email protected] 1.2 Receber chamadas do mestre No arquivo iax.conf [mest re] type=user auth=plainte xt context- default secret=senha host=dynami c callerid=‟ma ster‟ trunk=yes Meios de Comunicação de Dados [Redes de Computadores] 276 notransfer=y es [mest re] type=user auth=plainte xt context- default secret=senha callerid=‟ma ster‟ trunk=yes notransfer=yes [4100] type=friend auth=plaintext context-default secret=senha callerid=‟master‟ [4101] ……. ; Definição dos outros canais IAX (Ramais) Passo 2. Configurar o arquivo iax.conf do mestre 2.1 Receber e fazer chamados do escravo e o registro [escra vo] type=user auth=plaintex t context- Meios de Comunicação de Dados [Redes de Computadores] 277 default secret=senha host=dynamic callerid=‟escr avo‟ trunk=yes notransfer=ye s [escra vo] type=user auth=plaintex t context- default secret=senha callerid=‟escr avo‟ trunk=yes notransfer=ye s [4200 ] type=friend auth=plainte xt context- default secret=senha callerid=‟ma ster‟ [4201] ……. ; Definição dos outros canais IAX (Ramais) Meios de Comunicação de Dados [Redes de Computadores] 278 2.2 Se registrar no escravo register=>escravo:[email protected] Passo 3 – Configurar o arquivo extensions.conf no servidor escravo. [default] exten => _41XX,Dial(IAX2/master/${EXTEN} exten=>_42XX,Dial(IAX2/${EXTEN}) Passo 4 – Configurar o arquivo extensions.conf no servidor mestre. [default] exten => _42XX,Dial(IAX2/master/${EXTEN} exten=>_41XX, Dial(IAX2/${EXTEN}) Autenticação no IAX Vamos analisar a autenticação do IAX do ponto de vista prático e aprender a escolher as melhores opções dependendo das necessidades de segurança da configuração. Meios de Comunicação de Dados [Redes de Computadores] 279 Conexões de entrada Quando o Asterisk recebe uma conexão de entrada, a informação da chamada inicial pode incluir um nome de usuário (Do campo username) ou não. Além disso, a conexão de entrada tem um endereço IP que o Asterisk usa para a autenticação também. Se o nome do usuário é fornecido, o Asterisk faz o seguinte: 1. Pesquisa o iax.conf para uma entrada “type-user” (ou “type=friend”) com a seção nome ([username]); se não encontra, recusa a conexão. 2. Se a entrada encontrada tem configurações do tipo “deny/allow” (negar/permitir), compara o endereço IP do originador da chamada. Se a conexão não for permitida, recusa a conexão. 3. Faz a checagem da senha (secret) (plaintext, md5 ou rsa); se falha, recusa a conexão. 4. Aceita a conexão e envia para o originador para o contexto especifica na configuração context= da entrada no arquivo iax.conf. Se um nome de usuário não é fornecido, o Asterisk faz o seguinte: 1. Pesquisa por um “type=user” (ou type=”friend”) no arquivo iax.conf sem um segredo especificado e também nas restrições do tipo “deny/allow”. Se uma entrada é encontrada, aceita a conexão e usa o nome da entrada do iax.conf como o nome do usuário se conectando. Meios de Comunicação de Dados [Redes de Computadores] 280 2. Pesquisa por um “type=user” (ou type=”friend”) no iax.conf com um segredo ou chave RSA especificado e também verifica restrições “deny/allow” . Se uma entrada é encontrada, tenta autenticar o chamador usando o segredo especificado ou a chave, e se ele passa, aceita a conexão e usa o nome encontrado no iax.conf como nome do usuário. Suponha que seu arquivo iax.conf tenha as seguintes entradas: [g uest] type=user context=g uest [iaxtel ] type=user context=inco ming auth=rsa inkeys=iaxtel [iaxgateway] type=friend allow=192.16 8.0.1 context=inco ming host=192.168. 0.1 Meios de Comunicação de Dados [Redes de Computadores] 281 [iaxfriend] type=user secret=this_is_s ecret auth=md5 context=incomi ng Se uma chamada de entrada tem um nome de usuário especificado de: • guest • iaxtel • iax-gateway • iax-friend Então o Asterisk irá tentar autenticar a conexão usando apenas a entrada correspondente em iax.conf. Se qualquer outro nome de usuário for especificado, a conexão será recusada. Se nenhum usuário tiver sido especificado, o Asterisk irá autenticar a conexão como usuário guest (convidado). Entretanto se você não tiver um usuário guest no seu arquivo iax.conf, o usuário que está se conectando, pode especificar o segredo associado com qualquer outro iax.conf que não tenha um endereço IP restrito. Em outras palavras, se você não tem uma entrada guest no seu iax.conf, você tem várias entradas com senhas que podem ser advinhadas e que vão permitir que o usuário se conecte no sistema. Usando chaves RSA como seus segredos é uma forma de evitar este problema sem criar um usuário guest. Entradas RSA não são “adivinháveis”, outro método é usar restrições de IP em tantas entradas quanto possíveis. Meios de Comunicação de Dados [Redes de Computadores] 282 Conexões de saída Conexões de saída podem pegar suas informações de autenticação de: • A descrição do canal IAX2 passado pelo comando Dial(). • Uma entrada “type=peer ou friend” no arquivo iax.conf. • Uma combinação dos dois. Suponha que seu arquivo iax.conf tenha as seguintes entradas: [iaxtel-outbound] type=peer username=iaxtel_username secret=iaxtel_secret host=iaxtel.com [iaxgateway] type=friend allow=192.16 8.0.1 context=inco ming host=192.168. 0.1 Então o comando: Dial(IAX2/iaxtel-outbound/1234) Conectaria ao host iaxtel.com, usando o usuário e senha especificados no arquivo iax.conf para autenticação. Já o comando: Dial(IAX2/user2:secret2@iaxtel-outbound/1234) Meios de Comunicação de Dados [Redes de Computadores] 283 Também irá se conectar com o host iaxtel.com, mas irão especificar user2:secret2 como nome e senha respectivamente e isto sobrescreve as entradas no iax.conf. Dial(IAX2/iaxtel.com/1234) Novamente a conexão seria feita ao host iaxtel.com, mas nenhum nome de usuário foi especificado. Como nenhuma das entradas no arquivo iax.conf bate com a descrição do canal iaxtel.com a conexão é recusada. Dial(IAX2/iax-gateway/5678) Se conectaria ao host 192.168.0.1, sem especificar nenhum nome, e se o host pedir um segredo, nenhum segredo será fornecido. Presumivelmente este tipo de entrada seria usada para conexões entre hosts com alto grau de confiança. Configuração do arquivo iax.conf Como todo o resto no Asterisk, a configuração do IAX é feita no arquivo /etc/asterisk/iax.conf. O arquivo de configuração do IAX é uma coleção de seções, cada qual representa uma entidade dentro do escopo do IAX (A exceção da seção geral). A primeira seção é tipicamente a seção geral. Nesta área, um número de parâmetros que afetam todo o sistema pode ser configurado. Especificamente os codecs default, portas, endereços, comportamento do jitter, bits de TOS e registros. Meios de Comunicação de Dados [Redes de Computadores] 284 Configuração da seção geral A primeira linha da seção geral é sempre: [general] Seguindo a primeira linha está um número de outras possibilidades: port = <portnum> Isto configure a porta em que o IAX vai se ligar. A porta default é 5036. É recomendado manter este valor. bindaddr = <ipaddr> Isto permite ligar o IAX à um endereço IP especifico ao invés de ligar o * à todos os endereços. bandwidth = [low|medium|high] A seleção de banda passante inicializa a seleção de codecs a valores apropriados para uma dada banda. Escolhendo “High” habilita todos os codecs e é recomendado para conexões de 10Mbps para cima. Escolhendo “médium” elimina os codecsU-law A- law deixando apenas os codecs com 32Kbps ou menos (Com MP3 como um caso especial). Isto pode ser usado em conexões de banda larga se desejado. O “low” elimina o ADPCM e MP3, deixando apenas o G723, GSM e LPC10. allow/disallow=[gsm|lpc10|g7 O "allow" e "disallow" permite fazer uma sintonia fina na seleção de codecs Meios de Comunicação de Dados [Redes de Computadores] 285 23.1| além da banda passante inicial em uma base codec por codec. A configuração r|all] adpcm|ulaw|alaw|mp3|slinea recomendada é selecionar “low” e depois desabilitar LPC10. O LPC10 tem a voz robotizada. jitterbuffer [yes|no] dropcount = Estes parâmetros = operação do buffer controlam a <dropamount> maxjitterbuffer = <max> de jitter (Buffer de variação no atraso dos pacotes). O buffer de jitter deve sempre estar habilitado a maxexcessbuffer = <max> menos que você saiba que todas as suas conexões estão na LAN. A quantidade de drops é o número máximo de pacotes de voz que você vai permitir que sejam descartados. Valores úteis são 3-10. O “maxjitterbuffer” é a quantidade máxima de buffer de jitter que pode ser usado. O “maxexcessbuffer” é a quantidade máxima de excesso no buffer de jitter que é permitido antes que o buffer de jitter seja lentamente comprimido para eliminar a latência. accountcode = <code> Estes parâmetros afetam a geração do detalhamento de chamadas. O primeiro configura o código de contabilização para amaflags [default|omit|billing| = registros recebidos com o IAX. O código de contabilização pode sobrescrever a base por usuário para chamadas Meios de Comunicação de Dados [Redes de Computadores] 286 documentation]: entrantes. O “amaflags” controla como o registro é etiquetado (“omit” faz com que nenhum registro seja escrito. “billing” e “documentation”etiquetam os registros como registros para cobrança e documentação respectivamente e “default”seleciona o default do sistema). tos=[lowdelay|thr O IAX pode opcionalmente configurar oughput|reliability|min o bit TOS (Type of Service) do cabeçalho IP. cost|none] Isto ajuda a performance no roteamento. O valor recomendado é “lowdelay”, que muitos roteadores vão reconhecer e dar prioridade melhorando a qualidade da voz. register=><name >[:<secret>]@<host>[: Várias entradas como esta podem ser colocadas na seção geral. O registro permite ao Asterisk notificar um servidor Asterisk port]: remoto (com um endereço fixo) qual seu endereço atual. Para que o registro funcione, o Asterisk remoto vai precisar ter uma entrada com o mesmo nome to tipo “dynamic peer” (e segredo (secret) se fornecido). O nome é um campo obrigatório e é o nome do “peer” remoto a quem nós desejamos nos identificar. Entretanto se em chaves([]‟s) então é interpretado como o nome de uma chave RSA a ser usada. Neste caso o Asterisk deve ter a chave Meios de Comunicação de Dados [Redes de Computadores] 287 privada e o servidor correspondente remoto chave terá a pública (/var/lib/asterisk/keys/<name>.key). O campo "host" é obrigatório e é o nome do host ou endereço IP do servidor Asterisk remoto. A especificação da porta é opcional. Configuração dos clientes IAX [identifier] A seção identificador em inicia chaves com ([]‟s). um O identificador deve ser uma string alfanumérica. type=[user|peer|friend] Esta linha diz ao asterisk como interpretar esta entidade. Usuários são dispositivos que se conectam à nós, enquanto “peers”são pessoas às quais nos conectamos, e “friend”é um atalho para criar um “user”e um “peer” com informações idênticas. Meios de Comunicação de Dados [Redes de Computadores] 288 Campos do tipo User . context = <context> Uma ou mais linhas de contexto podem ser especificadas pelo usuário, deste modo dando ao usuário a possibilidade de permit <ipaddr>/<netmask>deny = colocar as de chamadas As regras permitir em e = negar (permit e deny) podem ser aplicadas à usuários, permitindo a <ipaddr>/<netmask> eles se conectar de determinados endereços IP e não de outros. As regras são interpretadas na seqüência e são todas avaliadas em um dado endereço IP, com o resultado final sendo a decisão (Diferente das listas de controle de usuários usa oecontexto acesso Cisco da maior“default”. parte dos Firewalls).Por exemplo: permit=0.0.0.0/0.0.0.0 deny=192.168.0.0/255.255.255.0 callerid = <callerid> Você pode sobrescrever o identificador de chamada passado pelo usuário para você (Se ele escolher enviar) maneira esteja que ele desempre correto do ponto de vista do seu Meios de Comunicação de Dados [Redes de Computadores] 289 auth = [md5|plaintext|rsa] Você pode selecionar que métodos permitidos. podem de autenticação Múltiplos ser são métodos especificados, separado por vírgulas. Se md5 ou A linha “secret”especifica o secret = <secret> segredo compartilhado para os métodos md5 ou autenticação em texto simples. Não sugerimos a inkeys = key1[:key2...] autenticação textoespecifica simples A linha em "inkeys" que chaves nós podemos usar especificado “inkeys”. Se para autenticarcom um “peer” remoto. Os arquivos de chave ficam em Configuração de peers IAX allow=[gsm|lpc10|g723. A linha "inkeys" especifica que chaves 1|adpcm| nós podemos usar para autenticar um “peer” ulaw|alaw|mp3|slinear|all] remoto. Os arquivos de chave ficam em disallow=[gsm|lpc10|g723.1|a /var/lib/asterisk/keys/<name>.pub e são chaves dpcm públicas. |ulaw|alaw|mp3|slinear|a ll] host=[<ipaddr>|dynamic ] A linha host é o nome do host ou endereço IP do host remoto, ou pode ser a palavra “dynamic” que significa que o host irá se registrar conosco. Meios de Comunicação de Dados [Redes de Computadores] 290 defaultip=<ipaddr> Se o host usa registro dinâmico, o Asterisk ainda pode ter o endereço IP default para usar quando registro não foi feito ou expirou. Exemplo: Arquivo de configuração IAX [general] port=5036 bandwi dth=high disallow=all ;allow=gsm tos=lowdelay [guest] type=user context=fromiaxtel [nufone] type=friend secret=somedumbpass word context=NANPA host=switchMeios de Comunicação de Dados [Redes de Computadores] 291 1.nufone.net disallow=all allow=gsm [sjc1] type=friend secret=password 123 auth=plaintext host=64.162.134 .251 context=intern allow=all Comandos de console iax2 debug iax2 no iax2 set jitter iax2 show iax2 show iax2 show iax2 show iax2 show iax2 show iax2 trunk init keys show keys habilita IAX debugging Desabilita IAX debugging Seta o buffer de jitter IAX Mostra o plano de discagem do IAX na Mostra os canais ativos do IAX Mostra os pares definidos do IAX Mostra o status de registro do IAX Mostra estatísticas do IAX Mostra os usuários IAX definidos Pede um debug do trunk IAX trunk Inicializa as chaves RSA Mostra as informações de chave RSA Meios de Comunicação de Dados [Redes de Computadores] 292 Exercícios 1. Podemos citar como principais benefícios do IAX a economia de banda e facilidade de passar por Firewalls com NAT. Correto Incorreto 2. No protocolo IAX os canais de sinalização e mídia passam separados. Esta afirmação é: Correto Incorreto 3. O IAX emprega os seguintes tipos de frames: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________ 4. A banda passante usada pelo protocolo IAX é a soma da carga de voz (payload) mais os cabeçalhos (Marque todas as que se aplicam) IP RTP UDP cRTP IAX Meios de Comunicação de Dados [Redes de Computadores] 293 5. Comparando o protocolo IAX e o protocolo cRTP (compressed RTP) podemos afirmar que em uma rede baseada na transmissão pela Internet como o ADSL (Marque uma opção) O IAX2 é sempre a melhor opção. O cRTP não pode ser implantado neste tipo de circuito. O cRTP ocupa menos banda por isto é a melhor opção. A partir de 16 linhas o IAX2 passa a ser a melhor opção. 6. Quando o IAX é usado no modo trunk, apenas um cabeçalho é usado para transmitir múltiplas ligações. A afirmação acima está: Correto Incorreto 7. O protocolo IAX2 é o mais comum para conectar provedores de telefonia IP, pois passa fácil pelo NAT. A afirmação acima está Correto Incorreto 8. Em um canal IAX como o abaixo, a opção <secret> pode ser tanto uma senha como uma . IAX/[<user>[:<secret>]@]<peer>[:<portno>][/<exten>[@<context>][/<opti ons>]] 9. O contexto é adicionado para cada cliente IAX, isto permite que diferentes clientes possuam diferentes contextos. Pode-se pensar em contexto como uma classe de ramal onde o cliente será colocado. A afirmação está Correto Incorreto Meios de Comunicação de Dados [Redes de Computadores] 294 10. O comando IAX2 show registry mostra informações sobre: Os usuários registrados Os provedores ao qual o Asterisk se conectou. Meios de Comunicação de Dados [Redes de Computadores] 295 O protocolo SIP e o Asterisk O SIP (Session Initiated Protocol) é um protocolo baseado em texto, similar ao HTTP e SMTP, desenhado para iniciar, manter e terminar sessões de comunicação interativa entre usuários. Tais sessões incluem, voz, vídeo, chat, jogos interativos e realidade virtual. Foi definido pela IETF e vem se tornando o padrão de fato em telefonia IP. Teoria da Operação do SIP O SIP é um protocolo de sinalização de voz sobre IP que possui os seguintes componentes: • UAC (user agent client) – cliente ou terminal que inicia a sinalização SIP. Meios de Comunicação de Dados [Redes de Computadores] 296 • UAS (user agent server) – servidor que responde a sinalização SIP de um UAC. • UA (user agent) – terminal de rede SIP (telefones SIP, ou gateway para outras redes), contém UAC e UAS. • Servidor Proxy – Recebe pedidos de conexão de um UA e transfere ele para outro servidor proxy se a estação em particular não está em sua administração. • Servidor de Redirecionamento – Recebe pedidos de conexão e envia-os de volta ao emissor incluindo os dados de destino ao invés de enviá-los diretamente à parte chamada. • Servidor de localização – recebe pedidos de registro de um UA e atualiza a bas de dados de terminais com eles. Todas as seções do servidor (Proxy, Redirect e Location) estão tipicamente disponíveis em uma única máquina física chamada proxy server, que é responsável pela manutenção da base de dados de clientes, estabelecimento de conexões, manutenção e término e redirecionamento de chamadas. Processo de Registro do SIP Meios de Comunicação de Dados [Redes de Computadores] 297 Antes que um telefone possa receber chamadas, ele precisa se registrar em uma base de localização. É neste local que o nome será associado ao endereço IP onde o telefone se encontra. No nosso caso usamos como nome o ramal 8500. Poderia ser também um endereço no formato sip:[email protected]. Operação do SIP em modo proxy. Meios de Comunicação de Dados [Redes de Computadores] 298 Operação em modo de redirect. SIP no modo Asterisk É importante ressaltar que o Asterisk não é nem um SIP Proxy nem um SIP Redirector. O Asterisk é um Media Gateway. Ele poderia ser mais bem descrito como um B2BUA, “back-to-back user agent”. Em outras palavras ele conecta dois canais SIP como se fossem canais de um PBX. É possível usar em conjunto com o Asterisk um SIP Proxy como o SIP Express Router http://www.iptel.org/ser/. Meios de Comunicação de Dados [Redes de Computadores] 299 As mensagens básicas enviadas em um ambiente SIP são: • INVITE – pedido de estabelecimento de conexão. • ACK INVITE – reconhecimento do pelo receptor final da mensagem. • BYE – término da conexão. • CANCEL – término de uma conexão não estabelecida. • REGISTER – registro do UA no SIP proxy. • OPTIONS – pedido de opções do servidor Respostas a mensagens do SIP são em formato texto como no protocolo http. Aqui estão as respostas mais importantes. • 1XX – mensagens de informação (100–tentando, 180– campainha, 183–progresso). • 2XX – pedido completado com sucesso (200 – OK). • 3XX – encaminhamento de chamada, o pedido deve ser direcionado para outro lugar. (302 – temporariamente movido, 305 – use proxy). • 4XX – erro (403 – Proibido). • 5XX – erro de servidor (500 – Erro interno do servidor, 501 – Não implementado). • 6XX – falha global (606 – Não aceitável). Meios de Comunicação de Dados [Redes de Computadores] 300 Cenários de uso SIP O protocolo SIP emprega um componente chamado “Registrar” que é um servidor que aceita pedidos “REGISTER” e coloca a informação que ele recebe nestes pedidos no servidor de localização para o domínio que ele gerência. O SIP oferece a capacidade de descobrimento. Se um usuário inicia uma sessão com outro usuário, o SIP deve descobrir o host atual onde o usuário pode ser alcançado. Este processo de descobrimento é feito pelo Asterisk, que recebe o pedido, determina para onde mandá-lo baseado no conhecimento da localização de cada usuário. Isto se baseia numa tabela de localização por domínio. O Asterisk pode ser configurado de três formas: Conectando a um provedor SIP. Meios de Comunicação de Dados [Redes de Computadores] 301 SIP client: Isto significa que o Asterisk se registra como um cliente para outro servidor SIP e recebe e coloca chamadas para este servidor. A recepção de chamadas é roteada para uma extensão do Asterisk. Para configurar um provedor SIP são necessários três passos: • Passo 1 – Dentro do arquivo sip.conf, colocar uma linha de registro no provedor SIP. • Passo 2 – Criar uma entrada do tipo [peer] para o provedor para simplificar a discagem. • Passo 3 – Colocar uma rota de saída no plano de discagem. Passo 1: Registrar o provedor (sip.conf) Isto vai permitir que o provedor localize seu Asterisk. Nesta instrução você está dizendo que quer receber qualquer chamada do primeiro provedor na extensão 4100 e do segundo provedor na extensão 8573. register=>621538:[email protected] net.net/4100 register=>ip1140623535:[email protected]. br/8573 Meios de Comunicação de Dados [Redes de Computadores] 302 Passo 2: Criar uma entrada do tipo [peer] para o provedor para simplificar a discagem (sip.conf). Observe a linha “insecure=very” necessária se você quer receber chamadas do FWD. Se você não colocar esta linha, o Asterisk irá mandar para o seu provedor um pedido de senha (Challenge). Como seu provedor não tem conta no seu Asterisk, a chamada seria rejeitada. Isto acontece com outros provedores como por exemplo a GVT. Segue abaixo um exemplo funcional com a GVT: [gvt] context=ent rada type=friend callerid="ip1140623535" <1140623535> auth=md5 dtmfmode=inband canreinvite=no username=ip1140623535 secret=[omitido por segurança] host=gvt.com.br fromuser=ip1140623535 fromdomain=gvt.com.br insecure=very Meios de Comunicação de Dados [Redes de Computadores] 303 Passo 3: Criar uma rota de saída no plano de discagem. Neste exemplo, vamos escolher o digito 010 como rota de saída para o FWD. Para discar para o 610000, você deve discar 010610000. (Como se fosse uma nova operadora, “disque „10‟ para o fwd”). exten=>_010.,1,SetCIDNum(6215 38}) exten=>_010.,2,SetCIDName(Flavio Goncalves) exten=>_010.,3,Dial(SIP/${EXTEN:3}@ gvt) exten=>_010.,4,Playback(invalid) exten=>_010.,5,Hangup Asterisk como um SIP server SIP Server: Isto significa que clientes SIP (telefones, softones) registram para o servidor Asterisk e configuram sessões SIP com o servidor, chamadas e respostas a chamadas. Meios de Comunicação de Dados [Redes de Computadores] 304 Conexões SIP de entrada SIP. Quando o Asterisk recebe uma chamada SIP entrante no módulo de canal 1. Primeiro ele tenta encontrar uma seção [usuário] que bata com o nome do originador (From:username), 2. Então ele tenta encontrar uma seção [peer] batendo com o endereço IP do originador, 3. Se nenhum [user] ou [peer] for encontrado, a chamada é enviada para o contexto definido na seção geral do arquivo sip.conf. Nota: Por uma questão de segurança é muito importante setar o contexto da seção geral para um contexto que não possa ligar para a rede pública, ou um usuário não autenticado poderá fazer ligações externas sem nenhuma restrição e causar um prejuízo considerável na sua fatura. Como configurar? • Passo 1 – Configurar uma entrada no arquivo sip.conf para cada telefone. • Passo 2 – Configurar o telefone. • Passo 3 – Configurar a extensão no plano de discagem. Passo 1 – Configurando o sip.conf Meios de Comunicação de Dados [Redes de Computadores] 305 Telefone Grandstream: [4101] type=friend context=default username=grandst ream callerid=Flávio E. Goncalves<8550> host=dyna mic canreinvite=yes dtmfmode=info mailbox=1234@de fault disallow=all allow=ulaw allow=g729 Softphone XLITE da XTEN www.xten.com [410 2] type=friend username=xlit e context=defau lt Meios de Comunicação de Dados [Redes de Computadores] 306 callerid="Flavio E Goncalves”<8550> host =dynamic canreinvite= no disallow=all allow=gsm allow=ulaw Telefone da Cisco [410 3] type=friend username=c isco secret=blah nat=yes host=dynam ic canreinvite =no disallow=all allow=ulaw allow=g729 Passo 2 – Siga as instruções do seu telefone favorito para configurá-lo. Lembre-se de que nome do usuário, senha, contexto e codec são os parâmetros mais importantes. Passo 3 – Definir a extensão no arquivo sip.conf Meios de Comunicação de Dados [Redes de Computadores] 307 Após você definir as contas de clients sip no sip.conf, você está apto à se logar no servidor Asterisk dos clientes e fazer e receber chamadas. Você precisa configurar as extensões em extensions.conf. Exemplo: exten=> _41XX,1, Dial(SIP/${EXTEN},10,t) Se alguém chamar uma extensão iniciando em 41 mais dois dígitos, o cliente SIP logado será discado de forma a receber a chamada. SIP Gateway: O Asterisk atua como um gateway de mídia entre SIP, IAX, MGCP, H.323 e conexões a rede pública de telefonia. Como um exemplo, um servidor Asterisk pode ser conectado à uma rede ISDN para dar conectividade dos usuários com a rede pública. Meios de Comunicação de Dados [Redes de Computadores] 308 Nomenclatura dos canais SIP O formato do nome de um canal SIP usado para uma conexão de saída é: O parâmetro identificador pode ser feito de três partes. SIP/[exten@]peer[:portno] peer: O nome do peer ao qual se conectar. Isto pode ser um dos abaixo: • Um “peer” ou “friend” definido em sip.conf. • Um endereço IP. • Um nome de domínio. Para nomes de domínio o Asterisk irá primeiro olhar no registro DNS SRV para aquele domínio. portno: A porta UDP a ser usada. Se omitido o Asterisk irá usar 5060. exten: Se definido, então o asterisk irá requisitar ao “peer”que se conecte à extensão “exten” Exemplos: exten=>s,1,Dial(SIP/ipphone ) exten=>s,1,Dial(SIP/[email protected] om.br) exten=>s,1,Dial(SIP/192.168.1.8:50 60,20) Meios de Comunicação de Dados [Redes de Computadores] 309 exten=>s,1,Dial(SIP/[email protected]: 9876) Arquivo de configuração sip.conf Cada cliente do sip é identificado por um bloco de texto que se parece como o exemplo abaixo: [xxx] Type=xxx Parametrô1=val or Parâmetro2=val or Onde xxx é o nome do usuário associado com o cliente SIP, ou é um nome arbitrário referir, usado pode outros arquivos de configuração para se a este dispositivo SIP. Tipicamente se um telefone SIP tem um número de extensão de 123, então sua entrada correspondente neste arquivo irá iniciar com [123]. Note que você ainda tem de habilitar a extensão 123 no seu plano de discagem para alcançar este telefone. A outra maneira em que as chamadas SIP de entrada batem com as seções [xxx] deste arquivo é examinar o endereço IP do pedido que está chegando e olhar para a seção peer [xxx] que tenha um valor de host correspondente. Se host=dynamic, então nenhuma correspondência será encontrada até que o cliente SIP esteja registrado. Meios de Comunicação de Dados [Redes de Computadores] 310 Configuração da seção geral [general] A seção geral do sip.conf inclui as seguintes variáveis: allow = <codec> Permite codecs na ordem de preferência primeiro, (use antes DISALLOW=ALL de permitir outros codecs) disallow =all Desabilita todos os codecs (configuração global) autocreatepeer=yes|no: Se configurado, qualquer um estará apto a se logar como um peer (Sem checagem de credenciais, útil para operar com o SER). bindaddr = 0.0.0.0 Endereço IP onde o serviços está instalado (Listen) canreinvite= update|yes|no (configuração global) context=default Contexto default para a entradas de chamadas em extensions.conf. defaultexpirey=120 Tempo padrão do registro de entrada e a saída. Meios de Comunicação de Dados [Redes de Computadores] 311 externip=200.180.4.110 Endereço IP que será colocado em mensagens SIP, se o * estiver atrás de um dispositivo NAT. localnet = endereço local e máscara de rede 192.168.1.0/255.255.255.0 Configura o “from”padrão como fromdomain = <domain> domínio nas mensagens SIP quando atuando como um cliente SIP maxexpirey=3600 Tempo máximo de registro que iremos permitir. nat=yes|no Configuração global notifymimetype=text/plain Permite sobrescrever o mime-type (mime = multipurpose internet mail extensions) no campo MWI NOTIFY usado nas mensagens on-line do voicemail. pedantic= yes|no Habilita a checagem, lenta, dos identificadores de chamada, cabeçalhos SIP com múltiplas linhas e cabeçalhos codificados em URI (uniform resource identifier) Meios de Comunicação de Dados [Redes de Computadores] 312 port=<portno> Porta TCP a qual se ligar register => Registra com um provedor SIP <username>@<sip client/peer id in sip.conf>/<extension> srvlookup = yes|no Habilita DNS SRV lookups em chamadas tos=<valor> Seta o campo tipo de serviço nos pacotes SIP. Quando usar o Asterisk em lowdelay|throughput|reliability ambientes com Diffserv, tos=0xB8 seta os bits do Diffserv para EF (Expedited mincost Forwarding). |none (valores núméricos também são aceitos, como tos=184. videosupport=yes|no Liga o suporte para vídeo no SIP useragent Permite que o cabeçalho SIP “User-Agent”possa ser customizado. trustpid=yes|no Se é possível confiar na identificação da parte remota realm=meu realm Muda autenticação a do forma de Asterisk(default) para sua própria. Requer Asterisk v1.x Meios de Comunicação de Dados [Redes de Computadores] 313 Configurações do SIP – peers e clients Estas variáveis podem ser configuradas para cada definição de peer SIP. accountcode Usuários podem estar associados à um código de contabilização. amaflags=defa Categorização de registros CDR (CDR – ult|omit|bil Registro detalhado ling|documentation bilhetagem). de chamadas usado na callgroup canreinvite Se o cliente é capaz de suportar SIP reinvites context Contexto no plano de discagem para as chamadas de saída deste cliente. defaultip Endereço Ip default deste cliente, se especificado host=“dynamic”.Usado se o cliente não registrou em qualquer outro endereço IP dtmfmode Como o cliente gerencia a sinalização DTMF fromuser Especifica o usuário para colocar no “from”ao invés do callerid (sobrescreve o callerid) quando colocando chamadas para outro peer (outro SIP proxy). fromdomain=<d Configura o domínio Meios de Comunicação de Dados [Redes de Computadores] default “from:” nas 314 omain> mensagens SIP quando colocando chamadas para um “peer”. host= Como encontrar o cliente: IP ou nome do host. Se você quiser que o telefone se registre, use a palavra dynamic ao invés do IP do host. incomi nglimit e Limita o número de chamadas ativas simultâneas para um cliente outgoinglimit SIP. insecure Não verifica o ip do host e a porta para o peer (não usuário). language O código de linguagem definido em indications.conf – Define a linguagem para os “prompts” e sinais locais de telefonia. mailbox Extensão da caixa postal de e-mail (Para indicações de espera de mensagens) md5secret Hash MD5 de “<usuário>:asterisk:<secret>” (pode ser usado ao invés de secret). nat Esta variável muda o comportamento do Asterisk para cliente atrás de um firewall. Isto não resolve o problemas se o Asterisk estiver atrás de um Firewall e o cliente fora. Meios de Comunicação de Dados [Redes de Computadores] 315 permit,deny,ma Endereço IP e restrição de rede pickupgroup Grupo que pode capturar as chamadas de sk colegas usando *8 e a aplicação pickup() na extensão *8 port Porta SIP do cliente qualify=yes|no Verifica se o cliente está alcançável ou não restrictid=yes|no Para ter o callerid restrito -> Enviando como ANI;use isto para ocultar o callerid rtptimeout Termina as chamadas se não houver atividade RTP por x segundos, quando não estiver em espera (hold) rtpholdtimeout Termina a chamada se não houver atividade RTP quando em espera (hold) (deve ser maior que o rtptimeout) type=peer|user|f riend Relacionamento com o cliente (provedor de saída ou full client) secret Se o Asterisk estiver agindo como um servidor SIP, então este cliente SIP deve logar com esta senha (Um segredo compartilhado). Se o Asterisk estiver agindo como SIP Client para um servidor SIP remoto que requer autenticação do tipo SIP INVITE, então este Meios de Comunicação de Dados [Redes de Computadores] 316 campo é usado para autenticar os SIP INVITEs que o Asterisk envia para o servidor remoto username Nome do usuário usado no SIP INVITE allow-disallow Permitir ou negar codecs musiconhold Configura as classe de música em espera em chamadas de um telefone SIP. Notas: • O Asterisk não suporta chamadas SIP sobre TCP, apenas sobre • O Asterisk usa a entrada UDP. de um fluxo RTP como fonte de sincronização de tempo para enviar o seu fluxo de saída. Se o fluxo de entrada é interrompido devido a supressão de silêncio então a música em espera terá cortes. Em resumo, você não pode usar supressão de silencio em telefones SIP. SIP NAT Traversal A tradução de endereços IP (NAT) tem sido usada pela maioria dos provedores de serviço e empresas como uma maneira de contornar os problemas da falta de endereçamento IP. Normalmente as empresas recebem um pequeno bloco de endereços IP que varia normalmente de 1 a 256 endereços “válidos”. Já os usuários domésticos recebem um endereço válido dinâmico nos seus roteadores e usam endereços inválidos atrás destes roteadores. Meios de Comunicação de Dados [Redes de Computadores] 317 O NAT resolve este problema mapeando os endereços internos para endereços públicos externos. Um endereço IP:Porta interno é mapeado para um endereço IP:Porta externo. Com este mapeamento o roteador sabe como encaminhar de volta um pacote vindo da rede externa. Este mapeamento é valido por um tempo pré-determinado, após o qual na ausência de tráfego é descartado. Existem quatro tipos de NAT. Como definidos • Full Cone • Restricted Cone • Port Restricted Cone • Symmetric Para um dado endereço interno, os três primeiros tipos de NAT mantêm um mapeamento do seu endereço interno que é independente do endereço de destino sendo visto. O quarto tipo de NAT irá alocar um novo mapeamento para cada endereço de destino independente. A menos que haja uma tabela de mapeamento estático. O mapeamento que abre quando o primeiro pacote é enviado de um cliente através do NAT pode ser válido apenas por uma certa quantidade de tempo, (Tipicamente alguns minutos), a menos que os pacotes continuem, a ser enviados e recebidos em uma porta IP. Full Cone (Cone Completo) No caso do “Full Cone”, o mapeamento é bem estabelecido e qualquer um da Internet pública que queira alcançar um cliente atrás do NAT, precisa Meios de Comunicação de Dados [Redes de Computadores] 318 apenas saber o esquema de mapeamento de forma a mandar pacotes para ele. Por exemplo: Um computador recebendo na porta atrás de um NAT com IP 10.0.0.1 enviando e 8000 é mapeado para a porta externa IP no NAT de 200.180.4.168:1234. Qualquer um na Internet pode enviar pacotes para este endereço e porta IP e estes pacotes serão passados para o cliente na máquina esperando em 10.0.0.1:8000. É o caso de Firewalls sem controle de sessão. Normalmente implementado através de filtros de pacotes e é o tipo mais inseguro de Firewall e cada vez menos comum nos dias de hoje. Meios de Comunicação de Dados [Redes de Computadores] 319 Restricted Cone (Cone Restrito) No caso de cone restrito, o par IP/Porta externo só é aberto uma vez que o computador interno envie dados para o endereço de destino IP específico. Por exemplo: No caso onde o cliente envia um pacote para um computador externo, o NAT mapeia o cliente 10.0.0.1:8000 para o 200.180.4.168:1234. Assim o computador externo pode enviar pacotes de volta. Entretanto o NAT irá bloquear pacotes vindos de outros computadores externos. Note que neste caso o Firewall tem controle sobre a sessão, esperando pacotes pertencentes à uma sessão, mas uma vez aberto, aquele computador pode iniciar qualquer sessão independente da porta (200.210.1.1:3000 200.210.1.1:3001...). Port Restricted Cone (Cone restrito por porta) Um NAT do tipo “port restricted” é quase idêntico ao “Restricted Cone”, mas neste caso o NAT irá bloquear todos os pacotes a menos que o cliente tenha previamente enviado um pacote para o IP e porta que está enviando para o NAT. Desta forma, se o cliente enviar para um computador externo para a porta 1010, o NAT apenas irá permitir pacotes de volta se eles vierem de 200.180.4.168 na porta 1010. Neste caso o Firewall tem um controle maior da sessão, só permitindo que pacotes pertencendo àquela sessão possam retornar, ao final da sessão, se o computador de destino resolver enviar pacotes de uma porta diferente (200.210.1.1:10000) estes não serão aceitos. Meios de Comunicação de Dados [Redes de Computadores] 320 Simétrico O último tipo de NAT é o simétrico, ele é diferente dos três primeiros. Um mapeamento específico do IP:Porta para um NAT público IP:Porta é dependente do endereço de destino para o qual o pacote é enviado. Então por exemplo, se um cliente envia de 10.0.0.1:8000 para o computador B, ele pode ser mapeado como 200.180.4.168:1234. um endereço IP diferente, ele é Se enviar da mesma porta para mapeado de forma diferente 200.180.4.168:5678. O computador A e B podem responder apenas para este mapeamento. Se qualquer um tentar enviar para a outra porta mapeada, estes pacotes são descartados como no caso do Cone Restrito. O par externo IP:porta é aberto apenas quando o computador interno envia dados para um destino específico. Resumo dos tipos de Firewall Precisa enviar dados Full Cone Restricted Cone Port Restricted Simétrico Porta determinada Não Sim Sim Sim Sim Sim Sim Não Meios de Comunicação de Dados [Redes de Computadores] IP bem Restringe a entrada ao Não Só o IP Sim Sim 321 NAT na passagem da sinalização SIP Existem duas partes de uma chamada baseada em SIP. A primeira é a sinalização, que é um protocolo de mensagens para estabelecer uma chamada. O segundo é realmente o fluxo de mídia. Os pacotes de RTP viajam diretamente entre os dispositivos finais. A sinalização SIP pode atravessar o NAT de uma forma bastante direta, desde que exista um proxy, a um salto de distância do NAT, que receba as mensagens SIP do cliente (Através do NAT) e então retorne as mensagens para o mesmo lugar. O proxy precisa retornar os pacotes de SIP para a mesma porta. NAT na passagem da sinalização SIP Existem duas partes de uma chamada baseada em SIP. A primeira é a sinalização, que é um protocolo de mensagens para estabelecer uma chamada. O segundo é realmente o fluxo de mídia. Os pacotes de RTP viajam diretamente entre os dispositivos finais. A sinalização SIP pode atravessar o NAT de uma forma bastante direta, desde que exista um proxy, a um salto de distância do NAT, que receba as mensagens SIP do cliente (Através do NAT) e então retorne as mensagens para o mesmo lugar. O proxy precisa retornar os pacotes de SIP para a mesma porta de onde ele recebeu os pacotes (Não a porta SIP 5060). O SIP tem etiquetas (tags) que dizem ao proxy para fazer isto – A etiqueta recebido diz ao proxy para retornar um pacote para um IP específico e a etiqueta “rport” guarda a porta para onde retornar. A maioria dos proxys ainda não implementa a etiqueta “rport”, e alguns clientes não vão processar as mensagens SIP corretamente. Meios de Comunicação de Dados [Redes de Computadores] 322 Se estas etiquetas estiverem presentes, pelo menos em princípio o mecanismo existe para atravessar o NAT. Outro modo simples de atravessar o NAT é usar TCP para a sinalização SIP entre o cliente e o proxy. Desde que a conexão TCP é aberta através do NAT diretamente do cliente para o proxy. A sinalização irá proceder sem bloqueio. Novamente, muitos proxies ainda não implementaram ainda a opção TCP e trabalham apenas usando UDP. Note que a sinalização SIP deveria estar apta a atravessar quaisquer dos quatro tipos de NAT se o proxy retornar as mensagens de SIP da mesma porta fonte que ele recebeu a mensagem inicial. A mensagem inicial SIP, enviada para o proxy IP:Port, abre o mapeamento do NAT, e o proxy retorna os pacotes do NAT para o mesmo IP:Porta. Isto é permitido em qualquer cenário de NAT. Registrar um cliente que está atrás de um NAT requer ou um Registrar que possa salvar o IP:Porta na informação de registro baseado na porta e IP que ele vê como fonte da mensagem SIP ou um cliente que saiba do seu endereço mapeado externamente e porta e possa inseri-lo na informação de contato como IP:Porta de forma a receber as mensagens SIP. É preciso tomar cuidado em usar um intervalo de registro menor que o “keepalive” para o mapeamento de NAT. NAT no fluxo de mídia RTP O RTP para atravessar um NAT não tem uma solução tão fácil como à sinalização SIP. No caso do RTP, o corpo da mensagem SIP contém informações sobre os pontos finais, necessárias a permitir a comunicação de um com o outro. Esta informação é contida na mensagem SDP. Os dispositivos preenchem esta informação de acordo com o que eles sabem sobre si mesmos. Um cliente situado atrás de um NAT conhece apenas sua porta interna IP:Porta e é isto que ele coloca no corpo SDP da mensagem SIP. Quando o ponto de destino final quer enviar pacotes para o ponto originador, Meios de Comunicação de Dados [Redes de Computadores] 323 ele irá usar a informação SDP recebida contendo o endereço IP interno do originador e os pacotes nunca vão chegar lá. Aqui vai um exemplo de um “trace” de uma mensagem INVITE de um cliente SIP atrás de um NAT como recebida pelo gateway. Existe um proxy no meio do caminho. 001 INVITE sip:[email protected] SIP/2.0 002 Via: SIP/2.0/UDP 211.123.66.223:5060;branch=a71b6d57-507c77f2 003 Via: SIP/2.0/UDP 10.0.0.1:5060;received=202.123.211.25;rport=12345 004 From: <sip:[email protected]>;tag=108bcd14 005 To: sip: [email protected] 006 Contact: sip: [email protected] 007 Call-ID: [email protected] 008 CSeq: 703141 INVITE 009 Content-Length: 138 010 Content-Type: application/sdp 011 User-Agent: HearMe SoftPHONE 012 013 v=0 014 o=deltathree 0 0 IN IP4 10.0.0.1 015 s=deltathree 016 c=IN IP4 10.0.0.1 Meios de Comunicação de Dados [Redes de Computadores] 324 017 t=0 0 018 m=audio 8000 RTP/AVP 4 019 a=ptime:90 020 a=x-ssrc:00aea3c0 No trace acima, o Endereço IP na linha 003 do cabeçalho SIP é o endereço IP onde o cliente pensa que está (10.0.0.1). Mas o Proxy sabe que o endereço IP que ele realmente recebeu o pacote. Então ele adiciona as etiquetas “received”e “rport” com o endereço IP e a porta após o mapeamento do NAT. Estas etiquetas permitem ao proxy encaminhar as mensagens SIP de volta ao cliente via NAT. Mas a informação que é usada de forma a passar os dados de voz (A conexão RTP) é mantida mais embaixo na mensagem nas linhas 014 e 016. O cliente espera receber na porta 8000 (m=) no IP 10.0.0.1 (c=), que é porta que ele vê à si próprio, e como existe um segundo ponto final irá retornar os pacotes. O resultado é que uma vez que a chamada esteja estabelecida (A sinalização SIP passa) o áudio não é recebido. Se o cliente estiver atrás de um dos tr6es primeiros tipos de NAT, então a solução de atravessar o NAT é simples. O cliente deve descobrir como seu IP:Porta informação aparece para o mundo e então deve colocar esta na mensagem SDP ao invés da informação do seu IP:Porta interno. Existem dois métodos para um cliente de determinar o endereço publicamente mapeado para o IP:Porta. O primeiro é perguntar ao NAT, o segundo é perguntar a alguém fora do NAT na rede pública. Meios de Comunicação de Dados [Redes de Computadores] 325 Formas de passagem pelo NAT Existem inúmeros mecanismos criados para a passagem pelo NAT. A maioria funciona para os NATs do tipo Full Cone, Restricted Cone e Port Restricted Cone, entretanto apenas o RTP Relay funciona para os NATs do tipo simétrico. Felizmente o Asterisk pode atuar como um RTP Relay usando a opção “canreinvite=no” para aquela extensão no arquivo sip.conf. Podemos dividir os métodos de passagem de NAT em Near-End-Nat Tarversal (Soluções nos clientes) e Far-End-Nat-Tarversal (Soluções no servidor). Soluções Near-End-Nat-Traversal • UPnP • ALG • STUN • Configuração Manual • ICE Soluções Far-End-Nat-Traversal • Comedia (Conexion Oriented Media) • TURN – Traversal of UDP using Relay NAT Meios de Comunicação de Dados [Redes de Computadores] 326 UPnP Um cliente pode perguntar para o NAT como ele está mapeado para um par IP:Porta através de um protocolo chamado Universal Plug and Play. Esta é uma solução que está sendo promovida pela Microsoft (Entre outros). O cliente pergunta ao NAT via UPnP que mapeamento ele deve usar se ele quer receber na porta x. O NAT responde com o par IP:Porta que alguém na rede pública deveria usar para alcançar o cliente naquela porta. Muitos fabricantes de dispositivos NAT já incluíram UPnP em seus produtos. Um problema é que o UPnP não vai funcionar no caso de NATs cascateados. STUN – Simple Traversal of UDP NAT Na ausência de um mecanismo para se comunicar com o dispositivo NAT, o melhor meio para o cliente determinar seu par IP:Porta externo é perguntar ao servidor situado na Internet Pública como ele vê seu endereço. Neste cenário existe um servidor que fica esperando estes pacotes (vamos chamar uma Probe NAT). Quando ele recebe um pacote ele retorna uma mensagem da mesma porta para a fonte do pacote recebido contendo o par IP:porta que ele vê no cabeçalho do pacote enviado. Em todos os casos (Todos os 4 casos de NAT), o cliente irá receber um pacote de retorno. O cliente então vai determinar: 1. Se ele está atrás de um NAT (O IP:Porta contido é diferente do par IP:Porta que ele pensa que está) 2. Qual par IP:Porta publico ele deveria usar para colocar na mensagem SDP de forma que o ponto final alcance-o Meios de Comunicação de Dados [Redes de Computadores] 327 Por exemplo, se o cliente quer ser alcançado em 10.0.0.1:8000, ele irá primeiro enviar uma consulta à probe NAT pela porta 8000. A probe NAT irá realmente receber uma consulta do pacote 200.180.4.168:1234 e assim irá responder para o par IP:porta com o pacote contendo 200.180.4.168:1234. O cliente então colocar isto no seu SDP “m=AUDIO 1234” e “c=200.180.4.168”, o cliente continua escutando na porta 10.0.0.1:8000. Isto irá funcionar nas seguintes situações: 1. O cliente deve enviar e receber o RTP na mesma porta. 2. O cliente deve enviar a mensagem SIP logo depois de enviar a consulta para a probe NAT. Se existir um longo atraso o NAT pode ter um timeout. 3. No caso de Restricted Cone e Port Restricted Cone, o cliente deve enviar o pacotes para o ponto final antes que o NAT permita pacotes do ponto final para o cliente. Isto não vai funcionar no caso de NAT simétrico, pois o endereço da probe NAT é diferente daquele do ponto final e deste modo o mapeamento da probe NAT irá ver é diferente daquele que o ponto final usa para enviar pacotes até o cliente naquele par IP:Porta. STUN - Simple Traversal de UDP através de NAT (Travessia simples do UDP sobre o NAT). é um protocolo para configurar o tipo de probe NAT como foi descrito. Ele realmente faz um pouco mais que apenas retornar o par IP:Porta público, ele pode também determinar o tipo de NAT que você está atrás. Clientes que usam o protocolo STUN já existem como o XTEN, por exemplo. Os pedidos de STUN especificam os seguintes parâmetros: RESPONSE-ADDRESS - O servidor STUN irá enviar sua resposta para o par IP:Porta especificado no atributo RESPONSE-ADDRESS. Se este campo não estiver presente, então o servidor envia sua resposta no par IP:Porta de onde ele recebeu o pedido. Se ambas as “flags” Change IP e Meios de Comunicação de Dados [Redes de Computadores] 328 Change Port não estiverem setadas, o STUN responde do par IP:Porta que o pacote inicial foi enviado. Se o Change IP estiver setado, o servidor responde de um IP diferente e se o Change Port estiver setado então ele responde de uma porta diferente. A resposta do STUN contém as seguintes informações: MAPPED-ADDRESS – O par IP:Porta do cliente como visto no primeiro servidor STUN fora do NAT à receber o pedido. CHANGED-ADDRESS – O Endereço IP que deveria ser a fonte da resposta retornada se o pedido foi feito com o “flag” Change IP setado. SOURCE-ADDRESS – O Par IP:Porta de onde a resposta STUN foi enviada. Usando uma combinação de diferentes pedidos ao servidor STUN, um cliente pode determinar se ele está na Internet aberta ou se está atrás de um Firewall que bloqueia o UDP ou se ele está atrás de um NAT e de que tipo. ALG – Aplication Layer Gateway Esta técnica se vale da instalação de um Firewall/NAT melhorado chamado um gateway de camada de aplicação (ALG) que entende a relação entre os fluxos de mídia e as mensagens de sinalização. O ALG processa os fluxos de mídia e sinalização de forma a refletir o endereço público e portas na comunicação para fora do Firewall, em outras palavras toda necessária é feita no gateway. a tradução Roteadores Cisco mais recentes com IOS/Firewall e o Pix Firewall permitem estes recursos. Meios de Comunicação de Dados [Redes de Computadores] 329 Dica: Vários roteadores ADSL já possuem ALG. Tive a infelicidade de pegar algumas implementações com bugs. Neste caso o sintoma foi que o reoteador travou e foi preciso reinicializá-lo. O problema foi corrigido desabilitando o ALG pela interface telnet do roteador. Pela interface Web não havia esta opção. Dois equipamentos com chipset GlobeSpan Virata apresentaram este problema nos nosso slaboratórios. Configuração manual Neste método o cliente é manualmente configurado com os detalhes dos endereços públicos IP e portas que o NAT irá usar para sinalização e mídia. Neste caso o NAT deve ser configurado manualmente com mapeamentos estáticos no roteador. O Asterisk permite ser configurado de forma manual quando está atrás de um NAT. No arquivo sip.conf na seção geral, as instruções: Externip=Endereço IP Externo Localnet=Endereço da Rede Local Interna Permitem que quando o Asterisk está enviando pacotes SIP para fora da rede o endereço seja substituído pelo endereço definido no comando Externip. A linha Localnet define o que é rede local, todas as redes que não estiverem na faixa definida em localnet são externas. Com isto o Asterisk sabe quando deve substituir os endereços dos cabeçalhos dependendo do peer de destino. No arquivo RTP.CONF é possível definir em que portas RTP o Asterisk vai trabalhar. ; Meios de Comunicação de Dados [Redes de Computadores] 330 ; RTP Configuration ; [gene ral] ; ; RTP start and RTP end configure start and end addresses ; rtpstart=10 000 rtpend=20 000 COMEDIA Conexion Oriented Media A solução acima funciona bem (Servidor STUN) para os três primeiros tipos de NAT. O quarto caso (NAT simétrico) não irá permitir este esquema, pois ele tem diferentes mapeamentos dependendo do endereço IP alvo. Desta forma o mapeamento que o NAT designado entre o cliente e a probe NAT é diferente daquele entre o cliente e o gateway. No caso de NAT simétrico o cliente deverá enviar o RTP para e receber o RTP de volta do mesmo endereço IP. Qualquer conexão RTP entre um ponto final fora do NAT e um dentro do NAT deve ser estabelecido ponto a ponto e assim (Mesmo se uma conexão SIP já foi estabelecida) o ponto final fora do NAT deve esperar até ele receber um pacote de um cliente antes que ele possa saber para onde responder. Isto é conhecido como “Mídia orientada a conexão”. Meios de Comunicação de Dados [Redes de Computadores] 331 Se for desejado que se falem, ambos, UACs que estão atrás de NATs e UACs na Internet aberta, então ele deve saber se pode confiar na mensagem SDP que ele recebe na mensagem SIP, e quando ele precisa esperar receber um pacote diretamente antes que o cliente abra um canal de volta para a par IP:porta fonte daquele pacote. Uma proposta para informar o ponto final para esperar um pacotes de entrada e adicionar uma linha na mensagem SDP (Vindo do cliente atrás do NAT). a=direction:active Quando o dispositivo lê esta linha, ele entende que o cliente iniciando irá ativamente estabelecer o par IP:Porta para o qual o dispositivo deve retornar o RTP, e que o par IP:Porta encontrado na mensagem SDP deve ser ignorado. A maioria dos clientes SIP não suportam a diretiva “a=”. Até eles suportarem deve existir algum tipo de tradutor no meio do fluxo SIP. TURN – Traversal using Relay NAT. Se um dispositivo suporta mídia orientada a conexão, então o problema de atravessar um NAT simétrico está resolvido. Dois cenários ainda são problemáticos. 1. Se o ponto final não suporta a diretiva a=direction:active tag. 2. Se ambos os pontos finais estão atrás de NATs simétricos. Em qualquer um dos casos, uma solução é ter um Relay de RTP no meio do fluxo RTP entre os pontos finais. O Relay RTP age como um segundo ponto final para o qual os dispositivos reais tentam se comunicar um com o outro. Tipicamente, chamado existiria um servidor no meio do fluxo SIP (Aqui de NAT Proxy) que vai manipular o SDP de forma a instruir os pontos finais à enviar o RTP para o Relay ao invés de diretamente de um para Meios de Comunicação de Dados [Redes de Computadores] 332 o outro. O Relay estabeleceria seu próprio mapeamento de uma sessão, guardando o par IP:porta de cada ponto final para onde ele deveria enviar os pacotes RTP. O seguinte é um típico fluxo de chamada que pode ser instanciado entre um agente usuário atrás de um NAT simétrico e um gateway de voz na Internet. ICE – Interactivity Connectivity Establishment O ICE está sendo desenvolvido pela IETF no grupo de trabalho MMUSIC e prove um arcabouço para unificar as várias técnicas de travessia do NAT. Isto vai permitir que cliente VoIP atravessem com sucesso uma grande variedade de firewalls que eistem entre o usuário remoto e a rede. ICE define uma padronização para os clientes SIP de forma a determinar que tipo de firewall existe entre eles e os servidores e determinar um endereço IP no qual eles possam se comunicar. Usando mecanismos como STUN, TURN, RSIP endereços localmente configurados que vão prover um endereço onde o cliente poderá se comunicar. A grande vantagem do ICE é a uniformização dos métodos de passagem por NAT. O ICE usa um processo interativo onde é feita a descoberta do melhor método a ser usado. Soluções Práticas para o Asterisk O mais difícil a respeito do NAT no Asterisk é entender que existem diversas situações de projeto e cada uma deve ser tratada individualmente. Em primeiro lugar vamos tratar como duas soluções separadas. • Asterisk atrás de NAT • Clientes atrás de NAT Meios de Comunicação de Dados [Redes de Computadores] 333 Obviamente existem diversas situações intermediárias e a coisa se complica pensando que temos diferentes tipos de NAT (Full Cone, Restricted Cone,Port Restricted Cone e Simétrico). Para aumentar a complexidade temos clientes que suportam diferentes tipos de soluções para NAT (TURN, STUN, ICE, ALG). Isto pode tornar o problema realmente complexo. Para simplificar, vamos usar duas situações que são as mais típicas. O Asterisk está atrás de um Firewall sob domínio da área técnica da empresa. Os clientes são externos e não temos domínio sobre a configuração dos firewalls destes clientes. Asterisk atrás de NAT Quando o Asterisk está atrás de NAT podemos usar as configurações localnet e externip no arquivo sip.conf além de redirecionar as portas no Firewall. Supondo que o endereço IP externo fosse 200.184.7.1 e que a rede local interna fosse 192.168.1.0/24. Isto ficaria assim: [general] nat=yes externip = 200.84.7.1 localnet = 192.168.1.0/255.255.255.0 Além disso, é preciso redirecionar as portas UDP 5060 e RTP de 10000 à 20000 no Firewall. Se você quiser reduzir esta faixa pode editar o arquivo rtp.conf. Meios de Comunicação de Dados [Redes de Computadores] 334 Cliente atrás de NAT Quando um cliente está atrás de um NAT, normalmente este NAT é dinâmico, principalmente quando em uso doméstico. as opções de o cliente suportar Com isto, só restam STUN ou UPnP para que possa aprender o endereçamento de uma fonte externa ou a partir do roteador respectivamente. Uma outra forma de um cliente atrás de um NAT operar com o Asterisk é o uso de um túnel baseado em PPTP, IPIP ou IPSec, isto pode ser feito através de um roteador (Cisco ou Linux). Quando operar um cliente atrás de um NAT configure STUN no cliente, e coloque os seguintes parâmetros na configuração do cliente no arquivo sip.conf. nat=yes ; Ignora o cabeçalho VIA e usa o endereço de onde chega o pacote. canreinvite=no ; Força o fluxo de mídia pelo Asterisk. qualify=500 ; Força que um pacote exploratório que mantém o NAT aberto Considerações finais sobre o NAT Vários provedores usamm soluções do tipo RTP Relay que permitem uma flexibilidade melhor, isto é feito usando o SER (SIP Express Router) e o rtpproxy da PortaOne ou o MediaProxy da ag-projects.de. Apesar de serem flexíveis elas adicionam muita complexidade ao ambiente. Em ambientes corporativos a solução de VPN me parece ser a mais simples e segura. Para provedores de VoIP talvez não haja muita escolha. O uso do IAX também é uma opção para quem quer se livrar dos problemas com NAT. Meios de Comunicação de Dados [Redes de Computadores] 335 Exercícios 1.O SIP é um protocolo do tipo texto similar ao __________ e_________ IAX H323 HTTP SMTP 2. O SIP pode ter sessões do tipo: (marque todos que se aplicam) Voz Chat Correio Eletrônico Jogos Vídeo 3. Podemos citar como componentes do SIP o: (marque todos que se aplicam) User Agent Proxy Server Media gateway Registrar Server PSTN Server 4. Antes que um telefone possa receber chamados, ele precisa se _________ 5. O SIP pode operar em modo PROXY e modo REDIRECT, a diferença entre eles é que no caso do PROXY a sinalização sempre passa pelo Meios de Comunicação de Dados [Redes de Computadores] 336 computador intermediário (SIP Proxy) enquanto no modo REDIRECT os clientes sinalizam diretamente. Correto Incorreto 6. No modo PROXY o fluxo de mídia e a sinalização passam pelo “SIP proxy” e não diretamente de um cliente para o outro. Correto Incorreto 7. O Asterisk atua como um SIP Proxy. Correto Incorreto 8. A opção canreinvite=yes/no é de importância fundamental, pois vai definir se o fluxo de mídia vai passar pelo Asterisk ou não. A afirmação está: Correta Incorreto 9. O Asterisk suporta sem problemas supressão de silêncio em canais SIP. A afirmação está: Correta Incorreto 10. O tipo mais difícil de NAT para transpor é o: Full Cone Symmetric Restricted Cone Port Restricted Cone Meios de Comunicação de Dados [Redes de Computadores] 337 REFERÊNCIAS BIBLIOGRÁFICAS ASSIS, João Mário de. Implementando VPN em Linux; Universidade Federal de Lavras, Setembro de 2004 CASSETARI, Luiz Antonio Vieira Filho. HowTo oficial do OpenVPN COMER, Douglas E. / Stevens, David L. Interligação em Rede com TCP/IP Volume II - projeto, implementação e estrutura. Editora Campus 1999 DERFLER JUNIOR, Frank J. Guia de Conectividade: terceira edição americana. Rio de Janeiro: Campus, 1995. GALLO, Michael A. / Hancock, William M. Comunicação Entre Computadores e Tecnologias de Rede. Primeira edição – Editora Thomson Pioneira, 2003 HOSNER, Charlie. OpenVPN and the SSL VPN Revolution - SANS Institute 2004 KUROSE, James F., ROSS Keith W. Redes de Computadores e a Internet: Uma abordagem top-down. 3. ed. São Paulo: Pearson Addison Wesley, 2006. MORIMOTO, Carlos E. Redes, Guia Prático. Porto Alegre: Sul Editores, 2010. NAKAMURA, Emilio Tissato; GEUS, Paulo Licio de. Segurança de Redes em ambientes Cooperativos. 3° Edição, Editora Futura, 2002. SARLO, Lino, da Silva. “Virtual Private Network”. Aprenda a construir rede privadas virtuais em plataformas Linux e Windows, Editora Novatec 2003 TANENBAUM, Andrew C. Redes de Computadores 3ª Edição. Ed. Campus, Rio de Janeiro de 1997 www.asterisk.org www.digium.com Meios de Comunicação de Dados [Redes de Computadores] 338 http://www.digium.com/handbook-draft.pdf www.voip-info.org/wiki-asterisk www.sineapps.com www.asteriskdocs.org/modules/news/ www.astricon.net www.asteriskguru.com www.asteriskbrasl.org Smith, Jared; Meggelen, Jim Van; Madsen Leif; Asterisk The Future of Telephony, Primeira Edição, Setembro de 2005, O Reilly Books. Mahler, Paul, VoIP telephony with Asterisk, 2004, Signate. Meios de Comunicação de Dados [Redes de Computadores] 339 Hino Nacional Hino do Estado do Ceará Ouviram do Ipiranga as margens plácidas De um povo heróico o brado retumbante, E o sol da liberdade, em raios fúlgidos, Brilhou no céu da pátria nesse instante. Poesia de Thomaz Lopes Música de Alberto Nepomuceno Terra do sol, do amor, terra da luz! Soa o clarim que tua glória conta! Terra, o teu nome a fama aos céus remonta Em clarão que seduz! Nome que brilha esplêndido luzeiro Nos fulvos braços de ouro do cruzeiro! Se o penhor dessa igualdade Conseguimos conquistar com braço forte, Em teu seio, ó liberdade, Desafia o nosso peito a própria morte! Ó Pátria amada, Idolatrada, Salve! Salve! Brasil, um sonho intenso, um raio vívido De amor e de esperança à terra desce, Se em teu formoso céu, risonho e límpido, A imagem do Cruzeiro resplandece. Gigante pela própria natureza, És belo, és forte, impávido colosso, E o teu futuro espelha essa grandeza. Terra adorada, Entre outras mil, És tu, Brasil, Ó Pátria amada! Dos filhos deste solo és mãe gentil, Pátria amada,Brasil! Deitado eternamente em berço esplêndido, Ao som do mar e à luz do céu profundo, Fulguras, ó Brasil, florão da América, Iluminado ao sol do Novo Mundo! Do que a terra, mais garrida, Teus risonhos, lindos campos têm mais flores; "Nossos bosques têm mais vida", "Nossa vida" no teu seio "mais amores." Ó Pátria amada, Idolatrada, Salve! Salve! Brasil, de amor eterno seja símbolo O lábaro que ostentas estrelado, E diga o verde-louro dessa flâmula - "Paz no futuro e glória no passado." Mas, se ergues da justiça a clava forte, Verás que um filho teu não foge à luta, Nem teme, quem te adora, a própria morte. Terra adorada, Entre outras mil, És tu, Brasil, Ó Pátria amada! Dos filhos deste solo és mãe gentil, Pátria amada, Brasil! Mudem-se em flor as pedras dos caminhos! Chuvas de prata rolem das estrelas... E despertando, deslumbrada, ao vê-las Ressoa a voz dos ninhos... Há de florar nas rosas e nos cravos Rubros o sangue ardente dos escravos. Seja teu verbo a voz do coração, Verbo de paz e amor do Sul ao Norte! Ruja teu peito em luta contra a morte, Acordando a amplidão. Peito que deu alívio a quem sofria E foi o sol iluminando o dia! Tua jangada afoita enfune o pano! Vento feliz conduza a vela ousada! Que importa que no seu barco seja um nada Na vastidão do oceano, Se à proa vão heróis e marinheiros E vão no peito corações guerreiros? Se, nós te amamos, em aventuras e mágoas! Porque esse chão que embebe a água dos rios Há de florar em meses, nos estios E bosques, pelas águas! Selvas e rios, serras e florestas Brotem no solo em rumorosas festas! Abra-se ao vento o teu pendão natal Sobre as revoltas águas dos teus mares! E desfraldado diga aos céus e aos mares A vitória imortal! Que foi de sangue, em guerras leais e francas, E foi na paz da cor das hóstias brancas!