Aller au contenu principal

Gestionnaire de Portabilité Omnitouch

Gestion de la portabilité des numéros pour les opérateurs — intégration de la chambre de compensation, routage ENUM et événements du cycle de vie OSS/BSS, avec une interface web pour les équipes opérationnelles.

Omnitouch a déployé la portabilité des numéros dans nos réseaux, avec des intégrations en direct contre PortingXS et un support pour NPAC sur les marchés nord-américains.


Aperçu

Le Gestionnaire de Portabilité Omnitouch gère l'ensemble du cycle de vie des opérations de portabilité de numéros : soumission et suivi des demandes auprès de la chambre de compensation, maintien d'une base de données de routage ENUM pour les numéros portés, et livraison des événements de cycle de vie à l'OSS/BSS de l'opérateur. Il s'intègre à PortingXS à travers son réseau de 43 pays et avec NPAC pour les déploiements aux États-Unis.

La plateforme est conçue pour être pilotée par un OSS/BSS à grande échelle, avec une interface web pour le travail opérationnel quotidien — révision de l'état des ports, gestion des cas particuliers, interrogation du routage et validation de la livraison SMS sur les numéros portés.

Quelques points à noter avant de continuer :

  • Le routage utilise All-Call-Query contre une base de données ENUM avec des paramètres npdi/rn selon la RFC 4694 et 3GPP TS 23.228 — pas de tables de plages statiques, qui échouent silencieusement sur les ports suivants
  • Les incompatibilités de type de compte (la raison de rejet la plus courante) sont réessayées automatiquement sans intervention manuelle
  • La plateforme possède le flux de travail de portabilité et le routage ; l'éligibilité du compte et le cycle de vie du service restent dans votre OSS/BSS, avec des hooks API pour les connecter
  • Pour les opérateurs utilisant OmniCRM, l'intégration OSS/BSS est préconstruite

Le Gestionnaire de Portabilité Omnitouch agit comme le point d'intégration central entre les systèmes de gestion des clients, les chambres de compensation de portabilité externes, l'infrastructure de routage DNS/ENUM et les plateformes de facturation.

Architecture d'Intégration

Le Gestionnaire de Portabilité Omnitouch est conçu autour d'une frontière claire : il possède le flux de travail de portabilité et le routage, et votre OSS/BSS possède le client. Cela est intentionnel.

Les opérateurs ont déjà un BSS qui sait si un compte client est en règle, quels services ils détiennent et ce qui se passe lorsqu'un service se termine. Construire cette logique dans une plateforme de portabilité signifierait soit la dupliquer, soit lutter contre elle. Au lieu de cela, le Gestionnaire de Portabilité Omnitouch expose les bons hooks — les vérifications d'éligibilité appellent votre BSS pour obtenir une réponse, et les événements de cycle de vie (port complet, port sortant autorisé) notifient votre BSS pour agir. La plateforme de portabilité fait son travail ; votre BSS fait son travail.

En pratique, cela signifie :

  • Le cycle de vie des demandes de port et les interactions avec la chambre de compensation sont entièrement gérés ici
  • Le routage est mis à jour automatiquement à l'achèvement
  • L'éligibilité du compte, l'activation du service et la fermeture du compte restent dans votre OSS/BSS — déclenchées par des événements de cette plateforme, pas remplacées par elle

Pour les opérateurs utilisant OmniCRM, cette intégration est préconstruite. Pour les opérateurs avec un BSS existant, l'API fournit les hooks d'événements nécessaires pour l'intégrer.

L'interface web est là pour que les équipes de portabilité gèrent les opérations quotidiennes — révision des demandes, actions sur les ports en attente, interrogation du routage et diagnostic des problèmes de livraison SMS. À grande échelle, l'attente est que les soumissions de ports et les réponses de cycle de vie soient automatisées via l'API.


Architecture Système

