Saltar al contenido principal

Gestor de Portabilidad de Omnitouch

Gestión de portabilidad numérica para operadores — integración con el clearinghouse, enrutamiento ENUM y eventos del ciclo de vida OSS/BSS, con una interfaz web para equipos de operaciones.

Omnitouch ha implementado la portabilidad numérica en nuestras redes, con integraciones en vivo contra PortingXS y soporte para NPAC en los mercados de América del Norte.


Descripción General

El Gestor de Portabilidad de Omnitouch maneja el ciclo completo de las operaciones de portabilidad de números: enviando y rastreando solicitudes con el clearinghouse, manteniendo una base de datos de enrutamiento ENUM para números portados y entregando eventos del ciclo de vida al OSS/BSS del operador. Se integra con PortingXS a través de su red de 43 países y con NPAC para implementaciones en EE. UU.

La plataforma está diseñada para ser impulsada por un OSS/BSS a gran escala, con una interfaz web para el trabajo diario de operaciones — revisando el estado de los puertos, manejando casos especiales, consultando enrutamiento y validando la entrega de SMS en números portados.

Algunas cosas que vale la pena señalar antes de que continúes leyendo:

  • El enrutamiento utiliza All-Call-Query contra una base de datos ENUM con parámetros npdi/rn según RFC 4694 y 3GPP TS 23.228 — no tablas de rango estáticas, que fallan silenciosamente en puertos posteriores
  • Las discrepancias en el tipo de cuenta (la razón de rechazo más común) se reintentan automáticamente sin intervención manual
  • La plataforma posee el flujo de trabajo de portabilidad y el enrutamiento; la elegibilidad de la cuenta y el ciclo de vida del servicio permanecen en tu OSS/BSS, con ganchos de API para conectarlos
  • Para operadores que utilizan OmniCRM, la integración OSS/BSS está preconstruida

El Gestor de Portabilidad de Omnitouch actúa como el punto de integración central entre los sistemas de gestión de clientes, los clearinghouses de portabilidad externos, la infraestructura de enrutamiento DNS/ENUM y las plataformas de facturación.

Arquitectura de Integración

El Gestor de Portabilidad de Omnitouch está diseñado en torno a un límite limpio: posee el flujo de trabajo de portabilidad y el enrutamiento, y tu OSS/BSS posee al cliente. Esto es intencional.

Los operadores ya tienen un BSS que sabe si una cuenta de cliente está en buen estado, qué servicios tienen y qué sucede cuando un servicio se termina. Construir esa lógica en una plataforma de portabilidad significaría duplicarla o luchar contra ella. En su lugar, el Gestor de Portabilidad de Omnitouch expone los ganchos correctos: las verificaciones de elegibilidad llaman a tu BSS para obtener una respuesta, y los eventos del ciclo de vida (puerto completo, autorización de puerto saliente) notifican a tu BSS para que tome acción. La plataforma de portabilidad hace su trabajo; tu BSS hace su trabajo.

En la práctica, esto significa:

  • El ciclo de vida de la solicitud de puerto y las interacciones con el clearinghouse se gestionan completamente aquí
  • El enrutamiento se actualiza automáticamente al completarse
  • La elegibilidad de la cuenta, la activación del servicio y el cierre de la cuenta permanecen en tu OSS/BSS — activados por eventos de esta plataforma, no reemplazados por ella

Para operadores que utilizan OmniCRM, esta integración está preconstruida. Para operadores con un BSS existente, la API proporciona los ganchos de eventos necesarios para conectarlo.

La interfaz web está disponible para que los equipos de portabilidad manejen las operaciones diarias — revisando solicitudes, actuando sobre puertos pendientes, consultando enrutamiento y diagnosticando problemas de entrega de SMS. A gran escala, se espera que las presentaciones de puertos y las respuestas del ciclo de vida se automaticen a través de la API.


Arquitectura del Sistema

Componentes Principales

  1. Gestor de Portabilidad — Orquesta flujos de trabajo de portabilidad y gestiona interacciones con el clearinghouse de portabilidad numérica
  2. Servidor DNS/ENUM — Gestiona el enrutamiento de llamadas y la resolución de números
  3. API e Interfaz Web — Proporciona acceso programático y de usuario a funciones de portabilidad

