Sign inGet started

Configuração de cliente SIP

Qualquer cliente SIP que consiga fazer uma chamada por meio de um proxy pode usar um trunk Bird. Isso inclui PBXs, softphones de desktop e ferramentas de linha de comando. Esta página mapeia os detalhes de conexão do trunk para os campos comuns de cliente e configurações de autenticação.

O que um cliente precisa

Quatro valores, todos da página do trunk:
Campo do clienteO que preencher
Servidor SIP, domínio, host ou proxyO domínio SIP do trunk
Porta e transporteUma das portas suportadas do trunk
Usuário de autenticação, auth user ou loginbird
Senha ou secretO secret de uma chave API permitida no trunk
Um trunk que usa apenas sua lista de IPs permitidos precisa dos dois primeiros. As credenciais são o que a autenticação por chave API adiciona.
Os exemplos usam YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID e YOUR_API_KEY_SECRET. Copie o domínio completo da página do trunk. Bird recusa chamadas para outro domínio antes que elas cheguem ao seu registro de chamadas. Quando conectado com o Bird CLI, execute bird voice tools test-call --dry-run para imprimir esses valores como uma linha de conta do baresip.
Deixe realm ou authentication domain vazio para que o cliente use o realm do challenge de Bird. Se um cliente exigir um valor, use o ID do espaço de trabalho sem o prefixo wsp_, seguido de .sip.bird.com. O realm do espaço de trabalho é diferente do domínio SIP do trunk.

Faça chamadas sem registrar

Bird autentica cada INVITE com base na lista de IPs permitidos do trunk ou por meio de um challenge de senha. Os clientes não se registram no trunk.
Verifique o registro antes de fazer uma chamada:
  • Em um PBX, configure Bird como um trunk e deixe o registro desativado. No Asterisk, isso significa nenhuma seção type=registration; no FreeSWITCH, significa register=false no gateway; FreePBX e 3CX têm um modo de registro para definir como none.
  • Em um softphone, desative o registro nas configurações avançadas da conta, se houver essa opção. Quando não houver, a tentativa de registro que falha é apenas cosmética e a discagem continua funcionando, porque atuamos no INVITE e não no registro.

Duas identidades, dois campos

Seu cliente deve enviar duas identidades diferentes:
  • O caller ID vai no header From e precisa ser um número que você tenha verificado, no formato E.164: um + inicial seguido do código do país e do número nacional. Na maioria dos clientes, esse é o campo de usuário ou caller ID da conta.
  • O digest username é sempre bird. Na maioria dos clientes, esse é o campo de usuário de autenticação ou login.
Disque em E.164 também, já que é assim que Bird roteia e precifica.

Softphones

Um softphone é a forma mais rápida de provar que um trunk novo funciona antes de direcionar tráfego de produção para ele.

baresip

Adicione uma linha em ~/.baresip/accounts, com seu caller ID como usuário da conta e bird como auth user:
Exemplo de código
<sip:YOUR_CALLER_ID@YOUR_TRUNK_DOMAIN>;auth_user=bird;auth_pass=YOUR_API_KEY_SECRET;regint=0;outbound="sip:YOUR_TRUNK_DOMAIN;transport=udp"
regint=0 é o que impede o baresip de se registrar. Inicie-o e disque com /dial +31612345678.

Zoiper

Adicione uma conta SIP manualmente. Defina Domain como o domínio SIP do trunk, Username como seu caller ID verificado e Password como o secret da chave API. Nas configurações avançadas, defina Auth username como bird, desative o registro na inicialização e escolha o transporte.

Linphone

Adicione uma conta com bird como auth user da identidade SIP e seu caller ID como username, depois desative o registro na conta. Em linphonerc, a mesma conta é uma seção [proxy_N] com reg_sendregister=0.

MicroSIP

Em Account: SIP server é o domínio SIP do trunk, Username seu caller ID verificado, Login bird, Password o secret da chave API. Deixe Domain igual ao servidor SIP.

PBXs

Asterisk

Em pjsip.conf, um endpoint com autenticação de saída e sem seção de registro:
Exemplo de código
[bird-auth]
type=auth
auth_type=userpass
username=bird
password=YOUR_API_KEY_SECRET

[bird-aor]
type=aor
contact=sip:YOUR_TRUNK_DOMAIN:5060

[bird]
type=endpoint
context=from-internal
outbound_auth=bird-auth
aors=bird-aor
from_user=YOUR_CALLER_ID
from_domain=YOUR_TRUNK_DOMAIN
from_user é o caller ID que Bird verifica, então precisa ser um número verificado. Disque com Dial(PJSIP/+31612345678@bird).

FreePBX

Em Connectivity > Trunks, adicione um trunk SIP (chan_pjsip). Em pjsip Settings, defina Username como bird, Secret como o secret da chave API, SIP Server como o domínio SIP do trunk, Authentication como outbound e Registration como none. Defina o caller ID de saída do trunk como um número verificado.

FreeSWITCH

Um gateway em conf/sip_profiles/external/bird.xml:
Exemplo de código
<include>
  <gateway name="bird">
    <param name="proxy" value="YOUR_TRUNK_DOMAIN"/>
    <param name="register" value="false"/>
    <param name="username" value="bird"/>
    <param name="password" value="YOUR_API_KEY_SECRET"/>
    <param name="from-domain" value="YOUR_TRUNK_DOMAIN"/>
    <param name="caller-id-in-from" value="true"/>
  </gateway>
</include>
Com caller-id-in-from definido, o caller ID da perna da chamada passa a ser o número From, então defina-o como um número verificado ao originar.

3CX

Adicione um trunk SIP genérico e desative o registro. Defina o host como o domínio SIP do trunk, o authentication ID como bird e a senha como o secret da chave API. Defina o caller ID de saída como um número verificado.

Próximos passos

PáginaO que aborda
Solução de problemas de vozDiagnosticar uma chamada que não é completada, a partir do sintoma
Trunks SIPOs detalhes de conexão, as listas de permissão e a oferta Digest
Fazer chamadasO que Bird espera no INVITE e como uma chamada é precificada
Caller IDsRegistrar um número e provar que você é o dono com uma chamada de verificação
Registro de chamadasConfirmar que uma chamada foi feita e quanto custou

Recursos relacionados

Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.

Obtenha um resumo de implementação