2012-03-02 4 views
1

저는 애플리케이션을 구축 중이며 기능 중 하나가 Twilio와 통합되었습니다.Twilio Rest API를 사용한 아웃 바운드 통화는 실행되지 않습니다.

나는 모든 IVR 흐름을 Asp.Net Mvc 3으로 처리했으며 모든 것이 올바르게 작동하고 있습니다. 그러나 기능 중 하나는 사용자가 전화 번호를 입력하고 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); 
} 

나머지 호출 후 응답이 실행되고 있으며 오류가 발생하지 않는 발신 통화에서 데이터를 수신하는 Action 있습니다. 내가 뭘 잘못하고 있니?

감사합니다.

답변

1

아웃 바운드 통화를 시작하는 코드가 올바르게 표시됩니다.

REST API에서 예외가 반환 될 수 있습니다. RestException 속성이 null가 아닌 경우, 나는 확인하기 위해 InitiateOutboundCall 방법 콜백 매개 변수를 사용하여 코드를 변경했습니다 :

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 디버거 로그에 다음 당신의 최선의 선택이 수 기록중인 경우 Fiddler를 해독하고 API에 대한 실제 요청 중에 무슨 일이 일어나는지 확인하십시오.

+0

아, 멋지다. 나는 그것을 시험해 볼 것이다, 고마워! – Ioni

+1

나는 그것을 고치고, 나머지 API는 POST와 나의 행동을 수행한다. 그래서 나는 그것을 바꾸어서 CallOptions 객체를 매개 변수로 사용했다. – Ioni

0

나는 비슷한 문제가 있었고 다른 사람들이 내가 그런 것처럼이 문제를 발견 한 경우 여기에 게시하고 싶다. (이 때 "InitiateOutboundCall"에 대한 검색에서 나타나는 유일한 것입니다.)

내 경우에는 예외가 내 애플 리케이션 또는 Twilio에 의해 던져졌다. InitiateOutboundCall에 대한 호출은 단순히 아무 것도하지 않았습니다.

문서는 URL이 절대적이어야하고 "http : //"를 사용하지 않았 음을 분명히합니다. 이 모든 것을 추가 한 후 예상대로 작동했습니다.

관련 문제