La edición que parecía no hacer nada
routingTable.conf se recarga en caliente: una edición se aplica en unos 200 ms, sin reinicio. Esa velocidad es exactamente la razón por la que el caso de tabla conservada es fácil de pasar por alto. No hay ningún reinicio que notar, así que “mi cambio no hizo nada” es todo el síntoma.
Qué hace el enrutador con un mensaje
1
A la sumisión se le responde primero
La pasarela envía
submit_sm_resp, o el 200 REST, antes de que se ejecute el enrutamiento. Al cliente ya se le ha dicho que el mensaje fue aceptado, y se le ha cobrado por él.2
El mensaje va a la cola del enrutador
El trabajo aceptado espera aquí. Consulta Colas y reintentos.
3
Se escanea la tabla `default`
Las reglas se prueban de arriba abajo y gana la primera coincidencia. Una regla puede enviar a un proveedor, a un grupo de proveedores o a otra tabla.
4
El worker elegido lo toma
El mensaje se encola en la propia cola de ese proveedor y sale a la velocidad que el proveedor permita.
cdr_rejected.
Las tablas son un grafo, no una lista
Una regla cuyo objetivo nombra otra tabla se encadena a ella, así quedefault → MESSAGE → cheapest es una forma habitual. Dos cosas acotan la recursión:
Una tabla alcanzada dos veces por rutas diferentes no es un ciclo:
default → a → c junto a default → b → c se carga con normalidad.
Las dos cosas que se cargan y luego se portan mal en silencio
Ambas aparecen en/ops/health bajo routing_warnings, y cada una se registra una sola vez cuando aparece por primera vez, no en cada publicación.
Cuando los mensajes desaparecen
Antes de editar cualquier regla, descarta las tres causas que no tienen nada que ver con el enrutamiento. Solo
reason = 'maxAttempts' en cdr_rejected significa enrutamiento; headerNotApproved, templateNotMatched, missingMandatoryTlv, insufficientCredit y filtered significan todas que el mensaje fue rechazado antes de llegar al enrutamiento. Consulta No se entrega nada.Preguntar por qué un mensaje no coincidió
Siguiente
Escritura de reglas
La gramática de cuatro partes, los operadores que engañan y los grupos de proveedores.
Enrutamiento por menor coste
Donde el orden de las reglas deja de significar nada.
Filtros
Condiciones nombradas, y por qué desactivar una reduce una regla a nada.
Colas y reintentos
Lo que ya está pagado y esperando en memoria.