メニュー

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

JavaおよびSparkを使用した電話会議と一斉配信

このSpark サンプルアプリケーションは、Twilio によって構築され、破滅的な状況で素早い対応を必要とする企業により 世界中で使われている Rapid Response Kit が基になっています。

作業員がこのアプリのツールを使って、大勢のボランティアグループと直ちにコミュニケーションできるようにします。全関係者が一堂に会して話し合う必要が生じた場合、オーガナイザーが速やかにカンファレンスラインを開始できます。それ以外の状況では、ボランティアの電話番号のリストに音声メッセージを一斉に読み上げることができます。

専門家サービス企業のAlphasightsがTwilioを使用して、いかにして電話会議のコストを80%削減したかチェックしましょう。

このサンプルアプリを自分で実行するには、コードをダウンロードし、GitHub の指示に従ってください。また、このチュートリアルでは Twilio の部分だけしか扱わないので、このアプリのビューをクリックして参照してもかまいません。

はじめましょう!

カンファレンス番号を作成する

カンファレンスラインを呼び出す前に、着信を受けたときに HTTP リクエストをウェブアプリケーションに送信するように、いずれかの Twilio 番号を設定しておく必要があります。

いずれかの番号をクリックして、アプリをポイントするように Voice URL を設定します。コードでは、経路は /Conference/Join になります。

電話会議の一斉配信用に構成されたTwilio Console

Twilioに応答するコントローラーメソッドを確認する

サンプルのカンファレンス通話を作成する

これで、Twilio 番号は、音声通話の着信があると、このコントローラーメソッドに HTTP リクエストを送信するように設定されました。アプリは TwiML で応答し、その通話をどのように処理するか Twilio に指示します。

