Routage des appels selon le CallerID avec Asterisk et Wazo : exemple sur les appels internationaux
Le routage d’appels selon le CallerID permet d’adapter dynamiquement le traitement des appels entrants en fonction du numéro de l’appelant. Cette technique est particulièrement utile pour traiter différemment certains clients, partenaires, ou encore pour gérer des scénarios spécifiques comme le routage des appels internationaux vers une destination dédiée.
Dans cet article, nous illustrons cette approche en configurant le routage des appels internationaux avec Asterisk et Wazo, en tenant compte du fait que le préfixe + du format E.164 est généralement supprimé avant l’entrée dans le dialplan.
Pourquoi router selon le CallerID ?
- Prioriser certains clients (VIP, partenaires, etc.)
- Rediriger automatiquement des appels sensibles (ex : appels internationaux, numéros à risque)
- Automatiser la gestion de listes blanches/noires
- Optimiser les flux entrants selon l’origine de l’appel
Exemple : Routage des appels internationaux
Pour détecter un appel international, il faut se baser sur le format du numéro après suppression du +. Typiquement, les numéros internationaux sont composés de 11 à 15 chiffres et ne commencent pas par 0 (qui est réservé aux appels nationaux en France, par exemple).
Étapes de mise en œuvre avec Wazo
- Créer un fichier de configuration
Dans /etc/asterisk/extensions_extra.d/
, créez un fichier, par exemple reroutage_international.conf
.
- Insérer le script suivant
- Adapter la destination
- Remplacez
${dest-internal-context}
par le nom du contexte interne cible (ex :default-key-2057-internal
) - Remplacez
${dest-ext}
par le numéro du groupe ou de la destination souhaitée (ex :9000
)
- Recharger le dialplan
asterisk -rx "dialplan reload"
- Intégrer la sous-routine dans Wazo
Dans l’interface Wazo, dans la section “appel entrant”, ajoutez [reroute-international-calls]
comme sous-routine de pré-traitement.
Explications et variantes
- La logique
LEN(${CALLERID(num)}) > 10 & "${CALLERID(num):0:1}" != "0"
cible les numéros longs (plus de 10 chiffres) et qui ne commencent pas par 0, ce qui correspond à la majorité des numéros internationaux reçus sans le préfixe +. - Vous pouvez adapter la condition pour d’autres formats ou pour cibler des plages précises selon vos besoins.
- Pour les appels nationaux, le format reste généralement
_0[1-9]XXXXXXXX
.
Conclusion
Le routage selon le CallerID avec Asterisk et Wazo, en tenant compte du format réel des numéros traités, est une solution puissante pour personnaliser le traitement de vos appels entrants, notamment pour les appels internationaux. Cette approche améliore la flexibilité, la sécurité et l’efficacité de votre infrastructure téléphonique.
N’hésitez pas à adapter ce modèle à vos besoins spécifiques et à consulter la documentation Asterisk pour approfondir les possibilités offertes par le dialplan.