如何在Android中的CSipSimple中获取CallId



我正在使用CSipSimple添加一个新功能,即传输调用。对于此功能,我需要call的callID。

我看到,当我调用时,会调用以下函数。

public void placeCallWithOption(Bundle b) {
        if (service == null) {
            return;
        }
        String toCall = "";
        Long accountToUse = SipProfile.INVALID_ID;
        // Find account to use
        SipProfile acc = accountChooserButton.getSelectedAccount();
        if(acc == null) {
            return;
        }
        accountToUse = acc.id;
        // Find number to dial
        toCall = digits.getText().toString();
        if(isDigit) {
            toCall = PhoneNumberUtils.stripSeparators(toCall);
        }
        if(accountChooserFilterItem != null && accountChooserFilterItem.isChecked()) {
            toCall = rewriteNumber(toCall);
        }
        if (TextUtils.isEmpty(toCall)) {
            return;
        }
        // Well we have now the fields, clear theses fields
        digits.getText().clear();
        // -- MAKE THE CALL --//
        if (accountToUse >= 0) {
            // It is a SIP account, try to call service for that
            try {
                service.makeCallWithOptions(toCall, accountToUse.intValue(), b);
              //  service.xfer(callId,"01628105601");
            } catch (RemoteException e) {
                Log.e(THIS_FILE, "Service can't be called to make the call");
            }
        } else if (accountToUse != SipProfile.INVALID_ID) {
            // It's an external account, find correct external account
            CallHandlerPlugin ch = new CallHandlerPlugin(getActivity());
            ch.loadFrom(accountToUse, toCall, new OnLoadListener() {
                @Override
                public void onLoad(CallHandlerPlugin ch) {
                    placePluginCall(ch);
                }
            });
        }
    }

但由此,我无法获取呼叫的callId。如何获取每个呼叫的callId?任何建议都有很大帮助。

使用SipCallSession获取调用id

SipCallSession callInfo = new SipCallSession();
callinfo.getCallid();

最新更新