• 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 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