Twilio Java Libraryを使用して、TwilioにRapidResponseRoomという名前をつけた電話会議(Conference)にダイヤル(Dial)するよう指示するTwiMLをいくつか生成します。 つまり、誰かがお手持ちのTwilio番号に電話をかけると、電話会議に自動的に参加するということです。

        
        
        
        
        src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java

        電話会議通話のコントローラー

        src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java

        次に、これをモデレーターとリスナーから構成されるモデレーター付きのカンファレンスラインにします。

        発信者に役割を選択させる方法を確認する

        モデレーター付きのカンファレンスを作成する

        このシナリオでは、発信者をカンファレンスに接続する前に、発信者の役割を尋ねます。役割は以下のとおりです。

        • モデレーター:カンファレンスを開始および終了できます
        • スピーカー:カンファレンス通話で話ができます
        • リスナー:黙って、通話を聞くことしかできません

        コントローラーでは簡単なメッセージを読み上げ(Say)て、発信者に役割を選択するよう尋ねます。

              
              
              
              
              src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java

              取りうる役割を返す

              src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java

              そうすることで発信者に選択可能な役割がいくつか読み上げられ、彼らがそれを選択します。 そのためには、発信者が指定した役割を判断できるよう、電話で押されたボタンの内容を収集(Gather)するようTwilioに指示します。 次に、その方法について見ておきましょう。

              See how to gather the user's role choice

              モデレーター付きのカンファレンスに接続する

              前のステップの <Gather> 動詞には、値として絶対的な URL または相対的な URL を取る action パラメーターが含まれていました(このケースでは、conference/connect 経路)。

              発信者が番号の入力を終えたら、TwilioはこのURLに発信者が選択した番号を伴ったDigitsパラメーターを含むPOSTリクエストを発行します。

              このパラメーターを使用して、DialおよびConferenceTwiML要素で使用するいくつかの変数、mutedおよびmoderatorを設定します。

                    
                    
                    
                    
                    src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java

                    役割と接続を収集する

                    src/main/java/com/twilio/conferencebroadcast/controllers/ConferenceController.java
                    音声の一斉配信を確認する

                    音声ブロードキャスト

                    オーガナイザーはカンファレンス通話をホストするだけでなく、アプリケーションを使って、電話番号のリストに音声メッセージを一斉に送信できます。このためには、ドロップダウンから録音を選択し、電話番号のリストを入力して、「Submit」をクリックします。

                    この機能を利用するには、Twilio の REST API を使って、アカウントに関連付けられているすべての録音を取得します。オーガナイザーが新しいメッセージを録音する場合は、その電話番号を呼び出し、レスポンスを録音します。

                          
                          
                          
                          
                          src/main/java/com/twilio/conferencebroadcast/App.java

                          アプリケーションへのルート

                          src/main/java/com/twilio/conferencebroadcast/App.java

                          Now that we know what this feature is all about, let's take a dig into the code.

                          Twilioクライアントを初期化する

                          クライアントを初期化する

                          ヘルパーライブラリーを使用してTwilio APIにリクエストを行う前に、Twilioクラスの静的メソッドである init() を認証情報を伴って使用し、クライアントを初期化する必要があります。 それが済んだら、存分にAPIのリクエストを発行することができるようになります。

                                
                                
                                
                                
                                src/main/java/com/twilio/conferencebroadcast/controllers/RecordingController.java

                                Twilioクライアントのインストール

                                src/main/java/com/twilio/conferencebroadcast/controllers/RecordingController.java
                                既存の音声録音の取得方法を確認する

                                録音を取得する

                                このルートはTwilioアカウントと関連づけられた録音(recordings)をすべて取得します。 TwilioのAPIを使用して、日付または通話SIDごとにこれらの結果をフィルタリングできますが、この例ではすべての録音を単純に取得することにします。

                                Twilio の便利な API を使うには、まず Twilio クライアントを作成する必要があります。これは、クレデンシャルを受け渡せば簡単です。

                                録音をすべて取得したら、録音オブジェクトの JSON レスポンスをレンダリングする必要があります。この経路は、ページがロードされると、Javascript で呼び出されます。

                                      
                                      
                                      
                                      
                                      src/main/java/com/twilio/conferencebroadcast/controllers/RecordingController.java

                                      全録音を取得する

                                      src/main/java/com/twilio/conferencebroadcast/controllers/RecordingController.java

                                      保存された全録音を取得できますが、ではどうやって新規メッセージを録音するのでしょうか? それについては次で見てみましょう。

                                      新規メッセージの録音方法を確認する

                                      新しいメッセージの録音

                                      新規録音の作成が必要になったら、主催者に通話を発信してそれを録音します。 TwilioはRecord動詞でこれを簡単にします。

                                      ここでは、発信者に何かを Say した後、メッセージを Record します。Record に受け渡すことができるオプションは他にも多くありますが、ここでは「*」が押されたら録音を停止して broadcast/hangup にリダイレクトするように指示するだけにします。そのため、録音が終了すると通話は切断されます。

                                            
                                            
                                            
                                            
                                            src/main/java/com/twilio/conferencebroadcast/controllers/BroadcastController.java

                                            新規メッセージを録音する

                                            src/main/java/com/twilio/conferencebroadcast/controllers/BroadcastController.java

                                            全録音済メッセージの一覧方法と、新規に録音を行う方法を見てきました。 最後に残っていることは、発信者にこれらの録音済メッセージのうちのどれかを一斉配信することです。 次はこれについて見ていきましょう。

                                            録音済メッセージの一斉配信方法を確認する

                                            録音されたメッセージを一斉送信する

                                            このコントローラーは、オーガナイザーが提供した電話番号から始め、音声ブロードキャストのウェブフォームを処理します。

                                            次は、Twilio の REST API を使って、各番号に電話をかけてみます。

                                            When Twilio connects this call it will make a request to the Url parameter to get further instructions. We include a recording_url parameter in that URL so that our broadcast.play controller will know which recording to use.

                                            これにより、broadcast/playルートについての作業が簡単になります - 録音を再生(Play)するだけです。

                                                  
                                                  
                                                  
                                                  
                                                  src/main/java/com/twilio/conferencebroadcast/controllers/BroadcastController.java

                                                  録音されたメッセージを一斉送信する

                                                  src/main/java/com/twilio/conferencebroadcast/controllers/BroadcastController.java

                                                  一丁上がり! これで高速応答キットの2つの主要機能を実装できました。 将来、他の機能にいくつか取り組んで、完全なキットを構築するかもしれませんね!

                                                  関連トピック

                                                  関連トピック

                                                  これで終わりです。Rapid Response Kit の 2 つの主要な機能を実装できました。今後おそらく、この他の機能にも取り組み、完璧なキットを構築できることでしょう。

                                                  Twilio を使う Java 開発者であれば、他のチュートリアルもお楽しみください。

                                                  自動アンケート

                                                  音声通話または SMS テキストメッセージを介して調査を実施し、ユーザーから構造化データを迅速に収集します。Java で独自の調査を作成する方法を学びます。

                                                  SMS・MMS 通知

                                                  サーバーで異常が発生した場合は、システム管理者のリストに SMS アラートを送信します。

                                                  これは役に立ちましたか?

                                                  このチュートリアルをお読みいただき、ありがとうございます。ご意見やご感想などございましたら、ぜひお聞かせください。 ご意見やご感想などございましたら、ぜひお聞かせください。 @twilioにツイートして、ご意見をお寄せください!

                                                  Mario Celi Agustin Camino Andrew Baker David Prothero Kat King
                                                  Rate this page:

                                                  ヘルプが必要ですか?

                                                  誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。