Composants Principaux

  1. Gestionnaire de Portabilité — Orchestration des flux de travail de portabilité et gestion des interactions avec la chambre de compensation de portabilité de numéros
  2. Serveur DNS/ENUM — Gestion du routage des appels et de la résolution des numéros
  3. API & Interface Web — Fournit un accès programmatique et utilisateur aux fonctions de portabilité

Points d'Intégration

  • OmniCRM — Gestion de la relation client et provisionnement de services
  • Plateforme de Facturation — Gestion de la facturation et des revenus (CGrateS)
  • PortingXS — Chambre de compensation de portabilité de numéros internationale
  • NPAC — Chambre de compensation de portabilité de numéros aux États-Unis
  • Infrastructure DNS/ENUM — Routage des appels et résolution des numéros

Gestionnaire de Portabilité

Flux de Travail de Port-In

  1. Initiation de la Demande — La demande de port-in est créée via l'interface web ou l'API
  2. Soumission à la Chambre de Compensation — Le Gestionnaire de Portabilité soumet la demande à la chambre de compensation appropriée (PortingXS pour les marchés internationaux, NPAC pour les États-Unis)
  3. Suivi de l'État — Le système suit les changements d'état via le flux d'événements de la chambre de compensation
  4. Provisionnement ENUM — À l'achèvement réussi du port, la base de données de routage est automatiquement mise à jour
  5. Activation du Service — Le service OmniCRM est activé et la facturation commence
  6. Intégration de Facturation — La plateforme de facturation est notifiée pour commencer à facturer

Détection Automatique de l'Opérateur Donneur

Lorsqu'une demande de port-in est soumise sans un donornetworkoperator, le Gestionnaire de Portabilité Omnitouch détermine automatiquement l'opérateur donneur à partir de la plage de numéros. C'est le défaut recommandé pour la plupart des soumissions — le code opérateur n'a besoin d'être spécifié explicitement que lorsque le résultat de la détection automatique doit être remplacé.

Resoumission Automatique de Type de Compte

Une raison de rejet courante des opérateurs donneurs est Type de Compte Incorrect (code de rejet 35) — le drapeau Prépayé/Postpayé dans la demande ne correspond pas aux dossiers du donneur. Plutôt que d'exiger une intervention manuelle, le Gestionnaire de Portabilité réessaie automatiquement la demande avec le type de compte basculé (Prépayé → Postpayé ou vice versa) lorsque ce rejet est reçu.

La resoumission crée un nouvel enregistrement de port. Dans l'interface web, l'ID de port original est affiché en vert sur le nouvel enregistrement afin que l'historique soit traçable. Via l'API, GET /np_api/PortIn/{msgidentifier} résout de manière transparente l'enregistrement actif si une resoumission a eu lieu.

Flux de Travail de Port-Out

  1. Réception de la Demande — La demande de port-out est reçue de l'opérateur gagnant via la chambre de compensation
  2. Validation du Service — Le système valide que le service existe et est éligible
  3. Notification CRM — OmniCRM est mis à jour avec l'état de port-out
  4. Déprovisionnement ENUM — La base de données de routage est mise à jour pour acheminer les appels vers l'opérateur gagnant
  5. Résiliation du Service — Au moment prévu du port : service désactivé dans OmniCRM, facture finale générée, tous les services associés fermés

Intégrations de la Chambre de Compensation

PortingXS

PortingXS (PXS) est une chambre de compensation de portabilité de numéros internationale largement adoptée opérant dans 43 pays à travers quatre régions :

RégionPays
Amériques & CaraïbesAntigua & Barbuda, Bahamas, Barbade, Îles Caïmans, Curaçao, Dominique, Grenade, Guyana, Jamaïque, Panama, Sainte-Lucie, Saint-Kitts & Nevis, Saint-Martin, Saint-Vincent & les Grenadines, Trinité & Tobago, Îles Turques & Caïques
EuropeBelgique, Bosnie & Herzégovine, Gibraltar, Guernesey, Irlande, Île de Man, Jersey, Kosovo, Monténégro, Slovénie, Pays-Bas, Ukraine
AfriqueAlgérie, Bénin, Ghana, Kenya, Namibie, Nigéria, Rwanda, Sénégal, Seychelles, Togo
Moyen-Orient & AsieArménie, Bangladesh, Brunei, Irak, Sri Lanka