Puntos de Integración

  • OmniCRM — Gestión de relaciones con clientes y provisión de servicios
  • Plataforma de Facturación — Gestión de facturación e ingresos (CGrateS)
  • PortingXS — Clearinghouse internacional de portabilidad numérica
  • NPAC — Clearinghouse de portabilidad numérica de EE. UU.
  • Infraestructura DNS/ENUM — Enrutamiento de llamadas y resolución de números

Gestor de Portabilidad

Flujo de Trabajo de Port-In

  1. Iniciación de Solicitud — Se crea una solicitud de port-in a través de la interfaz web o API
  2. Envío al Clearinghouse — El Gestor de Portabilidad envía la solicitud al clearinghouse correspondiente (PortingXS para mercados internacionales, NPAC para EE. UU.)
  3. Monitoreo de Estado — El sistema rastrea los cambios de estado a través del flujo de eventos del clearinghouse
  4. Provisionamiento ENUM — Al completar el puerto con éxito, la base de datos de enrutamiento se actualiza automáticamente
  5. Activación del Servicio — Se activa el servicio de OmniCRM y comienza la facturación
  6. Integración de Cargos — Se notifica a la plataforma de facturación para comenzar a cobrar

Detección Automática del Operador Donante

Cuando se envía una solicitud de port-in sin un donornetworkoperator, el Gestor de Portabilidad de Omnitouch determina automáticamente el operador donante a partir del rango de números. Esta es la opción predeterminada recomendada para la mayoría de las presentaciones: el código del operador solo necesita especificarse explícitamente cuando se necesita anular el resultado de la detección automática.

Reenvío Automático del Tipo de Cuenta

Una razón común de rechazo de los operadores donantes es Tipo de Cuenta Incorrecto (código de rechazo 35) — el indicador de Prepagado/Postpagado en la solicitud no coincide con los registros del donante. En lugar de requerir intervención manual, el Gestor de Portabilidad reintenta automáticamente la solicitud con el tipo de cuenta alternado (Prepagado → Postpagado o viceversa) cuando se recibe este rechazo.

El reenvío crea un nuevo registro de puerto. En la interfaz web, el ID de puerto original se muestra en verde en el nuevo registro para que la historia sea rastreable. A través de la API, GET /np_api/PortIn/{msgidentifier} se resuelve de manera transparente al registro activo si ha ocurrido un reenvío.

Flujo de Trabajo de Port-Out

  1. Recepción de Solicitud — Se recibe una solicitud de port-out del operador receptor a través del clearinghouse
  2. Validación del Servicio — El sistema valida que el servicio exista y sea elegible
  3. Notificación a CRM — OmniCRM se actualiza con el estado de port-out
  4. Deprovisionamiento ENUM — La base de datos de enrutamiento se actualiza para enrutar llamadas al operador receptor
  5. Terminación del Servicio — En el momento programado del puerto: servicio desactivado en OmniCRM, se genera la factura final, se cierran todos los servicios asociados

Integraciones con Clearinghouses

PortingXS

PortingXS (PXS) es un clearinghouse internacional de portabilidad numérica ampliamente adoptado que opera en 43 países en cuatro regiones:

RegiónPaíses
Américas y CaribeAntigua y Barbuda, Bahamas, Barbados, Islas Caimán, Curazao, Dominica, Granada, Guyana, Jamaica, Panamá, Santa Lucía, San Cristóbal y Nieves, Sint Maarten, San Vicente y las Granadinas, Trinidad y Tobago, Islas Turcas y Caicos
EuropaBélgica, Bosnia y Herzegovina, Gibraltar, Guernsey, Irlanda, Isla de Man, Jersey, Kosovo, Montenegro, Eslovenia, Países Bajos, Ucrania
ÁfricaArgelia, Benín, Ghana, Kenia, Namibia, Nigeria, Ruanda, Senegal, Seychelles, Togo
Medio Oriente y AsiaArmenia, Bangladés, Brunéi, Irak, Sri Lanka

El Gestor de Portabilidad se integra a través de una API REST/SOAP y gestiona el ciclo completo de portabilidad a través de una máquina de estados.

