Connecter les appelants à une conférence
Cet extrait de code montre comment regrouper plusieurs appels dans une conversation.
Plusieurs appels entrants peuvent être réunis en une conversation (conférence téléphonique) en connectant l'appel à la même ligne nommée. en connectant l'appel à la même conférence nommée. conférence.
Les noms de conférence sont définis au niveau de l'application Vonage.
de Vonage. Par exemple, VonageApp1 et VonageApp2 peuvent toutes deux avoir une conférence appelée
conférence appelée vonage-conference et il n'y aurait pas de problème.
Exemple
Remplacez les variables suivantes dans le code de l'exemple :
| Clé | Description |
|---|---|
VOICE_CONFERENCE_NAME | The named identifier for your conference. |
Conditions préalables
npm install express body-parserRédiger le code
Ajouter ce qui suit à conference-call.js:
const Express = require('express');
const bodyParser = require('body-parser');
const app = new Express();
app.use(bodyParser.json());
const onInboundCall = (_, response) => {
const ncco = [
{
action: 'talk',
text: 'Please wait while we connect you to the conference',
},
{
action: 'conversation',
name: VOICE_CONF_NAME,
},
];
response.json(ncco);
};
app.get('/webhooks/answer', onInboundCall);
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'
implementation 'io.ktor:ktor-server-netty'
implementation 'io.ktor:ktor-serialization-jackson'Rédiger le code
Ajouter ce qui suit à la méthode main du fichier ConnectCallersToConference:
Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.voice par le paquet contenant ConnectCallersToConference:
Conditions préalables
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'
implementation 'com.sparkjava:spark-core:2.9.4'Rédiger le code
Ajouter ce qui suit à la méthode main du fichier ConferenceCall:
final String CONF_NAME = "my-conference";
/*
* Route to answer incoming calls with an NCCO response.
*/
Route answerRoute = (req, res) -> {
TalkAction intro = TalkAction.builder("Please wait while we connect you to the conference.").build();
ConversationAction conversation = ConversationAction.builder(CONF_NAME).build();
res.type("application/json");
return new Ncco(intro, conversation).toJson();
};
Spark.port(3000);
Spark.get("/webhooks/answer", answerRoute);
Spark.post("/webhooks/answer", answerRoute);Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.voice par le paquet contenant ConferenceCall:
Conditions préalables
Install-Package VonageRédiger le code
Ajouter ce qui suit à ConnectCallersToConferenceController.cs:
Conditions préalables
composer require vonage/client slim/slim:^3.8Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
pip install vonage python-dotenv fastapi[standard]Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
gem install sinatra sinatra-contribRédiger le code
Ajouter ce qui suit à join_a_conference_call.rb:
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
VOICE_CONFERENCE_NAME = ENV['VOICE_CONFERENCE_NAME']
before do
content_type :json
end
route :get, :post, '/webhooks/answer' do
[
{
action: 'talk',
text: 'Please wait while we connect you to the conference'
},
{
action: 'conversation',
name: VOICE_CONFERENCE_NAME
}
].to_json
end
set :port, 3000Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Démarrez votre serveur et faites plusieurs appels entrants au numéro Vonage attribué à cette Applications Vonage. Les appels entrants seront connectés dans la même conversation (conférence).
Pour en savoir plus
- Conférence téléphonique - Ce guide explique les deux concepts que Vonage associe à un appel, un segment et une conversation.