Le Gestionnaire de Portabilité s'intègre via une API REST/SOAP et gère l'ensemble du cycle de vie du port à travers une machine d'état.

Capacités principales :

  • Gestion de Port-In/Out avec un flux de travail de machine d'état complet
  • Mises à jour d'état en temps réel via l'historique des événements
  • Suivi des messages XML SOA/ENUM
  • Base de données de routage centralisée pour ENUM (IMS) et MAP/INAP/CAP (All Call Query)
  • Surcharge manuelle de routage

Points de terminaison API :

MéthodePoint de terminaisonDescription
POST/PortIn/createSoumettre une nouvelle demande de port-in
GET/PortIn/listLister toutes les demandes de port-in
GET/PortIn/{msgidentifier}Obtenir l'historique des événements
POST/PortIn/{msgidentifier}Envoyer une instruction pour procéder
DELETE/PortIn/{msgidentifier}Abandonner la demande de port
GET/PortOut/listLister les demandes de port-out
POST/PortOut/{msgidentifier}Autoriser le port-out
DELETE/PortOut/{msgidentifier}Rejeter le port-out
GET/route/{phone_number}Interroger le routage actuel
POST/route/{msisdn}/{operator}/{type}Mettre à jour le routage manuellement

Les codes opérateurs, le format des numéros et les types de comptes sont configurés par déploiement.

NPAC

Pour les opérations aux États-Unis, le Gestionnaire de Portabilité Omnitouch s'intègre au Centre d'Administration de la Portabilité des Numéros (NPAC) :

  • Création et gestion des Ordres de Service NPAC (SO)
  • Interactions avec les Fournisseurs de Services Locaux (LSP)
  • Gestion des Versions d'Abonnement (SV)
  • Synchronisation d'état en temps réel
  • Conformité avec les réglementations et délais de portabilité aux États-Unis

Serveur DNS / ENUM

Le serveur DNS fournit des services DNS complets pour les réseaux de télécommunications, prenant en charge les services de paquets standard, les scénarios de roaming, IMS et le routage des appels de portabilité de numéros.

Zones Réseau 3GPP

Zone EPC (epc.mncXXX.mccYYY.3gppnetwork.org) — Utilisée pour le signalement Diameter local et les scénarios de roaming. Permet aux réseaux visités de découvrir les ressources PGW locales. Contient des enregistrements SRV et NAPTR pour la découverte des pairs Diameter.

Zone IMS (ims.mncXXX.mccYYY.3gppnetwork.org) — Prend en charge les opérations du Système Multimédia IP. Routage du signal SIP et localisation des ressources CSCF pour les abonnés IMS. Prend en charge VoLTE et RCS.

Zone 3GPP Publique (mncXXX.mccYYY.pub.3gppnetwork.org) — Fournit un accès externe aux services destinés aux abonnés : découverte du serveur XCAP, localisation de BSF pour GBA et découverte de ePDG pour VoWiFi.

ENUM pour la Portabilité de Numéros

Le serveur DNS implémente les services ENUM RFC 3761 en utilisant la zone e164enum.net.

All-Call-Query (ACQ) : Chaque appel interroge la base de données ENUM pour déterminer le routage actuel.

Flux de Requête ENUM :

  1. Le système appelant extrait le numéro composé (par exemple, +1-555-0100)
  2. Le numéro est converti au format ENUM (0.0.1.0.5.5.5.1.e164.arpa)
  3. Une requête DNS NAPTR est émise au serveur ENUM
  4. Le serveur renvoie des informations de routage : identifiant de l'opérateur, numéro de routage (RN), fournisseur de services, balises de routage personnalisées

