Aller au contenu principal

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 :

  1. Clés cryptographiques (Ensemble de clés) - Pour l'authentification
  2. Profil de service de données (Profil EPC) - Paramètres de bande passante et d'accès au réseau
  3. Configuration APN (Profil APN) - Point d'accès avec QoS
  4. 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 :


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 :

  1. Clés cryptographiques (Ensemble de clés) - Pour l'authentification
  2. Configuration APN (Profil APN) - Point d'accès "internet"
  3. Attribution d'IP statique (IP statique) - Adresse IPv4 fixe 100.64.1.100
  4. Profil de service de données (Profil EPC) - Limites de bande passante optimisées pour IoT
  5. Numéro de téléphone (MSISDN) - Pour l'identification de l'appareil
  6. 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 :


← Retour à la référence de l'API