Pesquisar

Aislan S.

(0.0 - 0 avaliações)

Projetos concluídos: 0 | Recomendações: 0 | Registrado desde: 09/05/2024

Projetos (Aguardando Propostas):

  • Consultoria para servidor Asterisk

    Cloud Computing | Orçamento: Aberto | Publicado: | Propostas: 2

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