INTEGRAÇÃO VIVO VOZ NEGÓCIO (VVN) | ASTERISK/FREEPBX/ISSABEL

ATENÇÃO: Se não alterar o user_agent do asterisk como descrito neste procedimento, não adianta seguir, não vai funcionar.


UPDATE 18/07/2024 - Ajuste no arquivo de hosts do seu servidor linux. Frequêntemente nos grupos do telegram, a comunidade tem reclamado que o trunk não registra e/ou status não estabiliza como "registered" etc, na maioria dos casos tenho observado que o servidor em questão não está resolvendo o host metapabx.vivo.net.br da vivo, por este motivo, estamos complementando com essa orientação, que não é mandatória.

UPDATE 25/04/2024 — Adicionado as configurações para PJSIP usando Asterisk Puro, material criado pelo Neimar Avila este que foi de base para produção deste conteúdo do site.

UPDATE 11/04/2024 — Ajustado a linha de REGISTER do tronco SIP para quem está fazendo uso do CHAN_SIP.

UPDATE 02/03/2024 — Adicionado os campos de configuração do VVN para quem utiliza Issabel fazendo uso do CHAN_SIP.

UPDATE 19/06/2023 — Alterando o USER_AGENT (SIP/PJSIP) estabelecer o REGISTER, troca de OPTIONS e conseguir utilizar.

Este material foi baseado na contribuição do Neimar Avila que compartilhou no grupo do telegram as configurações para fazer o uso do Vivo Voz e Negócio no asterisk puro, e do Lucas Adriano que topou este desafio comigo, de dedicar o feriado a homologar em seu ambiente freepbx e gerar esta documentação para comunidade, agradeço o apoio.

Com a modernização da telefonia, as operadoras estão começando a disponibilizar PABX via Cloud, a Vivo fornece o Vivo Voz e Negócio, se trata de um plano de baixo custo, onde voce consegue configurar as linhas através de um login e senha utilizando o protocolo SIP no asterisk.

Laboratório:

  1. Vivo Voz e Negócio(VVN);
  2. FreePBX 15;
  3. Asterisk 18.

No site de gestão da vivo, em linhas, copie a senha do hardphone do número que deseja configurar no seu FreePBX.
Caso não tenha a senha do hardphone voce pode resetar a senha, esta que chegará em seu e-mail. Com isso, vamos no Freepbx para darmos os inícios nas configurações;

Antes de seguir com as configurações na web, faz necessário alterar o user_agent do seu FPBX.

#Arquivo PJSIP(chan_pjsip)
/etc/asterisk/pjsip_custom_post.conf

#Parametros
[global](+type=global)
user_agent=MicroSIP

#reload no asterisk
asterisk -rx "core reload"

#No CLI consultar o user_agent
asterisk -rx "pjsip show settings" | grep -i "user_agent"

Deve ser apresentado o user_agent definido, MicroSIP

#Se estiver utilizando SIP
#Arquivo SIP(chan_sip)
/etc/asterisk/sip_general_custom.conf

#Parametro
useragent=MicroSIP

#reload no asterisk
asterisk -rx "core reload"

#No CLI consultar o user_agent
asterisk -rx "sip show settings" | grep -i "user_agent"



Na guia Connectivity e depois em Trunks, adicione um trunk do tipo PJSIP.

Na aba General, vamos adicionar somente o DDD+número, na plataforma da vivo encontra em "linha/ramal".
Na aba Dialed Number Manipulation Rules não faz necessário alterações, segue para aba pjsip Settings, nesta será feito as seguintes configurações;

General:

Abaixo os campos como devem estar definido:

Username = DDD + Número de Telefone
Auth username = DDD+Numero
Secret = Senha do Hardphone
Authentication = Outbound
Registration = Send
SIP Server = metapabx.vivo.net.br
SIP Server Port = 5060
Context = from-pstn
Transport = 0.0.0.0-udp

Na aba Advanced vamos checar e alimentar os seguintes parâmetros:

