2015-06-12 2 views
0

Я реализую IVR, вызывающий в моем приложении. Мой голосовой XML-код, размещенный на общедоступном сервере, приведен ниже.
Я следил за всеми шагами, приведенными на веб-сайте Nexmo, даже получив код статуса = 0, что означает успех, но я не получаю никакого вызова. Любая идея, где я ошибаюсь?
Android: Nexmo Call Api не работает для вызова IVR

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version = "2.1" > 
    <menu dtmf="true"> 
     <property name="inputmodes" value="dtmf"/> 
     <prompt> 
     For sales press 1, For support press 2. 
     </prompt> 
     <choice dtmf="1" next="#sales"/> 
     <choice dtmf="2" next="#support"/> 
     </menu> 
    <form id="sales"> 
     <block> 
     <prompt> 
     Please wait while we transfer the call 
     </prompt> 
     </block> 
     <transfer name="MyCall" dest="tel:+4400000001" bridge="true" connecttimeout="20s"/> 
     </form> 
     <form id="support"> 
     <block> 
     <prompt> 
     Please wait while we transfer the call 
     </prompt> 
     </block> 
     <transfer name="MyCall" dest="tel:+4400000002" bridge="true" connecttimeout="20s"/> 
    </form> 
</vxml> 

Для IVR Calling я ВГА использовал следующий фрагмент кода

if(id == R.id.action_call){ 
      CallRequest request=new CallRequest(); 
      request.setApiKey(ApiConfig.NEXMO_KEY); 
      request.setApiSecret(ApiConfig.NEXMO_SECRET); 
      request.setTo("919582455283"); 
      request.setAnswerUrl(ApiConfig.ANSWER_URL); 
      Toast.makeText(MainActivity.this,"Initiating call...",Toast.LENGTH_LONG).show(); 
      App.getRestClient().doMakeCall(new RequestCallback<CallResponse>() { 
       @Override 
       public void onRestResponse(Exception e, CallResponse result) { 
        if (e==null){ 
         Toast.makeText(MainActivity.this,result.toString(),Toast.LENGTH_LONG).show(); 
        }else { 
         Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_LONG); 
        } 
       } 
      }, Constants.CALL_BASE_URL,request); 
      return true; 
     } 

Здесь я получил SUCCESS в CallResponse, но не получает ни одного звонка.

+0

Был ли номер добавлен в качестве тестового номера в вашей учетной записи nexmo? – AnswerDroid

+0

@AndroidLearner Да, я уже добавил и проверил его на портале Nexmo. – Profreak

ответ

2

Раскрытие информации: Я работаю для Nexmo.

Свойство status на голосовом вызове означает, что запрос был успешно поставлен в очередь (все параметры были действительными, аутентификация была правильной и т. Д.).

Если вы отправите error_url в первоначальный запрос, вы получите информацию о том, почему вы не получаете звонок. docs on that are here.

Вы также можете отправить команду поддержки call-id, на которую получите ответ, и посмотреть, есть ли дополнительная информация, которую они могут предоставить.

Смежные вопросы