Comment définir mon ID d'appelant sortant Amazon Connect en fonction du pays ?

Lecture de 10 minute(s)
0

Je souhaite que mon ID d'appelant sortant Amazon Connect change dynamiquement en fonction du pays du destinataire de l'appel. Comment configurer cela ?

Brève description

Pour que votre ID d'appelant sortant Amazon Connect change dynamiquement en fonction du pays du destinataire de l'appel, procédez comme suit :

  • Créez une liste d'identifiants d'appelants au format JSON.
  • Chargez la liste des identifiants d'appelants dans un compartiment Amazon Simple Storage Service (Amazon S3).
  • Créez une fonction AWS Lambda qui identifie le code pays du contact sortant et sélectionne un numéro de téléphone correspondant dans la liste des identifiants d'appelants.
  • Ajoutez la fonction Lambda à votre instance Amazon Connect
  • Créez un flux de message discret sortant pour appeler la fonction Lambda.
  • Configurez la file d'attente sortante par défaut dans le profil de routage de vos agents afin d'utiliser le flux de message discret sortant.

Remarque : vous pouvez personnaliser cette solution en fonction de votre cas d'utilisation. Par exemple, vous pouvez stocker votre liste des identifiants d'appelants dans une table Amazon DynamoDB au lieu d'un compartiment S3. Reconfigurez ensuite la fonction Lambda et son rôle d'exécution en conséquence.

Résolution

Créer une liste des identifiants d'appelants au format JSON

Créez un fichier JSON qui contient une liste basée sur le pays des numéros de téléphone que vous souhaitez utiliser pour votre ID d'appelant sortant.

Lorsque vous créez votre liste des identifiants d'appelants, gardez à l'esprit les points suivants :

  • Votre numéro de téléphone d'ID d'appelant sortant n'a pas besoin d'être du pays à partir duquel vous appelez.
  • Pour cet exemple de configuration, les codes pays figurant dans votre liste doivent suivre la norme ISO 3166-1 alpha-2, et les numéros de téléphone doivent suivre la norme E.164. Pour plus d'informations, consultez ISO 3166 – CODES pays sur le site web ISO et E.164 : Le plan de numérotation des télécommunications publiques internationales sur le site web de l'ITU.
  • Si la fonction Lambda ne parvient pas à appeler pendant le routage des appels, Amazon Connect utilise plutôt le numéro de téléphone sortant par défaut de la file d'attente pour l'ID d'appelant. Le numéro de téléphone sortant par défaut est le numéro configuré dans les paramètres de file d'attente de votre instance Amazon Connect. Pour en savoir plus, consultez Configurer l'ID d'appelant sortant.

Exemples de listes des identifiants d'appelants JSON

Dans ce premier exemple de liste des identifiants d'appelants, Amazon Connect utilise les identifiants d'appelants sortants suivants :

  • +12345678901, lorsque vous appelez un client dont le numéro de téléphone est situé aux États-Unis (« États-Unis »).
  • +441234567890, lorsque vous appelez un client dont le numéro de téléphone est situé au Royaume-Uni (« GB »).
  • +19876543210, lorsque vous appelez un client dont le numéro de téléphone se trouve dans un pays qui ne figure pas dans la liste des identifiants d'appelants (« Par défaut »).
{
    "US": "+12345678901",
    "GB": "+441234567890",
    "Default": "+19876543210"
}

Dans ce deuxième exemple de liste d'ID d'appelants, Amazon Connect utilise les ID d'appelants sortants suivants :

  • +441234567890, lorsque vous appelez un client dont le numéro de téléphone se trouve au Royaume-Uni (« GB »), en France (« FR »), en Allemagne (« AL ») ou en Irlande (« IE »).
  • +19876543210, lorsque vous appelez un client dont le numéro de téléphone se trouve dans un pays qui ne figure pas dans la liste des identifiants d'appelants (« Par défaut »).
{
    "GB": "+441234567890",
    "FR": "+441234567890",
    "DE": "+441234567890",
    "IE": "+441234567890",
    "Default": "+19876543210"
}

Charger la liste des ID d'appelants dans un compartiment Amazon S3

Suivez les instructions de la section Chargement d'objets du guide de l'utilisateur Amazon S3.

