====== Asterisk utilizando GOIP(Equipamento VOIP com CHIP Celular) ====== ===== Topologia ===== {{ :infra-estrutura:voip:redevoipgoip.jpeg?direct&400 |}} Para o teste do equipamento GoIP iremos montar a seguinte topologia e bem simples e relativamente fácil. Temos o GoIP configurado para se registrar no asterisk e um telefone IP para teste apenas, este telefone IP poderia ser um softfone ou uma ata com telefone analógico, fica a seu critério. O modelo do GoIP que estou utilizando e o da foto abaixo. {{ :infra-estrutura:voip:1-sim-goip-gsm-voip-gateway-imei-mut-vel-sip-h-323-pptp-vpn-sms-goip.jpg_640x640.jpg?direct&400 |}} Ele possue suporta a apenas 1 chip de celular. Mas para o teste que queremos realizar serve muito bem. ===== O que é o GOIP ===== Mas afinal de contas o que é GoIP? GoIP e um aparelho que possue suporte a você colocar um chip de celular e ele tem "embutido" um cliente SIP que pode se tornar um tronco para o Asterisk realizar chamadas. No caso do GoIP realizar chamadas utilizando o chip de celular instalado no GoIP. Isto e interessante para economia de ligações de celular para celular. No dialplan do Asterisk você pode colocar que determinado padrão de ligações com destino a celular sejam enviado ao tronco do GoIP e todas as demais ligações para a PSTN normal ou circuito E1. ===== Configuração asterisk ===== Para a configuração do GoIP no asterisk precisamos criar um ramal SIP. [goip] canreinvite=no context=goip dtmfmode=rfc2833 fromuser=gsm1 host=dynamic disallow=all allow=ulaw allow=alaw allow=g729 insecure=port,invite secret=123456 type=friend defaultname=goip username=goip nat=yes Tenho outros ramais nesse sip.conf mas apenas vou focar na configuração do GoIP. Vejam que o context do GoIP vai para um contexto chamado **"goip"** que esta definido no arquivo extensions.conf. [goip] exten => 1,1,Wait(1) exten => 1,n,Answer exten => 1,n,Playback(hello-world) exten => 1,n,Wait(2) exten => 1,n,Hangup O qual somente irá dizer **"Hello World"** apenas para teste. agora nos outros ramais SIP, vamos dar uma olhada no ramal 1109, vamos dar uma olhada na definição do ramal. [1109] type=friend username=1109 secret=123456 host=dynamic dtmfmode=rfc2833 context=from-sip canreinvite=no nat=no Bem simples, vamos focar no parametro **"context"**. Repare que ele aponta para o contexto **"from-sip"**. Vamos olhar o contexto **"from-sip"** no arquivo extensions.conf. [from-sip] exten => 1100,1,Answer exten => 1100,n,Dial(SIP/1100) exten => 1100,n,Hangup exten => 1109,1,Answer exten => 1109,n,Dial(SIP/1109) exten => 1109,n,Hangup exten =>_X.,1,Answer exten =>_X.,n,Dial(SIP/goip/${EXTEN}) exten =>_X.,n,Hangup **DETALHE NUNCA UTILIZEM ESSE DIALPLAN COM _X**. Porque? porque ele é muito generico isto é apenas para entendimento, mude o dialplan e deixe ele mais estreito ou seja mais delimitado tipo o _X. casa com qualquer coisa quantas vezes quiser, ou seja, o cara liga para onde quiser, inclusive ligações internacionais e você não gostaria nada de ter sua conta com 6 digitos para pagar no final do mês então seja bem restritivo no seu dialplan e lembre-se isso e um exemplo didático para começar a entender e utilizado em laboratório. :) Voltando ao contexto, ele permite ligar para ramais 1100, 1109 e qualquer coisa utiliza o dial para goip com a extensão informada. ===== Configuração GOIP ===== Vamos a configuração do GoIP e bem simples. Precisamos enumerar alguns dados: Ramal: goip Senha: 123456 Servidor Asterisk:192.168.10.186 Vamos a configurar, no nosso exemplo o endereço IP do GoIP é 192.168.10.181. Esse endereço ip foi setado pela interface PC. No primeiro uso do GoIP você geralmente conecta um pc ou notebook na interface PC do GoIP e configurar para obter ip automatico. O endereço IP padrão do GoIP é 192.168.8.1/24 Ele possue um servidor DHCP na porta PC fornecendo o seguinte range: 192.168.8.100 até 192.168.8.120. Eu setei o endereço ip 192.168.10.181 acessando pelo notebook diretamente conectado na interface PC. E interessante deixar o GoIP setado com ip manual. Vejam a tela de configuração de rede. {{ :infra-estrutura:voip:goip-01.png?direct&400 |}} Agora vamos a configuração do ramal SIP com as seguintes informações {{ :infra-estrutura:voip:goip-02.png?direct&400 |}} Somente isso é necessário configurar no GoIP, meus testes funcionaram com essa configuração. Um item muito interessante e útil é possível realizar pequenos testes a partir da console web do GoIP, tais como enviar sms discar para números, etc. {{ :infra-estrutura:voip:goip-04.png?direct&400 |}} {{ :infra-estrutura:voip:goip-03.png?direct&400 |}} ===== Testes de funcionamento ===== Vamos ver se o GoIP se registrou no asterisk. halljordan*CLI> sip show peers Name/username Host Dyn Forcerport Comedia ACL Port Status Description 1100/1100 (Unspecified) D Yes Yes 0 Unmonitored 1109/1109 192.168.10.178 D No No 5060 Unmonitored goip/goip 192.168.10.181 D Yes Yes 5070 Unmonitored 3 sip peers [Monitored: 0 online, 0 offline Unmonitored: 2 online, 1 offline] halljordan*CLI> vamos realizar uma chamada. halljordan*CLI> halljordan*CLI> == Using SIP RTP CoS mark 5 > 0x7fd738222c40 -- Strict RTP learning after remote address set to: 192.168.10.178:24262 -- Executing [067992920637@from-sip:1] Answer("SIP/1109-00000007", "") in new stack > 0x7fd738222c40 -- Strict RTP switching to RTP target address 192.168.10.178:24262 as source -- Executing [067992920637@from-sip:2] Dial("SIP/1109-00000007", "SIP/goip/067992920637") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/goip/067992920637 > 0x7fd72800ca90 -- Strict RTP learning after remote address set to: 192.168.10.181:16384 -- SIP/goip-00000008 is making progress passing it to SIP/1109-00000007 > 0x7fd72800ca90 -- Strict RTP switching to RTP target address 192.168.10.181:16384 as source > 0x7fd738222c40 -- Strict RTP learning complete - Locking on source address 192.168.10.178:24262 > 0x7fd72800ca90 -- Strict RTP learning complete - Locking on source address 192.168.10.181:16384 -- SIP/goip-00000008 is making progress passing it to SIP/1109-00000007 -- SIP/goip-00000008 answered SIP/1109-00000007 -- Channel SIP/goip-00000008 joined 'simple_bridge' basic-bridge <846d9215-5d5a-4567-ad84-8db1960e5873> -- Channel SIP/1109-00000007 joined 'simple_bridge' basic-bridge <846d9215-5d5a-4567-ad84-8db1960e5873> > Bridge 846d9215-5d5a-4567-ad84-8db1960e5873: switching from simple_bridge technology to native_rtp > Locally RTP bridged 'SIP/1109-00000007' and 'SIP/goip-00000008' in stack -- Channel SIP/goip-00000008 left 'native_rtp' basic-bridge <846d9215-5d5a-4567-ad84-8db1960e5873> -- Channel SIP/1109-00000007 left 'native_rtp' basic-bridge <846d9215-5d5a-4567-ad84-8db1960e5873> == Spawn extension (from-sip, 067992920637, 2) exited non-zero on 'SIP/1109-00000007' halljordan*CLI> halljordan*CLI> halljordan*CLI> Repare na linha marcada que a ligações saiu utilizando o ramal SIP GoIP. Abaixo a foto do ambiente. {{ :infra-estrutura:voip:whatsapp_image_2018-10-13_at_21.40.17.jpeg?direct&400 |}} Att.