Я реализую 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
, но не получает ни одного звонка.
Был ли номер добавлен в качестве тестового номера в вашей учетной записи nexmo? – AnswerDroid
@AndroidLearner Да, я уже добавил и проверил его на портале Nexmo. – Profreak