Créer une fonction AWS Lambda qui identifie le code pays du contact sortant et sélectionne un numéro de téléphone d'ID correspondant dans la liste des identifiants d'appelants

Créer un rôle d'exécution Lambda

Suivez les étapes contenues dans Création d'un rôle d'exécution dans la console IAM.

Lorsque vous configurez le rôle d'exécution, tenez compte des points suivants :

Remarque : vous pouvez limiter l'accès du rôle d'exécution à un compartiment S3 donné en créant votre propre politique IAM. Pour un exemple de politique, consultez Amazon S3 : autorise l'accès en lecture et en écriture aux objets d'un compartiment S3.

Créer une fonction Lambda

Créez une fonction Lambda à l'aide du rôle d'exécution que vous avez créé à l'étape précédente.

Dans le code de votre fonction, incluez une logique qui vérifie une demande JSON entrante à partir d'Amazon Connect. Pour plus d'informations, consultez Comment référencer les attributs de contact. Consultez également la section Exemple de demande JSON envoyée à une fonction Lambda du guide de l'administrateur Amazon Connect.

Remarque: par exemple, vous pouvez utiliser la fonction Python de DynamicOutboundCallerID sur le référentiel GitHub aws-support-tools. Le code de fonction fonctionne avec l'exécution Python 3.6 (ou version ultérieure). Si vous utilisez l'exemple de code de fonction, vous devez définir les variables d'environnement suivantes dans votre fonction.

  • BUCKET_NAME : nom du compartiment S3 dans lequel l'objet JSON est stocké.
  • COUNTRY_ROUTING_LIST_KEY : clé du fichier JSON stocké dans le compartiment S3.

Par exemple, si l'objet JSON est stocké dans s3://hello/world/list.json, les variables d'environnement devraient être les suivantes.

  • BUCKET_NAME : « hello »
  • COUNTRY_ROUTING_LIST_KEY : « world/list.json »

Créer un package de déploiement Lambda pour l'exécution Lambda que vous utilisez

Suivez les instructions contenues dans Packages de déploiement Lambda.

Remarque : l'exemple de fonction Python de DynamicOutboundCallerID utilise la bibliothèque Python phonenumbers. Pour plus d'informations, consultez phonenumbers sur le site web Python Package Index (PyPI).

Pour inclure une bibliothèque tierce dans votre fonction, vous devez créer un package de déploiement. Vous pouvez créer le package de déploiement en exécutant les commandes suivantes dans le dossier qui contient lambda_function.py :

$ pip install phonenumbers --target ./
$ zip -r9 function.zip ./

Ces commandes ne sont valables que pour les systèmes d'exploitation Linux, Unix et macOS.

Pour plus d'informations sur le déploiement des fonctions Lambda Python, voir Déployer des fonctions Lambda Python avec des archives de fichiers .zip.

Ajouter la fonction Lambda à votre instance Amazon Connect

Suivez les instructions contenues dans Ajouter une fonction Lambda à votre instance Amazon Connect.

Créer un flux de message discret sortant pour appeler la fonction Lambda

Créer un flux de message discret sortant

Si vous ne l'avez pas déjà fait, créez un flux de contact de message discret sortant.

Important : pour créer et modifier un flux de contact, vous devez vous connecter à votre instance Amazon Connect en tant qu'utilisateur disposant d'autorisations suffisantes dans son profil de sécurité.

1.    Connectez-vous à votre instance Amazon Connect à l'adresse https://instance_name.my.connect.aws/.
Remarque : remplacez instance_name par l'alias de votre instance.

2.    Dans le panneau de navigation gauche, survolez Routage, puis sélectionnez Flux de contact.

3.    Sur la page Flux de contact, sélectionnez l'icône de la flèche en regard de Créer un flux de contact, puis Créer un flux de message discret sortant.

4.    Dans l'outil de conception de flux de contact, saisissez un nom pour le flux de contact dans le champ Enter a name (Saisir un nom).

5.    Choisissez Save (Enregistrer).

Pour en savoir plus, consultez Créer un flux de contact.

Ajouter un bloc Appeler la fonction AWS Lambda

1.    Dans l'outil de conception de flux de contact, cliquez sur Integrate (Intégrer).