Capacidades principales:

  • Gestión de Port-In/Out con flujo de trabajo de máquina de estados completo
  • Actualizaciones de estado en tiempo real a través del historial de eventos
  • Seguimiento de mensajes XML SOA/ENUM
  • Base de datos de enrutamiento centralizada para ENUM (IMS) y MAP/INAP/CAP (All Call Query)
  • Anulación manual del enrutamiento

Puntos finales de la API:

MétodoPunto finalDescripción
POST/PortIn/createEnviar nueva solicitud de port-in
GET/PortIn/listListar todas las solicitudes de port-in
GET/PortIn/{msgidentifier}Obtener historial de eventos
POST/PortIn/{msgidentifier}Enviar instrucción para proceder
DELETE/PortIn/{msgidentifier}Abort solicitud de puerto
GET/PortOut/listListar solicitudes de port-out
POST/PortOut/{msgidentifier}Autorizar port-out
DELETE/PortOut/{msgidentifier}Rechazar port-out
GET/route/{phone_number}Consultar enrutamiento actual
POST/route/{msisdn}/{operator}/{type}Actualizar enrutamiento manualmente

Los códigos de operador, el formato de número y los tipos de cuentas se configuran por implementación.

NPAC

Para operaciones en EE. UU., el Gestor de Portabilidad de Omnitouch se integra con el Centro de Administración de Portabilidad de Números (NPAC):

  • Creación y gestión de órdenes de servicio (SO) NPAC
  • Interacciones con Proveedores de Servicios Locales (LSP)
  • Gestión de Versiones de Suscripción (SV)
  • Sincronización de estado en tiempo real
  • Cumplimiento con regulaciones y plazos de portabilidad en EE. UU.

Servidor DNS / ENUM

El servidor DNS proporciona servicios DNS integrales para redes de telecomunicaciones, apoyando servicios de paquetes estándar, escenarios de roaming, IMS y enrutamiento de llamadas de portabilidad numérica.

Zonas de Red 3GPP

Zona EPC (epc.mncXXX.mccYYY.3gppnetwork.org) — Utilizada para señalización local de Diameter y escenarios de roaming. Permite a las redes visitadas descubrir recursos locales de PGW. Contiene registros SRV y NAPTR para el descubrimiento de pares de Diameter.

Zona IMS (ims.mncXXX.mccYYY.3gppnetwork.org) — Soporta operaciones del Subsistema de Multimedia IP. Enruta la señalización SIP y localiza recursos CSCF para suscriptores IMS. Soporta VoLTE y RCS.

Zona Pública 3GPP (mncXXX.mccYYY.pub.3gppnetwork.org) — Proporciona acceso externo a servicios orientados al suscriptor: descubrimiento de servidor XCAP, ubicación de BSF para GBA y descubrimiento de ePDG para VoWiFi.

ENUM para Portabilidad Numérica

El servidor DNS implementa los servicios ENUM RFC 3761 utilizando la zona e164enum.net.

All-Call-Query (ACQ): Cada llamada consulta la base de datos ENUM para determinar el enrutamiento actual.

Flujo de Consulta ENUM:

  1. El sistema de llamada extrae el número marcado (por ejemplo, +1-555-0100)
  2. El número se convierte al formato ENUM (0.0.1.0.5.5.5.1.e164.arpa)
  3. Se emite una consulta DNS NAPTR al servidor ENUM
  4. El servidor devuelve información de enrutamiento: identificador de operador, número de enrutamiento (RN), proveedor de servicios, etiquetas de enrutamiento personalizadas

OmniCall — la plataforma IMS y MSC de Omnitouch — maneja el flujo ACQ ENUM de forma predeterminada. No se requiere trabajo de integración adicional; OmniCall consulta el servidor ENUM en cada llamada y enruta según la respuesta NAPTR. Para los operadores que utilizan OmniCall junto con el Gestor de Portabilidad de Omnitouch, el enrutamiento de números portados es correcto desde el momento en que se completa un puerto, sin intervención manual o mantenimiento de tablas de enrutamiento separadas.

Enfoque de Enrutamiento para Números Portados

El enfoque definido en RFC 4694 y adoptado por 3GPP en TS 23.228 §4.18 para IMS es All-Call-Query contra una base de datos ENUM. Cada llamada consulta ENUM para el enrutamiento actual del número marcado específico, y la respuesta lleva directamente el número de enrutamiento del operador que sirve. Así es como se supone que debe funcionar la portabilidad numérica en una red IMS: decisiones de enrutamiento basadas en datos en tiempo real por número, no en tablas de rango que requieren mantenimiento manual y se desactualizan a medida que los números son portados y portados nuevamente.