OmniCall — la plateforme IMS et MSC d'Omnitouch — gère le flux ACQ ENUM de manière native. Aucun travail d'intégration supplémentaire n'est requis ; OmniCall interroge le serveur ENUM à chaque appel et route en fonction de la réponse NAPTR. Pour les opérateurs utilisant OmniCall aux côtés du Gestionnaire de Portabilité Omnitouch, le routage des numéros portés est correct dès qu'un port est complété, sans intervention manuelle ni maintenance de table de routage séparée requise.

Approche de Routage pour les Numéros Portés

L'approche définie dans RFC 4694 et adoptée par 3GPP dans TS 23.228 §4.18 pour IMS est All-Call-Query contre une base de données ENUM. Chaque appel interroge ENUM pour le routage actuel du numéro composé spécifique, et la réponse contient directement le numéro de routage de l'opérateur en service. C'est ainsi que la portabilité des numéros est censée fonctionner dans un réseau IMS — décisions de routage basées sur des données en temps réel par numéro, pas des tables de plages qui nécessitent une maintenance manuelle et deviennent obsolètes à mesure que les numéros sont portés et reportés.

Le Gestionnaire de Portabilité Omnitouch met cela en œuvre complètement. Lorsqu'un port est complété, les enregistrements NAPTR sont automatiquement poussés vers le serveur ENUM pour chaque numéro de la plage. La réponse contient deux paramètres :

  • rn — le numéro de routage de l'opérateur en service actuel. Le commutateur d'origine route vers cela, pas vers l'opérateur d'origine du numéro composé.
  • npdi — signale que la recherche NP est terminée. Les nœuds en aval ne doivent pas re-interroger, ce qui empêche les boucles.

Lorsqu'un port est complété, le Gestionnaire de Portabilité Omnitouch pousse automatiquement un enregistrement NAPTR vers le serveur ENUM pour chaque numéro de la plage portée :

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>!"

Pour les numéros non portés, npdi est défini sans rn — confirmant que la recherche a été effectuée et que le numéro n'a pas été déplacé. Dans tous les cas, le cœur IMS d'origine (S-CSCF/BGCF) obtient une réponse définitive du DNS et route sans aucun autre accès à la base de données.

Le routage reste correct à travers plusieurs ports sans aucune intervention manuelle. Le serveur ENUM est toujours la seule source de vérité.


Intégration de la Plateforme de Facturation

Port-In

Lorsqu'un numéro est porté avec succès :

  1. La passerelle envoie une notification d'activation à la plateforme de facturation
  2. La plateforme de facturation crée un compte abonné et des profils de tarification
  3. Les frais récurrents et la tarification d'utilisation commencent immédiatement
  4. La première facture peut être proratisée en fonction de la date d'achèvement du port

Port-Out

Lorsqu'un numéro est porté :

  1. La passerelle envoie une notification de désactivation à la plateforme de facturation
  2. La facturation en temps réel s'arrête à l'heure prévue du port
  3. La facture finale est générée : frais récurrents proratisés, utilisation en attente, frais de résiliation anticipée (le cas échéant), crédits/remboursements
  4. Le compte abonné est fermé avec le code de raison de portabilité

Flux de Travail Opérationnels

Opérations Quotidiennes

  1. Revue de l'État du Matin — Vérifier les activités de portabilité de la nuit et les mises à jour de la chambre de compensation
  2. Traitement des Actions — Gérer les approbations en attente et les confirmations des clients
  3. Résolution des Erreurs — Enquêter et résoudre les ports échoués ou rejetés
  4. Communication avec les Clients — Coordonner avec les clients sur les dates de port à venir

Surveillance

Le Gestionnaire de Portabilité Omnitouch fournit une surveillance automatisée pour :

  • Connectivité API de la chambre de compensation
  • Échecs de provisionnement ENUM
  • Erreurs de synchronisation CRM
  • Échecs d'intégration de la plateforme de facturation
  • Taux de rejet de portabilité anormaux

