2017-08-20 24 views
0

私はTwilio番号を持っています。私は、これらの4つのアクション(Call、Hang Up、Onhold and Unholdコール)を行うためには電話会議を作成する必要があると理解しましたが、Twilio番号カンファレンスにどのようにクライアントの別の番号のモバイルを追加するのですか?たとえば、私のTwilio番号が「+9728888888」で、顧客の携帯電話番号に「+ 9725555555」と答えた場合 - のコード例が必要な場合1. Twilio番号「+9728888888」からモバイル番号 "+9725555555") 2.電話を保留にします 3.寒さを解除します 4.電話をハングアウトします。Twilioを使用して電話をかけたり、電話を切ったり、通話を保留したり、電話を切る方法は?

私はTwilio NuGet on web api projectを使用しています。上の4つのシナリオのすべてについて、私が与えた数字(Twilioとモバイル)を考慮して、コード例を教えてもらえますか?とても感謝しております。

はところで、私は自分のサイト上でのコードの例を見ました:

using Twilio.TwiML; 

class Example 
{ 
    static void Main() 
    { 
     var response = new VoiceResponse(); 
     var dial = new Dial(); 
     dial.Conference("moderated-conference-room", 
      startConferenceOnEnter: false); 
     response.Dial(dial); 

     System.Console.WriteLine(response.ToString()); 
    } 
} 

が、私はそれが動作することができますかわからないので、それはTwilioや携帯電話、さらにはTwilio認証を認めていません。

答えて

0

ここではTwilioの開発者のエバンジェリストです。

Twilio番号からエンドユーザに電話をかけ、エージェントとユーザの両方を電話会議にかけたい場合は、これが私のやり方です。私はC#開発者ではないので、コードサンプルを提供しようとしますが、.NET Web APIプロジェクトでは経験はありません。

あなたは​​を使用していると言いますが、それは良いスタートです。

まず、エージェントへのコールを生成し、会議コールに配置してユーザーを待機させる必要があります。これを行うには、use the Twilio REST API to place the callとなります。このコードは、ビットこの呼び出しがAPIに送信され、エージェントの数Twilio will make a request to the URLと接続し、この

const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
const string authToken = "your_auth_token"; 
TwilioClient.Init(accountSid, authToken); 

var to = new PhoneNumber("AGENT_PHONE_NUMBER"); 
var from = new PhoneNumber("+9728888888"); 
var call = CallResource.Create(
    to, 
    from, 
    url: new Uri("http://example.com/conference") 
); 

のように見えます。 Your application needs to respond to tell Twilio what to do with the call。この場合、エージェントを<Conference>に入れてユーザーを待つ必要があります。このアクション内で、ユーザーへの呼び出しも生成する必要があります。

public IHttpActionResult Conference() 
{ 
    // make the call to the user 
    var to = new PhoneNumber("+9725555555"); 
    var from = new PhoneNumber("+9728888888"); 
    var call = CallResource.Create(
     to, 
     from, 
     url: new Uri("http://example.com/user_conference") 
    ); 
    // return the TwiML 
    var response = new VoiceResponse(); 
    var dial = new Dial(); 
    dial.Conference("Conference", endConferenceOnExit: true); 
    response.Dial(dial); 
    Ok(response.ToString()); 
} 

注:私はこの会議のエージェント側をendConferenceOnExit: trueに設定しました。つまり、エージェントが電話を切ると、すべての参加者の電話会議が終了します。

Twilioはユーザーに電話をかけ、接続すると新しいURLを呼び出して何をするかを尋ねます。今回は、同じ会議に接続するためにTwiMLで応答するだけです。私はあなたに対処するためにそれを残します。

最後に、to put participants on hold you need to use the REST API again。会議のSIDと、保留にする参加者のSIDを取得する必要があります。ユーザーはエージェントから保留状態になるため、アプリケーションへの2回目のWebhookコールバックでこれらのSIDの両方を取得します。会議では

と、このようなPOSTリクエストを行い、SIDを呼び出す:

const string conferenceSid = "CONFERENCE_SID"; 
    const string callSid = "CALL_SID"; 
    ParticipantResource.Update(
     conferenceSid, 
     callSid, 
     hold: true, 
     holdUrl: new Uri("http://example.com/hold") 
    ); 

また、ユーザーが待機しながら、音楽を提供することができ、ホールドURLを提供することができます。詳細は、check the participant resource documentationを参照してください。ユーザーの保留は同じプロセスですが、holdfalseに設定しています。

この機能が作成されるまでお待ちください。

関連する問題