簡體   English   中英

使用PJSIP保持和取消保持Sip呼叫

[英]Hold and Unhold sip call using the PJSIP

我開發了可以進行sip調用的VOIP android應用程序。我按照“ http://trac.pjsip.org/repos/wiki/Getting-Started/Android ”中的說明構建了pjsip庫。

1.按住

    MainActivity.prm.setOptions(pjsua_call_flag.PJSUA_CALL_UPDATE_CONTACT
            .swigValue());
    try {
        MainActivity.currentCall.setHold(MainActivity.prm);
    } catch (Exception e) {
        e.printStackTrace();
    }

我在pjsip文檔中找到了此代碼,但是此代碼不適用於將呼叫置於保留狀態。沒有錯誤消息返回。

2.取消

    MainActivity.prm = new CallOpParam(true);

    MainActivity.prm.getOpt().setFlag(1);
    try {
        MainActivity.currentCall.reinvite(MainActivity.prm);
    } catch (Exception e) {
        e.printStackTrace();
    }

謝謝。

這是我用於保持和取消保持的代碼:

public void setHold(boolean hold) {
    if ((localHold && hold) || (!localHold && !hold)) return;
    if(currentCall == null) return;

    CallOpParam param = new CallOpParam(true);

    try {
        if (hold) {
            currentCall.setHold(param);
            localHold = true;
        } else {
            CallSetting opt = param.getOpt();
            opt.setAudioCount(1);
            opt.setVideoCount(0);
            opt.setFlag(pjsua_call_flag.PJSUA_CALL_UNHOLD.swigValue());
            currentCall.reinvite(param);
            localHold = false;
        }
    } catch (Exception e) {}
}

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM