Configuración de cliente SIP
Cualquier cliente SIP que pueda realizar una llamada a través de un proxy puede usar un trunk Bird. Esto incluye PBXs, softphones de escritorio y herramientas de línea de comandos. Esta página relaciona los detalles de conexión del trunk con los campos habituales de un cliente y los ajustes de autenticación.
Qué necesita un cliente
Cuatro valores, todos de la página del trunk:
| Campo del cliente | Qué introducir |
|---|---|
| Servidor SIP, dominio, host o proxy | El dominio SIP del trunk |
| Puerto y transporte | Uno de los puertos admitidos del trunk |
| Usuario de autenticación, auth user o login | bird |
| Contraseña o secreto | El secreto de una clave API permitida en el trunk |
Un trunk que solo usa su lista de IPs permitidas necesita los dos primeros. Las credenciales son lo que añade la autenticación por clave API.
Los ejemplos usan YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID y YOUR_API_KEY_SECRET. Copia el dominio completo de la página del trunk. Bird rechaza llamadas a otro dominio antes de que lleguen a tu registro de llamadas. Con la sesión iniciada en el Bird CLI, ejecuta bird voice tools test-call --dry-run para imprimir estos valores como una línea de cuenta de baresip.
Deja realm o authentication domain vacío para que el cliente use el realm del challenge de Bird. Si un cliente requiere un valor, usa el ID del espacio de trabajo sin su prefijo ws_, seguido de .sip.bird.com. El realm del espacio de trabajo difiere del dominio SIP del trunk.
Realiza llamadas sin registrarte
Bird autentica cada INVITE contra la lista de IPs permitidas del trunk o mediante un challenge de contraseña. Los clientes no se registran en el trunk.
Comprueba el registro antes de realizar una llamada:
- En un PBX, configura Bird como trunk y deja el registro desactivado. En Asterisk esto significa no tener sección
type=registration; en FreeSWITCH significaregister=falseen el gateway; FreePBX y 3CX tienen un modo de registro que debes poner en none. - En un softphone, desactiva el registro en los ajustes avanzados de la cuenta si ofrece esa opción. Donde no la ofrezca, el intento fallido de registro es cosmético y las llamadas funcionan igualmente, porque actuamos sobre el
INVITEen lugar de sobre el registro.
Dos identidades, dos campos
Tu cliente debe enviar dos identidades distintas:
- El caller ID va en el header
From. Usa un número Bird asignado actualmente a este espacio de trabajo y habilitado para llamadas salientes, o un número externo que hayas verificado. Usa formato E.164: un+inicial seguido del código de país y el número nacional. En la mayoría de clientes es el campo de usuario o caller ID de la cuenta. - El nombre de usuario digest es siempre
bird. En la mayoría de clientes es el campo de usuario de autenticación o login.
Marca también en E.164, ya que es con lo que Bird enruta y tarifica.
Softphones
Un softphone es la forma más rápida de comprobar que un trunk nuevo funciona antes de dirigirle tráfico de producción.
baresip
Añade una línea a ~/.baresip/accounts, con tu caller ID como usuario de la cuenta y bird como usuario de autenticación:
<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 es lo que impide que baresip se registre. Inícialo y marca con /dial +31612345678.
Zoiper
Añade una cuenta SIP manualmente. Pon Domain con el dominio SIP del trunk, Username con tu caller ID habilitado y Password con el secreto de la clave API. En los ajustes avanzados, pon Auth username a bird, desactiva el registro al inicio y elige el transporte.
Linphone
Añade una cuenta con bird como usuario de autenticación de la identidad SIP y tu caller ID como nombre de usuario; después desactiva el registro en la cuenta. En linphonerc la misma cuenta es una sección [proxy_N] con reg_sendregister=0.
MicroSIP
En Account: SIP server es el dominio SIP del trunk, Username tu caller ID habilitado, Login bird, Password el secreto de la clave API. Deja Domain igual que el servidor SIP.
PBXs
Asterisk
En pjsip.conf, un endpoint con autenticación saliente y sin sección de registro:
[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_DOMAINfrom_user es el caller ID que Bird comprueba, así que usa un caller ID habilitado. Marca con Dial(PJSIP/+31612345678@bird).
FreePBX
En Connectivity > Trunks, añade un trunk SIP (chan_pjsip). En sus pjsip Settings, pon Username a bird, Secret al secreto de la clave API, SIP Server al dominio SIP del trunk, Authentication a outbound y Registration a none. Pon el caller ID saliente del trunk a un número habilitado.
FreeSWITCH
Un gateway en conf/sip_profiles/external/bird.xml:
<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>Con caller-id-in-from activado, el caller ID del tramo pasa a ser el número From, así que ponlo a un número habilitado cuando origines la llamada.
3CX
Añade un trunk SIP genérico y desactiva el registro. Pon su host al dominio SIP del trunk, su authentication ID a bird y su contraseña al secreto de la clave API. Pon el caller ID saliente a un número habilitado.
Siguientes pasos
| Página | Qué cubre |
|---|---|
| Solución de problemas de voz | Diagnosticar una llamada que no se completa, a partir de su síntoma |
| Trunks SIP | Los detalles de conexión, las listas de IPs permitidas y la oferta Digest |
| Realizar llamadas | Qué espera Bird en el INVITE y cómo se tarifica una llamada |
| Caller IDs | Registrar un número y demostrar que es tuyo con una llamada de verificación |
| Registro de llamadas | Confirmar que una llamada salió y cuánto costó |
Recursos relacionados
Continúa con la documentación, guías y ejemplos de este tema.