Conformité et Audit

  • Toutes les activités de portabilité sont enregistrées avec des pistes d'audit complètes
  • Conformité avec les délais de portabilité réglementaires
  • Enregistrements de communication inter-opérateurs conservés
  • Rapprochement financier avec les frais de chambre de compensation

Problèmes Courants

Port bloqué dans l'état en attente — Vérifiez la connectivité API de la chambre de compensation, vérifiez les informations du client, consultez le journal des événements pour la raison du rejet.

Routage non mis à jour après le port — Confirmez que l'état du port est Number_Ported. Utilisez la Requête de Routage pour vérifier l'état actuel. Utilisez le Push Routing pour corriger manuellement si nécessaire.

Échecs de validation SMS — Développez la ligne de résultat pour collecter l'ID du message et l'ID de transaction. Fournissez ces informations au fournisseur CPaaS lors de l'escalade.


Guide de l'Utilisateur

Prise en Main

L'accès est contrôlé par une clé API. Lors du premier chargement, vous serez invité avec une fenêtre modale Entrer la Clé API. Entrez votre clé API assignée et cliquez sur Enregistrer les Modifications. Les identifiants sont stockés dans le localStorage du navigateur et persistent entre les sessions. Pour mettre à jour votre clé à tout moment, cliquez sur Changer la Clé API dans le coin supérieur droit de la barre de navigation.

Votre niveau de compte détermine quelles fonctionnalités sont disponibles :

NiveauAccès
AdminAccès complet à toutes les fonctionnalités
Utilisateur PXSGestion de Port IN/OUT et routage
Lecture SeuleRequêtes de routage et validation SMS uniquement

Demande de Portabilité — Soumettre une nouvelle demande de port-in

Port IN — Voir et gérer toutes les demandes de port-in

Port OUT — Examiner et répondre aux demandes de port-out d'autres opérateurs

Requête de Routage — Rechercher le routage actuel pour n'importe quel numéro

Push Routing — Provisionner manuellement un enregistrement de routage

Valider le Routage SMS — Envoyer des messages SMS de test à travers plusieurs fournisseurs CPaaS

Changer la Clé API — Mettre à jour vos identifiants (bouton, en haut à droite)


Nouvelle Demande de Portabilité

Cliquez sur Demande de Portabilité dans la navigation pour ouvrir le formulaire de soumission.

Formulaire de Nouvelle Demande de Portabilité

ChampDescription
Opérateur Réseau DonneurCode opérateur de l'opérateur donneur. Sélectionnez Auto pour la détection automatique à partir de la plage de numéros.
Surcharge de Cool OffDéfini sur Vrai uniquement lorsque le client a explicitement renoncé à la période de cool-off. Par défaut : Faux.
Type de ComptePrépayé ou Postpayé
Type de NumérosMobile ou Fixe
Premier NuméroDébut de la plage de numéros (format local, sans code pays)
Dernier NuméroFin de la plage — identique au Premier Numéro pour un port unique
Total de NumérosCalculé automatiquement
Email (Contact)Email de contact pour cette demande
Numéro d'AutorisationNuméro d'autorisation du client — se remplit automatiquement à partir du Premier Numéro si laissé vide

Cliquez sur Soumettre pour créer la demande. Un message de succès affichera l'identifiant de message assigné.


Tableau de Bord Port IN

Tableau de Bord Port IN

ColonneDescription
IDID de base de données interne
Port IDIdentifiant de message de la chambre de compensation
ÉtatÉtat actuel de la portabilité
DemandéHorodatage de soumission
Mis à JourHorodatage de la dernière mise à jour
OpérateurCode opérateur réseau donneur
CibleNuméro de contact/autorisation
TypeMobile ou Fixe
Type de ServiceBouton Historique des Événements
ActionsBoutons d'action dépendants de l'état

