Sign inGet Started

Enrutar las llamadas entrantes del trunk según el origen y el número de quien llama

El Inbound routing de un trunk de SIP puede tratar las llamadas de forma distinta según quién llama y a qué número ha marcado. Las reglas comprueban datos de cada llamada, como el tipo de línea o el país de quien llama, y deciden qué ocurre: enviar la llamada a un grupo de gateways, cambiar el número que recibe tu equipo, rechazarla o desviarla. Esta página muestra configuraciones funcionales para los casos más habituales.

Antes de empezar

  • Un trunk de SIP con las llamadas entrantes activadas, sus gateways en al menos un grupo y tus números apuntando a él. Configurar un trunk de SIP explica los tres pasos.
  • Abre Voice > SIP Trunks, abre el trunk y ve a Inbound routing > Rules.

Cómo funcionan las reglas

Bird comprueba las reglas de arriba abajo en cada llamada entrante. La primera regla cuyo When coincide decide qué pasa con la llamada; una llamada que no coincide con ninguna regla usa la Default route (No rule above matched). Cada regla y la ruta predeterminada tienen un Then: Route to group, Reject o Forward to number. Un trunk admite hasta 50 reglas.

Un When es una condición sobre estos datos de la llamada. Elige un dato de la lista o usa Edit expression para escribir tú la condición.

DatoQué contiene
orig.line_typeEl tipo de línea de quien llama: LINE_FIXED, LINE_MOBILE, LINE_TOLL_FREE, LINE_PAYPHONE o LINE_UNKNOWN
orig.countryEl código de país de dos letras de quien llama, como GB. Vacío cuando quien llama oculta su número
orig.anonymoustrue cuando quien llama oculta su número
orig.numberEl número de quien llama en formato E.164, con +
orig.digitsEl número de quien llama sin el + inicial
dest.numberEl número marcado, en formato E.164, con +
dest.digitsEl número marcado, sin el + inicial
call.local_hourLa hora de la llamada, de 0 a 23, en la zona horaria del enrutamiento
call.weekdayEl día de la llamada, en la zona horaria del enrutamiento

Escribe los tipos de línea como constantes, por ejemplo orig.line_type == LINE_MOBILE. Una constante desconocida provoca un error al guardar, mientras que una cadena mal escrita como "LINE_MOBLE" se acepta y nunca coincide.

Enviar a quienes llaman desde móviles y desde fijos a gateways distintos

Usa esta configuración cuando, por ejemplo, las llamadas desde móviles deban llegar a un SBC y el resto a otro.

  1. En Groups, crea un grupo para cada destino, por ejemplo mobile con tu SBC para móviles y landline con el otro.
  2. En Rules, selecciona Add rule y llámala Mobile callers. Configura When como Line type con el valor LINE_MOBILE.
  3. Configura Then como Route to group y elige mobile.
  4. Configura la Default route con Route to group y elige landline. Esta ruta recibe todas las llamadas que no coinciden con la regla.
  5. Selecciona Review and save y después confirma.

El mismo esquema sirve para enrutar por país: con Edit expression, define en When una condición como orig.country == GB.

Añadir un prefijo según el origen de quien llama

Es posible que tu SBC espere delante del número marcado un prefijo que le indique el origen de quien llama, por ejemplo 801 para fijo, 802 para móvil y 800 para cualquier otro caso. Bird cambia la parte de usuario de la Request-URI que envía a tu gateway; el host y el puerto del gateway no cambian. Así, en una llamada a +44 808 157 0123, una persona que llama desde un móvil llega como sip:802448081570123@198.51.100.20.

Puedes configurarlo de dos formas equivalentes.

Una regla por origen

Usa esta opción si quieres que cada origen aparezca como una entrada propia en el editor, o si los orígenes se diferencian en algo más que el prefijo, como un grupo distinto.

  1. En Rules, selecciona Add rule, llámala Landline y configura When con Line type y el valor LINE_FIXED.
  2. Configura Then con Route to group, elige tu grupo en Group y selecciona Override R-URI user part. Escribe 801 y usa Insert para añadir dest.digits a continuación.
  3. Repite los pasos para Mobile (LINE_MOBILE, prefijo 802).
  4. Configura la Default route con Route to group y la parte de usuario 800 seguida de dest.digits.
  5. Selecciona Review and save y confirma.

Una sola expresión

Usa esta opción cuando solo cambia el prefijo. Deja Rules vacío, configura la Default route como Route to group con tu grupo, selecciona Override R-URI user part, inserta esta expresión y añade dest.digits después de ella:

Ejemplo de código
orig.line_type == LINE_FIXED ? "801" : orig.line_type == LINE_MOBILE ? "802" : "800"

Ambas configuraciones entregan el mismo INVITE. El campo R-URI user part propio de un gateway solo acepta texto fijo alrededor del número marcado, así que coloca el prefijo que depende de quien llama en una regla o en la ruta predeterminada, como se indica arriba.

Comprueba tu configuración

  1. Review and save comprueba cada condición y plantilla, y enumera los errores junto con su ubicación. No se guarda nada hasta que los corrijas.
  2. Llama a uno de tus números desde un móvil, desde un fijo y con tu número oculto. En tu SBC, compara la Request-URI de cada INVITE recibido con lo que esperas.
  3. Abre cada llamada en Voice > Legs y usa su SIP Call-ID para encontrar la misma llamada en los registros de tu SBC.

Próximos pasos

PáginaQué trata
Recibir llamadasRutas de números, grupos, la ruta predeterminada y llamadas rechazadas
Configurar un troncal SIPLa configuración completa de un troncal en orden, desde su creación hasta una llamada de prueba
Realizar llamadasQué espera Bird en el INVITE que envía tu equipo

Continúa con la documentación, guías y ejemplos de este tema.