メニュー

Expand
ページを評価:

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 David Prothero Kat King Andrew Baker
                                                  ページを評価:

                                                  ヘルプが必要ですか?

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

                                                        
                                                        
                                                        

                                                        フィードバックくださりありがとうございます!

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

                                                        Sending your feedback...
                                                        🎉 Thank you for your feedback!
                                                        Something went wrong. Please try again.

                                                        Thanks for your feedback!

                                                        Refer us and get $10 in 3 simple steps!

                                                        ステップ1

                                                        Get link

                                                        Get a free personal referral link here

                                                        ステップ2:

                                                        Give $10

                                                        Your user signs up and upgrade using link

                                                        ステップ3

                                                        Get $10

                                                        1,250 free SMSes
                                                        OR 1,000 free voice mins
                                                        OR 12,000 chats
                                                        OR more