DTMF Mode = RFC 4733
Send Line in Registration = Yes
Send Connected Line = No
Permanent Auth Rejection = No
Forbidden Retry Interval = 30 Seconds
Fatal Retry Interval = 30 Seconds
General Retry Interval = 60 Seconds
Expiration = 3600 Seconds
Max Retries = 10000
Qualify Frequency = 30 Seconds
Outbound Proxy = sip:187.50.251.58
User Phone = No
Contact User = DDD+Número
From Domain = metapabx.vivo.net.br
From User = DDD+Número
Client URI = sip:DDD+Número@metapabx.vivo.net.br
Server URI = sip:metapabx.vivo.net.br
Media Address = Deixar em Branco
AOR = DDD+Número
AOR Contact = sip:DDD+Número@metapabx.vivo.net.br:5060
Match (Permit) = 187.50.251.58
Support Path = No
Support T.38 UDPTL = No
T.38 UDPTL Error Correction = None
T.38 UDPTL NAT = No
T.38 UDPTL MAXDATAGRAM = Deixar em Branco
Fax Detect = No
Trust RPID/PAI = No
Send RPID/PAI = No
Send Private CallerID Information = No
Match Inbound Authentication = Auth Username
Inband Progress = No
Direct Media = No
Rewrite Contact = No
RTP Symmetric = Yes
Media Encryption = None
Force rport = Yes
Message Context = Deixar em Branco

Em Codecs deixe somente ALAW

Feito isso, o seu tronco Vivo Voz Negocio está pronto. Importante lembrar que tem que liberar as portas do seu roteador ou firewall a UDP 5060 (SIP) e as portas 16384-65535(RTP) somente para o IP 187.50.251.58, que é o ip do proxy da Vivo.

Realizado um teste de ligação apos as configurações com sucesso, sem dificuldades!

[Issabel] - Configurações do SIP Trunk VVN

Trunk Name:vivo
Outbound CallerID:Login_VVN

Outgoing Settings  
Trunk Name:vivo

PEER Details:
username=Login_VVN
type=peer
secret=Senha_VVN
qualify=5000
port=5060
outboundproxy=187.50.251.58
nat=yes
insecure=port,invite
host=metapabx.vivo.net.br
dtmfmode=rfc2833
disallow=all
context=from-pstn
allow=alaw
fromdomain=metapabx.vivo.net.br

Incoming Settings  
USER Context:Login_VVN

USER Details:
secret=Senha_VVN
type=user
context=from-trunk

Register String:
Login_VVN@metapabx.vivo.net.br:Senha_VVN@187.50.251.58/Login_VVN


[Asterisk Puro] - Configurações do SIP Trunk VVN (PJSIP)

[global] type=global user_agent=MicroSIP [vivo] type=endpoint transport=transport-udp-nat context=from-vivo allow=!all,ulaw,alaw,g729 outbound_auth=vivo_auth outbound_proxy=sip:187.50.251.58\;lr from_domain=metapabx.vivo.net.br aors=vivo user_eq_phone=yes [vivo] type=aor contact=sip:Login_VVN@metapabx.vivo.net.br:5060 outbound_proxy=sip:187.50.251.58\;lr [vivo] type=identify match=187.50.251.58 endpoint=vivo [vivo] type=registration client_uri=sip:Login_VVN@metapabx.vivo.net.br server_uri=sip:metapabx.vivo.net.br outbound_auth=vivo_auth outbound_proxy=sip:187.50.251.58\;lr retry_interval=60 contact_user=Login_VVN [vivo_auth] type=auth auth_type=userpass username=Login_VVN password=Senha_VVN

Configuração do /etc/hosts

Conforme orientado pela LPI - Linux Professional Institute, o arquivo /etc/hosts é usado para resolver nomes para endereços IP e vice-versa. Tanto o IPv4 como o IPv6.
$ cat /etc/hosts
127.0.0.1       localhost issabel.local 
187.50.251.58 metapabx.vivo.net.br
$

"Começar é a parte mais importante de qualquer trabalho" - Platão

Link para acesso ao Telegram FreePBX Brasil

