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