Exemples d'utilisation de l'API
← Retour à la référence de l'API
Table des matières
Provisionnement complet d'abonnés
Cet exemple démontre le flux de travail complet pour le provisionnement d'un nouvel abonné à partir de zéro. Le processus implique la création de tous les profils et composants requis avant de créer l'abonné.
Prérequis : Cet exemple utilise jq pour l'analyse JSON. Installez avec apt-get install jq ou brew install jq.
Sections connexes :
# 1. Créer un ensemble de clés
KEY_SET_ID=$(curl -k -X POST https://hss.example.com:8443/api/key_set \
-H "Content-Type: application/json" \
-d '{
"ki": "0123456789ABCDEF0123456789ABCDEF",
"opc": "FEDCBA9876543210FEDCBA9876543210",
"authentication_algorithm": "milenage",
"amf": "8000",
"sqn": 0
}' | jq -r '.response.id')
# 2. Créer un profil QoS APN
APN_QOS_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/qos_profile \
-H "Content-Type: application/json" \
-d '{
"name": "Default Internet QoS",
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 50000,
"apn_ambr_ul_kbps": 25000,
"pre_emption_capability": true,
"pre_emption_vulnerability": true,
"qci": 9
}' | jq -r '.response.id')
# 3. Créer un identifiant APN
APN_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/identifier \
-H "Content-Type: application/json" \
-d '{
"apn": "internet",
"ip_version": "ipv4v6"
}' | jq -r '.response.id')
# 4. Créer un profil APN
APN_PROFILE_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/profile \
-H "Content-Type: application/json" \
-d "{
\"apn_identifier_id\": \"$APN_ID\",
\"apn_qos_profile_id\": \"$APN_QOS_ID\",
\"name\": \"Internet APN\"
}" | jq -r '.response.id')
# 5. Créer un profil EPC
EPC_PROFILE_ID=$(curl -k -X POST https://hss.example.com:8443/api/epc/profile \
-H "Content-Type: application/json" \
-d "{
\"apn_profiles\": [$APN_PROFILE_ID],
\"name\": \"Standard Data Plan\",
\"network_access_mode\": \"packet_only\",
\"tracking_area_update_interval_seconds\": 600,
\"ue_ambr_dl_kbps\": 100000,
\"ue_ambr_ul_kbps\": 50000
}" | jq -r '.response.id')
# 6. Créer un abonné
SUBSCRIBER_ID=$(curl -k -X POST https://hss.example.com:8443/api/subscriber \
-H "Content-Type: application/json" \
-d "{
\"imsi\": \"001001123456789\",
\"key_set_id\": \"$KEY_SET_ID\",
\"epc_profile_id\": \"$EPC_PROFILE_ID\"
}" | jq -r '.response.id')
echo "Abonné provisionné avec succès avec l'ID : $SUBSCRIBER_ID"
Ce que cela crée :
Ce flux de travail de provisionnement crée un abonné complet avec :
- Clés cryptographiques (Ensemble de clés) - Pour l'authentification
- Profil de service de données (Profil EPC) - Paramètres de bande passante et d'accès au réseau
- Configuration APN (Profil APN) - Point d'accès avec QoS
- Enregistrement d'abonné (Abonné) - L'entité abonnée réelle
Prochaines étapes :
- Ajouter des numéros de téléphone : Voir Gestion des MSISDN
- Activer les services vocaux : Créer et attribuer un Profil IMS
- Configurer l'itinérance : Créer et attribuer un Profil d'itinérance
- Lier une carte SIM physique : Créer et attribuer une SIM
Voir aussi :
- Documentation Multi-MSISDN - Attribution de plusieurs numéros de téléphone
- Documentation des profils - Configuration avancée des profils
Provisionnement complet d'IP statique
Cet exemple démontre le provisionnement d'un abonné avec une adresse IP statique à partir de zéro.
Scénario : Provisionner un abonné appareil IoT qui a besoin d'une adresse IPv4 statique sur l'APN "internet".
# Prérequis : jq doit être installé (apt-get install jq ou brew install jq)
# 1. Créer un ensemble de clés
KEY_SET_ID=$(curl -k -X POST https://hss.example.com:8443/api/key_set \
-H "Content-Type: application/json" \
-d '{
"ki": "0123456789ABCDEF0123456789ABCDEF",
"opc": "FEDCBA9876543210FEDCBA9876543210",
"authentication_algorithm": "milenage",
"amf": "8000",
"sqn": 0
}' | jq -r '.response.id')
# 2. Créer un profil QoS APN
APN_QOS_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/qos_profile \
-H "Content-Type: application/json" \
-d '{
"name": "IoT Best Effort",
"allocation_retention_priority": 8,
"apn_ambr_dl_kbps": 10000,
"apn_ambr_ul_kbps": 5000,
"pre_emption_capability": false,
"pre_emption_vulnerability": false,
"qci": 9
}' | jq -r '.response.id')
# 3. Créer un identifiant APN
APN_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/identifier \
-H "Content-Type: application/json" \
-d '{
"apn": "internet",
"ip_version": "ipv4"
}' | jq -r '.response.id')
# 4. Créer un profil APN
APN_PROFILE_ID=$(curl -k -X POST https://hss.example.com:8443/api/apn/profile \
-H "Content-Type: application/json" \
-d "{
\"apn_identifier_id\": \"$APN_ID\",
\"apn_qos_profile_id\": \"$APN_QOS_ID\",
\"name\": \"IoT Internet APN\"
}" | jq -r '.response.id')
# 5. Créer une IP statique pour l'APN
STATIC_IP_ID=$(curl -k -X POST https://hss.example.com:8443/api/epc/static_ip \
-H "Content-Type: application/json" \
-d "{
\"apn_profile_id\": \"$APN_PROFILE_ID\",
\"ipv4_static_ip\": \"100.64.1.100\"
}" | jq -r '.response.id')
# 6. Créer un profil EPC
EPC_PROFILE_ID=$(curl -k -X POST https://hss.example.com:8443/api/epc/profile \
-H "Content-Type: application/json" \
-d "{
\"apn_profiles\": [$APN_PROFILE_ID],
\"name\": \"IoT Data Plan\",
\"network_access_mode\": \"packet_only\",
\"tracking_area_update_interval_seconds\": 600,
\"ue_ambr_dl_kbps\": 10000,
\"ue_ambr_ul_kbps\": 5000
}" | jq -r '.response.id')
# 7. Créer un MSISDN (numéro de téléphone)
MSISDN_ID=$(curl -k -X POST https://hss.example.com:8443/api/msisdn \
-H "Content-Type: application/json" \
-d '{
"msisdn": "14155551000"
}' | jq -r '.response.id')
# 8. Créer un abonné avec IP statique
SUBSCRIBER_ID=$(curl -k -X POST https://hss.example.com:8443/api/subscriber \
-H "Content-Type: application/json" \
-d "{
\"imsi\": \"001001999999999\",
\"key_set_id\": \"$KEY_SET_ID\",
\"epc_profile_id\": \"$EPC_PROFILE_ID\",
\"msisdns\": [$MSISDN_ID],
\"static_ips\": [$STATIC_IP_ID]
}" | jq -r '.response.id')
echo "Abonné IoT provisionné avec succès !"
echo " ID de l'abonné : $SUBSCRIBER_ID"
echo " IMSI : 001001999999999"
echo " MSISDN : 14155551000"
echo " IPv4 statique : 100.64.1.100 (sur l'APN 'internet')"
Ce que cela crée :
Ce flux de travail de provisionnement crée un abonné IoT complet avec :
- Clés cryptographiques (Ensemble de clés) - Pour l'authentification
- Configuration APN (Profil APN) - Point d'accès "internet"
- Attribution d'IP statique (IP statique) - Adresse IPv4 fixe 100.64.1.100
- Profil de service de données (Profil EPC) - Limites de bande passante optimisées pour IoT
- Numéro de téléphone (MSISDN) - Pour l'identification de l'appareil
- Enregistrement d'abonné (Abonné) - L'entité abonnée complète
Résultat :
Lorsque cet abonné se connecte au réseau et se connecte à l'APN "internet", il recevra l'adresse IP statique 100.64.1.100 au lieu d'une adresse DHCP dynamique.
Prochaines étapes :
- Ajouter des APN supplémentaires avec des IP statiques : Répétez les étapes 2-5 pour chaque APN
- Activer les services vocaux : Créer et attribuer un Profil IMS
- Configurer l'itin��rance : Créer et attribuer un Profil d'itinérance
- Lier une carte SIM physique : Créer et attribuer une SIM
Voir aussi :
- Gestion des IP statiques - Documentation détaillée sur les IP statiques
- Provisionnement complet d'abonnés - Provisionnement de base sans IP statique
- Documentation Multi-MSISDN - Attribution de plusieurs numéros de téléphone