Router les appels entrants d'un trunk selon l'origine et le numéro de l'appelant
Le Inbound routing d'un trunk SIP peut traiter les appels différemment selon la personne qui appelle et le numéro composé. Les règles vérifient des informations sur chaque appel, comme le type de ligne ou le pays de l'appelant, et déterminent ce qui se passe : envoyer l'appel vers un groupe de passerelles, modifier le numéro que reçoit votre équipement, le rejeter ou le transférer. Cette page donne des configurations fonctionnelles pour les cas les plus courants.
Avant de commencer
- Un trunk SIP avec les appels entrants activés, ses passerelles dans au moins un groupe et vos numéros dirigés vers lui. Configurer un trunk SIP couvre ces trois points.
- Ouvrez Voice > SIP Trunks, ouvrez le trunk, puis accédez à Inbound routing > Rules.
Fonctionnement des règles
Pour chaque appel entrant, Bird vérifie les règles de haut en bas. La première règle dont la condition When correspond décide du sort de l'appel ; un appel qui ne correspond à aucune règle utilise la Default route (No rule above matched). Chaque règle, ainsi que la route par défaut, possède une action Then : Route to group, Reject ou Forward to number. Un trunk contient jusqu'à 50 règles.
Une condition When porte sur les informations d'appel suivantes. Sélectionnez une information dans la liste, ou utilisez Edit expression pour écrire la condition vous-même.
| Information | Contenu |
|---|---|
orig.line_type | Le type de ligne de l'appelant : LINE_FIXED, LINE_MOBILE, LINE_TOLL_FREE, LINE_PAYPHONE ou LINE_UNKNOWN |
orig.country | Le code pays à deux lettres de l'appelant, par exemple GB. Vide lorsque l'appelant a masqué son numéro |
orig.anonymous | true lorsque l'appelant a masqué son numéro |
orig.number | Le numéro de l'appelant au format E.164, avec + |
orig.digits | Le numéro de l'appelant sans le + initial |
dest.number | Le numéro composé, au format E.164, avec + |
dest.digits | Le numéro composé, sans le + initial |
call.local_hour | L’heure de l’appel, de 0 à 23, dans le fuseau horaire du routage |
call.weekday | Le jour de l’appel, dans le fuseau horaire du routage |
Écrivez les types de ligne sous forme de constantes, par exemple orig.line_type == LINE_MOBILE. Une constante inconnue provoque une erreur à l’enregistrement, alors qu’une chaîne mal orthographiée comme "LINE_MOBLE" est acceptée et ne correspond jamais à aucun appel.
Envoyer les appelants mobiles et fixes vers des passerelles différentes
Utilisez cette configuration lorsque, par exemple, les appelants mobiles doivent joindre un SBC et tous les autres un SBC différent.
- Dans Groups, créez un groupe pour chaque destination, par exemple
mobileavec votre SBC mobile etlandlineavec l’autre. - Dans Rules, sélectionnez Add rule et nommez la règle Mobile callers. Définissez When sur Line type avec la valeur
LINE_MOBILE. - Définissez Then sur Route to group et choisissez
mobile. - Définissez Default route sur Route to group et choisissez
landline. Cette route reçoit tous les appels qui ne correspondent pas à la règle. - Sélectionnez Review and save, puis confirmez.
Le même principe permet de router par pays : avec Edit expression, définissez When sur une condition telle que orig.country == GB.
Ajouter un préfixe selon l'origine de l'appelant
Votre SBC peut attendre, devant le numéro composé, un préfixe qui lui indique l'origine de l'appelant, par exemple 801 pour une ligne fixe, 802 pour un mobile et 800 pour tout le reste. Bird modifie la partie utilisateur de la Request-URI qu'il envoie à votre passerelle ; l'hôte et le port de la passerelle restent inchangés. Pour un appel vers +44 808 157 0123, un appelant mobile arrive alors sous la forme sip:802448081570123@198.51.100.20.
Vous pouvez configurer cela de deux manières équivalentes.
Une règle par origine
Utilisez cette méthode si chaque origine doit apparaître comme une entrée distincte dans l'éditeur, ou si les origines diffèrent par plus que le préfixe, par exemple par un groupe différent.
- Dans Rules, sélectionnez Add rule, nommez la règle Landline et définissez When sur Line type avec la valeur
LINE_FIXED. - Définissez Then sur Route to group, choisissez votre groupe sous Group, puis sélectionnez Override R-URI user part. Saisissez
801, puis utilisez Insert pour ajouterdest.digitsà la suite. - Répétez l'opération pour Mobile (
LINE_MOBILE, préfixe802). - Définissez Default route sur Route to group avec la partie utilisateur
800suivie dedest.digits. - Sélectionnez Review and save, puis confirmez.
Une seule expression
Utilisez cette méthode lorsque seul le préfixe change. Laissez Rules vide, définissez Default route sur Route to group avec votre groupe, sélectionnez Override R-URI user part, insérez cette expression, puis ajoutez dest.digits après elle :
orig.line_type == LINE_FIXED ? "801" : orig.line_type == LINE_MOBILE ? "802" : "800"Les deux configurations produisent le même INVITE. Le champ R-URI user part propre à une passerelle n'accepte que du texte fixe autour du numéro composé. Placez donc un préfixe qui dépend de l'appelant dans une règle ou dans la route par défaut, comme ci-dessus.
Vérifier votre configuration
- Review and save vérifie chaque condition et chaque modèle, puis liste les erreurs avec leur emplacement. Rien n'est enregistré tant qu'elles ne sont pas corrigées.
- Appelez l'un de vos numéros depuis un téléphone mobile, depuis une ligne fixe, puis en masquant votre numéro. Sur votre SBC, comparez la Request-URI de chaque
INVITEreçu avec ce que vous attendez. - Ouvrez chaque appel sous Voice > Legs et utilisez son SIP Call-ID pour retrouver le même appel dans les journaux de votre SBC.
Étapes suivantes
| Page | Contenu |
|---|---|
| Recevoir des appels | Routes par numéro, groupes, route par défaut et appels refusés |
| Configurer un trunk SIP | La configuration complète d'un trunk dans l'ordre, de la création à un appel de test |
| Passer des appels | Ce que Bird attend dans le INVITE envoyé par votre équipement |
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet.