
シェア:
スティーブは自称数学者で、悪口の王様。グレイハウンド、曲がりくねったパズル、ヨーロッパのボードゲームをこよなく愛する。 非数学系の人には数学を、非Java系の人にはJavaの話をしていないときは、コーヒーを飲みながらコードをハックしている。
Javaで電話会議を作成する方法
所要時間:6 分
このチュートリアルでは、1つの番号に電話をかけた複数の人をつなぐ電話会議の開始方法について学びます。サンプルコードは にあります。.
前回までに、以下の方法をご紹介しました。 電話を受けると 電話を転送するをご紹介しましたので、これらの概念にまだ慣れていない方は、まずこれらの記事をお読みください。
前提条件
を使用します。 Gradleを使うことになるでしょう。さらに、JDKのコピーがインストールされていることを確認する必要があります。このチュートリアルではJDK 11を使いますが、JDK 8以上であれば何でも動くはずです。
最後に Vonage CLIをインストールする必要があります。これを使用して電話番号を購入し、新しいアプリケーションを指すようにVonageアカウントを設定します。
Javaで電話会議を作成する
このチュートリアルでは、以下の手順を説明します:
Gradleを使って新しいJavaプロジェクトをセットアップする。
使用方法 スパークフレームワークを使用する。
番号を購入し、その番号をアプリケーションで使用するようにVonageアカウントを設定します。
Gradleを使って新しいJavaプロジェクトをセットアップする
Gradleを使用して依存関係を管理し、Javaアプリケーションを作成して実行します。
この gradle init --type=java-applicationコマンドを実行すると、必要なすべてのフォルダと、コードを記述するサンプル・クラスが作成されます。
コマンドラインから、Gradleからのデフォルトのプロンプトのいずれかを受け入れながら、以下のコマンドで新しいJavaプロジェクトを作成する:
Gradleは Appクラスを src/main/java/conference/callフォルダに作成します。
このクラスの内部には getGreetingと mainメソッドがあります。この getGreetingメソッドは必要ないので、自由に削除してください。
あなたの Appクラスはこのようになるはずだ:
/*
* 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
}
} スパークフレームワークを使用して呼び出しを制御する
Sparkフレームワークを使用して、あなたの電話番号に電話がかかってきたときにVonageが発信するHTTPコールを受信する。
依存関係の追加
以下を dependenciesブロックに以下を追加する。 build.gradleファイルのブロックに以下を追加する:
// Spark Framework
implementation "com.sparkjava:spark-core:2.8.0"
// Nexmo Java Client
implementation "com.nexmo:client:5.1.0"あなたの dependenciesブロックはこのようになるはずだ:
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'
} アンサー・ルートの定義
コールを受信すると、Vonageは事前に定義されたWebhook URLにリクエストを送信します。これは Vonage Call Control Object (NCCO)実行するアクションのリストを含む
アクションを使います。 talkアクションを使います。 conversationアクションを使います。
これが、アプリケーションが作成するNCCOである:
[
{
"text": "You will now be added to the conference call.",
"action": "talk"
},
{
"name": "team-meeting",
"action": "conversation"
}
]を使用します。 TalkActionと ConversationActionクラスを使用します。
以下のコードを mainメソッドに追加します:
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);NCCOを定義したので、NCCOにサービスを提供するようにSparkを設定する。アプリケーションはポート 3000でリッスンし、ルートは /webhooks/answer.
以下を mainメソッドに追加する:
port(3000);
get("/webhooks/answer", (req, res) -> {
res.type("application/json");
return ncco.toJson();
});
メソッドは次のようになります。 mainメソッドは次のようになる:
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();
});
}
背番号の購入
電話を受けるにはVonage番号が必要です。番号をお持ちでない場合は、Vonage CLIを使用して購入することができます:
注意 NUMBERは購入したいNumbersを表します。 COUNTRYCODEその番号の国番号を表します。もしまだその番号がわからない場合は、このように特定の国で利用可能な番号を検索することができます(ここではアメリカの番号を検索しています):
購入した番号を控えておいてください。この番号はアプリケーションのリンクやテストに必要です。
アプリケーションの公開
アプリケーションにHTTPリクエストを送信するために、Vonageはアプリケーションが実行されているURLを知る必要があります。
ローカルネットワークを設定したり、外部サービスでアプリケーションをホスティングする代わりに ngrokを使ってアプリケーションを安全にインターネットに公開できます。
ngrokをダウンロードし、以下のコマンドを実行する:
アカウントを設定する際に必要になりますので、転送先アドレスを控えておいてください。次の図では、転送先アドレスは http://99cad2de.ngrok.io.
ngrok running in a terminal
Vonageアカウントの設定
アプリケーションをお持ちでない場合は、Vonage CLI を使用して ngrok 転送アドレスを使用してアプリケーションを作成できます:
このコマンドを実行すると、アプリケーションIDが表示されます。例えば notreal-1111-2222-3333-appid.電話番号をアプリケーションにリンクさせるには、このアプリケーションIDが必要です。
Vonage CLIを使用して電話番号とアプリケーションをリンクできます:
アプリケーションのテスト
アプリケーションを gradle runアプリケーションを conference-callディレクトリの中で
あなたのVonage番号に電話し、友人、同僚、または別の電話機を使用して同じことを行います。新しい発信者はすべて電話会議に参加します。
結論
数行のコードで、あなたは複数人との電話会議を作成できるアプリケーションを作成した。
のドキュメントをご覧ください。 Vonageデベロッパーで コールフローまたは Vonageコールコントロールオブジェクト.
また 電話会議のコード・スニペットもご覧ください。