
Partager:
Steve est un mathématicien autoproclamé et le roi du sarcasme. Il aime aussi les lévriers, les puzzles tortueux et les jeux de société européens. Lorsqu'il ne parle pas de mathématiques à des personnes qui n'en font pas, ou de Java à des personnes qui n'en font pas, on peut le trouver en train de siroter un café et de bidouiller du code.
Comment créer une conférence téléphonique avec Java
Temps de lecture : 10 minutes
Dans ce tutoriel, vous apprendrez à lancer une conférence téléphonique pour connecter plusieurs personnes qui téléphonent à un numéro. Le code d'exemple est sur GitHub.
Précédemment, nous vous avons montré comment Recevoir un appel téléphonique et Transférer un appel téléphonique donc si vous n'êtes pas encore familiarisé avec ces concepts, lisez d'abord ces articles.
Conditions préalables
Vous utiliserez Gradle pour gérer vos dépendances et exécuter votre application. En outre, vous devrez vous assurer qu'une copie du JDK est installée. J'utiliserai le JDK 11 dans ce tutoriel, mais tout JDK 8 ou supérieur devrait fonctionner.
Enfin, vous aurez besoin du CLI de Vonage de Vonage. Vous l'utiliserez pour acheter un numéro de téléphone et configurer votre Account Vonage pour qu'il pointe vers votre nouvelle application.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Créer une conférence téléphonique avec Java
Ce tutoriel vous guidera à travers les étapes suivantes :
Utilisation de Gradle pour créer un nouveau projet Java.
Utilisation de l'outil Spark pour contrôler l'appel.
Achat d'un numéro et configuration de votre Account Vonage pour utiliser ce numéro avec votre application.
Utiliser Gradle pour configurer un nouveau projet Java
Vous utiliserez Gradle pour gérer vos dépendances et pour créer et exécuter votre application Java.
La commande gradle init --type=java-application créera tous les dossiers dont vous aurez besoin ainsi qu'une classe d'exemple dans laquelle vous écrirez votre code.
À partir de la ligne de commande, créez un nouveau projet Java avec les commandes suivantes, en acceptant les invites par défaut de Gradle :
Gradle créera la classe App dans le dossier src/main/java/conference/call dans le dossier
À l'intérieur de cette classe se trouvent un getGreeting et main à l'intérieur de cette classe. Vous n'aurez pas besoin de la méthode getGreeting vous n'en aurez pas besoin, alors n'hésitez pas à la supprimer.
Votre classe App devrait ressembler à ceci :
/*
* This Java source file was generated by the Gradle 'init' task.
*/
package conference.call;
public class App {
public static void main(String[] args) {
// Future Code Goes Here
}
} Utilisation du cadre Spark pour contrôler l'appel
Vous utiliserez le framework Spark pour recevoir un appel HTTP effectué par Vonage lorsque votre numéro reçoit un appel.
Ajouter les dépendances
Ajoutez ce qui suit au bloc dependencies dans votre fichier build.gradle de votre fichier :
// Spark Framework
implementation "com.sparkjava:spark-core:2.8.0"
// Nexmo Java Client
implementation "com.nexmo:client:5.1.0"Votre bloc dependencies devrait ressembler à ceci :
dependencies {
implementation "com.sparkjava:spark-core:2.8.0"
implementation "com.nexmo:client:5.1.0"
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
} Définir l'itinéraire de réponse
Lorsqu'un appel est reçu, Vonage envoie une demande à une URL webhook prédéfinie. Il s'attend à recevoir un objet de contrôle d'appel de Vonage (NCCO) contenant une liste d'actions à exécuter.
Vous utiliserez l'action talk pour accueillir l'appelant et l'action conversation pour connecter les appels entrants à une conférence.
Il s'agit du BCN résultant que votre application créera :
[
{
"text": "You will now be added to the conference call.",
"action": "talk"
},
{
"name": "team-meeting",
"action": "conversation"
}
]Vous utiliserez les symboles TalkAction et ConversationAction du SDK Java Server de Vonage pour construire le NCCO ci-dessus.
Ajoutez le code suivant à la méthode main à la méthode
TalkAction talk = TalkAction.builder("You will now be added to the conference call.")
.build();
ConversationAction conversation = ConversationAction.builder("team-meeting")
.build();
Ncco ncco = new Ncco(talk, conversation);Maintenant que vous avez défini le NCCO, vous allez configurer Spark pour servir le NCCO. Votre application écoutera sur le port 3000 et la route sera /webhooks/answer.
Ajoutez ce qui suit à la méthode main ce qui suit :
port(3000);
get("/webhooks/answer", (req, res) -> {
res.type("application/json");
return ncco.toJson();
});
La méthode main se présente désormais comme suit :
public static void main(String[] args) {
TalkAction talk = TalkAction.builder("You will now be added to the conference call.")
.build();
ConversationAction conversation = ConversationAction.builder("team-meeting")
.build();
Ncco ncco = new Ncco(talk, conversation);
port(3000);
get("/webhooks/answer", (req, res) -> {
res.type("application/json");
return ncco.toJson();
});
}
Achat d'un numéro
Vous aurez besoin d'un numéro Vonage pour recevoir des appels téléphoniques. Si vous n'avez pas de numéro, vous pouvez utiliser le CLI de Vonage pour en acheter un :
Remarque : NUMBER représente le numéro que vous souhaitez acheter, et COUNTRYCODE l'indicatif de pays de ce numéro. Si vous ne connaissez pas encore le numéro, vous pouvez rechercher les numéros disponibles dans un pays spécifique comme suit (ici, nous recherchons des numéros aux États-Unis) :
Notez le numéro que vous avez acheté. Vous aurez besoin de ce numéro pour relier votre application et pour les tests.
Exposer votre application
Pour envoyer une requête HTTP à votre application, Vonage a besoin de connaître l'URL de votre application.
Au lieu de configurer votre réseau local ou d'héberger votre application sur un service externe, vous pouvez utiliser ngrok pour exposer votre application à l'internet en toute sécurité.
Téléchargez ngrok et exécutez la commande suivante :
Prenez note de l'adresse de réexpédition, car vous en aurez besoin lorsque vous configurerez votre Account. Dans l'image suivante, l'adresse de réexpédition est la suivante http://99cad2de.ngrok.io.
ngrok running in a terminal
Configurer votre Account Vonage
Si vous n'avez pas d'application, vous pouvez utiliser le CLI de Vonage pour en créer une en utilisant votre adresse de transfert ngrok :
Après avoir exécuté cette commande, vous obtiendrez un identifiant d'application. Par exemple : notreal-1111-2222-3333-appid. Vous aurez besoin de cet identifiant pour relier votre numéro de téléphone à l'application.
Vous pouvez utiliser le CLI de Vonage pour lier votre numéro de téléphone et votre application :
Testez votre application
Démarrez votre application avec la commande gradle run dans votre répertoire conference-call dans votre répertoire.
Appelez votre numéro Vonage et demandez à un ami, un collègue ou un autre téléphone de faire de même. Chaque nouvel appelant est inscrit à la conférence téléphonique.
Conclusion
En quelques lignes de code, vous avez créé une application qui permet de créer des conférences téléphoniques avec plusieurs personnes.
Consultez notre documentation sur Vonage Developer où vous pourrez en apprendre davantage sur le flux d'appels ou sur Objets de contrôle d'appel de Vonage.
Vous pouvez également consulter la Conférence téléphonique pour cet exemple et bien d'autres choses encore.
Partager:
Steve est un mathématicien autoproclamé et le roi du sarcasme. Il aime aussi les lévriers, les puzzles tortueux et les jeux de société européens. Lorsqu'il ne parle pas de mathématiques à des personnes qui n'en font pas, ou de Java à des personnes qui n'en font pas, on peut le trouver en train de siroter un café et de bidouiller du code.
