1 /* 2 * Copyright (C) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef CALL_MANAGER_BASE_H 17 #define CALL_MANAGER_BASE_H 18 19 #include <algorithm> 20 #include <cstdio> 21 #include <ctime> 22 #include <string> 23 #include <vector> 24 25 namespace OHOS { 26 namespace Telephony { 27 /** 28 * @brief Indicates Maximum length of a string. 29 */ 30 constexpr int16_t kMaxNumberLen = 255; 31 /** 32 * @brief Indicates Maximum length of a bundle name. 33 */ 34 constexpr int16_t kMaxBundleNameLen = 100; 35 /** 36 * @brief Indicates Maximum length of a address. 37 */ 38 constexpr int16_t kMaxAddressLen = 225; 39 /** 40 * @brief Indicates Maximum length of a sco device name. 41 */ 42 constexpr int16_t kMaxDeviceNameLen = 64; 43 /** 44 * @brief Indicates Maximum length of a MMI code message. 45 */ 46 constexpr int16_t kMaxMessageLen = 500; 47 /** 48 * @brief Indicates Maximum length of the reject call message. 49 */ 50 constexpr uint16_t REJECT_CALL_MSG_MAX_LEN = 300; 51 /** 52 * @brief Indicates Maximum length of the account number. 53 */ 54 constexpr uint16_t ACCOUNT_NUMBER_MAX_LENGTH = 255; 55 /** 56 * @brief Indicates Maximum duration(ms) when connect service. 57 */ 58 constexpr uint16_t CONNECT_SERVICE_WAIT_TIME = 1000; 59 /** 60 * @brief Indicates the main call id is invalid. 61 */ 62 constexpr int16_t ERR_ID = -1; 63 /** 64 * @brief Indicates the voip call minimum callId. 65 */ 66 constexpr int16_t VOIP_CALL_MINIMUM = 10000; 67 /** 68 * @brief Indicates the call id is invalid. 69 */ 70 constexpr int16_t INVALID_CALLID = 0; 71 /** 72 * @brief Indicates the call id is illegal. 73 */ 74 constexpr int16_t ILLEGAL_CALLID = -1; 75 /** 76 * @brief Indicates one second duration. 77 */ 78 constexpr int16_t WAIT_TIME_ONE_SECOND = 1; 79 /** 80 * @brief Indicates three second duration. 81 */ 82 constexpr std::chrono::milliseconds WAIT_TIME_THREE_SECOND(3000); 83 /** 84 * @brief Indicates five second duration. 85 */ 86 constexpr std::chrono::milliseconds WAIT_TIME_FIVE_SECOND(5000); 87 /** 88 * @brief Indicates No Call Exist. 89 */ 90 constexpr int16_t NO_CALL_EXIST = 0; 91 /** 92 * @brief Indicates One Call Exist. 93 */ 94 constexpr int16_t ONE_CALL_EXIST = 1; 95 /** 96 * @brief The follow hour and minute was use to confirm the set 97 * call transfer beginning and ending time restriction. 98 * 99 * MIN_HOUR: the minimum hour value. 100 * MAX_HOUR: the maximum hour value. 101 * MIN_MINUTE: the minimum minute value. 102 * MAX_MINUTE: the maximum minute value. 103 * INVALID_TIME: the time value is invalid. 104 */ 105 constexpr int16_t MIN_HOUR = 0; 106 constexpr int16_t MAX_HOUR = 24; 107 constexpr int16_t MIN_MINUTE = 0; 108 constexpr int16_t MAX_MINUTE = 60; 109 constexpr int16_t INVALID_TIME = -1; 110 111 /** 112 * @brief Indicates invalid slot id. 113 */ 114 constexpr int32_t BT_CALL_INVALID_SLOT = -1; 115 116 /** 117 * @brief Indicates the type of call, includs CS, IMS, OTT, OTHER. 118 */ 119 enum class CallType { 120 /** 121 * Indicates the call type is CS. 122 */ 123 TYPE_CS = 0, 124 /** 125 * Indicates the call type is IMS. 126 */ 127 TYPE_IMS = 1, 128 /** 129 * Indicates the call type is OTT. 130 */ 131 TYPE_OTT = 2, 132 /** 133 * Indicates the call type is OTHER. 134 */ 135 TYPE_ERR_CALL = 3, 136 /** 137 * Indicates the call type is VoIP. 138 */ 139 TYPE_VOIP = 4, 140 /** 141 * Indicates the call type is SATELLITE. 142 */ 143 TYPE_SATELLITE = 5, 144 /** 145 * Indicates the call type is BLUETOOTH. 146 */ 147 TYPE_BLUETOOTH = 6, 148 }; 149 150 /** 151 * @brief Indicates the detailed state of call. 152 */ 153 enum class TelCallState { 154 /** 155 * Indicates the call is unknown. 156 */ 157 CALL_STATUS_UNKNOWN = -1, 158 /** 159 * Indicates the call is active. 160 */ 161 CALL_STATUS_ACTIVE = 0, 162 /** 163 * Indicates the call is holding. 164 */ 165 CALL_STATUS_HOLDING, 166 /** 167 * Indicates the call is dialing. 168 */ 169 CALL_STATUS_DIALING, 170 /** 171 * Indicates the call is alerting. 172 */ 173 CALL_STATUS_ALERTING, 174 /** 175 * Indicates the call is incoming. 176 */ 177 CALL_STATUS_INCOMING, 178 /** 179 * Indicates the call is waiting. 180 */ 181 CALL_STATUS_WAITING, 182 /** 183 * Indicates the call is disconnected. 184 */ 185 CALL_STATUS_DISCONNECTED, 186 /** 187 * Indicates the call is disconnecting. 188 */ 189 CALL_STATUS_DISCONNECTING, 190 /** 191 * Indicates the call is idle. 192 */ 193 CALL_STATUS_IDLE, 194 /** 195 * Indicates the call is answered. 196 */ 197 CALL_STATUS_ANSWERED, 198 }; 199 200 /** 201 * @brief Indicates the state of conference call. 202 */ 203 enum class TelConferenceState { 204 /** 205 * Indicates the state is idle. 206 */ 207 TEL_CONFERENCE_IDLE = 0, 208 /** 209 * Indicates the state is active. 210 */ 211 TEL_CONFERENCE_ACTIVE, 212 /** 213 * Indicates the state is hold. 214 */ 215 TEL_CONFERENCE_HOLDING, 216 /** 217 * Indicates the state is disconnecting. 218 */ 219 TEL_CONFERENCE_DISCONNECTING, 220 /** 221 * Indicates the state is disconnected. 222 */ 223 TEL_CONFERENCE_DISCONNECTED, 224 }; 225 226 /** 227 * @brief Indicates the Network type. 228 */ 229 enum class PhoneNetType { 230 /** 231 * Indicates the Network type is GSM. 232 */ 233 PHONE_TYPE_GSM = 1, 234 /** 235 * Indicates the Network type is CDMA. 236 */ 237 PHONE_TYPE_CDMA = 2, 238 }; 239 240 /** 241 * @brief Indicates the type of video state. 242 */ 243 enum class VideoStateType { 244 /** 245 * Indicates the call is in voice state. 246 */ 247 TYPE_VOICE = 0, 248 /** 249 * Indicates the call is in send only state. 250 */ 251 TYPE_SEND_ONLY, 252 /** 253 * Indicates the call is in send only state. 254 */ 255 TYPE_RECEIVE_ONLY, 256 /** 257 * Indicates the call is in video state. 258 */ 259 TYPE_VIDEO, 260 }; 261 262 /** 263 * @brief Indicates the scenarios of the call to be made. 264 */ 265 enum class DialScene { 266 /** 267 * Indicates this is a common call. 268 */ 269 CALL_NORMAL = 0, 270 /** 271 * Indicates this is a privileged call. 272 */ 273 CALL_PRIVILEGED, 274 /** 275 * Indicates this is an emergency call. 276 */ 277 CALL_EMERGENCY, 278 }; 279 280 /** 281 * @brief Indicates the call is MO or MT. 282 */ 283 enum class CallDirection { 284 /** 285 * Indicates the call is a incoming call. 286 */ 287 CALL_DIRECTION_IN = 0, 288 /** 289 * Indicates the call is a outgoing call. 290 */ 291 CALL_DIRECTION_OUT, 292 /** 293 * Indicates the call is unknown. 294 */ 295 CALL_DIRECTION_UNKNOW, 296 }; 297 298 /** 299 * @brief Indicates the call state in progress. 300 */ 301 enum class CallRunningState { 302 /** 303 * Indicates to create a new call session. 304 */ 305 CALL_RUNNING_STATE_CREATE = 0, 306 /** 307 * Indicates the call state is in connecting. 308 */ 309 CALL_RUNNING_STATE_CONNECTING, 310 /** 311 * Indicates the call state is in dialing. 312 */ 313 CALL_RUNNING_STATE_DIALING, 314 /** 315 * Indicates the call state is in ringing. 316 */ 317 CALL_RUNNING_STATE_RINGING, 318 /** 319 * Indicates the call state is in active. 320 */ 321 CALL_RUNNING_STATE_ACTIVE, 322 /** 323 * Indicates the call state is in hold. 324 */ 325 CALL_RUNNING_STATE_HOLD, 326 /** 327 * Indicates the call state is ended. 328 */ 329 CALL_RUNNING_STATE_ENDED, 330 /** 331 * Indicates the call state is in ending. 332 */ 333 CALL_RUNNING_STATE_ENDING, 334 }; 335 336 /** 337 * @brief Indicates the cause of the ended call. 338 */ 339 enum class CallEndedType { 340 /** 341 * Indicates the cause is unknown. 342 */ 343 UNKNOWN = 0, 344 /** 345 * Indicates the cause is phone busy. 346 */ 347 PHONE_IS_BUSY, 348 /** 349 * Indicates the cause is invalid phone number. 350 */ 351 INVALID_NUMBER, 352 /** 353 * Indicates the call is ended normally. 354 */ 355 CALL_ENDED_NORMALLY, 356 }; 357 358 /** 359 * @brief Indicates the information of SIM card. 360 */ 361 struct SIMCardInfo { 362 /** 363 * Indicates the SIM ICC id. 364 */ 365 int32_t simId = 0; 366 /** 367 * Indicated the country to which the SIM card belongs. 368 */ 369 int32_t country = 0; 370 /** 371 * Indicates wether the SIM card is active. 372 */ 373 int32_t state = 0; 374 /** 375 * Indicates the Network type. 376 */ 377 PhoneNetType phoneNetType = PhoneNetType::PHONE_TYPE_GSM; 378 }; 379 380 /** 381 * @brief Indicates the dialing call type. 382 */ 383 enum class DialType { 384 /** 385 * Indicates the dialing call type is normal cellular call. 386 */ 387 DIAL_CARRIER_TYPE = 0, 388 /** 389 * Indicates the dialing call type is voice mail. 390 */ 391 DIAL_VOICE_MAIL_TYPE, 392 /** 393 * Indicates the dialing call type is OTT. 394 */ 395 DIAL_OTT_TYPE, 396 /** 397 * Indicates the dialing call type is bluetooth. 398 */ 399 DIAL_BLUETOOTH_TYPE, 400 }; 401 402 /** 403 * @brief Indicates the call state which will report to APP. 404 */ 405 enum class CallStateToApp { 406 /** 407 * Indicates an invalid state, which is used when the call state 408 * fails to be obtained. 409 */ 410 CALL_STATE_UNKNOWN = -1, 411 412 /** 413 * Indicates that there is no ongoing call. 414 */ 415 CALL_STATE_IDLE = 0, 416 417 /** 418 * Indicates that an incoming call is ringing or waiting. 419 */ 420 CALL_STATE_RINGING = 1, 421 422 /** 423 * Indicates that a least one call is in the dialing, active, or hold 424 * state, and there is no new incoming call ringing or waiting. 425 */ 426 CALL_STATE_OFFHOOK = 2, 427 428 CALL_STATE_ANSWERED = 3 429 }; 430 431 /** 432 * @brief Indicates the cause when the call is answered. 433 */ 434 enum class CallAnswerType { 435 /** 436 * Indicates the call answer is call missed. 437 */ 438 CALL_ANSWER_MISSED = 0, 439 /** 440 * Indicates the call answer is call active. 441 */ 442 CALL_ANSWER_ACTIVED, 443 /** 444 * Indicates the call answer is call rejected. 445 */ 446 CALL_ANSWER_REJECT, 447 /** 448 * Indicates the call answer is call blocked. 449 */ 450 CALL_ANSWER_BLOCKED = 6, 451 /** 452 * Indicates the call is answered elsewhere. 453 */ 454 CALL_ANSWERED_ELSEWHER = 7, 455 /** 456 * Indicates the call is diconnected by remote. 457 */ 458 CALL_DISCONNECTED_BY_REMOTE = 8, 459 }; 460 461 /** 462 * @brief Indicates the event ID of call ability. 463 */ 464 enum class CallAbilityEventId { 465 /** 466 * Indicates that there is no available carrier during dialing. 467 */ 468 EVENT_DIAL_NO_CARRIER = 1, 469 /** 470 * Indicates that FDN is invalid. 471 */ 472 EVENT_INVALID_FDN_NUMBER = 2, 473 /** 474 * Indicates hold call fail. 475 */ 476 EVENT_HOLD_CALL_FAILED = 3, 477 /** 478 * Indicates swap call fail. 479 */ 480 EVENT_SWAP_CALL_FAILED = 4, 481 /** 482 * Indicates that the combine call failed. 483 */ 484 EVENT_COMBINE_CALL_FAILED = 5, 485 /** 486 * Indicates that the split call failed. 487 */ 488 EVENT_SPLIT_CALL_FAILED = 6, 489 /** 490 * Indicates that call is muted. 491 */ 492 EVENT_CALL_MUTED = 7, 493 /** 494 * Indicates that the call is unmuted. 495 */ 496 EVENT_CALL_UNMUTED = 8, 497 /** 498 * Indicates that call is speaker on. 499 */ 500 EVENT_CALL_SPEAKER_ON = 9, 501 /** 502 * Indicates that call is speaker off. 503 */ 504 EVENT_CALL_SPEAKER_OFF = 10, 505 /** 506 * Indicates that the OTT is not supported. 507 */ 508 EVENT_OTT_FUNCTION_UNSUPPORTED = 11, 509 /** 510 * Indicates show full screen. 511 */ 512 EVENT_SHOW_FULL_SCREEN = 12, 513 /** 514 * Indicates show float window. 515 */ 516 EVENT_SHOW_FLOAT_WINDOW = 13, 517 /** 518 * Indicates that the super privacy mode ON. 519 */ 520 EVENT_IS_SUPER_PRIVACY_MODE_ON = 20, 521 /** 522 * Indicates that the super privacy mode OFF. 523 */ 524 EVENT_IS_SUPER_PRIVACY_MODE_OFF = 21, 525 /** 526 * Indicates that the mute ring. 527 */ 528 EVENT_MUTE_RING = 22, 529 /** 530 * Indicates that the local alerting. 531 */ 532 EVENT_LOCAL_ALERTING = 23, 533 /** 534 * Indicates that answer voip call from BT. 535 */ 536 EVENT_ANSWER_VOIP_CALL = 255, 537 /** 538 * Indicates that hangup voip call from BT. 539 */ 540 EVENT_HANGUP_VOIP_CALL = 256, 541 /** 542 * Indicates that reject voip call from BT. 543 */ 544 EVENT_REJECT_VOIP_CALL = 257, 545 }; 546 547 /** 548 * @brief Indicates the event ID of call ability. 549 */ 550 enum class CallSessionEventId { 551 /** 552 * Indicates the camera event failure type. 553 */ 554 EVENT_CAMERA_FAILURE = 0, 555 /** 556 * Indicates the camera event ready type. 557 */ 558 EVENT_CAMERA_READY, 559 /** 560 * Indicates the display surface release type. 561 */ 562 EVENT_RELEASE_DISPLAY_SURFACE = 100, 563 /** 564 * Indicates the preview surface release type. 565 */ 566 EVENT_RELEASE_PREVIEW_SURFACE, 567 }; 568 569 /** 570 * @brief Indicates the type of device direction. 571 */ 572 enum DeviceDirection { 573 /** 574 * Indicates the device direction is 0 degree. 575 */ 576 DEVICE_DIRECTION_0 = 0, 577 /** 578 * Indicates the device direction is 90 degree. 579 */ 580 DEVICE_DIRECTION_90 = 90, 581 /** 582 * Indicates the device direction is 180 degree. 583 */ 584 DEVICE_DIRECTION_180 = 180, 585 /** 586 * Indicates the device direction is 270 degree. 587 */ 588 DEVICE_DIRECTION_270 = 270, 589 }; 590 591 /** 592 * @brief Indicates the what the Audio device type is used. 593 */ 594 enum class AudioDeviceType { 595 /** 596 * Indicates the device type is a earphone speaker. 597 */ 598 DEVICE_EARPIECE = 0, 599 /** 600 * Indicates the device type is the speaker system (i.e. a mono speaker or 601 * stereo speakers) built in a device. 602 */ 603 DEVICE_SPEAKER, 604 /** 605 * Indicates the device type is a headset, which is the combination of a 606 * headphones and microphone. 607 */ 608 DEVICE_WIRED_HEADSET, 609 /** 610 * Indicates the device type is a Bluetooth device typically used for 611 * telephony. 612 */ 613 DEVICE_BLUETOOTH_SCO, 614 /** 615 * Indicates the audio device is disabled. 616 */ 617 DEVICE_DISABLE, 618 /** 619 * Indicates the device type is an unknown or uninitialized. 620 */ 621 DEVICE_UNKNOWN, 622 /** 623 * Indicates the device type is a distributed car device. 624 */ 625 DEVICE_DISTRIBUTED_AUTOMOTIVE, 626 /** 627 * Indicates the device type is a distributed phone device. 628 */ 629 DEVICE_DISTRIBUTED_PHONE, 630 /** 631 * Indicates the device type is a distributed pad device. 632 */ 633 DEVICE_DISTRIBUTED_PAD, 634 /** 635 * Indicates the device type is a distributed pc device. 636 */ 637 DEVICE_DISTRIBUTED_PC, 638 /** 639 * Indicates the device type is a nearlink device. 640 */ 641 DEVICE_NEARLINK, 642 /** 643 * Indicates the device type is a bluetooth hearing aid device. 644 */ 645 DEVICE_BLUETOOTH_HEARING_AID, 646 }; 647 648 /** 649 * @brief Indicates the type of the number mark.. 650 */ 651 enum class MarkType { 652 /** 653 * Indicates the mark is default. 654 */ 655 MARK_TYPE_DEFAULT = -1, 656 /** 657 * Indicates the mark is none. 658 */ 659 MARK_TYPE_NONE = 0, 660 /** 661 * Indicates the mark is crank. 662 */ 663 MARK_TYPE_CRANK, 664 /** 665 * Indicates the mark is fraud. 666 */ 667 MARK_TYPE_FRAUD, 668 /** 669 * Indicates the mark is express. 670 */ 671 MARK_TYPE_EXPRESS, 672 /** 673 * Indicates the mark is promote sales. 674 */ 675 MARK_TYPE_PROMOTE_SALES, 676 /** 677 * Indicates the mark is house agent. 678 */ 679 MARK_TYPE_HOUSE_AGENT, 680 /** 681 * Indicates the mark is insurance. 682 */ 683 MARK_TYPE_INSURANCE, 684 /** 685 * Indicates the mark is taxi. 686 */ 687 MARK_TYPE_TAXI, 688 /** 689 * Indicates the mark is custom. 690 */ 691 MARK_TYPE_CUSTOM, 692 /** 693 * Indicates the mark is others. 694 */ 695 MARK_TYPE_OTHERS, 696 /** 697 * Indicates the mark is yellow page. 698 */ 699 MARK_TYPE_YELLOW_PAGE, 700 /** 701 * Indicates the mark is enterprise. 702 */ 703 MARK_TYPE_ENTERPRISE, 704 /** 705 * Indicates the mark is fraud risk. 706 */ 707 MARK_TYPE_FRAUD_RISK, 708 }; 709 710 /** 711 * @brief Indicates the call event type. 712 */ 713 enum class CellularCallEventType { 714 EVENT_REQUEST_RESULT_TYPE = 0, 715 }; 716 717 /** 718 * @brief Indicates the call event id, one id corresponds to one request. 719 */ 720 enum class RequestResultEventId { 721 INVALID_REQUEST_RESULT_EVENT_ID = -1, 722 RESULT_DIAL_SEND_FAILED = 0, 723 RESULT_DIAL_NO_CARRIER, 724 RESULT_END_SEND_FAILED, 725 RESULT_REJECT_SEND_FAILED, 726 RESULT_ACCEPT_SEND_FAILED, 727 RESULT_HOLD_SEND_FAILED, 728 RESULT_ACTIVE_SEND_FAILED, 729 RESULT_SWAP_SEND_FAILED, 730 RESULT_COMBINE_SEND_FAILED, 731 RESULT_JOIN_SEND_FAILED, 732 RESULT_SPLIT_SEND_FAILED, 733 RESULT_SUPPLEMENT_SEND_FAILED, 734 RESULT_INVITE_TO_CONFERENCE_SUCCESS, 735 RESULT_INVITE_TO_CONFERENCE_FAILED, 736 RESULT_KICK_OUT_FROM_CONFERENCE_SUCCESS, 737 RESULT_KICK_OUT_FROM_CONFERENCE_FAILED, 738 739 RESULT_SEND_DTMF_SUCCESS, 740 RESULT_SEND_DTMF_FAILED, 741 742 RESULT_GET_CURRENT_CALLS_FAILED, 743 744 RESULT_SET_CALL_PREFERENCE_MODE_SUCCESS, 745 RESULT_SET_CALL_PREFERENCE_MODE_FAILED, 746 RESULT_GET_IMS_CALLS_DATA_FAILED, 747 748 RESULT_GET_CALL_WAITING_SUCCESS, 749 RESULT_GET_CALL_WAITING_FAILED, 750 RESULT_SET_CALL_WAITING_SUCCESS, 751 RESULT_SET_CALL_WAITING_FAILED, 752 RESULT_GET_CALL_RESTRICTION_SUCCESS, 753 RESULT_GET_CALL_RESTRICTION_FAILED, 754 RESULT_SET_CALL_RESTRICTION_SUCCESS, 755 RESULT_SET_CALL_RESTRICTION_FAILED, 756 RESULT_GET_CALL_TRANSFER_SUCCESS, 757 RESULT_GET_CALL_TRANSFER_FAILED, 758 RESULT_SET_CALL_TRANSFER_SUCCESS, 759 RESULT_SET_CALL_TRANSFER_FAILED, 760 RESULT_SEND_USSD_SUCCESS, 761 RESULT_SEND_USSD_FAILED, 762 763 RESULT_SET_MUTE_SUCCESS, 764 RESULT_SET_MUTE_FAILED, 765 766 RESULT_CTRL_CAMERA_SUCCESS, 767 RESULT_CTRL_CAMERA_FAILED, 768 RESULT_SET_PREVIEW_WINDOW_SUCCESS, 769 RESULT_SET_PREVIEW_WINDOW_FAILED, 770 RESULT_SET_DISPLAY_WINDOW_SUCCESS, 771 RESULT_SET_DISPLAY_WINDOW_FAILED, 772 RESULT_SET_CAMERA_ZOOM_SUCCESS, 773 RESULT_SET_CAMERA_ZOOM_FAILED, 774 RESULT_SET_PAUSE_IMAGE_SUCCESS, 775 RESULT_SET_PAUSE_IMAGE_FAILED, 776 RESULT_SET_DEVICE_DIRECTION_SUCCESS, 777 RESULT_SET_DEVICE_DIRECTION_FAILED, 778 }; 779 780 /** 781 * @brief Indicates the call result report id in callback, 782 * one id corresponds to one request. 783 */ 784 enum class CallResultReportId { 785 START_DTMF_REPORT_ID = 0, 786 STOP_DTMF_REPORT_ID, 787 SEND_USSD_REPORT_ID, 788 GET_IMS_CALL_DATA_REPORT_ID, 789 GET_CALL_WAITING_REPORT_ID, 790 SET_CALL_WAITING_REPORT_ID, 791 GET_CALL_RESTRICTION_REPORT_ID, 792 SET_CALL_RESTRICTION_REPORT_ID, 793 GET_CALL_TRANSFER_REPORT_ID, 794 SET_CALL_TRANSFER_REPORT_ID, 795 GET_CALL_CLIP_ID, 796 GET_CALL_CLIR_ID, 797 SET_CALL_CLIR_ID, 798 START_RTT_REPORT_ID, 799 STOP_RTT_REPORT_ID, 800 GET_IMS_CONFIG_REPORT_ID, 801 SET_IMS_CONFIG_REPORT_ID, 802 GET_IMS_FEATURE_VALUE_REPORT_ID, 803 SET_IMS_FEATURE_VALUE_REPORT_ID, 804 INVITE_TO_CONFERENCE_REPORT_ID, 805 UPDATE_MEDIA_MODE_REPORT_ID, 806 CLOSE_UNFINISHED_USSD_REPORT_ID, 807 SET_CALL_RESTRICTION_PWD_REPORT_ID, 808 }; 809 810 /** 811 * @brief Indicates the temperature level for satellite call. 812 */ 813 enum class SatCommTempLevel { 814 /* 815 * Indicates the low temperature level.(< 51 degressCelsius) 816 */ 817 TEMP_LEVEL_LOW = 0, 818 /* 819 * Indicates the middle temperature level.(>= 51 degressCelsius && < 53 degressCelsius) 820 */ 821 TEMP_LEVEL_MIDDLE, 822 /* 823 * Indicates the high temperature level.(>= 53 degressCelsius) 824 */ 825 TEMP_LEVEL_HIGH, 826 }; 827 828 /** 829 * @brief Indicates the super privacy mode for call. 830 */ 831 enum class CallSuperPrivacyModeType { 832 /* 833 * Indicates the super privacy mode for OFF. 834 */ 835 OFF = 0, 836 /* 837 * Indicates the super privacy mode for ON_WHEN_FOLDED. 838 */ 839 ON_WHEN_FOLDED = 1, 840 /* 841 * Indicates the super privacy mode for ALWAYS_ON. 842 */ 843 ALWAYS_ON = 2, 844 }; 845 846 /** 847 * @brief Indicates dial from phone or watch. 848 */ 849 enum class PhoneOrWatchDial { 850 /* 851 * Indicates call from phone. 852 */ 853 PHONE_DIAL = 0, 854 /* 855 * Indicates call from watch. 856 */ 857 WATCH_DIAL = 1, 858 }; 859 860 } // namespace Telephony 861 } // namespace OHOS 862 #endif // CALL_MANAGER_BASE_H