2012-03-02 7 views
1

私はアプリケーションを構築していますが、そのうちの1つがTwilioと統合されています。Twilio Rest APIを使用したアウトバウンドコールは実行されません

私はすべてのIVRフローがAsp.Net Mvc 3で行われており、これまでのところすべて正常に動作しています。 しかし、機能の1つは、ユーザーに電話番号を入力させ、Twilioにその番号を呼び出して、他のユーザーが応答すると何かを再生することです。

私はTwilio REST APIを使用して呼び出しを行っていますが、呼び出しが行われていないため、アプリケーションまたはTwilioでエラーが発生していません。

私は何をやっていることはこれです:私はtwilio


public ActionResult Dial(Call request, int opt) 
{ 

    var twilio = new TwilioRestClient(Configuration.TwilioAccKey, Configuration.TwilioAuthKey); 
    twilio.InitiateOutboundCall(Configuration.TwilioPhoneNumber, 
           "+" + request.Digits, 
           string.Format("{0}/Calls/Endorsement/Play?opt={1}", Configuration.BaseUrl, opt)); 

    var response = new TwilioResponse(); 
    response.Redirect("/Calls/Endorsement/Play?opt=" + opt, "GET"); 
    return TwiML(response); 
} 

REST呼び出し後の応答が実行されていると、エラーをスローしませんアウトバウンドコールからのデータを受信するアクションを持っています。 私は何が間違っていますか?

ありがとうございます!

答えて

1

アウトバウンドコールを開始するコードが正しいように見えます。

REST APIから例外が返される可能性があります。その後、あなたの最良のオプションは、かもしれませんが、

var twilio = new TwilioRestClient(Configuration.TwilioAccKey, 
            Configuration.TwilioAuthKey); 
twilio.InitiateOutboundCall(Configuration.TwilioPhoneNumber, 
         "+" + request.Digits, 
         string.Format("{0}/Calls/Endorsement/Play?opt={1}", Configuration.BaseUrl, opt), 
         call => 
         { 
          if (call.RestException != null) 
          { 
           //handle the rest error 
          } 
         } 
        ); 

RestExceptionがnullで、何もTwilioデバッガログに記録されていない場合:私はRestExceptionプロパティがnullでないかどうかを確認するためにInitiateOutboundCallメソッドのコールバックパラメータを使用するようにコードを変更しましたFiddlerを打ち破って、APIへの実際のリクエスト中に何が起こっているのかを確認してください。

+0

ああ、クールです。私はそれを試してみましょう、ありがとう! – Ioni

+1

私はそれを解決し、残りのAPIはPOSTと私のアクションを行います。私はそれを変更し、CallOptionsオブジェクトをパラメータとして使用します。 – Ioni

0

私は同様の問題を抱えていて、他の誰かが私のようにこの問題を見つけた場合に備えてここに投稿したいと思います。 (これは、 "InitiateOutboundCall"の検索で表示される唯一のものです)。

私のケースでは、私のアプリまたはTwilioのいずれかによって例外がスローされませんでした。 InitiateOutboundCallへの呼び出しは単に何もしていませんでした。

ドキュメントでは、URLが絶対でなければならず、私は "http://"を中止していたことを明確にしています。これを追加した後、すべてが期待通りに機能しました。

関連する問題