"邀请会议已终止错误"试图通过pjsip处理来电(PJSUA2)

时间:2016-10-27 06:52:12

标签: java android sip pjsip

我已成功通过PJSIP拨打电话。现在在尝试处理来电时遇到问题。

Thread isanycall=new Thread(new Runnable() {
        @Override
        public void run() {
            while(true)
            {
                if(Global.isanycall==1)
                {

                    sipOperationIncoming(username, pwd, ip, number.getText().toString());

                    Global.isanycall=0;
                }
            }
        }
    });
    isanycall.start();

此代码正在检查是否有来电。

System.out.println("Incoming call handler");

    //sip operation started
    registration=SipRegistration.getSipRegistration(uname,pwd,ip);
    registration.answerCall(da);
    //sip operation ended

此代码块负责调用函数answerCall,如下所示

public void answerCall(DialerActivity activity){

    call=new MyCall(myacc,1,this.ep,activity);

    CallOpParam prm = new CallOpParam();

    prm.setStatusCode(pjsip_status_code.PJSIP_SC_RINGING);

    try {
        call.answer(prm);

    }catch(Exception e){
        e.printStackTrace();
    }
}

现在我得到的例外是

java.lang.Exception: Title:       pjsua_call_answer2(id, param.p_opt, prm.statusCode, param.p_reason, param.p_msg_data)
10-27 12:11:19.839 10090-10384/com.skyteloutsourcing.callnxt W/System.err: Code:        171140
10-27 12:11:19.839 10090-10384/com.skyteloutsourcing.callnxt W/System.err: Description: INVITE session already terminated (PJSIP_ESESSIONTERMINATED)

可能是什么原因?

2 个答案:

答案 0 :(得分:0)

解决了它,我正在使用不同的呼叫ID进行响应,而不是来电的呼叫ID。 :)

答案 1 :(得分:0)

当我不检查此控件时遇到了这个错误

if(ci.state==pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED){
     currentCall.delete()
     currentCall=null
 }