21 comentários:

  1. Parabéns pelo Tutorial!! Muito bom.

    ResponderEliminar
    Respostas
    1. Obrigado pelo seu feedback, é importante para que consigamos evoluir com as documentações para comunidade.

      Eliminar
  2. Tentei no issabel... mas no registro fica só register sent...
    Já, usando a string DDD+TELEFONE@metapabx.vivo.net.br:SENHAVVN@187.50.251.58:5060/DDD+TELEFONE eu consigo obter o status "registered" mas o tronco não comunica...

    ResponderEliminar
    Respostas
    1. Brascar, boa noite.
      Tudo bem?
      Esse documento foi gerado e validado em um issabel que está em produção funcionando, precisa checar as configurações e analisar a sinalização para entender o que está ocorrendo, se for o caso me chame no telegram que tento lhe ajudar com isso.

      Eliminar
    2. Bom dia. Refiz os passos, deu certo. Agora só estou com 1 problema. Que é quando o cliente liga e cai na URA do issabel nenhuma opção é correspondida. Aperto 1, 2 ou 3 e a gravação continua. Quando a ligação entra de outro SIP corresponde normal. Poderá ser algum problema de codec? Eu coloquei o G710A (alaw) mas ainda persiste...

      Eliminar
  3. Amigo. Qual o link pro seu telegram ?

    ResponderEliminar
  4. Bom dia. A Vivo está bloqueando os IPs relacionados as linhas VVN configuradas em PABX, Asterisk e Freepbx. Alguém já descobriu uma forma de contornar essa situação ?
    Já estou com várias reclamações abertas na Vivo, pois pelo contrato dela no VVN, não tem nenhuma cláusula que impeça uso em PABX, e os consultores vendem para os clientes informando que pode ser configurado em PABX IP, então entendo que o que ela começou a fazer é ilegal e feri o contrato assinado pelos clientes.

    ResponderEliminar
  5. Bom dia man.
    Sim, de fato a VIVO está realizando o bloqueio. O que tenho observado é que o VVN via freeswitch não está ocorrendo isso, estou fazendo alguns teste com uns clientes que utilizam, caso der certo ou surgir alguma outra, atualizaremos este posto com as instruções.

    ResponderEliminar
    Respostas
    1. Eu vinha suspeitando desse bloqueio há um tempinho. E está cada vez mais dificil registrar VVN com Asterisk/FreePBX tanto no pjsip quanto no CHAN_SIP... Em relação à esse FreeSWITCH, eu dei uma pesquisada e nao entendi muito bem essa dinâmica. Consegue me dar uma luz sobre isso? Engraçado que a linha VVN registra normal no meu aparelho GrandStream...

      Eliminar
    2. [2024-08-06 17:43:39] NOTICE[1053]: chan_sip.c:16046 sip_reg_timeout: -- Registration for '21XXXXXXXX@187.50.251.58' timed out, trying again (Attempt #131)

      Eliminar
    3. res_pjsip_outbound_registration.c:829 schedule_retry: No response received from 'sip:metapabx.vivo.net.br' on registration attempt to 'sip:21YYYYYYYY@metapabx.vivo.net.br', retrying in '60'

      Eliminar
    4. A vivo tem bloqueado de forma temporária os IPs que saem as requisições de INVITE E REGISTER, e parece que agora tb esta bloqueando quem usa o user_agent=MicroSIP. Experimentem caso seja possivel mudar o IP (reiniciando o modem) ou mudar o user_agent para algum modelo de aparelho VoIP por exemplo Grandstream UCM6202V1.4A 1.0.16.20 ou outro da CISCO. Funcionou aqui pra mim

      Eliminar
  6. Alguém enfrentendo problemas nessa ultima semana de agosto? O meu desconectou e não conecta mais como tronco.

    Apenas no microsip funciona normal, no asterisk(issabel) deixou de funcionar, por aqui o user_agent era o microsip.

    ResponderEliminar
    Respostas
    1. Seu IP externo é fixo ou é dinamico?
      Se for dinâmico, tenta reiniciar o modem. Mas antes de reiniciar o modem mude seu user_agent para outro nome pq a Vivo tá bloqueando quem usa alguns user_agents(que pra eles é quem esta enviado o registro, e a microsip é um agente que pelo que eu entendi tem sido usado para realizar operações que eles consideram ilegais). Depois que eu mudei o meu user_agent e mudei meu IP nao tive mais problemas. Procure na internet sobre lista de user agents de registro de SIP, como Grandstream UCM6202V1.4A 1.0.16.20, ou algum user_agent da CISCO por exemplo. Dessa forma vc "engana" o servidor da vivo e pra eles é um "aparelho" que esta registrando ao inves de um servidor.

      Eliminar
    2. Raphael,
      Precisa garantir que os INVITE SIP estão sendo enviado com o user_agent correto, assim como está descrito nesta documentação.

      Eliminar