El diagnóstico más útil por sí solo
exempt_products es tráfico que va sin comprobarse a propósito, y es la respuesta a “¿por qué no se
detectó esto?” que ninguna política propia de cuenta puede mostrar.
Cuatro interruptores, y el orden en que se resuelven
Un mensaje se comprueba solo si los cuatro lo dicen. Están listados en el orden en que el gateway los resuelve, que es también el orden a mirar cuando algo no se está aplicando.
Los tres primeros son interruptores que un operador establece; el cuarto es la política en sí.
conf.whitelist.enabled está por defecto activado, así que el interruptor maestro es el que decide. Un listener tiene
que optar por salir. Existe porque los clientes rara vez están todos en un mismo listener: un listener
para tráfico registrado puede aplicar mientras uno interno o de test no, sin que eso sea una propiedad de cada
cuenta.Se aplica solo a SMPP. El ingreso HTTP no tiene listener del que colgarlo, así que usa el producto o la
cuenta ahí.Informar antes de aplicar
Cada uno deheader_mode y content_mode es OFF, REPORT o ENFORCE. REPORT es la razón por la que esto
no es un booleano.
1
Aprueba lo que ya conoces
Sender IDs y plantillas para la cuenta, o para un producto que se comprueba. Consulta
Sender IDs y Plantillas de contenido.
2
Pon la cuenta en REPORT
Cada mensaje se comprueba, se registra como
message.wouldReject a nivel INFO, y se envía igualmente. Nada se
rechaza.3
Lee report_only_would_reject
Cuenta lo que
ENFORCE habría rechazado, y es el número a vigilar. Déjalo corriendo el tiempo
suficiente para cubrir los días lentos del cliente. Una plantilla usada una vez al mes es invisible en una tarde.4
Aprueba lo que el log nombra, y solo entonces aplica
headerNotApproved y templateNotMatched nombran qué estaba mal, y la cuenta a la que pertenece.Aplicar con nada aprobado
El panel de control rechaza el guardado que la crearía, contando de la misma forma que cuenta el gateway. Dos cosas hacen que sea más que una suma:- Los productos exentos no protegen nada. Un producto con
whitelist_enabled = falsese resuelve aOFFantes de cualquier combinación, así que una aprobación archivada bajo él se almacena y nunca se consulta. Contarla dejaría pasar una cuenta cuyas aprobaciones están todas inertes, creando exactamente la caída que la guarda existe para prevenir. - El tráfico sin producto se sirve solo por el alcance de la cuenta. Ninguna aprobación con alcance de producto puede
jamás alcanzarlo. Así que un
ENFORCEa nivel de cuenta con una lista de cuenta vacía detiene a cada login cuya credencial no nombre ningún producto, por muchas aprobaciones de producto que existan.
Aprobado no es lo mismo que aceptado
Cómo se ve un rechazo
Sobre HTTP, 403 y un mensaje que nombra qué estaba mal:submit_sm se rechaza en lugar de aceptarse y descartarse, así que el propio cliente del
cliente ve el fallo al enviar en lugar de inferirlo de un recibo que nunca llega. Consulta
Códigos de estado.
Cada rechazo se registra con una razón: headerNotApproved, templateNotMatched, y la cuenta a la que
pertenece. En modo REPORT la misma línea aparece como message.wouldReject a nivel INFO y el mensaje
sale.
Aprobar no necesita reconectar
El whitelist se relee en el sondeo de configuración y cada snapshot lleva una generación, así que una sesión SMPP conectada durante semanas recoge un sender ID recién aprobado sin reconectar. Eso importa porque el cliente cuyo tráfico se está rechazando suele estar al teléfono mientras alguien lo aprueba.Referencia de whitelisting
Cada propiedad, los tres modos de estampado, y la comprobación obligatoria por proveedor.
Productos
Exenciones, y por qué un producto desconocido se comprueba en lugar de dejarse pasar.