Configurer Alcatel OmniPCX Office (OXO) R10 / R10.2
Configuration de Natalia Analyse pour un PBX Alcatel OXO via son API CDR HTTPS WMC. Pas de licence supplémentaire, juste une activation de service dans WMC.
Étape 1/5
Activer CDR over IP dans WMC
Depuis la console Web Management OXO (par défaut https://<IP-OXO>/management), connectez-vous comme administrateur et ouvrez Configuration → Services → CDR over IP. Activez le service et choisissez le port d'écoute :
- 443, port HTTPS standard (recommandé si l'admin HTTPS de l'OXO n'utilise pas déjà 443)
- 30443, fallback si 443 est occupé
Ouvrez le port choisi sur votre firewall entre la VM agent Natalia et l'IP de l'OXO.
Étape 2/5
Créer un compte WMC avec profil CDR operator
Utilisez un compte dédié à Natalia. PAS le compte admin OXO.
- Dans WMC, ouvrez Users & permissions → Service accounts
- Créez le compte
natalia-collector - Générez un mot de passe fort (>= 24 caractères, alphanum + symboles)
- Attribuez le profil CDR operator (ou son équivalent selon votre firmware OXO)
- Sauvegardez et notez les identifiants, requis à l'étape 4
Étape 3/5
Comprendre le flow d'authentification JWT
L'API OXO utilise un flow JWT en 2 temps. Natalia le gère de façon transparente. Documenté ici pour référence et debug.
1. Login (Basic Auth → JWT)
POST /api/oxo/authentication/v1.0/login HTTP/1.1
Host: <OXO-IP>
Authorization: Basic <base64(natalia-collector:password)>
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600
}
http
2. Appels CDR avec Bearer JWT
GET /api/oxo/cdr/v1.0/records?since=2026-05-24T00:00:00Z HTTP/1.1
Host: <OXO-IP>
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
http
Étape 4/5
Configurer l'interface web de l'agent
Sur https://<IP-agent>:8443, remplissez le formulaire de configuration PBX :
| Champ | Valeur |
|---|---|
| PBX type | OXO |
| PBX IP | Adresse IP de l'OXO |
| Port | 443 ou 30443 |
| Login | natalia-collector |
| Mot de passe | le mot de passe généré à l'étape 2 |
| Cycle de collecte | 30 min (doit rester sous le TTL JWT, voir étape 3) |
Étape 5/5
Tester la connexion et la collecte
Cliquez sur « Tester la connexion ». L'agent fait le login JWT (étape 3), puis un GET HTTPS sur l'endpoint CDR et parse un échantillon. En cas de succès, le résultat indique le nombre d'enregistrements lus.
Les erreurs fréquentes et leurs fixs sont documentés dans la référence codes erreur (NAT-AGT-001 à 010) et sur la page dépannage.
Séquence polling JWT OXO
sequenceDiagram
autonumber
participant Agent as Natalia Agent
participant OXO as Alcatel OXO (WMC)
participant Cloud as Natalia Cloud
Note over Agent: Polling cycle (every 30 min)
Agent->>OXO: POST /authentication/v1.0/login (Basic Auth)
OXO-->>Agent: 200 OK {token, expires_in: 3600}
Agent->>OXO: GET /cdr/v1.0/records?since=... (Bearer JWT)
OXO-->>Agent: 200 OK [CDR records...]
Agent->>Cloud: POST /ingest/cdr (HTTPS, agent API key)
Cloud-->>Agent: 202 Accepted {ingested: N}
Note over Agent,OXO: JWT renewed before TTL (≤ 60 min)
Reprise du diagramme du hub /documentation/natalia-analyse, dupliqué ici pour référence en contexte.