Android:Nexmo Call Api无法进行IVR通话

时间:2015-06-12 12:29:52

标签: android ivr nexmo

我正在我的应用中实施 IVR通话。 我在公共服务器上托管的语音xml代码如下。
我已经按照Nexmo网站上的所有步骤进行操作,即使获得状态代码= 0 这意味着成功,但我没有接到任何电话。知道我错在哪里吗?

<?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呼叫我使用了以下代码片段

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但没有接到任何电话。

1 个答案:

答案 0 :(得分:2)

披露:我为Nexmo工作。

语音呼叫上的status属性仅表示请求已成功排队(所有参数均有效,身份验证正确等​​)。

如果您在初始请求中传递error_url,则会获得有关您未接听电话的原因的信息。 docs on that are here

您还可以向支持小组发送您在回复中获得的call-id,并查看他们是否可以提供更多信息。