El Gestor de Portabilidad de Omnitouch implementa esto completamente. Cuando un puerto se completa, los registros NAPTR se envían automáticamente al servidor ENUM para cada número en el rango. La respuesta lleva dos parámetros:

  • rn — el número de enrutamiento del operador que sirve actualmente. El conmutador de origen enruta a esto, no al operador original del número marcado.
  • npdi — indica que la búsqueda NP se ha realizado. Los nodos posteriores no deben volver a consultar, lo que previene bucles.

Cuando un puerto se completa, el Gestor de Portabilidad de Omnitouch automáticamente envía un registro NAPTR al servidor ENUM para cada número en el rango portado:

0.0.1.0.5.5.5.1.e164.arpa. NAPTR 10 10 "u" "E2U+pstn:tel"
"!(^.*$)!sip:\1;npdi;rn=<routing_number>@<carrier_ims_domain>!"

Para números no portados, npdi se establece sin rn — confirmando que la búsqueda se realizó y que el número no se ha movido. De cualquier manera, el núcleo IMS de origen (S-CSCF/BGCF) obtiene una respuesta definitiva de DNS y enruta sin ninguna otra consulta a la base de datos.

El enrutamiento se mantiene correcto a través de múltiples puertos sin intervención manual. El servidor ENUM es siempre la única fuente de verdad.


Integración de la Plataforma de Facturación

Port-In

Cuando un número se porta con éxito:

  1. El gateway envía una notificación de activación a la plataforma de facturación
  2. La plataforma de facturación crea la cuenta del suscriptor y los perfiles de calificación
  3. Los cargos recurrentes y la calificación de uso comienzan de inmediato
  4. La primera factura puede ser prorrateada según la fecha de finalización del puerto

Port-Out

Cuando un número se porta fuera:

  1. El gateway envía una notificación de desactivación a la plataforma de facturación
  2. La facturación en tiempo real se detiene en el momento programado del puerto
  3. Se genera la factura final: cargos recurrentes prorrateados, uso pendiente, tarifas por terminación anticipada (si corresponde), créditos/reembolsos
  4. La cuenta del suscriptor se cierra con el código de razón de portabilidad

Flujos de Trabajo Operativos

Operaciones Diarias

  1. Revisión de Estado Matutina — Verificar actividades de portabilidad nocturnas y actualizaciones del clearinghouse
  2. Procesamiento de Elementos de Acción — Manejar aprobaciones pendientes y confirmaciones de clientes
  3. Resolución de Errores — Investigar y resolver puertos fallidos o rechazados
  4. Comunicación con Clientes — Coordinar con los clientes sobre las próximas fechas de puerto

Monitoreo

El Gestor de Portabilidad de Omnitouch proporciona monitoreo automatizado para:

  • Conectividad API del clearinghouse
  • Fallos en el aprovisionamiento ENUM
  • Errores de sincronización de CRM
  • Fallos en la integración de la plataforma de facturación
  • Tasas anormales de rechazo de portabilidad

Cumplimiento y Auditoría

  • Todas las actividades de portabilidad se registran con trazas de auditoría completas
  • Cumplimiento con los plazos regulatorios de portabilidad
  • Registros de comunicación interoperadora retenidos
  • Conciliación financiera con tarifas del clearinghouse

Problemas Comunes

Puerto atascado en estado pendiente — Verificar conectividad API del clearinghouse, verificar información del cliente, revisar el registro de eventos para la razón de rechazo.

Enrutamiento no actualizado después del puerto — Confirmar que el estado del puerto es Number_Ported. Usar Consulta de Enrutamiento para verificar el estado actual. Usar Empujar Enrutamiento para corregir manualmente si es necesario.

Fallos de validación de SMS — Expandir la fila de resultados para recopilar el ID del mensaje y el ID de transacción. Proporcionar estos a el proveedor de CPaaS al escalar.


Guía del Usuario

Comenzando

El acceso está controlado por una clave API. En la primera carga, se te pedirá un modal de Introducir Clave API. Ingresa tu clave API asignada y haz clic en Guardar Cambios. Las credenciales se almacenan en el localStorage del navegador y persisten entre sesiones. Para actualizar tu clave en cualquier momento, haz clic en Cambiar Clave API en la parte superior derecha de la barra de navegación.

