Ajouter un murmure d'appel à un appel entrant
Les numéros de téléphone sont omniprésents dans la publicité : sur les panneaux d'affichage, dans les publicités télévisées, sur les sites web, dans les journaux. Souvent, ces numéros souvent au même centre d'appel, où un agent doit s'enquérir de la raison de l'appel et de l'endroit où la personne a vu l'annonce. l'annonce.
Grâce aux chuchotements, le contexte de l'appel entrant est annoncé à l'opérateur du centre d'appel avant d'être connecté à l'appelant. à l'appelant. Ce guide présente une application qui met en œuvre cette approche. Un utilisateur appelle l'un des deux numéros. L'application répond à l'appel et l'appelant entend un message d'attente. Pendant ce temps, l'application passe également un appel à l'opérateur du centre d'appel, joue un murmure d'appel différent en fonction du numéro composé, puis connecte l'opérateur à la conférence avec l'opérateur du centre d'appel, et le met en relation avec l'opérateur du centre d'appel. l'agent à la conférence avec l'appelant.
Les exemples sont écrits en node.js avec express, et vous pouvez trouver le code sur GitHub.
Dans ce guide
Vous verrez comment ajouter un murmure d'appel à un appel entrant :
- Comment cela fonctionne-t-il ? - une vue d'ensemble de qui appelle qui et de la manière dont le processus se déroule dans l'exemple d'application.
- Avant de commencer - mettre en place l'application et les numéros nécessaires pour ce guide.
- Commencer par le code - cloner le dépôt et faire fonctionner l'application.
- Guide du code - se plonger dans les moindres détails du fonctionnement de l'application.
- Pour en savoir plus - Consultez d'autres ressources qui pourraient vous être utiles.
Comment cela fonctionne-t-il ?
Avant de commencer
Avant de saisir et d'exécuter le code, nous devons d'abord procéder à quelques vérifications.
S'inscrire à Vonage
S'inscrire à un compte API Vonage si vous n'en avez pas encore.
Configurer le CLI
Ce guide utilise le Outil de ligne de commande VonageVérifiez donc qu'il est installé avant de poursuivre.
Créer une application vocale
Utilisez l'interface de commande pour créer une application Voice API à l'aide de l'option
webhooks qui sera chargé de répondre à un appel sur votre numéro Vonage (
appel sur votre numéro Vonage (/webhooks/voice/answer) et l'enregistrement des événements d'appel (/webhooks/voice/event), respectivement.
Ces webhooks doivent être accessibles par les serveurs de Vonage, donc dans ce guide vous utiliserez ngrok d'exposer votre environnement de
environnement de développement local à l'Internet public. Cet article explique comment installer
et d'exécuter ngrok et configurer Vonage pour qu'il envoie des requêtes.
Si vous n'avez pas d'application, vous pouvez en créer une à l'aide du CLI
vonage apps create 'Your application'
✅ Creating Application
Saving private key ... Done!
Application created
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
None Enabled
vonage apps create 'Your application'
✅ Creating Application
Saving private key ... Done!
Application created
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
None Enabled
La commande renvoie un numéro d'identification de l'application (que vous devez noter) et les informations relatives à votre clé privée (que vous pouvez ignorer pour les besoins de ce guide). pouvez ignorer pour les besoins de ce guide).
Exécuter ngrok à l'aide de la commande suivante :
Notez le nom d'hôte temporaire que ngrok et l'utiliser à la place de example.com dans la commande suivante
commande :
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
--voice-answer-url='https://example.com/webhooks/voice/answer' `
--voice-event-url='https://example.com/webhooks/voice/event' `
--voice-fallback-url='https://example.com/webhooks/voice/fallback'
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
VOICE:
Uses Signed callbacks: On
Conversation TTL: 41 hours
Leg Persistence Time: 6 days
Event URL: [POST] https://example.com/webhooks/voice/event
Answer URL: [POST] https://example.com/webhooks/voice/answer
Fallback URL: [POST] https://example.com/webhooks/voice/fallback
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice ^
--voice-answer-url='https://example.com/webhooks/voice/answer' ^
--voice-event-url='https://example.com/webhooks/voice/event' ^
--voice-fallback-url='https://example.com/webhooks/voice/fallback'
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
VOICE:
Uses Signed callbacks: On
Conversation TTL: 41 hours
Leg Persistence Time: 6 days
Event URL: [POST] https://example.com/webhooks/voice/event
Answer URL: [POST] https://example.com/webhooks/voice/answer
Fallback URL: [POST] https://example.com/webhooks/voice/fallback
Acheter un numéro de téléphone
Pour traiter les appels entrants vers votre application, vous avez besoin d'un numéro de Vonage. Si vous avez déjà un numéro à utiliser, passez à la section suivante pour associer le numéro existant à votre application. à la section suivante pour associer le numéro existant à votre application.
Vous pouvez utiliser le CLI Vonage pour acheter le numéro de téléphone :
Recherche d'un Numbers
Vous pouvez acheter un numéro à l'aide de la CLI de Vonage. La commande suivante recherche un numéro à acheter (spécifiez un autre code de pays à deux caractères pour acheter un numéro dans un autre pays).
vonage numbers search US
✅ Searching for numbers
There is 1 number available for purchase in United States
Number Type Features Monthly Cost Setup Cost
----------- ------ --------------- ------------ ----------
16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00
Use vonage numbers buy to purchase.
vonage numbers search US
✅ Searching for numbers
There is 1 number available for purchase in United States
Number Type Features Monthly Cost Setup Cost
----------- ------ --------------- ------------ ----------
16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00
Use vonage numbers buy to purchase.
Acheter un numéro
Une fois que vous avez trouvé un numéro qui vous convient, vous pouvez l'acheter à l'aide de la fonction vonage numbers buy commande :
vonage numbers buy US 16127779311
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y
✅ Purchasing number
Number 16127779311 purchased
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
vonage numbers buy US 16127779311
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y
✅ Purchasing number
Number 16127779311 purchased
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
Note Pour ce guide, vous aurez besoin de deux nombres
Commencer par le code
Le code de ce projet se trouve sur GitHub. Il s'agit d'un projet node.js utilisant Express. consiste en un projet node.js utilisant Express et est destiné à vous donner un exemple de travail que vous pourrez ensuite adapter à vos propres besoins. vos propres besoins.
Cloner le dépôt
Clonez ou téléchargez le référentiel sur votre machine locale, dans un nouveau répertoire.
Configurer les paramètres
Votre application aura besoin d'en savoir plus sur vous et votre application avant de pouvoir fonctionner. Copiez le fichier .env-example fichier
à .env et modifiez ce nouveau fichier pour qu'il reflète les paramètres que vous souhaitez utiliser :
CALL_CENTER_NUMBER: Le numéro de téléphone sur lequel joindre l'opérateur du centre d'appel, par exemple votre numéro de portable.INBOUND_NUMBER_1: Un des Numbers que vous avez achetésINBOUND_NUMBER_2: L'autre numéro que vous avez achetéDOMAIN: Le nom de domaine de l'endroit où votre application sera exécutée, par exemple le mien est :ff7b398a.ngrok.io
Installer les dépendances
Dans le répertoire où vous avez téléchargé le code, exécutez npm install. Cela permet d'intégrer Express et d'autres dépendances
nécessaires à ce projet.
Démarrer le serveur
Une fois la configuration effectuée et les dépendances en place, votre application est prête à fonctionner ! Exécutez-la avec :
npm start
Par défaut, l'application fonctionne sur le port 3000. Si vous comptez utiliser ngrokvous pouvez commencer votre tunnel dès maintenant.
Lorsque le nom du tunnel ngrok change, n'oubliez pas de mettre à jour les URL de votre application avec l'option vonage apps capabilities update commande.
Essayez-le
Essayons la démo. Pour cela, vous avez besoin de deux téléphones (un pour l'"appelant" et un pour l'"opérateur du centre d'appel"). vous devrez peut-être recruter un ami ou utiliser Skype pour passer le premier appel.
- Appelez l'un des Numbers que vous avez achetés.
- L'appelant entend un message d'accueil, puis le numéro de téléphone de l'opérateur du centre d'appel sonne.
- Lorsque l'agent du centre d'appel répond, il entend le message "chuchoté" avant d'être mis en relation avec l'appelant initial. l'appelant initial.
- Essayez à nouveau, mais appelez l'autre numéro et écoutez le "chuchotement" différent.
Guide du code
La démo est amusante, mais si vous souhaitez construire ce système vous-même, il y a quelques points clés que vous voudrez probablement voir. que vous voudrez probablement voir. Cette section examine les sections clés du code pour chaque étape du processus afin que vous puissiez savoir où les choses se passent et adapter cette application à vos besoins. où les choses se passent et que vous puissiez adapter cette application à vos besoins.
Répondre à l'appel entrant et commencer un appel sortant
Lorsque quelqu'un appelle l'un des numéros liés à l'application Vonage, Vonage reçoit un appel entrant.
appel entrant. Vonage informera alors votre application web de cet appel. Pour ce faire, elle émet un
demande de webhook à la page d'accueil de votre application web answer_url dans ce cas, il s'agit d'un
cas /answer. Lorsque l'appel est pris, l'application met l'appelant en relation avec l'opérateur du centre d'appel.
lib/routes.js
app.get('/webhooks/voice/answer', (req, res) => {
const answer_url = 'http://'+process.env['DOMAIN']+'/on-answer'
console.log(answer_url);
res.json([
{
"action": "talk",
"text": "Thanks for calling. Please wait while we connect you"
},
{
"action": "connect",
"from": req.query.to,
"endpoint": [{
"type": "phone",
"number": process.env['CALL_CENTER_NUMBER'],
"onAnswer": {"url": answer_url}
}]
}
]);
});
Note: Jetez un coup d'œil à la Référence de l'API Voice pour plus d'informations.
La réponse que nous renvoyons est un tableau de OCNC (Nexmo Call Control Objects). Le premier est le message vocal que l'appelant entend ; le second se connecte à l'autre appelant et spécifie l'URL à utiliser lorsque celui-ci répond à l'appel. à utiliser lorsque cette personne répond à l'appel.
Chuchoter et connecter l'appel
Lorsque l'opérateur du centre d'appel répond à l'appel, le onAnswer est utilisée, dans notre application il s'agit de l'URL /on-answer
point final. Il s'agit du code qui recherche le numéro composé et détermine l'annonce à faire.
lib/routes.js
// Define the topics for the inbound numbers
const topics = {}
topics[process.env['INBOUND_NUMBER_1']] = 'the summer offer';
topics[process.env['INBOUND_NUMBER_2']] = 'the winter offer';
Lorsque l'appel est connecté, l'agent peut écouter un murmure d'appel à l'aide de la fonction talk l'action du NCCO, en l'informant de la campagne
l'appel, avant de le mettre en relation avec l'appelant en attente dans la conférence.
lib/routes.js
app.get('/on-answer', function(req, res) {
// we determine the topic of the call based on the inbound call number
const topic = topics[req.query.from]
res.json([
// We first play back a little message telling the call center operator what
// the call relates to. This "whisper" can only be heard by the call center operator
{
"action": "talk",
"text": "Incoming call regarding "+topic
}
]);
});
De nombreuses possibilités s'offrent à vous pour personnaliser les chuchotements. Vous pourriez transmettre le numéro de l'appelant
de l'appelant. url en on-answer et de les rechercher, ce qui vous permet de les saluer par leur nom ou de leur fournir d'autres informations.
informations. Les possibilités sont infinies, mais nous espérons que ce guide vous donne un exemple de travail que vous pouvez développer et personnaliser.
personnaliser.
Pour en savoir plus
- GitHub contient tout le code de cet exemple d'application.
- Consultez notre Guides vocaux pour en savoir plus sur ce que vous pouvez faire avec la voix.
- Les Référence de l'API Voice contient une documentation détaillée pour chaque point d'extrémité.