https://d226lax1qjow5r.cloudfront.net/blog/blogposts/create-a-conference-call-with-java-dr/conference-call-java-feature.png

Comment créer une conférence téléphonique avec Java

Publié le May 10, 2021

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 :

  1. Utilisation de Gradle pour créer un nouveau projet Java.

  2. Utilisation de l'outil Spark pour contrôler l'appel.

  3. 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 :

mkdir conference-call cd conference-call gradle init --type=java-application

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 :

vonage numbers:buy NUMBER COUNTRYCODE

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) :

vonage numbers:search US

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 :

ngrok http 3000

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.

Screenshot of ngrok running in a terminal with forwarding address http://99cad2de.ngrok.iongrok 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 :

vonage apps:create "Conference Call Demo" --voice_answer_url=http://your-ngrok-forwarding-address/webhooks/answer --voice_event_url=http://your-ngrok-forwarding-address/webhooks/events

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 :

vonage apps:link your-application-id --number=your-vonage-phone-number

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:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Steve CrowAnciens de Vonage

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.