
Partager:
Aaron était défenseur des développeurs chez Nexmo. Ingénieur logiciel chevronné et artiste numérique en herbe, Aaron est souvent amené à créer des choses avec du code ou de l'électronique, parfois les deux. On peut généralement savoir qu'il travaille sur quelque chose de nouveau grâce à l'odeur de composants brûlés qui flotte dans l'air.
Proxy des appels vocaux de manière anonyme avec Express
Temps de lecture : 5 minutes
Nous sommes tous passés par là : vous êtes sorti de votre taxi et, quelques minutes plus tard, vous vous rendez compte que vous avez oublié votre parapluie. Ou encore, vous êtes affamé, regardant par la fenêtre dès qu'une voiture passe, vous demandant où se trouve le plat que vous avez commandé il y a une heure.

C'est peut-être l'inverse qui se produit. Vous effectuez peut-être une livraison et vous avez besoin d'indications pour vous rendre à l'adresse indiquée.
Dans toutes ces situations, vous aurez besoin d'appeler l'autre personne, mais vous ne voulez pas donner votre numéro de téléphone à des inconnus. Vous pouvez donc utiliser un numéro virtuel qui relie les deux parties mais n'est utilisable que pour la durée de la transaction en cours.
Location d'un numéro virtuel
Dans ce tutoriel, nous allons utiliser l'interface de commande Vonage pour louer notre numéro virtuel, mais vous pouvez également gérer vos numéros et vos applications vocales via le le tableau de bord de Vonage si vous préférez utiliser une interface graphique. Si vous ne l'avez pas encore fait, vous pouvez installer le CLI de Vonage via npm/yarn. Les instructions complètes se trouvent dans le dépôt Github.
Au moment où j'écris ces lignes, vous pouvez louer des numéros virtuels dans 85 pays différents. Je vais utiliser la Grande-Bretagne dans mon exemple ; vous pouvez consulter la liste complète des pays et des prix sur notre page de tarification. liste complète des pays et des prix sur notre page de tarification.
Création de notre serveur proxy Voice
Actuellement, si vous tentez d'appeler le numéro virtuel que nous venons de louer, rien ne se passe.

Nous devons associer le numéro virtuel à une application. Vous pouvez associer plusieurs numéros à la même application vocale, ce qui vous permet d'avoir plusieurs numéros - même dans différents pays - tous alimentés par un seul backend.
Dans cet exemple, nous allons créer notre backend avec Node et Express et le déployer sur Glitch. Vous pouvez voir le code sur Github ou le remixer directement sur Glitch.
Notre serveur Express dispose d'un seul point de terminaison, qui se présente comme suit :
app.get("/", (request, response) => {
response.json([
{
"action": "connect",
"eventUrl": [`${process.env.EVENTS_URL}`],
"from": `${process.env.FROM_NUMBER}`,
"endpoint": [
{
"type": "phone",
"number": `${process.env.TO_NUMBER}`
}
]
}
])
})
La route définie ci-dessus renvoie un NCCO (Call Control Object)un fichier JSON utilisé pour fournir des instructions à l'API de Vonage lorsque quelqu'un répond à un appel entrant ou sortant. Un NCCO peut contenir différents types d'actions. Vous pouvez voir les actions disponibles dans notre documentation destinée aux développeurs.
Notre serveur proxy ne nécessite qu'une seule action connect. Grâce à cette action, nous pouvons diriger notre appel entrant vers une série de points d'extrémité différents : un autre numéro de téléphone, un WebSocket ou même un URI SIP. Dans l'exemple ci-dessus, nous nous connectons à un autre numéro de téléphone.
L'une des exigences de l'action connect est que le process.env.FROM_NUMBER doit être un numéro virtuel Vonage. Ce numéro virtuel est celui que voit le destinataire de l'appel. Vous pouvez utiliser le même numéro virtuel que celui que vous avez loué ci-dessus. Ainsi, l'appelant et le destinataire de l'appel voient le même numéro virtuel, ce qui préserve la confidentialité de leurs numéros.
Lorsque vous remixer l'applicationvous devez configurer les éléments FROM_NUMBER et TO_NUMBER dans votre fichier Glitch .env dans votre fichier Glitch. Ces Numbers doivent être au format E.164. Nous n'utilisons pas le format EVENTS_URL dans cet exemple, mais si vous êtes intéressé par le suivi analytique de vos appels vocaux, nous vous conseillons de regarder notre webinaire "Suivi des campagnes d'appels vocaux entrants avec les numéros virtuels de Vonage et Mixpanel" ou lire l'article de blog qui l'accompagne.
Relier notre numéro virtuel à notre serveur proxy
Pour relier notre numéro virtuel à notre serveur proxy sur Glitch, nous devons d'abord créer une Application Voice de Vonage. Vous pouvez créer une application vocale et la lier à votre numéro en utilisant le tableau de bord de Vonage.ou via le CLI de Vonage.
L'application Aperçu de l'application et le README CLI de Vonage contiennent plus d'informations sur apps:create et les arguments attendus.
Quelle est la prochaine étape ?
Lire la "communication vocale privée"pour un exemple plus approfondi. Pour un exemple de le serveur proxy en Kotlin, regardez mon webinaire. Par ailleurs, pour plus d'informations sur ce que vous pouvez faire d'autre avec les Voice API de Vonage consultez nos exemples de cas d'utilisation ou lisez la documentation destinée aux développeurs.
Partager:
Aaron était défenseur des développeurs chez Nexmo. Ingénieur logiciel chevronné et artiste numérique en herbe, Aaron est souvent amené à créer des choses avec du code ou de l'électronique, parfois les deux. On peut généralement savoir qu'il travaille sur quelque chose de nouveau grâce à l'odeur de composants brûlés qui flotte dans l'air.