Services Supplémentaires
📖 Retour à la Documentation Principale
Configuration et mise en œuvre du renvoi d'appels, du blocage de l'CLI et des services d'appel d'urgence.
Documentation Connexe
Documentation Principale
- 📋 README Principal - Vue d'ensemble et démarrage rapide
- 🔧 Guide de Configuration - Paramètres de configuration des services (codes d'urgence, blocage de l'CLI, renvoi d'appels par défaut)
- 🔧 Guide des Opérations - Test des services supplémentaires
Traitement des Appels & Sources de Données
- 🔀 Configuration du Plan de Numérotation - Mise en œuvre des services dans la logique du plan de numérotation
- 👥 Interface Sh - MMTel-Config pour les paramètres de renvoi d'appels
- 📡 SS7 MAP - Renvoi d'appels basé sur HLR (alternative à Sh)
- 🔢 Traduction de Numéros - Gestion des préfixes de blocage de l'CLI
Interactions des Services
- 💳 Chargement en Ligne - Les appels d'urgence contournent l'OCS
- 📞 Messagerie Vocale - Renvoi d'appels sur des itinéraires occupés/sans réponse vers la messagerie vocale
Surveillance
- 📊 Référence des Métriques - Métriques de renvoi d'appels et de services
- 📈 Métriques du Plan de Numérotation - Métriques d'utilisation des services
Services Supplémentaires (Renvoi d'Appels / CLI Bloqué / Codes d'Urgence)
Configuration pour les préfixes de CLI bloqués, les codes d'appel d'urgence et les données de Renvoi d'Appels par défaut (les données de Renvoi d'Appels / Sans Réponse ne sont utilisées que lorsque aucune donnée MMTel-Config n'est renvoyée par le Référentiel sur Sh).
config :tas,
...
blocked_cli_prefix: ["*67"],
call_forward_not_reachable_destination: "2222",
default_no_reply_timer: 30,
emergency_call_codes: ["911", "912", "913", "sos"],
...
Paramètres de Configuration :
-
blocked_cli_prefix(liste de chaînes) : Préfixes qui déclenchent la rétention de l'CLI (Identifiant de Ligne Appelante)- Exemple :
["*67"]- composer *67 avant un numéro cache l'identité de l'appelant - Utilisé dans le plan de numérotation pour définir la variable
cli_withheld
- Exemple :
-
call_forward_not_reachable_destination(chaîne) : Destination par défaut pour le Renvoi d'Appels Non Joignable (CFNRc)- Utilisé uniquement lorsque aucune MMTel-Config n'est renvoyée par l'interface Sh
- Exemple :
"2222"- renvoie vers la messagerie vocale
-
default_no_reply_timer(entier) : Délai d'attente par défaut en secondes avant l'activation du CFNRc- Utilisé uniquement lorsque aucune MMTel-Config n'est renvoyée par l'interface Sh
- Exemple :
30- sonne pendant 30 secondes avant de renvoyer
-
emergency_call_codes(liste de chaînes) : Numéros de services d'urgence pour votre juridiction- Vérifiés lors de l'autorisation d'appel pour détecter les appels d'urgence
- Les URN d'urgence SIP (par exemple,
<urn:service:sos>) sont toujours vérifiés en plus de ces codes - Exemples courants :
["911", "112", "000", "999", "sos"] - Voir la section Appels d'Urgence pour une utilisation détaillée
Comment Fonctionne le Blocage de l'Identité de l'Appelant
Le TAS prend en charge deux méthodes de blocage de l'identité de l'appelant (retenue de l'CLI), qui définissent toutes deux la variable de plan de numérotation cli_withheld à "true" :
Méthode 1 : Blocage Basé sur le Préfixe
Lorsqu'un abonné compose un numéro de destination précédé d'un code de blocked_cli_prefix :
- Le module de traduction de numéros détecte le préfixe (par exemple, l'appelant compose
*67555123456) - Le préfixe est supprimé du numéro de destination (devenant
555123456) - La variable
cli_withheldest définie sur"true" - Le plan de numérotation peut alors utiliser cette variable pour cacher l'identité de l'appelant
Exemple de configuration :
blocked_cli_prefix: ["*67"] # Blocage de style américain
blocked_cli_prefix: ["#31#"] # Blocage de style GSM européen
blocked_cli_prefix: ["*67", "#31#"] # Support des deux
Méthode 2 : Détection de l'En-tête SIP From
Lorsque l'UE/appareil demande la confidentialité via des en-têtes SIP :
- Le TAS vérifie si le nom d'affichage de l'en-tête SIP From contient "anonyme" (insensible à la casse)
- Si trouvé, la variable
cli_withheldest définie sur"true" - Cela respecte la demande de confidentialité de l'abonné définie au niveau de l'appareil
Mise en Œuvre du Blocage de l'CLI dans le Plan de Numérotation
Le TAS définit la variable cli_withheld, mais votre XML de plan de numérotation doit mettre en œuvre le comportement de blocage réel :
<extension name="CLI-Privacy" continue="true">
<condition field="${cli_withheld}" expression="true">
<!-- Cacher l'identité de l'appelant -->
<action application="set" data="effective_caller_id_name=anonyme"/>
<action application="set" data="effective_caller_id_number=anonyme"/>
<action application="set" data="origination_privacy=hide_number"/>
<!-- Optionnellement définir la confidentialité de l'identité affirmée P- -->
<action application="set" data="sip_h_Privacy=id"/>
</condition>
</extension>
Variables Définies par le TAS pour le Blocage de l'CLI :
Le TAS définit ces variables avant l'exécution du plan de numérotation :
| Variable | Type | Valeurs | Description |
|---|---|---|---|
cli_withheld | chaîne | "true" ou "false" | Indique si le blocage de l'CLI a été demandé via un préfixe OU un en-tête From |
tas_destination_number | chaîne | numéro normalisé | Destination avec le préfixe de blocage supprimé (par exemple, 555123456) |
destination_number | chaîne | numéro normalisé | Identique à tas_destination_number (les deux sont définis) |
Variables que Votre Plan de Numérotation Doit Définir (lorsque cli_withheld="true"):
Ces variables contrôlent la manière dont l'identité de l'appelant est présentée :
| Variable | Valeur Recommandée | But |
|---|---|---|
effective_caller_id_number | "anonyme" | Cache le numéro de téléphone de l'appelant |
effective_caller_id_name | "anonyme" | Cache le nom d'affichage de l'appelant |
origination_privacy | "hide_number" | Drapeau de confidentialité SIP pour la branche sortante |
sip_h_Privacy | "id" | En-tête de confidentialité SIP (RFC 3323) |
sip_h_P-Asserted-Identity | (non défini ou supprimé) | Optionnel : Supprimer l'en-tête P-Asserted-Identity |
Exemple Complet de Plan de Numérotation :
<extension name="CLI-Privacy-Handler" continue="true">
<condition field="${cli_withheld}" expression="true">
<!-- Journaliser pour le dépannage -->
<action application="log" data="INFO Blocage de l'CLI demandé pour l'appel vers ${tas_destination_number}"/>
<!-- Cacher l'identité de l'appelant lors de l'appel sortant -->
<action application="set" data="effective_caller_id_name=anonyme"/>
<action application="set" data="effective_caller_id_number=anonyme"/>
<action application="set" data="origination_privacy=hide_number"/>
<!-- Définir les en-têtes de confidentialité SIP -->
<action application="set" data="sip_h_Privacy=id"/>
<!-- Optionnel : Supprimer P-Asserted-Identity si présent -->
<action application="unset" data="sip_h_P-Asserted-Identity"/>
<!-- L'anti-action s'exécute si cli_withheld est faux -->
<anti-action application="log" data="DEBUG Utilisation de l'identité de l'appelant normale : ${msisdn}"/>
<anti-action application="set" data="effective_caller_id_number=${msisdn}"/>
</condition>
</extension>
<!-- Cette extension continue vers le routage d'appel réel -->
<extension name="Route-Outbound-Call">
<condition field="${tas_destination_number}" expression="^(.+)$">
<action application="bridge" data="sofia/gateway/trunk/${tas_destination_number}"/>
</condition>
</extension>
Remarques Importantes :
- Les deux méthodes peuvent fonctionner simultanément (le préfixe OU l'en-tête SIP déclenche le blocage)
- Le préfixe est toujours supprimé du numéro de destination, même si le plan de numérotation n'implémente pas la confidentialité
- La variable
cli_withheldest une chaîne ("true"ou"false"), pas un booléen - Le comportement de Renvoi d'Appels / CLI Bloqué est mis en œuvre dans votre XML de plan de numérotation
- La configuration d'exemple inclut ces fonctionnalités, mais si vous ne les définissez pas dans votre plan de numérotation, elles ne fonctionneront pas
- Les variables sont définies uniquement pendant le flux d'appel MO (Mobile Originating)
Comment Fonctionne le Renvoi d'Appels
Le renvoi d'appels (également connu sous le nom de Diversion de Communication ou CDIV) permet aux abonnés de rediriger les appels entrants vers une autre destination. Le TAS prend en charge plusieurs types de renvoi d'appels avec un comportement configurable.
Types de Renvoi d'Appels
1. Renvoi d'Appels Tous (CFA) - Renvoi Inconditionnel
- Variable :
call_forward_all_destination - Quand Actif : Tous les appels entrants sont immédiatement renvoyés
- Priorité : Vérifié en premier (après le renvoi HLR)
- Utilisation Courante : L'abonné souhaite que tous les appels soient envoyés à un autre numéro
- Exemple : Appels professionnels renvoyés vers un téléphone personnel
2. Renvoi d'Appels Occupé (CFB)
- Quand Actif : L'appel est renvoyé lorsque l'abonné est déjà en ligne
- Réponse SIP : 486 Occupé déclenche le renvoi
- Utilisation Courante : Renvoi vers la messagerie vocale lorsqu'on est sur un autre appel
3. Renvoi d'Appels Sans Réponse (CFNRy)
- Variable :
no_reply_timer - Quand Actif : L'appel est renvoyé après avoir sonné pendant un certain nombre de secondes sans réponse
- Délai d'Expiration : Typiquement 15-30 secondes
- Utilisation Courante : Renvoi vers la messagerie vocale si non répondu
4. Renvoi d'Appels Non Joignable (CFNRc)
- Variable :
call_forward_not_reachable_destination - Quand Actif : L'abonné est hors ligne, non enregistré ou non joignable
- Réponse SIP : 480 Temporairement Indisponible
- Utilisation Courante : Renvoi vers la messagerie vocale lorsque le téléphone est éteint
- Par Défaut : Paramètre de configuration utilisé si aucune MMTel-Config
Priorité des Sources de Données
Les données de renvoi d'appels sont récupérées à partir de plusieurs sources avec cette priorité :
1. Données HLR (SS7 MAP) [Priorité la Plus Élevée - remplace tout]
↓ (si aucun renvoi HLR actif)
2. MMTel-Config (Interface Sh) [Paramètres spécifiques à l'abonné provenant de l'HSS]
↓ (si aucune MMTel-Config renvoyée)
3. Valeurs par Défaut de Configuration [Priorité la Plus Basse - valeurs de secours]
Pourquoi Cette Priorité ?
- Données HLR : Statut de renvoi en temps réel pour les scénarios d'itinérance/réseau
- MMTel-Config : Préférences configurées par l'abonné dans l'IMS
- Valeurs de Configuration : Valeurs de secours à l'échelle du réseau (typiquement messagerie vocale)
Variables de Plan de Numérotation pour le Renvoi d'Appels
| Variable | Type | Source | Valeur Exemple | Description |
|---|---|---|---|---|
call_forward_all_destination | chaîne | Sh/MMTel ou "none" | "61403555123" | Destination CFA si active |
call_forward_not_reachable_destination | chaîne | Sh/MMTel ou config | "2222" | Destination CFNRc (messagerie vocale) |
no_reply_timer | entier | Sh/MMTel ou config | 30 | Secondes à sonner avant CFNRy |
msrn | chaîne | HLR (MT uniquement) | "61400123456" | MSRN ou numéro renvoyé depuis HLR |
tas_destination_number | chaîne | Calculé | "2222" | Destination de routage réelle (peut être un numéro de renvoi) |
Mise en Œuvre du Renvoi d'Appels dans le Plan de Numérotation
Exemple de Plan de Numérotation MT avec Renvoi d'Appels :
<!-- Vérifier le Renvoi d'Appels Tous (priorité la plus élevée après HLR) -->
<extension name="Check-CFA" continue="true">
<condition field="${call_forward_all_destination}" expression="^(?!none$).+$">
<action application="log" data="INFO Renvoi d'Appels Tous actif vers ${call_forward_all_destination}"/>
<action application="set" data="tas_destination_number=${call_forward_all_destination}"/>
</condition>
</extension>
<!-- Essayer de relier à l'abonné -->
<extension name="Bridge-To-Subscriber">
<condition field="${msrn}" expression="^none$">
<!-- Pas de MSRN, routage vers l'abonné local -->
<action application="set" data="call_timeout=${no_reply_timer}"/>
<action application="bridge" data="sofia/internal/${tas_destination_number}@${scscf_address}"/>
<!-- Si le pont échoue, vérifier le renvoi -->
<action application="log" data="INFO Le pont a échoué, vérification du renvoi d'appels"/>
<!-- Renvoi d'Appels Non Joignable -->
<action application="set" data="forward_destination=${call_forward_not_reachable_destination}"/>
<action application="log" data="INFO Renvoi vers ${forward_destination}"/>
<action application="answer"/>
<action application="voicemail" data="default default ${msisdn}"/>
</condition>
</extension>
Configuration du Renvoi d'Appels par Défaut
Définir les valeurs par défaut à l'échelle du réseau dans config/runtime.exs :
config :tas,
# Destination par défaut CFNRc (utilisée lorsque aucune MMTel-Config)
call_forward_not_reachable_destination: "2222", # Numéro d'accès à la messagerie vocale
# Délai par défaut avant l'activation de CFNRy (utilisé lorsque aucune MMTel-Config)
default_no_reply_timer: 30 # Sonner pendant 30 secondes
Quand les Valeurs par Défaut Sont Utilisées :
- L'abonné existe dans l'HSS mais n'a pas de MMTel-Config provisionné
- La recherche Sh réussit mais renvoie aucun paramètre de renvoi d'appels
- Nouveaux abonnés avant que le renvoi d'appels soit configuré
Dépannage du Renvoi d'Appels
Problème : Les appels ne se renvoient pas comme prévu
-
Vérifier les Données Sh :
- Utiliser l'interface Web
/sh_testpour interroger l'abonné - Vérifier que la MMTel-Config contient des règles CDIV
- Vérifier la valeur de
call_forward_all_destination
- Utiliser l'interface Web
-
Vérifier les Variables de Plan de Numérotation :
- Examiner les journaux d'appels pour les valeurs des variables
- Confirmer que
call_forward_all_destination!="none" - Vérifier que
tas_destination_numberest défini sur la destination de renvoi
-
Vérifier les Données HLR (si SS7 MAP activé) :
- Utiliser l'interface Web
/hlrpour interroger l'abonné - Le renvoi HLR remplace les données Sh
- Vérifier que la variable
msrnne contient pas de numéro de renvoi inattendu
- Utiliser l'interface Web
-
Vérifier les Valeurs par Défaut de Configuration :
- Vérifier
call_forward_not_reachable_destinationdans la configuration - Confirmer que
default_no_reply_timerest approprié - Celles-ci ne s'appliquent que lorsque aucune MMTel-Config n'existe
- Vérifier
Problème : Boucles de Renvoi
Symptômes : L'appel est renvoyé vers un numéro qui renvoie à nouveau, créant une boucle
Prévention dans le Plan de Numérotation :
<!-- Suivre le nombre de sauts de renvoi -->
<extension name="Prevent-Forward-Loop" continue="true">
<condition field="${sip_h_X-Forward-Hop-Count}" expression="^$">
<action application="set" data="sip_h_X-Forward-Hop-Count=1"/>
<anti-action application="set" data="sip_h_X-Forward-Hop-Count=${expr(${sip_h_X-Forward-Hop-Count}+1)}"/>
</condition>
</extension>
<extension name="Check-Forward-Hop-Limit">
<condition field="${sip_h_X-Forward-Hop-Count}" expression="^([3-9]|[1-9][0-9]+)$">
<action application="log" data="ERREUR Boucle de renvoi détectée, nombre de sauts : ${sip_h_X-Forward-Hop-Count}"/>
<action application="hangup" data="LOOP_DETECTED"/>
</condition>
</extension>
Surveillance du Renvoi d'Appels
Indicateurs Clés :
- Taux élevé d'appels vers des numéros de messagerie vocale
- Modèle d'appels expirant au niveau de la valeur
no_reply_timer - Appels systématiquement routés vers les mêmes destinations de renvoi
Journaux Utiles :
INFO Renvoi d'Appels Tous actif vers 61403555123
INFO Renvoi vers 2222
INFO Le pont a échoué, vérification du renvoi d'appels
Intelligence d'Affaires :
- Suivre les taux d'activation du renvoi par abonné
- Surveiller les modèles d'utilisation de la messagerie vocale
- Identifier les abonnés avec renvoi inconditionnel