Pesquisar

Consultoria para servidor Asterisk

06/01/2025 às 11:54

Descrição do Projeto:

Olá a todos!

Tenho um servidor Asterisk 20.7.0 com PJSIP em um VPS da Hostgator, com IP público.

1.1) Minhas configurações são estas:

[global]
type=global
user_agent=Asterisk
default_realm=<my_domain>
stunaddr=stun.l.google.com:19302
ice_support=y
keep_alive_interval=60

[transport-udp-ipv4]
type=transport
protocolo=udp
bind=0.0.0.0:11050 (Estou usando a porta 11050)
local_net=192.168.0.0/24 (não existe rede local, acabei de colocar este intervalo IP como teste)
external_media_address=<my_public_ip>
external_signaling_address=<my_public_ip>

[transport-udp-ipv6]
type=transport
protocolo=udp
bind=[::]:11050

[transport-tcp-ipv4]
type=transport
protocolo=tcp
bind=0.0.0.0:11050
local_net=192.168.0.0/24
external_media_address=<my_public_ip>
external_signaling_address=<my_public_ip>

[transport-tcp-ipv6]
type=transport
protocolo=tcp
bind=[::]:11050

[ms2024111]
type=endpoint
context=interna
não_permitir=all
allow=ulaw
allow=alaw
allow=gsm
auth=(sem senha para facilitar o teste)
aors=ms2024111
reescrever_contact=yes
rtp_simétrico=yes
force_rport=y
direct_media=no

[ms2024111_auth]
type=auth
auth_type=userpass
nome_de_utilizador=ms2024111
password=1234

[ms2024111]
type=aor
max_contacts=1
remove_existing=yes

[aislan]
type=endpoint
context=interna
não_permitir=all
allow=ulaw
allow=alaw
allow=gsm
auth=
aors=aislan
reescrever_contact=yes
rtp_simétrico=yes
force_rport=y
direct_media=no
;ice_support=yes

[aislan_auth]
type=auth
auth_type=userpass
nome_de_utilizador=aislan
password=1234

[aislan]
type=aor
max_contacts=1
remove_existing=yes

[fernanda]
type=endpoint
context=interna
não_permitir=all
allow=ulaw
allow=alaw
allow=gsm
auth=
aors=fernanda
reescrever_contact=yes
rtp_simétrico=yes
force_rport=y
direct_media=no

[fernanda_auth]
type=auth
auth_type=userpass
nome_de_utilizador=fernanda
password=1234

[fernanda]
type=aor
max_contacts=1
remove_existing=yes

[pcaislan]
type=endpoint
context=interna
não_permitir=all
allow=ulaw
allow=alaw
allow=gsm
auth=
aors=pcaislan
reescrever_contact=yes
rtp_simétrico=yes
force_rport=y
direct_media=no

[pcaislan_auth]
type=auth
auth_type=userpass
nome_de_utilizador=pcaislan
password=1324

[pcaislan]
type=aor
max_contacts=1
remove_existing=yes

[elizandro]
type=endpoint
context=interna
não_permitir=all
allow=ulaw
allow=alaw
allow=gsm
auth=
aors=elizandro
reescrever_contact=yes
rtp_simétrico=yes
force_rport=y
direct_media=no

[elizandro_auth]
type=auth
auth_type=userpass
nome_de_utilizador=elizandro
password=1234

[elizandro]
type=aor
max_contacts=1
remove_existing=yes

Em telefones Android com o aplicativo Linphone (eu testei em outros aplicativos também), ou em computadores com software como Linphone, Zoiper, MicroSIP, eu posso fazer chamadas irrestritas, com boa qualidade, independentemente do tipo de conexão com a Internet que eu uso (WIFI, 4G). Posso fazer chamadas sem problemas entre computadores e telefones, qualquer tipo de conexão.

O problema:

Estou desenvolvendo um dispositivo que tem um Orange PI PC como sua placa central, no qual eu executo o sistema operacional Debian 10 (Buster) e o cliente SIP Linphone.

O problema é que eu posso me registrar no servidor, posso fazer e receber chamadas, mas sem receber áudio, já que não há transmissão de áudio, a chamada sempre cai após 31 segundos.

Abaixo está uma amostra da depuração RTP do console Asterisk:

Recebi o pacote RTP de 179.224.180.148:61511 (tipo 00, seq 000770, ts 3363336177, len 000160)
Enviado pacote RTP P2P para 192.168.0.3:7078 (tipo 00, len 000160)
Recebi o pacote RTP de 179.224.180.148:61511 (tipo 00, seq 000771, ts 336336337, len 000160)
Enviado pacote RTP P2P para 192.168.0.3:7078 (tipo 00, len 000160)
Obteve o pacote RTP de 179.224.180.148:61511 (tipo 00, seq 000772, ts 3363336497, len 000160)

Note que:
179.224.180.148 é o IP do dispositivo que eu usei para chamar de Orange PI
192.168.0.3 é o IP do meu Orange PI.

Pelo pouco que entendo, por alguma razão o Orange PI não está “passando o seu IP público para o servidor”, sei exatamente porquê.

[..]
Atenção:

No Asterisk, se eu configurar os pontos de extremidade com <direct_media=yes>, posso fazer chamadas entre dispositivos e para o Orange PI, no entanto, apenas quando os parceiros de chamada estão na mesma rede. Isso não resolve o problema, já que os dispositivos Orange PI, assim como a pessoa que faz a chamada, estarão sempre em redes diferentes.

[..]

O que eu tentei para resolver o problema?
4.1) Configurei o NAT iptables no sistema operacional, também desativei o firewall completamente.

4.2) Configurei o servidor de STUN: stun.l.google.com:19302.
4.3) Ativei o STUN e o servidor ICE no Asterisk.

Para resumir, acredito que o Orange PI tem alguma limitação quando se trata de NAT, o que faz com que seu IP privado chegue ao servidor, e não ao público. Acredito que é isso, porque, entre computadores com Windows e em celulares Android, fiz testes e a conexão, mesmo em redes diferentes, funciona sem problemas.

Preciso de uma pessoa com experiência em Asterisk que saiba resolver esse problema.

Atividades do cliente nesse projeto:

Última visualização: ontem às 11:08

Tem dúvidas? Faça uma pergunta.

ou

Enviar proposta

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Cloud Computing
Orçamento: Aberto
Nível de experiência: Especialista
Visibilidade: Público
Propostas: 1
Interessados: 4
Tempo restante:
Valor Mínimo: R$ 50,00

Cliente

Propostas (1)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Migração para WebSocket Hibernation API da Cloudflare - Temos um projeto de aplicação em tempo real que usa o Workers e Durable Object da Cloudflare. Usamos a API padrão de WebSocket, com os listeners padrões de message e cl...

Montar e configurar serviços AWS - Procuro freelancer nível médio em AWS. Estamos em busca de um freelancer com experiência em configuração e gerenciamento de serviços AWS para criar a infra...

Configuração do Stalwart para servidor de email - Tenho um projeto rodando com Stalwart dentro de uma máquina com Portainer. Preciso de auxílio para configurar a aplicação para envio e recebimento de email. A aplica&cce...

Instalação do EasyPanel no VirtualBox - Instalar o EasyPanel no meu VirtualBox. Quero começar a aprender automações. A instalação será no Ubuntu Server local.

Atualização de CyberPanel na Hostinger - Procuro um profissional com amplo conhecimento em CyberPanel instalado em VPS na Hostinger para realizar um upgrade de versão via SSH.

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.