Tu nivel de cuenta determina qué funciones están disponibles:

NivelAcceso
AdminAcceso completo a todas las funciones
Usuario PXSGestión de Port IN/OUT y enrutamiento
Solo LecturaConsultas de enrutamiento y validación de SMS solamente

Solicitud de Portabilidad — Enviar una nueva solicitud de port-in

Port IN — Ver y gestionar todas las solicitudes de port-in

Port OUT — Revisar y responder a solicitudes de port-out de otros operadores

Consulta de Enrutamiento — Buscar el enrutamiento actual para cualquier número

Empujar Enrutamiento — Aprovisionar manualmente un registro de enrutamiento

Validar Enrutamiento de SMS — Enviar mensajes SMS de prueba a través de múltiples proveedores de CPaaS

Cambiar Clave API — Actualizar tus credenciales (botón, parte superior derecha)


Nueva Solicitud de Portabilidad

Haz clic en Solicitud de Portabilidad en la navegación para abrir el formulario de envío.

Nuevo formulario de Solicitud de Portabilidad

CampoDescripción
Operador de Red DonanteCódigo del operador donante. Selecciona Auto para detección automática del rango de números.
Anular Período de EnfriamientoEstablecer en Verdadero solo cuando el cliente haya renunciado explícitamente al período de enfriamiento. Predeterminado: Falso.
Tipo de CuentaPrepagado o Postpagado
Tipo de NúmerosMóvil o Fijo
Primer NúmeroInicio del rango de números (formato local, sin código de país)
Último NúmeroFin del rango — igual que el Primer Número para un único puerto
Total de NúmerosCalculado automáticamente
Correo Electrónico (Contacto)Correo electrónico de contacto para esta solicitud
Número de AutorizaciónNúmero de autorización del cliente — se completa automáticamente desde el Primer Número si se deja en blanco

Haz clic en Enviar para crear la solicitud. Un mensaje de éxito mostrará el identificador de mensaje asignado.


Panel de Port IN

Panel de Port IN

ColumnaDescripción
IDID interno de la base de datos
ID de PuertoIdentificador de mensaje del clearinghouse
EstadoEstado actual de la portabilidad
SolicitadoMarca de tiempo de envío
ActualizadoMarca de tiempo de última actualización
OperadorCódigo del operador de red donante
ObjetivoNúmero de contacto/autorización
TipoMóvil o Fijo
Tipo de ServicioBotón de Historial de Eventos
AccionesBotones de acción dependientes del estado

Donde un puerto ha sido reenviado (por ejemplo, después de una discrepancia en el tipo de cuenta), el ID de puerto original se muestra en verde. Donde un puerto ha sido rechazado, la razón de rechazo se muestra en rojo.

Estados de Port-In:

EstadoSignificado
Waiting_for_Authorisation_ResponseSolicitud enviada, esperando respuesta del donante
Waiting_for_InstructionDonante autorizado — confirmar para proceder
Waiting_for_Instruction_ResponseInstrucción enviada, esperando reconocimiento
Waiting_for_Ported_ResponseEjecución del puerto en progreso
Number_Ported / Number_Ported_CompletePuerto completo, enrutamiento actualizado
AbortedCancelado
RejectedDonante rechazó la solicitud
TimeOutSolicitud agotada

Acciones:

  • Waiting_for_Authorisation_Response — Botón Abortar (rojo) cancela la solicitud
  • Waiting_for_Instruction — Botón Instrucción (verde) confirma que el puerto debe proceder

Historial de Eventos:

Haz clic en Historial de Eventos en cualquier fila para abrir el modal de registro de eventos.

Modal de historial de eventos de Port IN

  • Eventos — lista acordeón de cada transición de estado con tipo de evento y detalle del registro
  • Cuerpos XML — enlaces de descarga para todos los mensajes XML SOA/ENUM, divididos en salientes (Output_XML) y entrantes (Input_XML)
  • Datos Detallados — volcado completo en JSON del registro de puerto

Panel de Port OUT

Panel de Port OUT

ColumnaDescripción
IDID interno de la base de datos
ID de PuertoIdentificador de mensaje del clearinghouse
EstadoEstado actual de la portabilidad
SolicitadoMarca de tiempo de envío
ActualizadoMarca de tiempo de última actualización
OperadorCódigo del operador receptor
ObjetivosRangos de números que se están portando
Tipo de ServicioBotón de Registro de Eventos
AccionesBotones de Autorizar o Rechazar

Acciones (Waiting_for_Authorisation_Response):

  • Autorizar (verde) — Aprueba el port-out y notifica al operador receptor
  • Rechazar (rojo) — Niega la solicitud. Úsalo solo por razones legítimas: discrepancia de cuenta, saldo pendiente, solicitud fraudulenta o número no activo.

Haz clic en Registro de Eventos en cualquier fila para ver el intercambio completo de mensajes.

Modal de historial de eventos de Port OUT


Consulta de Enrutamiento

Ingresa el número local (código de país agregado automáticamente) y haz clic en Verificar Enrutamiento.

Resultado de consulta de enrutamiento

La respuesta es el resultado crudo del Proceso de Evento de CGrateS:

CampoDescripción
Event.E164AddressEl número consultado
Event.NAPTRAddressCadena de enrutamiento NAPTR — dominio IMS o número de enrutamiento
Event.NAPTROrderValor de orden NAPTR
Event.NAPTRPreferenceValor de preferencia NAPTR
MatchedProfilesPerfil de atributo de CGrateS que coincide para este número

Empujar Enrutamiento

Formulario de empujar enrutamiento

CampoDescripción
Número de Teléfono (Sin código de país)Número local — código de país agregado automáticamente
OperadorCódigo del operador al que se debe enrutar este número
TipoMóvil o Fijo

Usar para correcciones de emergencia, aprovisionamiento inicial o cuando el enrutamiento automático posterior al puerto falla.


Validar Enrutamiento de SMS

Validación de enrutamiento de SMS

El caso de uso principal para esta herramienta es validar que los mensajes SMS A2P (aplicación a persona) de proveedores externos de CPaaS se enruten correctamente a números portados. Cuando un número es portado, el nuevo operador debe estar correctamente aprovisionado en las tablas de enrutamiento de cada proveedor — esto no siempre sucede automáticamente, y sin una herramienta como esta no hay una manera fácil de detectar la brecha.

Al enviar un mensaje de prueba de cada proveedor a un número portado, puedes confirmar qué proveedores han actualizado su enrutamiento y cuáles no. Los proveedores que devuelven un error o no logran entregar pueden ser escalados directamente utilizando la información de depuración en el resultado.

Valida que el proveedor aceptó la presentación del mensaje — no confirma la entrega al dispositivo. Usa un dispositivo de prueba o verifica el registro de SMSc para confirmar la entrega.

  1. Ingresa el número de teléfono objetivo (típicamente un número portado recientemente bajo prueba)
  2. Selecciona uno o más proveedores A2P para probar
  3. Haz clic en Verificar Enrutamiento

El número objetivo recibirá un SMS de cada proveedor seleccionado con el cuerpo Prueba de {ProviderName}. Los resultados muestran en verde (aceptado) o rojo (error). Haz clic en cualquier fila de resultado para expandir la información de depuración — requerida al escalar problemas de enrutamiento a proveedores de CPaaS.

Proveedores Disponibles:

ProveedorNotas
EnetEntrega nativa de plataforma SMPP
GTTDirecto del operador
DigicelDirecto del operador
SinchProveedor de CPaaS
TwilioOmnitouch tiene contacto de escalación directa
VonageOmnitouch tiene contacto de escalación directa
TelnyxCliente de Omnitouch — contacto directo del equipo
PilvoOmnitouch tiene contacto de escalación directa

Swagger / Explorador de API

El Gestor de Portabilidad de Omnitouch expone una UI de Swagger en vivo en /np_api/doc.

Swagger UI — descripción general de espacios de nombres

Swagger UI — espacio de nombres de ruta

Swagger UI — Crear PortIn

El esquema OpenAPI está disponible en /np_api/swagger.json para importar en Postman u otras herramientas de API.


Referencia de API

URL Base

/np_api/

Documentación interactiva disponible en /np_api/doc.

Autenticación

Consulta la Guía del Administrador para la configuración de autenticación y gestión de credenciales.

NivelCapacidades
adminAcceso completo a todos los puntos finales
pxsGestión de Port IN/OUT y enrutamiento
read_onlyValidación y puntos finales de información de números solamente

Puntos finales de Port-In

Crear Solicitud de Port-In

POST /np_api/PortIn/createAuth: admin, pxs

CampoTipoRequeridoDescripción
donornetworkoperatorstringNoCódigo del operador donante — dejar en blanco para detección automática
emailstringCorreo electrónico de contacto
overridecooloffbooleanNoSaltar el período de enfriamiento regulatorio (predeterminado: falso)
contacttelephonenumberstringNúmero de autorización del cliente
Type_of_Numbersstring"mobile" o "fixed"
telephonenumberseriestartstringPrimer número en el rango
telephonenumberserieendstringÚltimo número en el rango
AccountTypestring"Prepaid" o "Postpaid"
PortingStateintegerNoAnulación del estado inicial (predeterminado: 0)
curl -X POST https://your-host/np_api/PortIn/create \
-u "your_username:your_api_key" \
-H "Content-Type: application/json" \
-d '{
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"overridecooloff": false,
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"telephonenumberseriestart": "5550100",
"telephonenumberserieend": "5550199",
"AccountType": "Prepaid"
}'

Respuesta:

{
"result": "success",
"msgidentifier": "XX202501-CARR-00001",
"message": "Solicitud de port-in creada con éxito"
}

Listar Solicitudes de Port-In

GET /np_api/PortIn/listAuth: admin, pxs

Devuelve hasta 30 registros ordenados por los más recientes.

Obtener Solicitud de Port-In

GET /np_api/PortIn/{msgidentifier}Auth: admin, pxs

Devuelve el registro completo incluyendo el historial de eventos y rangos de números. Si es reemplazado por un reenvío, devuelve de manera transparente el registro más nuevo.

Forma de respuesta:

{
"port_in_id": 42,
"msgidentifier": "XX202501-CARR-00001",
"PortingState": 2,
"PortingStateString": "Waiting_for_Instruction",
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"AccountType": "Prepaid",
"overridecooloff": false,
"submission_timestamp": "2025-01-15T10:30:00",
"update_timestamp": "2025-01-15T14:22:00",
"failure_reason": null,
"original_porting_request": null,
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550100", "telephonenumberserieend": "5550199" }
],
"events": [
{
"porting_in_event_id": 1,
"msgtype": "PortingRequest",
"direction": 0,
"eventlog": "Enviado al clearinghouse",
"submission_timestamp": "2025-01-15T10:30:00Z"
}
]
}

Valores de estado de portabilidad:

ValorEstado
0NoPort
1Waiting_for_Authorisation_Response
2Waiting_for_Instruction
3Waiting_for_Instruction_Response
10Waiting_for_Ported_Response
11Waiting_for_Change_Response
20Number_Ported
30Number_Ported_Complete
97TimeOut
98Aborted
99Rejected

Códigos de razón de rechazo (failure_reason):

CódigoRazón
0Desconocido
31Cuenta Suspendida
32Problema de Cuenta
33Problema de Factura
34Depósito Excedido
35Tipo de Cuenta Incorrecto
36Reportado Robado o Perdido
37Especial
38Sin Enfriamiento (Repatriación)
39Problema de Factura Prepagada
99Rechazo General

Enviar Instrucción (Confirmar Puerto)

POST /np_api/PortIn/{msgidentifier}Auth: admin, pxs

Confirma que el puerto debe proceder. Solo es válido cuando PortingState es Waiting_for_Instruction (2).

Abort Port-In

DELETE /np_api/PortIn/{msgidentifier}Auth: admin, pxs

Cancela un port-in. Válido en estados: Waiting_for_Authorisation_Response, Waiting_for_Instruction, Waiting_for_Authorisation.

Listar Archivos XML

GET /np_api/PortIn/get_xml_list/{msgidentifier}Auth: admin, pxs

Devuelve un array de nombres de archivos XML para un puerto.

Descargar Archivo XML

GET /np_api/PortIn/get_xml/{folder}/{filename}Auth: admin, pxs

folder es output_XML (enviado) o input_XML (recibido).


Puntos finales de Port-Out

Listar Solicitudes de Port-Out