Lorsqu'un port a été resoumis (par exemple, après une incompatibilité de type de compte), l'ID de port original est affiché en vert. Lorsqu'un port a été rejeté, la raison du rejet est affichée en rouge.

États de Port-In :

ÉtatSignification
Waiting_for_Authorisation_ResponseDemande soumise, en attente de réponse du donneur
Waiting_for_InstructionDonneur autorisé — confirmer pour procéder
Waiting_for_Instruction_ResponseInstruction envoyée, en attente d'accusé de réception
Waiting_for_Ported_ResponseExécution du port en cours
Number_Ported / Number_Ported_CompletePort complet, routage mis à jour
AbortedAnnulé
RejectedLe donneur a rejeté la demande
TimeOutDemande expirée

Actions :

  • Waiting_for_Authorisation_Response — Bouton Abandonner (rouge) annule la demande
  • Waiting_for_Instruction — Bouton Instruction (vert) confirme que le port doit se poursuivre

Historique des Événements :

Cliquez sur Historique des Événements sur n'importe quelle ligne pour ouvrir la fenêtre modale du journal des événements.

Fenêtre Modale d&#39;Historique des Événements Port IN

  • Événements — liste accordéon de chaque transition d'état avec type d'événement et détail du journal
  • Corps XML — liens de téléchargement pour tous les messages XML SOA/ENUM, divisés en sortants (Output_XML) et entrants (Input_XML)
  • Données Détailées — dump JSON complet de l'enregistrement de port

Tableau de Bord Port OUT

Tableau de Bord Port OUT

ColonneDescription
IDID de base de données interne
Port IDIdentifiant de message de la chambre de compensation
ÉtatÉtat actuel de la portabilité
DemandéHorodatage de soumission
Mis à JourHorodatage de la dernière mise à jour
OpérateurCode de l'opérateur destinataire (gagnant)
CiblesPlages de numéros portées
Type de ServiceBouton Journal des Événements
ActionsBoutons Autoriser ou Rejeter

Actions (Waiting_for_Authorisation_Response) :

  • Autoriser (vert) — Approuve le port-out et notifie l'opérateur gagnant
  • Rejeter (rouge) — Nier la demande. À utiliser uniquement pour des raisons légitimes : incompatibilité de compte, solde impayé, demande frauduleuse ou numéro non actif.

Cliquez sur Journal des Événements sur n'importe quelle ligne pour voir l'échange de messages complet.

Fenêtre Modale d&#39;Historique des Événements Port OUT


Requête de Routage

Entrez le numéro local (le code pays est ajouté automatiquement) et cliquez sur Vérifier le Routage.

Résultat de la Requête de Routage

La réponse est le résultat brut de l'événement CGrateS ProcessEvent :

ChampDescription
Event.E164AddressLe numéro interrogé
Event.NAPTRAddressChaîne de routage NAPTR — domaine IMS ou numéro de routage
Event.NAPTROrderValeur de l'ordre NAPTR
Event.NAPTRPreferenceValeur de préférence NAPTR
MatchedProfilesProfil d'attribut CGrateS correspondant pour ce numéro

Push Routing

Formulaire de Push Routing

ChampDescription
Numéro de Téléphone (Sans code pays)Numéro local — le code pays est ajouté automatiquement
OpérateurCode opérateur vers lequel router ce numéro
TypeMobile ou Fixe

Utilisé pour des corrections d'urgence, provisionnement initial ou lorsque le routage automatique après port échoue.


Validation du Routage SMS

Validation du Routage SMS

Le cas d'utilisation principal de cet outil est de valider que les messages SMS A2P (application à personne) des fournisseurs CPaaS externes sont correctement routés vers les numéros portés. Lorsqu'un numéro est porté, le nouvel opérateur doit être correctement provisionné dans les tables de routage de chaque fournisseur — cela ne se produit pas toujours automatiquement, et sans un outil comme celui-ci, il n'y a pas de moyen facile de détecter le problème.