2.    Faites glisser un bloc Appeler la fonction AWS Lambda sur le canevas.

3.    Sélectionnez le titre du bloc (Appeler une fonction AWS Lambda). Le menu des paramètres du bloc s'ouvre.

4.    Sous ARN de la fonction, choisissez l'option Sélectionner une fonction, puis la fonction Lambda que vous avez ajoutée à votre instance.

5.    (Facultatif) Pour Délai d'expiration (8 secondes maximum), saisissez le délai d'attente maximal (en seconde) de la réponse de Lambda par Amazon Connect avant l'expiration.

6.    Choisissez Save (Enregistrer).

Remarque : lorsque Amazon Connect appelle votre fonction Lambda, cette fonction renvoie une réponse JSON similaire à ce qui suit :

{
    "customer_number": "<Customer's phone number that you're calling>",
    "customer_country": "<Country of the customer's phone number>",
    "outbound_number": "<Outbound phone number that Lambda loads from Amazon S3 and sends to Amazon Connect>",
    "outbound_country": "<Country of the outbound phone number that Lambda sends to Amazon Connect>",
    "default_queue_outbound_number": "<Default outbound phone number set up for the queue>",
    "default_queue_outbound_country": "<Country of the default outbound phone number>"
}

Pour plus d'informations, consultez Appeler une fonction Lambda à partir d'un flux de contact et Bloc de contact : Appeler une fonction AWS Lambda.

Ajouter un bloc Appeler le numéro de téléphone

Configurez ce bloc pour utiliser le paramètre outbound_number de Lambda comme numéro de téléphone d'ID d'appelant.

1.    Dans l'outil de conception de flux de contact, choisissez Interact (Interagir).

2.    Faites glisser un bloc Appeler le numéro de téléphone sur le canevas.

3.    Choisissez le titre du bloc (Appeler le numéro de téléphone). Le menu des paramètres du bloc s'ouvre.

4.    Procédez comme suit :
Cochez la case Numéro d'ID de mandataire à afficher (facultatif).
Choisissez Utiliser un attribut.
Pour Type, choisissez Externe.
Pour Attribute (Attribut), saisissez outbound_number.

5.    Choisissez Save (Enregistrer).

Pour plus d'informations, voir Bloc de contact : appeler le numéro de téléphone.

Terminer le flux de contact

1.    Ajoutez et connectez d'autres blocs de contact si nécessaire pour votre cas d'utilisation. Pour des exemples de cas d'utilisation, consultez Exemples de flux de contacts.

2.    Connectez tous les connecteurs de votre flux de contact à un bloc. Veillez à connecter le nœud Success (Opération réussie) du bloc Appeler la fonction AWS Lambda au bloc Appeler le numéro de téléphone. Veillez à connecter également le nœud Success (Opération réussie) du bloc Appeler le numéro de téléphone à un bloc Arrêter le flux/Relancer. Vous devez utiliser au moins ces blocs : Par exemple : Point d'entrée > Appeler la fonction AWS Lambda > Appeler le numéro de téléphone > Arrêter le flux/Relance.

3.    Pour enregistrer une version du flux, choisissez Save (Enregistrer).

4.    Pour activer le flux, choisissez Publish (Publier).

Configurez la file d'attente sortante par défaut dans le profil de routage de vos agents afin d'utiliser le flux de message discret sortant

Dans le profil de routage de vos agents, identifiez la file d'attente sortante par défaut.

Modifiez la file d'attente en procédant comme suit :

1.    Dans le panneau de navigation de votre instance Amazon Connect, survolez Routage, puis sélectionnez Files d'attente.

2.    Sur la page Files d'attente, choisissez le nom de la file d'attente que vous avez identifiée comme file d'attente sortante par défaut.

3.    Sur la page Modifier la file d'attente pour Flux de message discret sortant (facultatif), recherchez et choisissez le nom du flux de message discret sortant que vous avez créé.

4.    Choisissez Save (Enregistrer).

Pour plus d'informations, consultez Créer un profil de routage et un objet RoutingProfile.


Informations connexes

Bonnes pratiques pour Amazon Connect

Création et partage de couches Lambda

Fonctionnement du routage

Comment résoudre les problèmes de défaillance d'une fonction Lambda ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans