Ferramentas do usuário

Ferramentas do site


infra-estrutura:voip:asterisk_goip

Asterisk utilizando GOIP(Equipamento VOIP com CHIP Celular)

Topologia

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.

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.

Agora vamos a configuração do ramal SIP com as seguintes informações

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.

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.

Att.