En envoyant un message de test de chaque fournisseur à un numéro porté, vous pouvez confirmer quels fournisseurs ont mis à jour leur routage et lesquels ne l'ont pas fait. Les fournisseurs qui retournent une erreur ou échouent à livrer peuvent être escaladés directement en utilisant les informations de débogage dans le résultat.

Valide que le fournisseur a accepté la soumission du message — ne confirme pas la livraison au terminal. Utilisez un appareil de test ou vérifiez le journal SMSc pour confirmer la livraison.

  1. Entrez le numéro de téléphone cible (typiquement un numéro récemment porté en test)
  2. Sélectionnez un ou plusieurs fournisseurs A2P à tester
  3. Cliquez sur Vérifier le Routage

Le numéro cible recevra un SMS de chaque fournisseur sélectionné avec le corps Test from {ProviderName}. Les résultats montrent vert (accepté) ou rouge (erreur). Cliquez sur n'importe quelle ligne de résultat pour développer les informations de débogage — nécessaires lors de l'escalade des problèmes de routage aux fournisseurs CPaaS.

Fournisseurs Disponibles :

FournisseurRemarques
EnetLivraison SMPP sur la plateforme native
GTTDirectement auprès de l'opérateur
DigicelDirectement auprès de l'opérateur
SinchFournisseur CPaaS
TwilioOmnitouch a un contact d'escalade direct
VonageOmnitouch a un contact d'escalade direct
TelnyxClient d'Omnitouch — contact direct de l'équipe
PilvoOmnitouch a un contact d'escalade direct

Swagger / Explorateur API

Le Gestionnaire de Portabilité Omnitouch expose une interface Swagger en direct à /np_api/doc.

Swagger UI — aperçu des espaces de noms

Swagger UI — espace de noms de routage

Swagger UI — Création de PortIn

Le schéma OpenAPI est disponible à /np_api/swagger.json pour importation dans Postman ou d'autres outils API.


Référence API

URL de Base

/np_api/

Documentation interactive disponible à /np_api/doc.

Authentification

Voir le Guide de l'Administrateur pour la configuration de l'authentification et la gestion des identifiants.

NiveauCapacités
adminAccès complet à tous les points de terminaison
pxsGestion de Port IN/OUT et routage
read_onlyValidation et points de terminaison d'informations sur les numéros uniquement

Points de Terminaison Port-In

Créer une Demande de Port-In

POST /np_api/PortIn/createAuth : admin, pxs

ChampTypeRequisDescription
donornetworkoperatorstringNonCode opérateur donneur — laissez vide pour la détection automatique
emailstringOuiEmail de contact
overridecooloffbooleanNonIgnorer la période de cool-off réglementaire (par défaut : faux)
contacttelephonenumberstringOuiNuméro d'autorisation du client
Type_of_NumbersstringOui"mobile" ou "fixed"
telephonenumberseriestartstringOuiPremier numéro de la plage
telephonenumberserieendstringOuiDernier numéro de la plage
AccountTypestringOui"Prepaid" ou "Postpaid"
PortingStateintegerNonSurcharge de l'état initial (par défaut : 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"
}'

Réponse :

{
"result": "success",
"msgidentifier": "XX202501-CARR-00001",
"message": "Demande de port-in créée avec succès"
}

Lister les Demandes de Port-In

GET /np_api/PortIn/listAuth : admin, pxs

Renvoie jusqu'à 30 enregistrements ordonnés par les plus récents.

Obtenir une Demande de Port-In

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

Renvoie l'enregistrement complet, y compris l'historique des événements et les plages de numéros. Si remplacé par une resoumission, renvoie de manière transparente l'enregistrement plus récent.

Forme de la réponse :

{
"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": "Soumis à la chambre de compensation",
"submission_timestamp": "2025-01-15T10:30:00Z"
}
]
}

Valeurs d'état de portabilité :

ValeurÉtat
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

Codes de raison de rejet (failure_reason) :