GET /np_api/PortOut/listAuth: admin, pxs

Obtener Solicitud de Port-Out

GET /np_api/PortOut/{msgidentifier}Auth: admin, pxs

Forma de respuesta:

{
"port_out_id": 99,
"msgidentifier": "XX202501-DONOR-00001",
"PortingState": 1,
"PortingStateString": "Waiting_for_Authorisation_Response",
"recipientnetworkoperator": "DONOR",
"Type_of_Numbers": "mobile",
"submission_timestamp": "2025-01-16T09:15:00",
"update_timestamp": "2025-01-16T09:15:00",
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550200", "telephonenumberserieend": "5550249" }
],
"events": []
}

Autorizar Port-Out

POST /np_api/PortOut/{msgidentifier}Auth: admin, pxs

Aprueba el port-out y notifica al operador receptor.

Rechazar Port-Out

DELETE /np_api/PortOut/{msgidentifier}Auth: admin, pxs

Rechaza el port-out. Úsalo solo por razones legítimas: discrepancia de cuenta, saldo pendiente, solicitud fraudulenta o número no activo.


Puntos finales de Enrutamiento

Consultar Enrutamiento de Números

GET /np_api/route/{msisdn}Auth: admin, pxs

Devuelve el registro de enrutamiento de CGrateS incluyendo dirección NAPTR, orden, preferencia y datos de suscripción HSS. msisdn es el número completo E.164 sin el + inicial.

Empujar Actualización de Enrutamiento

POST /np_api/route/{msisdn}/{operator}/{type}Auth: admin, pxs

Aprovisiona manualmente un registro de enrutamiento. operator es específico de la implementación. type es mobile o fixed.

Eliminar Registro de Enrutamiento

DELETE /np_api/route/{msisdn}Auth: admin, pxs

Elimina un registro de enrutamiento.

Consultar Solo HSS

GET /np_api/route/hss_route/{msisdn}Auth: admin, pxs

Devuelve solo datos de suscripción HSS, sin la búsqueda en la base de datos de enrutamiento.


Puntos finales de Validación

Validación de Enrutamiento de SMS

POST /np_api/validate/sms_validateAuth: admin, pxs, read_only

Envía un SMS de prueba a través de un proveedor de CPaaS especificado. Se agrega automáticamente el prefijo del código de país.

CampoTipoDescripción
phone_numberstringNúmero objetivo
OperatorstringEnet, GTT, Digicel, Sinch, Twilio, Vonage, Telnyx, Pilvo, ClickSend
apiKeystringClave API del proveedor (si es necesario)

Respuesta:

{
"result": "Sent",
"x-message-id": "SM1234567890abcdef",
"x-transaction-id": "8a2c925809bb403f01",
"x-message-timestamp": "2025-01-15T10:30:00.000Z",
"x-provider": "Twilio",
"x-provider-response": "..."
}

Información del Número

GET /np_api/info/{msisdn}Auth: admin, pxs, read_only

Consulta al clearinghouse para obtener información sobre el número. Devuelve la respuesta cruda del clearinghouse como JSON.


Terminar Número

DELETE /np_api/terminate/{msisdn}/{type_of_numbers}Auth: admin, pxs

Envía una solicitud de terminación al clearinghouse y elimina el registro de enrutamiento. type_of_numbers es mobile o fixed.


Receptor XML del Clearinghouse

POST /np_api/{deployment_prefix}/recv/Auth: pxs (credenciales del clearinghouse)

Punto final interno utilizado por el clearinghouse para entregar mensajes XML entrantes. No para uso directo. El prefijo de implementación se configura por instalación.

Tipo de MensajeAcción
authorisation_requestCrea un nuevo registro de port-out
authorisation_responseActualiza el estado de port-in; reintenta con el tipo de cuenta alternado en el código 35
instruction_responseAvanza el port-in a Waiting_for_Ported_Response
portedMarca el puerto como completo, actualiza la base de datos de enrutamiento, envía notificación de bienvenida
timedoutEstablece el estado en TimeOut
terminatedElimina el registro de enrutamiento

Respuestas de Error

{
"result": "Excepción generada en ...",
"Reason": "detalles del error"
}
EstadoSignificado
200Éxito
401Autenticación fallida
403Archivo no encontrado (descarga de XML)
500Error interno — verifica el campo Reason