• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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