CodeRaison
0Inconnu
31Compte Suspendu
32Problème de Compte
33Problème de Facture
34Dépôt Dépassé
35Type de Compte Incorrect
36Signalé Comme Volé ou Perdu
37Spécial
38Pas de Cool Off (Rapatriement)
39Problème de Facture Prépayée
99Rejet Général

Envoyer une Instruction (Confirmer le Port)

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

Confirme que le port doit se poursuivre. Valide uniquement lorsque PortingState est Waiting_for_Instruction (2).

Abandonner le Port-In

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

Annule un port-in. Valide dans les états : Waiting_for_Authorisation_Response, Waiting_for_Instruction, Waiting_for_Authorisation.

Lister les Fichiers XML

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

Renvoie un tableau de noms de fichiers XML pour un port.

Télécharger un Fichier XML

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

folder est output_XML (envoyé) ou input_XML (reçu).


Points de Terminaison Port-Out

Lister les Demandes de Port-Out

GET /np_api/PortOut/listAuth : admin, pxs

Obtenir une Demande de Port-Out

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

Forme de la réponse :

{
"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": []
}

Autoriser le Port-Out

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

Approuve le port-out et notifie l'opérateur gagnant.

Rejeter le Port-Out

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

Rejette le port-out. Utilisez uniquement pour des raisons légitimes : incompatibilité de compte, solde impayé, demande frauduleuse ou numéro non actif.


Points de Terminaison de Routage

Interroger le Routage des Numéros

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

Renvoie l'enregistrement de routage CGrateS, y compris l'adresse NAPTR, l'ordre, la préférence et les données d'abonnement HSS. msisdn est le numéro complet E.164 sans le + initial.

Mettre à Jour le Routage

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

Provisionne manuellement un enregistrement de routage. operator est spécifique au déploiement. type est mobile ou fixed.

Supprimer l'Enregistrement de Routage

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

Supprime un enregistrement de routage.

Interroger HSS Seulement

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

Renvoie uniquement les données d'abonnement HSS, sans recherche dans la base de données de routage.


Points de Terminaison de Validation

Validation du Routage SMS

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

Envoie un SMS de test via un fournisseur CPaaS spécifié. Le préfixe du code pays est ajouté automatiquement.

ChampTypeDescription
phone_numberstringNuméro cible
OperatorstringEnet, GTT, Digicel, Sinch, Twilio, Vonage, Telnyx, Pilvo, ClickSend
apiKeystringClé API du fournisseur (si requise)

Réponse :

{
"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": "..."
}

Informations sur le Numéro

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

Interroge la chambre de compensation pour obtenir des informations sur le numéro. Renvoie la réponse brute de la chambre de compensation au format JSON.


Terminer un Numéro

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

Soumet une demande de résiliation à la chambre de compensation et supprime l'enregistrement de routage. type_of_numbers est mobile ou fixed.


Récepteur XML de la Chambre de Compensation

POST /np_api/{deployment_prefix}/recv/Auth : pxs (identifiants de la chambre de compensation)

Point de terminaison interne utilisé par la chambre de compensation pour livrer des messages XML entrants. Non destiné à un usage direct. Le préfixe de déploiement est configuré par installation.

Type de MessageAction
authorisation_requestCrée un nouvel enregistrement de port-out
authorisation_responseMet à jour l'état de port-in ; réessaie avec le type de compte basculé sur le code 35
instruction_responseFait avancer le port-in vers Waiting_for_Ported_Response
portedMarque le port comme complet, met à jour la base de données de routage, envoie une notification de bienvenue
timedoutDéfinit l'état sur TimeOut
terminatedSupprime l'enregistrement de routage

Réponses d'Erreur

{
"result": "Exception raised in ...",
"Reason": "détails de l'erreur"
}
StatutSignification
200Succès
401Échec d'authentification
403Fichier non trouvé (téléchargement XML)
500Erreur interne — vérifiez le champ Reason