====== 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.