# Call The call module provides call management functions, including making calls, redirecting to the dial screen, obtaining the call status, and formatting phone numbers. To subscribe to the call status, use [`observer.on('callStateChange')`](js-apis-observer.md#observeroncallstatechange). >**NOTE**
>The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```js import call from '@ohos.telephony.call'; ``` ## call.dial dial\(phoneNumber: string, callback: AsyncCallback\): void Initiates a call. This API uses an asynchronous callback to return the result. **Required permission**: ohos.permission.PLACE\_CALL (a system permission) **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------- | ---- | -------------------------------- | | phoneNumber | string | Yes | Phone number. | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.
- **true**: success
- **false**: failure | **Example** ```js call.dial("138xxxxxxxx", (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.dial dial\(phoneNumber: string, options: DialOptions, callback: AsyncCallback\): void Initiates a call based on the specified options. This API uses an asynchronous callback to return the result. **Required permission**: ohos.permission.PLACE\_CALL (a system permission) **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------- | ---- | --------------------------------------- | | phoneNumber | string | Yes | Phone number. | | options | [DialOptions](#dialoptions) | No | Call option, which indicates whether the call is a voice call or video call. | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.
- **true**: success
- **false**: failure | **Example** ```js call.dial("138xxxxxxxx", { extras: false }, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.dial dial\(phoneNumber: string, options?: DialOptions\): Promise Initiates a call based on the specified options. This API uses a promise to return the result. **Required permission**: ohos.permission.PLACE\_CALL (a system permission) **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | --------------------------- | ---- | -------------------------------------- | | phoneNumber | string | Yes | Phone number. | | options | [DialOptions](#dialoptions) | Yes | Call option, which indicates whether the call is a voice call or video call. | **Return value** | Type | Description | | ---------------------- | ---------------------------------------------------------------- | | Promise<boolean> | Promise used to return the result.
- **true**: success
- **false**: failure | **Example** ```js let promise = call.dial("138xxxxxxxx", { extras: false }); promise.then(data => { console.log(`dial success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`dial fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.makeCall7+ makeCall(phoneNumber: string, callback: AsyncCallback\): void Launches the call screen and displays the dialed number. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Applications.Contacts **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------------------- | ---- | ------------------------------------------ | | phoneNumber | string | Yes | Phone number. | | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.makeCall("138xxxxxxxx", err => { console.log(`makeCall callback: err->${JSON.stringify(err)}`); }); ``` ## call.makeCall7+ makeCall(phoneNumber: string): Promise\ Launches the call screen and displays the dialed number. This API uses a promise to return the result. **System capability**: SystemCapability.Applications.Contacts **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------- | | phoneNumber | string | Yes | Phone number. | **Return value** | Type | Description | | ------------------- | --------------------------------- | | Promise<void> | Promise used to return the result. | **Example** ```js let promise = call.makeCall("138xxxxxxxx"); promise.then(() => { console.log(`makeCall success`); }).catch(err => { console.error(`makeCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.hasCall hasCall\(callback: AsyncCallback\): void Checks whether a call is in progress. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------- | ---- | ------------------------------------------------------------ | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result. Callback used to return the result.
- **true**: A call is in progress.
- **false**: No call is in progress. | **Example** ```js call.hasCall((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.hasCall hasCall\(\): Promise Checks whether a call is in progress. This API uses a promise to return the result. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ---------------------- | --------------------------------------- | | Promise<boolean> | Promise used to return the result. | **Example** ```js let promise = call.hasCall(); promise.then(data => { console.log(`hasCall success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`hasCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getCallState getCallState\(callback: AsyncCallback\): void Obtains the call status. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | -------- | -------------------------------------------- | ---- | ------------------------------------ | | callback | AsyncCallback<[CallState](#callstate)> | Yes | Callback used to return the result. | **Example** ```js call.getCallState((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getCallState getCallState\(\): Promise Obtains the call status. This API uses a promise to return the result. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | -------------------------------------- | --------------------------------------- | | Promise<[CallState](#callstate)> | Promise used to return the result. | **Example** ```js let promise = call.getCallState(); promise.then(data => { console.log(`getCallState success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getCallState fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.hasVoiceCapability7+ hasVoiceCapability(): boolean Checks whether a device supports voice calls. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ------- | ------------------------------------------------------------ | | boolean | - **true**: The device supports voice calls.
- **false**: The device does not support voice calls. | ```js let result = call.hasVoiceCapability(); console.log(`hasVoiceCapability: ${JSON.stringify(result)}`); ``` ## call.isEmergencyPhoneNumber7+ isEmergencyPhoneNumber\(phoneNumber: string, callback: AsyncCallback\): void Checks whether the called number is an emergency number. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------- | ---- | ------------------------------------------------------------ | | phoneNumber | string | Yes | Phone number. | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.
- **true**: The called number is an emergency number.
- **false**: The called number is not an emergency number. | **Example** ```js call.isEmergencyPhoneNumber("138xxxxxxxx", (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isEmergencyPhoneNumber7+ isEmergencyPhoneNumber\(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback\): void Checks whether the called number is an emergency number based on the specified phone number options. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------------------- | ---- | -------------------------------------------- | | phoneNumber | string | Yes | Phone number. | | options | [EmergencyNumberOptions](#emergencynumberoptions7) | No | Phone number options. | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.
- **true**: The called number is an emergency number.
- **false**: The called number is not an emergency number. | **Example** ```js call.isEmergencyPhoneNumber("112", {slotId: 1}, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isEmergencyPhoneNumber7+ isEmergencyPhoneNumber\(phoneNumber: string, options?: EmergencyNumberOptions\): Promise Checks whether the called number is an emergency number based on the specified phone number options. This API uses a promise to return the result. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------------------- | ---- | -------------- | | phoneNumber | string | Yes | Phone number. | | options | [EmergencyNumberOptions](#emergencynumberoptions7) | Yes | Phone number options. | **Return value** | Type | Description | | ---------------------- | --------------------------------------------------- | | Promise<boolean> | Promise used to return the result. | **Example** ```js let promise = call.isEmergencyPhoneNumber("138xxxxxxxx", {slotId: 1}); promise.then(data => { console.log(`isEmergencyPhoneNumber success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`isEmergencyPhoneNumber fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.formatPhoneNumber7+ formatPhoneNumber\(phoneNumber: string, callback: AsyncCallback\): void Formats a phone number. This API uses an asynchronous callback to return the result. A formatted phone number is a standard numeric string, for example, 555 0100. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | --------------------------- | ---- | ------------------------------------ | | phoneNumber | string | Yes | Phone number. | | callback | AsyncCallback<string> | Yes | Callback used to return the result. | **Example** ```js call.formatPhoneNumber("138xxxxxxxx", (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.formatPhoneNumber7+ formatPhoneNumber\(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback\): void Formats a phone number based on the specified formatting options. This API uses an asynchronous callback to return the result. A formatted phone number is a standard numeric string, for example, 555 0100. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------------- | ---- | ------------------------------------ | | phoneNumber | string | Yes | Phone number. | | options | [NumberFormatOptions](#numberformatoptions7) | No | Number formatting options, for example, country code. | | callback | AsyncCallback<string> | Yes | Callback used to return the result. | **Example** ```js call.formatPhoneNumber("138xxxxxxxx", { countryCode: "CN" }, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.formatPhoneNumber7+ formatPhoneNumber\(phoneNumber: string, options?: NumberFormatOptions\): Promise Formats a phone number based on the specified formatting options. This API uses a promise to return the result. A formatted phone number is a standard numeric string, for example, 555 0100. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------------- | ---- | ---------------------- | | phoneNumber | string | Yes | Phone number. | | options | [NumberFormatOptions](#numberformatoptions7) | Yes | Number formatting options, for example, country code. | **Return value** | Type | Description | | --------------------- | ------------------------------------------- | | Promise<string> | Promise used to return the result. | **Example** ```js let promise = call.formatPhoneNumber("138xxxxxxxx", { countryCode: "CN" }); promise.then(data => { console.log(`formatPhoneNumber success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`formatPhoneNumber fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.formatPhoneNumberToE1647+ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string, callback: AsyncCallback\): void Converts a phone number into the E.164 format. This API uses an asynchronous callback to return the result. The phone number must match the specified country code. For example, for a China phone number, the country code must be **CN**. Otherwise, **null** will be returned. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | --------------------------- | ---- | ----------------------------------------------------- | | phoneNumber | string | Yes | Phone number. | | countryCode | string | Yes | Country code, for example, **CN** (China). All country codes are supported. | | callback | AsyncCallback<string> | Yes | Callback used to return the result. | **Example** ```js call.formatPhoneNumberToE164("138xxxxxxxx", "CN", (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.formatPhoneNumberToE1647+ formatPhoneNumberToE164\(phoneNumber: string, countryCode: string\): Promise Converts a phone number into the E.164 format. This API uses a promise to return the result. The phone number must match the specified country code. For example, for a China phone number, the country code must be **CN**. Otherwise, **null** will be returned. All country codes are supported. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------------------------------- | | phoneNumber | string | Yes | Phone number. | | countryCode | string | Yes | Country code, for example, **CN** (China). All country codes are supported. | **Return value** | Type | Description | | --------------------- | ------------------------------------------------------------ | | Promise<string> | Promise used to return the result. | **Example** ```js let promise = call.formatPhoneNumberToE164("138xxxxxxxx", "CN"); promise.then(data => { console.log(`formatPhoneNumberToE164 success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`formatPhoneNumberToE164 fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.muteRinger8+ muteRinger\(callback: AsyncCallback\): void Mutes the ringtone while it is playing. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.muteRinger((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.muteRinger8+ muteRinger\(\): Promise Mutes the ringtone while it is playing. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.muteRinger(); promise.then(data => { console.log(`muteRinger success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`muteRinger fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.answer7+ answer\(callId: number, callback: AsyncCallback\): void Answers a call based on the specified call ID. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ----------------------------------------------- | | callId | number | Yes | Call ID. You can obtain the value by subscribing to **callDetailsChange** events.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.answer(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.answer7+ answer(callId?: number\): Promise Answers a call based on the specified call ID. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------------------------------------------------ | | callId | number | No | Call ID. You can obtain the value by subscribing to **callDetailsChange** events. This parameter is optional from API version 9.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.answer(1); promise.then(data => { console.log(`answer success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`answer fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.hangup7+ hangup\(callId: number, callback: AsyncCallback\): void Ends a call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. You can obtain the value by subscribing to **callDetailsChange** events.| | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.hangup(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.answer9+ answer\(callback: AsyncCallback\): void Answers a call.This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ----------------------------------------------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.answer((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.hangup7+ hangup\(callId?: number\): Promise Ends a call based on the specified call ID. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------------------------------------------------ | | callId | number | No | Call ID. You can obtain the value by subscribing to **callDetailsChange** events. This parameter is optional from API version 9.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.hangup(1); promise.then(data => { console.log(`hangup success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`hangup fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.hangup9+ hangup\(callback: AsyncCallback\): void Ends a call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.hangup((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.reject7+ reject(callId: number, callback: AsyncCallback\): void Rejects a call based on the specified call ID. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ----------------------------------------------- | | callId | number | Yes | Call ID. You can obtain the value by subscribing to **callDetailsChange** events.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.reject(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.reject7+ reject\(callId: number, options: RejectMessageOptions, callback: AsyncCallback\): void Rejects a call based on the specified call ID and options. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------- | ---- | ----------------------------------------------- | | callId | number | Yes | Call ID. You can obtain the value by subscribing to **callDetailsChange** events.| | options | [RejectMessageOptions](#rejectmessageoptions7) | Yes | Options for the call rejection message. | | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js let rejectMessageOptions={ messageContent: "Unknown number blocked" } call.reject(1, rejectMessageOptions, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.reject7+ reject(callId?: number, options?: RejectMessageOptions\): Promise Rejects a call based on the specified call ID and options. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | ------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ | | callId | number | No | Call ID. You can obtain the value by subscribing to **callDetailsChange** events. This parameter is optional from API version 9.| | options | [RejectMessageOptions](#rejectmessageoptions7) | No | Options for the call rejection message. | **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let rejectMessageOptions={ messageContent: "Unknown number blocked" } let promise = call.reject(1, rejectMessageOptions); promise.then(data => { console.log(`reject success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`reject fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.reject9+ reject\(callback: AsyncCallback\): void Rejects a call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example:** ```js call.reject((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.reject9+ reject\(options: RejectMessageOptions, callback: AsyncCallback\): void Rejects a call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------- | ---- | -------------- | | options | [RejectMessageOptions](#rejectmessageoptions7) | Yes | Options for the call rejection message.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example:** ```js let rejectMessageOptions={ messageContent: "Unknown number blocked" } call.reject(rejectMessageOptions, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.holdCall7+ holdCall\(callId: number, callback: AsyncCallback\): void Holds a call based on the specified call ID. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.holdCall(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.holdCall7+ holdCall\(callId: number\): Promise Holds a call based on the specified call ID. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.holdCall(1); promise.then(data => { console.log(`holdCall success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`holdCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.unHoldCall7+ unHoldCall\(callId: number, callback: AsyncCallback\): void Unholds a call based on the specified call ID. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.unHoldCall(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.unHoldCall7+ unHoldCall\(callId: number\): Promise Unholds a call based on the specified call ID. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.unHoldCall(1); promise.then(data => { console.log(`unHoldCall success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`unHoldCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.switchCall7+ switchCall\(callId: number, callback: AsyncCallback\): void Switches a call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.switchCall(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.switchCall7+ switchCall\(callId: number\): Promise Switches a call. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.ANSWER_CALL **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.switchCall(1); promise.then(data => { console.log(`switchCall success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`switchCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.combineConference7+ combineConference\(callId: number, callback: AsyncCallback\): void Combines two calls into a conference call. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.combineConference(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.combineConference7+ combineConference\(callId: number\): Promise Combines two calls into a conference call. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.combineConference(1); promise.then(data => { console.log(`combineConference success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`combineConference fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getMainCallId7+ getMainCallId\(callId: number, callback: AsyncCallback\): void Obtains the main call ID. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------- | ---- | ------------------------ | | callId | number | Yes | Call ID. | | callback | AsyncCallback<number> | Yes | Callback used to return the result. | **Example** ```js call.getMainCallId(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getMainCallId7+ getMainCallId\(callId: number\): Promise Obtains the main call ID. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | ------------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.getMainCallId(1); promise.then(data => { console.log(`getMainCallId success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getMainCallId fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getSubCallIdList7+ getSubCallIdList\(callId: number, callback: AsyncCallback\>\): void Obtains the list of subcall IDs. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------ | ---- | ---------------------------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback\> | Yes | Callback used to return the result. | **Example** ```js call.getSubCallIdList(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getSubCallIdList7+ getSubCallIdList\(callId: number\): Promise\> Obtains the list of subcall IDs. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ----------------------------- | ----------------------------------- | | Promise<Array> | Promise used to return the result.| **Example** ```js let promise = call.getSubCallIdList(1); promise.then(data => { console.log(`getSubCallIdList success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getSubCallIdList fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getCallIdListForConference7+ getCallIdListForConference\(callId: number, callback: AsyncCallback>\): void Obtains the list of call IDs in a conference. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------- | ---- | -------------------------------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<Array> | Yes | Callback used to return the result. | **Example** ```js call.getCallIdListForConference(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getCallIdListForConference7+ getCallIdListForConference\(callId: number\): Promise\> Obtains the list of call IDs in a conference. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ----------------------------- | --------------------------------------- | | Promise<Array> | Promise used to return the result.| **Example** ```js let promise = call.getCallIdListForConference(1); promise.then(data => { console.log(`getCallIdListForConference success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getCallIdListForConference fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getCallWaitingStatus7+ getCallWaitingStatus\(slotId: number, callback: AsyncCallback\): void Obtains the call waiting status. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2 | | callback | AsyncCallback<[CallWaitingStatus](#callwaitingstatus7)\> | Yes | Callback used to return the result.
- **0**: Call waiting is disabled.
- **1**: Call waiting is enabled.| **Example** ```js call.getCallWaitingStatus(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getCallWaitingStatus7+ getCallWaitingStatus\(slotId: number\): Promise Obtains the call waiting status. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| **Return value** | Type | Description | | ------------------------------------------------------- | ------------------------------------------------------------ | | Promise<[CallWaitingStatus](#callwaitingstatus7)> | Promise used to return the result.
- **0**: Call waiting is disabled.
- **1**: Call waiting is enabled.| **Example** ```js let promise = call.getCallWaitingStatus(0); promise.then(data => { console.log(`getCallWaitingStatus success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getCallWaitingStatus fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.setCallWaiting7+ setCallWaiting\(slotId: number, activate: boolean, callback: AsyncCallback\): void Sets the call waiting switch. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | ------------------------------------------------------------ | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2 | | activate | boolean | Yes | Whether to enable call waiting.
- **false**: Disable call waiting.
- **true**: Enable call waiting.| | callback | AsyncCallback | Yes | Callback used to return the result. | **Example** ```js call.setCallWaiting(0, true, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setCallWaiting7+ setCallWaiting\(slotId: number, activate: boolean\): Promise Sets the call waiting switch. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------- | ---- | ------------------------------------------------------------ | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2 | | activate | boolean | Yes | Whether to enable call waiting.
- **false**: Disable call waiting.
- **true**: Enable call waiting.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.setCallWaiting(0, true); promise.then(data => { console.log(`setCallWaiting success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`setCallWaiting fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.startDTMF7+ startDTMF\(callId: number, character: string, callback: AsyncCallback\): void Enables dual-tone multifrequency (DTMF). This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | --------- | -------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | character | string | Yes | DTMF code. | | callback | AsyncCallback | Yes | Callback used to return the result.| **Example** ```js call.startDTMF(1, "0", (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.startDTMF7+ startDTMF\(callId: number, character: string\): Promise Enables DTMF. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | --------- | ------ | ---- | -------- | | callId | number | Yes | Call ID.| | character | string | Yes | DTMF code.| **Return value** | Type | Description | | ------------------- | ----------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.startDTMF(1, "0"); promise.then(data => { console.log(`startDTMF success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`startDTMF fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.stopDTMF7+ stopDTMF\(callId: number, callback: AsyncCallback\): void Stops DTMF. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.stopDTMF(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.stopDTMF7+ stopDTMF\(callId: number\): Promise Stops DTMF. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.stopDTMF(1); promise.then(data => { console.log(`stopDTMF success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`stopDTMF fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.isInEmergencyCall7+ isInEmergencyCall\(callback: AsyncCallback\): void Checks whether a call is an emergency call. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | ---------- | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.| **Example** ```js call.isInEmergencyCall((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isInEmergencyCall7+ isInEmergencyCall\(\): Promise Checks whether a call is an emergency call. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ---------------------- | --------------------------- | | Promise<boolean> | Promise used to return the result.| **Example** ```js let promise = call.isInEmergencyCall(); promise.then(data => { console.log(`isInEmergencyCall success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`isInEmergencyCall fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.on('callDetailsChange')7+ on\(type: 'callDetailsChange', callback: Callback\): void Subscribes to **callDetailsChange** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | -------------------------- | | type | string | Yes | Call details change during a call.| | callback | Callback<[CallAttributeOptions](#callattributeoptions7)> | Yes | Callback used to return the result. | **Example** ```js call.on('callDetailsChange', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.on('callEventChange')8+ on\(type: 'callEventChange', callback: Callback\): void Subscribes to **callEventChange** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------ | ---- | -------------------------- | | type | string | Yes | Call event change during a call.| | callback | Callback<[CallEventOptions](#calleventoptions8)> | Yes | Callback used to return the result. | **Example** ```js call.on('callEventChange', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.on('callDisconnectedCause')8+ on\(type: 'callDisconnectedCause', callback: Callback): void Subscribes to **callDisconnectedCause** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------ | ---- | -------------------------- | | type | string | Yes | Cause of the call disconnection.| | callback | Callback<[DisconnectedDetails](#disconnecteddetails8)> | Yes | Callback used to return the result. | **Example** ```js call.on('callDisconnectedCause', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.on('mmiCodeResult')9+ on\(type: 'mmiCodeResult', callback: Callback\): void Subscribes to **mmiCodeResult** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------------- | ---- | --------------------- | | type | string | Yes | Man-machine interface (MMI) code result.| | callback | Callback<[MmiCodeResults](#mmicoderesults9)> | Yes | Callback used to return the result. | **Example** ```js call.on('mmiCodeResult', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.off('callDetailsChange')7+ off\(type: 'callDetailsChange', callback?: Callback\): void Unsubscribes from **callDetailsChange** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------------------------------------------- | ---- | ---------------------------------- | | type | string | Yes | Unsubscription from call details changes when a call ends.| | callback | Callback<[CallAttributeOptions](#callattributeoptions7)> | No | Callback used to return the result. | **Example** ```js call.off('callDetailsChange', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.off('callEventChange')8+ off\(type: 'callEventChange', callback?: Callback\): void Unsubscribes from **callEventChange** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------ | ---- | ---------------------------------- | | type | string | Yes | Unsubscription from call event changes when a call ends.| | callback | Callback<[CallEventOptions](#calleventoptions8)> | No | Callback used to return the result. | **Example** ```js call.off('callEventChange', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.off('callDisconnectedCause')8+ off\(type: 'callDisconnectedCause', callback?: Callback\): void Unsubscribes from **callDisconnectedCause** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------------------- | ---- | -------------------- | | type | 'callDisconnectedCause' | Yes | Unsubscription from the call disconnection cause when a call ends.| | callback | Callback**<**[DisconnectedDetails](#disconnecteddetails8)> | No | Callback used to return the result. | **Example** ```js call.off('callDisconnectedCause', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.off('mmiCodeResult')9+ off\(type: 'mmiCodeResult', callback?: Callback\): void Unsubscribes from **mmiCodeResult** events. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------ | ---- | ----------- | | type | 'mmiCodeResult' | Yes | MMI code result.| | callback | Callback<[MmiCodeResults](#mmicoderesults9)> | No | Callback used to return the result. | **Example** ```js call.off('mmiCodeResult', data => { console.log(`callback: data->${JSON.stringify(data)}`); }); ``` ## call.isNewCallAllowed8+ isNewCallAllowed\(callback: AsyncCallback\): void Checks whether a new call is allowed. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | ---------- | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.| **Example** ```js call.isNewCallAllowed((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isNewCallAllowed8+ isNewCallAllowed\(\): Promise Checks whether a new call is allowed. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ---------------------- | --------------------------- | | Promise<boolean> | Promise used to return the result.| **Example** ```js let promise = call.isNewCallAllowed(); promise.then(data => { console.log(`isNewCallAllowed success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`isNewCallAllowed fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.separateConference8+ separateConference\(callId: number, callback: AsyncCallback\): void Separates a conference call. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callId | number | Yes | Call ID. | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.separateConference(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.separateConference8+ separateConference\(callId: number\): Promise Separates a conference call. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------- | | callId | number | Yes | Call ID.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.separateConference(1); promise.then(data => { console.log(`separateConference success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`separateConference fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getCallRestrictionStatus8+ getCallRestrictionStatus\(slotId: number, type: CallRestrictionType, callback: AsyncCallback\): void Obtains the call restriction status. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | type | [CallRestrictionType](#callrestrictiontype8) | Yes | Call restriction type. | | callback | AsyncCallback<[RestrictionStatus](#restrictionstatus8)> | Yes | Callback used to return the result. | **Example** ```js call.getCallRestrictionStatus(0, 1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getCallRestrictionStatus8+ getCallRestrictionStatus\(slotId: number, type: CallRestrictionType\): Promise Obtains the call restriction status. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | -------------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | type | [CallRestrictionType](#callrestrictiontype8) | Yes | Call restriction type. | **Return value** | Type | Description | | ------------------------------------------------------- | --------------------------- | | Promise<[RestrictionStatus](#restrictionstatus8)> | Promise used to return the result.| **Example** ```js let promise = call.getCallRestrictionStatus(0, 1); promise.then(data => { console.log(`getCallRestrictionStatus success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getCallRestrictionStatus fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.setCallRestriction8+ setCallRestriction\(slotId: number, info: CallRestrictionInfo, callback: AsyncCallback\): void Sets the call restriction status. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | info | [CallRestrictionInfo](#callrestrictioninfo8) | Yes | Call restriction information. | | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js let callRestrictionInfo={ type: 1, password: "123456", mode: 1 } call.setCallRestriction(0, callRestrictionInfo, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setCallRestriction8+ setCallRestriction\(slotId: number, info: CallRestrictionInfo\): Promise Sets the call restriction status. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | -------------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | info | [CallRestrictionInfo](#callrestrictioninfo8) | Yes | Call restriction information. | **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let callRestrictionInfo={ type: 1, password: "123456", mode: 1 } let promise = call.setCallRestriction(0, callRestrictionInfo); promise.then(data => { console.log(`setCallRestriction success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`setCallRestriction fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.getCallTransferInfo8+ getCallTransferInfo\(slotId: number, type: CallTransferType, callback: AsyncCallback\): void Obtains call transfer information. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | type | [CallTransferType](#calltransfertype8) | Yes | Call transfer type. | | callback | AsyncCallback<[CallTransferResult](#calltransferresult8)> | Yes | Callback used to return the result. | **Example** ```js call.getCallTransferInfo(0, callTransferTyp, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.getCallTransferInfo8+ getCallTransferInfo\(slotId: number, type: CallTransferType): Promise Obtains call transfer information. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.GET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | -------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | type | [CallTransferType](#calltransfertype8) | Yes | Call transfer type. | **Return value** | Type | Description | | --------------------------------------------------------- | --------------------------- | | Promise<[CallTransferResult](#calltransferresult8)> | Promise used to return the result.| **Example** ```js let promise = call.getCallTransferInfo(0, call.CallTransferType.TRANSFER_TYPE_BUSY); promise.then(data => { console.log(`getCallTransferInfo success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`getCallTransferInfo fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.setCallTransfer8+ setCallTransfer\(slotId: number, info: CallTransferInfo, callback: AsyncCallback\): void Sets call transfer information. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | info | [CallTransferInfo](#calltransferinfo8) | Yes | Call transfer information. | | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js let callTransferInfo={ transferNum: "111", type: 1, settingType: 1 } call.setCallTransfer(0, callTransferInfo, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setCallTransfer8+ setCallTransfer\(slotId: number, info: CallTransferInfo): Promise Sets call transfer information. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------------------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | info | [CallTransferInfo](#calltransferinfo8) | Yes | Call transfer information. | **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let callTransferInfo={ transferNum: "111", type: 1, settingType: 1 } let promise = call.setCallTransfer(0, callTransferInfo); promise.then(data => { console.log(`setCallTransfer success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`setCallTransfer fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.isRinging8+ isRinging\(callback: AsyncCallback\): void Checks whether the ringtone is playing. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | ---------- | | callback | AsyncCallback<boolean> | Yes | Callback used to return the result.| **Example** ```js call.isRinging((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isRinging8+ isRinging\(\): Promise Checks whether the ringtone is playing. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ---------------------- | --------------------------- | | Promise<boolean> | Promise used to return the result.| **Example** ```js let promise = call.isRinging(); promise.then(data => { console.log(`isRinging success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`isRinging fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.setMuted8+ setMuted\(callback: AsyncCallback\): void Sets call muting. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.setMuted((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setMuted8+ setMuted\(\): Promise Sets call muting. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.setMuted(); promise.then(data => { console.log(`setMuted success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`setMuted fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.cancelMuted8+ cancelMuted(callback: AsyncCallback): void Cancels call muting. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | ---------- | | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.cancelMuted((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.cancelMuted8+ cancelMuted(): Promise Cancels call muting. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.cancelMuted(); promise.then(data => { console.log(`cancelMuted success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`cancelMuted fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.setAudioDevice9+ setAudioDevice\(device: AudioDevice, callback: AsyncCallback\): void Sets the audio device for a call. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | ---------- | | device | [AudioDevice](#audiodevice8) | Yes | Audio device.| | callback | AsyncCallback<void> | Yes | Callback used to return the result.| **Example** ```js call.setAudioDevice(1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setAudioDevice9+ setAudioDevice\(device: AudioDevice, options: AudioDeviceOptions, callback: AsyncCallback\): void Sets the audio device for a call based on the specified options. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------ | ---- | -------------- | | device | [AudioDevice](#audiodevice8) | Yes | Audio device. | | options | [AudioDeviceOptions](#audiodeviceoptions9) | Yes | Audio device parameters.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js let audioDeviceOptions={ bluetoothAddress: "IEEE 802-2014" } call.setAudioDevice(1, audioDeviceOptions, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.setAudioDevice8+ setAudioDevice(device: AudioDevice, options?: AudioDeviceOptions): Promise Sets the audio device for a call based on the specified options. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | ------- | ------------------------------------------ | ---- | ------------------ | | device | [AudioDevice](#audiodevice8) | Yes | Audio device. | | options | [AudioDeviceOptions](#audiodeviceoptions9) | No | Audio device parameters.| **Return value** | Type | Description | | ------------------- | ------------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let audioDeviceOptions={ bluetoothAddress: "IEEE 802-2014" } let promise = call.setAudioDevice(1, audioDeviceOptions); promise.then(data => { console.log(`setAudioDevice success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`setAudioDevice fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.joinConference8+ joinConference(mainCallId: number, callNumberList: Array, callback: AsyncCallback): void Joins a conference call. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------------- | ---- | --------------- | | mainCallId | number | Yes | Main call ID. | | callNumberList | Array | Yes | List of call numbers.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js let callNumberList: Array = [ "138XXXXXXXX" ]; call.joinConference(1, callNumberList, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.joinConference8+ joinConference(mainCallId: number, callNumberList: Array): Promise Joins a conference call. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------------- | -------------- | ---- | --------------- | | mainCallId | number | Yes | Main call ID. | | callNumberList | Array | Yes | List of call numbers.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let callNumberList: Array = [ "138XXXXXXXX" ]; let promise = call.joinConference(1, callNumberList); promise.then(data => { console.log(`joinConference success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`joinConference fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.updateImsCallMode8+ updateImsCallMode(callId: number, mode: ImsCallMode, callback: AsyncCallback): void Updates the IMS call mode. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | -------------- | | callId | number | Yes | Call ID. | | mode | [ImsCallMode](#imscallmode8) | Yes | IMS call mode.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.updateImsCallMode(1, 1, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.updateImsCallMode8+ updateImsCallMode(callId: number, mode: ImsCallMode): Promise Updates the IMS call mode. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ---------------------------- | ---- | -------------- | | callId | number | Yes | Call ID. | | mode | [ImsCallMode](#imscallmode8) | Yes | IMS call mode.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.updateImsCallMode(1, 1); promise.then(data => { console.log(`updateImsCallMode success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`updateImsCallMode fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.enableImsSwitch8+ enableImsSwitch(slotId: number, callback: AsyncCallback): void Enables the IMS switch. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.enableImsSwitch(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.enableImsSwitch8+ enableImsSwitch(slotId: number): Promise Enables the IMS switch. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.enableImsSwitch(0); promise.then(data => { console.log(`enableImsSwitch success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`enableImsSwitch fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.disableImsSwitch8+ disableImsSwitch(slotId: number, callback: AsyncCallback): void Disables the IMS switch. This API uses an asynchronous callback to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ```js call.disableImsSwitch(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.disableImsSwitch8+ disableImsSwitch(slotId: number): Promise Disables the IMS switch. This API uses a promise to return the result. This is a system API. **Required permission**: ohos.permission.SET_TELEPHONY_STATE **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.disableImsSwitch(0); promise.then(data => { console.log(`disableImsSwitch success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`disableImsSwitch fail, promise: err->${JSON.stringify(err)}`); }); ``` ## call.isImsSwitchEnabled8+ isImsSwitchEnabled(slotId: number, callback: AsyncCallback): void Checks whether the IMS switch is enabled. This API uses an asynchronous callback to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------- | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| | callback | AsyncCallback<boolean> | Yes | Callback used to return the result. | **Example** ```js call.isImsSwitchEnabled(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## call.isImsSwitchEnabled8+ isImsSwitchEnabled(slotId: number): Promise Checks whether the IMS switch is enabled. This API uses a promise to return the result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------------------------- | | slotId | number | Yes | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ```js let promise = call.isImsSwitchEnabled(0); promise.then(data => { console.log(`isImsSwitchEnabled success, promise: data->${JSON.stringify(data)}`); }).catch(err => { console.error(`isImsSwitchEnabled fail, promise: err->${JSON.stringify(err)}`); }); ``` ## DialOptions Defines the dialup options. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | ------------------------ | ---------------------------------- | ---- | ------------------------------------------------------------ | | extras | boolean | No | Indication of a video call.
- **true**: video call
- **false** (default): voice call| | accountId 8+ | number | No | Account ID.
- **0**: card slot 1
- **1**: card slot 2
This is a system API. | | videoState 8+ | [VideoStateType](#videostatetype7) | No | Video state type. This is a system API. | | dialScene 8+ | [DialScene](#dialscene8) | No | Dialup scenario. This is a system API. | | dialType 8+ | [DialType](#dialtype8) | No | Dialup type. This is a system API. | ## CallState Enumerates call states. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ------------------ | ---- | ------------------------------------------------------------ | | CALL_STATE_UNKNOWN | -1 | The call status fails to be obtained and is unknown. | | CALL_STATE_IDLE | 0 | No call is in progress. | | CALL_STATE_RINGING | 1 | The call is in the ringing or waiting state. | | CALL_STATE_OFFHOOK | 2 | At least one call is in dialing, active, or on hold, and no new incoming call is ringing or waiting. | ## EmergencyNumberOptions7+ Defines options for determining whether a number is an emergency number. **System capability**: SystemCapability.Telephony.CallManager | Name| Type | Mandatory | Description | | ------ | ------ | ---- | ---------------------------------------------- | | slotId | number | No | Card slot ID.
- **0**: card slot 1
- **1**: card slot 2| ## NumberFormatOptions7+ Defines the number formatting options. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------------------------------------------------- | | countryCode | string | No | Country code, for example, **CN** (China). All country codes are supported. The default value is **CN**. | ## ImsCallMode8+ Enumerates IMS call modes. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ---------------------- | ---- | ------------------ | | CALL_MODE_AUDIO_ONLY | 0 | Audio call only. | | CALL_MODE_SEND_ONLY | 1 | Sending calls only. | | CALL_MODE_RECEIVE_ONLY | 2 | Receiving calls only. | | CALL_MODE_SEND_RECEIVE | 3 | Sending and receiving calls.| | CALL_MODE_VIDEO_PAUSED | 4 | Pausing video calls. | ## AudioDevice8+ Enumerates audio devices. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | -------------------- | ---- | ------------ | | DEVICE_EARPIECE | 0 | Earpiece. | | DEVICE_SPEAKER | 1 | Speaker.| | DEVICE_WIRED_HEADSET | 2 | Wired headset.| | DEVICE_BLUETOOTH_SCO | 3 | Bluetooth SCO device. | | DEVICE_MIC | 4 | Microphone. | ## CallRestrictionType8+ Enumerates call restriction types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | --------------------------------------------- | ---- | -------------------------- | | RESTRICTION_TYPE_ALL_INCOMING | 0 | Barring of all incoming calls. | | RESTRICTION_TYPE_ALL_OUTGOING | 1 | Barring of all outgoing calls. | | RESTRICTION_TYPE_INTERNATIONAL | 2 | Barring of international calls. | | RESTRICTION_TYPE_INTERNATIONAL_EXCLUDING_HOME | 3 | Barring of international calls except those in the home country.| | RESTRICTION_TYPE_ROAMING_INCOMING | 4 | Barring of incoming roaming calls. | | RESTRICTION_TYPE_ALL_CALLS | 5 | Barring of all calls. | | RESTRICTION_TYPE_OUTGOING_SERVICES | 6 | Barring of outgoing services. | | RESTRICTION_TYPE_INCOMING_SERVICES | 7 | Barring of incoming services. | ## CallTransferInfo8+ Defines the call transfer information. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | ----------- | ---------------------------------------------------- | ---- | ---------------- | | transferNum | string | Yes | Call transfer number. | | type | [CallTransferType](#calltransfertype8) | Yes | Call transfer type. | | settingType | [CallTransferSettingType](#calltransfersettingtype8) | Yes | Call transfer setting type.| ## CallTransferType8+ Enumerates call transfer types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | --------------------------- | ---- | ------------ | | TRANSFER_TYPE_UNCONDITIONAL | 0 | Call forwarding unconditional. | | TRANSFER_TYPE_BUSY | 1 | Call forwarding busy. | | TRANSFER_TYPE_NO_REPLY | 2 | Call forwarding on no reply. | | TRANSFER_TYPE_NOT_REACHABLE | 3 | Call forwarding on no user not reachable.| ## CallTransferSettingType8+ Enumerates call transfer setting types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | -------------------------- | ---- | ------------ | | CALL_TRANSFER_DISABLE | 0 | Disabling of call transfer.| | CALL_TRANSFER_ENABLE | 1 | Enabling of call transfer.| | CALL_TRANSFER_REGISTRATION | 3 | Registration of call transfer.| | CALL_TRANSFER_ERASURE | 4 | Erasing of call transfer.| ## CallAttributeOptions7+ Defines the call attribute options. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | --------------- | ---------------------------------------- | ---- | -------------- | | accountNumber | string | Yes | Account number. | | speakerphoneOn | boolean | Yes | Speakerphone on.| | accountId | number | Yes | Account ID. | | videoState | [VideoStateType](#videostatetype7) | Yes | Video state type. | | startTime | number | Yes | Start time. | | isEcc | boolean | Yes | Whether the call is an ECC. | | callType | [CallType](#calltype7) | Yes | Call type. | | callId | number | Yes | Call ID. | | callState | [DetailedCallState](#detailedcallstate7) | Yes | Detailed call state. | | conferenceState | [ConferenceState](#conferencestate7) | Yes | Conference state. | ## ConferenceState7+ Enumerates conference states. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ---------------------------- | ---- | -------------- | | TEL_CONFERENCE_IDLE | 0 | Idle state. | | TEL_CONFERENCE_ACTIVE | 1 | Active state. | | TEL_CONFERENCE_DISCONNECTING | 2 | Disconnecting state. | | TEL_CONFERENCE_DISCONNECTED | 3 | Disconnected state.| ## CallType7+ Enumerates call types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ------------- | ---- | ------------ | | TYPE_CS | 0 | CS call. | | TYPE_IMS | 1 | IMS call. | | TYPE_OTT | 2 | OTT call. | | TYPE_ERR_CALL | 3 | Error call type.| ## VideoStateType7+ Enumerates video state types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ---------- | ---- | -------- | | TYPE_VOICE | 0 | Voice state.| | TYPE_VIDEO | 1 | Video state.| ## DetailedCallState7+ Enumerates detailed call states. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ------------------------- | ---- | -------------- | | CALL_STATUS_ACTIVE | 0 | Active state. | | CALL_STATUS_HOLDING | 1 | Hold state. | | CALL_STATUS_DIALING | 2 | Dialing state. | | CALL_STATUS_ALERTING | 3 | Alerting state. | | CALL_STATUS_INCOMING | 4 | Incoming state. | | CALL_STATUS_WAITING | 5 | Waiting state. | | CALL_STATUS_DISCONNECTED | 6 | Disconnected state.| | CALL_STATUS_DISCONNECTING | 7 | Disconnecting state. | | CALL_STATUS_IDLE | 8 | Idle state. | ## CallRestrictionInfo8+ Defines the call restriction information. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | -------- | -------------------------------------------- | ---- | ------------ | | type | [CallRestrictionType](#callrestrictiontype8) | Yes | Call restriction type.| | password | string | Yes | Password. | | mode | [CallRestrictionMode](#callrestrictionmode8) | Yes | Call restriction mode.| ## CallRestrictionMode8+ Enumerates call restriction modes. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ----------------------------- | ---- | ------------ | | RESTRICTION_MODE_DEACTIVATION | 0 | Call restriction deactivated.| | RESTRICTION_MODE_ACTIVATION | 1 | Call restriction activated.| ## CallEventOptions8+ Defines the call event options. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | ------- | ------------------------------------------ | ---- | -------------- | | eventId | [CallAbilityEventId](#callabilityeventid8) | Yes | Call ability event ID.| ## CallAbilityEventId8+ Enumerates call ability event IDs. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ------------------------ | ---- | --------------- | | EVENT_DIAL_NO_CARRIER | 1 | No available carrier during dialing. | | EVENT_INVALID_FDN_NUMBER | 2 | Invalid FDN.| ## DialScene8+ Enumerates dialup scenarios. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | --------------- | ---- | ------------ | | CALL_NORMAL | 0 | Common call. | | CALL_PRIVILEGED | 1 | Privileged call. | | CALL_EMERGENCY | 2 | Emergency call.| ## DialType8+ Enumerates dialup types. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | -------------------- | ---- | ---------------- | | DIAL_CARRIER_TYPE | 0 | Carrier. | | DIAL_VOICE_MAIL_TYPE | 1 | Voice mail.| | DIAL_OTT_TYPE | 2 | OTT. | ## RejectMessageOptions7+ Defines options for the call rejection message. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | -------------- | ------ | ---- | -------- | | messageContent | string | Yes | Message content.| ## CallTransferResult8+ Defines the call transfer result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name| Type | Mandatory| Description | | ------ | ---------------------------------- | ---- | -------- | | status | [TransferStatus](#transferstatus8) | Yes | Transfer status.| | number | string | Yes | Number. | ## CallWaitingStatus7+ Enumerates call waiting states. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | -------------------- | ---- | ------------ | | CALL_WAITING_DISABLE | 0 | Call waiting disabled.| | CALL_WAITING_ENABLE | 1 | Call waiting enabled.| ## RestrictionStatus8+ Enumerates call restriction states. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ------------------- | ---- | -------- | | RESTRICTION_DISABLE | 0 | Call restriction disabled.| | RESTRICTION_ENABLE | 1 | Call restriction enabled.| ## TransferStatus8+ Enumerates call transfer states. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ---------------- | ---- | -------- | | TRANSFER_DISABLE | 0 | Call transfer disabled.| | TRANSFER_ENABLE | 1 | Call transfer enabled.| ## DisconnectedDetails8+ Enumerates causes of call disconnection. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | --------------------------- | ---- | ---------------------- | | UNASSIGNED_NUMBER | 1 | Unallocated number. | | NO_ROUTE_TO_DESTINATION | 3 | No route to the destination. | | CHANNEL_UNACCEPTABLE | 6 | Unacceptable channel. | | OPERATOR_DETERMINED_BARRING | 8 | Operator determined barring (ODB). | | NORMAL_CALL_CLEARING | 16 | Normal call clearing. | | USER_BUSY | 17 | User busy. | | NO_USER_RESPONDING | 18 | No user response. | | USER_ALERTING_NO_ANSWER | 19 | Alerting but no answer.| | CALL_REJECTED | 21 | Call rejected. | | NUMBER_CHANGED | 22 | Number changed. | | DESTINATION_OUT_OF_ORDER | 27 | Destination fault. | | INVALID_NUMBER_FORMAT | 28 | Invalid number format. | | NETWORK_OUT_OF_ORDER | 38 | Network fault. | | TEMPORARY_FAILURE | 41 | Temporary fault. | | INVALID_PARAMETER | 1025 | Invalid parameter. | | SIM_NOT_EXIT | 1026 | SIM card not exit. | | SIM_PIN_NEED | 1027 | SIM card PIN required. | | CALL_NOT_ALLOW | 1029 | Call not allowed. | | SIM_INVALID | 1045 | Invalid SIM card. | | UNKNOWN | 1279 | Unknown reason. | ## MmiCodeResults9+ Defines the MMI code result. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | ------- | -------------------------------- | ---- | --------------- | | result | [MmiCodeResult](#mmicoderesult9) | Yes | MMI code result.| | message | string | Yes | MMI code message.| ## MmiCodeResult9+ Enumerates MMI code results. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Value | Description | | ---------------- | ---- | ------------- | | MMI_CODE_SUCCESS | 0 | Success.| | MMI_CODE_FAILED | 1 | Failure.| ## AudioDeviceOptions9+ Defines audio device options. This is a system API. **System capability**: SystemCapability.Telephony.CallManager | Name | Type | Mandatory| Description | | ---------------- | ------ | ---- | -------- | | bluetoothAddress | string | No | Bluetooth address.|