• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022-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 TELEPHONY_IMS_CALL_INTERFACE_H
17 #define TELEPHONY_IMS_CALL_INTERFACE_H
18 
19 #include "cellular_call_data_struct.h"
20 #include "ims_call_callback_interface.h"
21 #include "ims_call_types.h"
22 #include "ims_feature.h"
23 #include "iremote_broker.h"
24 #include "surface.h"
25 
26 namespace OHOS {
27 namespace Telephony {
28 class ImsCallInterface : public IRemoteBroker {
29 public:
30     /**
31      * @brief IMS dial the call interface
32      *
33      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
34      * video state, call index
35      * @param CLIRMode Indicates the CLIR mode, like default, transfer, inhibition
36      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
37      */
38     virtual int32_t Dial(const ImsCallInfo &callInfo, CLIRMode mode) = 0;
39 
40     /**
41      * @brief IMS HangUp the call interface
42      *
43      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
44      * video state, call index
45      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
46      */
47     virtual int32_t HangUp(const ImsCallInfo &callInfo) = 0;
48 
49     /**
50      * @brief IMS Reject the call with reason interface
51      *
52      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
53      * video state, call index
54      * @param ImsRejectReason Indicated the reject reason, like user is busy or user decline
55      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
56      */
57     virtual int32_t RejectWithReason(const ImsCallInfo &callInfo, const ImsRejectReason &reason) = 0;
58 
59     /**
60      * @brief IMS Answer the call interface
61      *
62      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
63      * video state, call index
64      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
65      */
66     virtual int32_t Answer(const ImsCallInfo &callInfo) = 0;
67 
68     /**
69      * @brief Hold the Call
70      *
71      * @param slotId Indicates the card slot index number,
72      * @param callType Indicates the call type,
73      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
74      */
75     virtual int32_t HoldCall(int32_t slotId, int32_t callType) = 0;
76 
77     /**
78      * @brief UnHold the Call
79      *
80      * @param slotId Indicates the card slot index number,
81      * @param callType Indicates the type of video state, 0: voice, 1: video
82      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
83      */
84     virtual int32_t UnHoldCall(int32_t slotId, int32_t callType) = 0;
85 
86     /**
87      * @brief Switch the phone call between hold and unhold
88      *
89      * @param slotId Indicates the card slot index number,
90      * @param callType Indicates the type of video state, 0: voice, 1: video
91      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
92      */
93     virtual int32_t SwitchCall(int32_t slotId, int32_t callType) = 0;
94 
95     /**
96      * @brief Merge calls to form a conference
97      *
98      * @param slotId Indicates the card slot index number,
99      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
100      */
101     virtual int32_t CombineConference(int32_t slotId) = 0;
102 
103     /**
104      * @brief Invite someone to conference
105      *
106      * @param slotId Indicates the card slot index number
107      * @param numberList phone number list which will be invited to the conference call
108      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
109      */
110     virtual int32_t InviteToConference(int32_t slotId, const std::vector<std::string> &numberList) = 0;
111 
112     /**
113      * @brief Kick out someone from conference
114      *
115      * @param slotId Indicates the card slot index number
116      * @param index Call index which will be kicked out from the conference call
117      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
118      */
119     virtual int32_t KickOutFromConference(int32_t slotId, int32_t index) = 0;
120 
121     /**
122      * @brief IMS SendUpdateCallMediaModeRequest interface
123      *
124      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
125      * video state, call index
126      * @param ImsCallType Indicates the call media mode, like audio only, send only .etc.
127      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
128      */
129     virtual int32_t SendUpdateCallMediaModeRequest(const ImsCallInfo &callInfo, ImsCallType callType) = 0;
130 
131     /**
132      * @brief IMS SendUpdateCallMediaModeResponse interface
133      *
134      * @param ImsCallInfo Indicates the call detail information, contains phone number, slot id,
135      * video state, call index
136      * @param ImsCallType Indicates the call media mode, like audio only, send only .etc.
137      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
138      */
139     virtual int32_t SendUpdateCallMediaModeResponse(const ImsCallInfo &callInfo, ImsCallType callType) = 0;
140 
141     /**
142      * @brief Cancel Call Upgrade
143      *
144      * @param slotId Indicates the slot id
145      * @param Indicates Indicates the call index number.
146      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
147      */
148     virtual int32_t CancelCallUpgrade(int32_t slotId, int32_t callIndex) = 0;
149 
150     /**
151      * @brief Request Camera Capabilities
152      *
153      * @param slotId Indicates the slot id
154      * @param callIndex Indicates the call index number.
155      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
156      */
157     virtual int32_t RequestCameraCapabilities(int32_t slotId, int32_t callIndex) = 0;
158 
159     /**
160      * @brief Get Ims Calls Data Request
161      *
162      * @param slotId Indicates the card slot index number,
163      * @param lastCallsDataFlag The ims call data id, is a number in milliseconds
164      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
165      */
166     virtual int32_t GetImsCallsDataRequest(int32_t slotId, int64_t lastCallsDataFlag) = 0;
167 
168     /**
169      * @brief Get Last Call Fail Reason
170      *
171      * @param slotId Indicates the card slot index number,
172      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
173      */
174     virtual int32_t GetLastCallFailReason(int32_t slotId) = 0;
175 
176     /**
177      * @brief start to paly a dtmf tone
178      *
179      * @param slotId Indicates the card slot index number,
180      * @param cDTMFCode A character indicate the DTMF digit for which to play the tone. This
181      * value must be one of {0~9}, {*} or {#}.
182      * @param index Indicates the index of command.
183      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
184      */
185     virtual int32_t StartDtmf(int32_t slotId, char cDtmfCode, int32_t index) = 0;
186 
187     /**
188      * @brief play a dtmf tone
189      *
190      * @param slotId Indicates the card slot index number,
191      * @param cDtmfCode A character indicate the DTMF digit for which to play the tone. This
192      * value must be one of {0~9}, {*} or {#}.
193      * @param index Indicates the index of command.
194      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
195      */
196     virtual int32_t SendDtmf(int32_t slotId, char cDtmfCode, int32_t index) = 0;
197 
198     /**
199      * @brief stop the playing dtmf tone
200      *
201      * @param slotId Indicates the card slot index number,
202      * @param index Indicates the index of command.
203      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
204      */
205     virtual int32_t StopDtmf(int32_t slotId, int32_t index) = 0;
206 
207     /**
208      * @brief Start a RTT session
209      *
210      * @param slotId Indicates the card slot index number,
211      * @param msg the specific RTT msg
212      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
213      */
214     virtual int32_t StartRtt(int32_t slotId, const std::string &msg) = 0;
215 
216     /**
217      * @brief Terminate the current RTT session
218      *
219      * @param slotId Indicates the card slot index number,
220      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
221      */
222     virtual int32_t StopRtt(int32_t slotId) = 0;
223 
224     /**
225      * @brief Set Domain Preference Mode
226      *
227      * @param slotId Indicates the card slot index number,
228      * @param mode indicate the domain preference, 1: CS only, 2: CS prefer, 3: PS prefer, 4: PS only
229      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
230      */
231     virtual int32_t SetDomainPreferenceMode(int32_t slotId, int32_t mode) = 0;
232 
233     /**
234      * @brief Get Domain Preference Mode
235      *
236      * @param slotId Indicates the card slot index number,
237      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
238      */
239     virtual int32_t GetDomainPreferenceMode(int32_t slotId) = 0;
240 
241     /**
242      * @brief Set the ims switch status
243      *
244      * @param slotId Indicates the card slot index number,
245      * @param active 1: enable ims, 0: disable ims
246      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
247      */
248     virtual int32_t SetImsSwitchStatus(int32_t slotId, int32_t active) = 0;
249 
250     /**
251      * @brief Set the Carrier Vt Config
252      *
253      * @param slotId Indicates the card slot index number,
254      * @param active 1: enable carrier vt, 0: disable carrier vt
255      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
256      */
257     virtual int32_t SetCarrierVtConfig(int32_t slotId, int32_t active) = 0;
258 
259     /**
260      * @brief IMS GetImsSwitchStatus interface
261      *
262      * @param slotId Indicates the card slot index number,
263      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
264      */
265     virtual int32_t GetImsSwitchStatus(int32_t slotId) = 0;
266 
267     /**
268      * @brief IMS SetImsConfig interface
269      *
270      * @param ImsConfigItem Identify specific item, like ITEM_VIDEO_QUALITY, ITEM_IMS_SWITCH_STATUS
271      * @param value The specific value corresponding to the item
272      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
273      */
274     virtual int32_t SetImsConfig(ImsConfigItem item, const std::string &value) = 0;
275 
276     /**
277      * @brief IMS SetImsConfig interface
278      *
279      * @param ImsConfigItem Identify specific item, like ITEM_VIDEO_QUALITY, ITEM_IMS_SWITCH_STATUS
280      * @param value The specific value corresponding to the item
281      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
282      */
283     virtual int32_t SetImsConfig(ImsConfigItem item, int32_t value) = 0;
284 
285     /**
286      * @brief IMS GetImsConfig interface
287      *
288      * @param ImsConfigItem Identify specific item, like ITEM_VIDEO_QUALITY, ITEM_IMS_SWITCH_STATUS
289      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
290      */
291     virtual int32_t GetImsConfig(ImsConfigItem item) = 0;
292 
293     /**
294      * @brief IMS SetImsFeatureValue interface
295      *
296      * @param FeatureType the ims feature item, like VoLTE, ViLTE, SS over UT
297      * @param value The specific value corresponding to the item
298      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
299      */
300     virtual int32_t SetImsFeatureValue(FeatureType type, int32_t value) = 0;
301 
302     /**
303      * @brief IMS GetImsFeatureValue interface
304      *
305      * @param FeatureType Indicate which feature type to query.
306      * @param value Indicate the return value of the query feature type.
307      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
308      */
309     virtual int32_t GetImsFeatureValue(FeatureType type, int32_t &value) = 0;
310 
311     /**
312      * @brief Set the mute state of the call
313      *
314      * @param mute 0: not mute, 1:mute
315      * @param slotId Indicates the card slot index number,
316      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
317      */
318     virtual int32_t SetMute(int32_t slotId, int32_t mute) = 0;
319 
320     /**
321      * @brief IMS GetMute interface
322      *
323      * @param slotId Indicates the card slot index number,
324      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
325      */
326     virtual int32_t GetMute(int32_t slotId) = 0;
327 
328     /**
329      * @brief IMS CtrlCamera interface
330      *
331      * @param slotId[in], The slot id
332      * @param callIndex Indicates the call index number.
333      * @param cameraId The id of the camera
334      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
335      */
336     virtual int32_t ControlCamera(int32_t slotId, int32_t callIndex, const std::string &cameraId) = 0;
337 
338     /**
339      * @brief Set a window which used to display a preview of camera capturing
340      *
341      * @param slotId[in], The slot id
342      * @param callIndex Indicates the call index number.
343      * @param surfaceID Surface id of window object
344      * @param surface The surface object of window
345      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
346      */
347     virtual int32_t SetPreviewWindow(
348         int32_t slotId, int32_t callIndex, const std::string &surfaceID, sptr<Surface> surface) = 0;
349 
350     /**
351      * @brief Set a window which used to display the viedo which is received from remote
352      *
353      * @param slotId[in], The slot id
354      * @param callIndex Indicates the call index number.
355      * @param surfaceID Surface id of window object
356      * @param surface The surface object of window
357      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
358      */
359     virtual int32_t SetDisplayWindow(
360         int32_t slotId, int32_t callIndex, const std::string &surfaceID, sptr<Surface> surface) = 0;
361 
362     /**
363      * @brief Set camera zoom ratio
364      *
365      * @param zoomRatio the camera zoom ratio
366      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
367      */
368     virtual int32_t SetCameraZoom(float zoomRatio) = 0;
369 
370     /**
371      * @brief Set a picture which will be displayed when the video signal is paused
372      *
373      * @param slotId[in], The slot id
374      * @param callIndex Indicates the call index number.
375      * @param path the dispalyed image path
376      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
377      */
378     virtual int32_t SetPausePicture(int32_t slotId, int32_t callIndex, const std::string &path) = 0;
379 
380     /**
381      * @brief Set the device orientation
382      *
383      * @param slotId[in], The slot id
384      * @param callIndex Indicates the call index number.
385      * @param rotation The device orientation, in degrees
386      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
387      */
388     virtual int32_t SetDeviceDirection(int32_t slotId, int32_t callIndex, int32_t rotation) = 0;
389 
390     /**
391      * @brief SetClip IMS SetClip interface
392      *
393      * @param slotId Indicates the card slot index number,
394      * ranging from 0 to the maximum card slot index number supported by the device.
395      * @param action Indicates the action for SetClip,
396      * 1, means turn on clip; 0, means turn off clip.
397      * @param index Indicates the index of command.
398      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
399      */
400     virtual int32_t SetClip(int32_t slotId, int32_t action, int32_t index) = 0;
401 
402     /**
403      * @brief GetClip IMS GetClip interface
404      *
405      * @param slotId Indicates the card slot index number,
406      * ranging from 0 to the maximum card slot index number supported by the device.
407      * @param index Indicates the index of command.
408      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
409      */
410     virtual int32_t GetClip(int32_t slotId, int32_t index) = 0;
411 
412     /**
413      * @brief SetClir IMS SetClir interface
414      *
415      * @param slotId Indicates the card slot index number,
416      * ranging from 0 to the maximum card slot index number supported by the device.
417      * @param action Indicates the action for SetClir,
418      * 1, means turn on clir; 0, means turn off clir.
419      * @param index Indicates the index of command.
420      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
421      */
422     virtual int32_t SetClir(int32_t slotId, int32_t action, int32_t index) = 0;
423 
424     /**
425      * @brief GetClir IMS GetClir interface
426      *
427      * @param slotId Indicates the card slot index number,
428      * ranging from 0 to the maximum card slot index number supported by the device.
429      * @param index Indicates the index of command.
430      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
431      */
432     virtual int32_t GetClir(int32_t slotId, int32_t index) = 0;
433 
434     /**
435      * @brief SetCallTransfer Set Call Transfer Request
436      *
437      * @param slotId Indicates the card slot index number,
438      * ranging from 0 to the maximum card slot index number supported by the device.
439      * @param cfInfo Indicates the reason/mode/transferNum/timer of the set call transfer.
440      * @param classType Indicates a sum of service class for setting call transfer.
441      * @param index Indicates the index of command.
442      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
443      */
444     virtual int32_t SetCallTransfer(
445         int32_t slotId, const CallTransferInfo &cfInfo, int32_t classType, int32_t index) = 0;
446 
447     /**
448      * @brief confirm whether IMS can set call transfer time.
449      *
450      * @param slotId Indicates the card slot index number,
451      * ranging from 0 to the maximum card slot index number supported by the device.
452      * @param result, The result of can set or not
453      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
454      */
455     virtual int32_t CanSetCallTransferTime(int32_t slotId, bool &result) = 0;
456 
457     /**
458      * @brief GetCallTransfer IMS GetCallTransfer interface
459      *
460      * @param slotId Indicates the card slot index number,
461      * ranging from 0 to the maximum card slot index number supported by the device.
462      * @param reason Indicates the reason of the get call transfer.
463      * @param index Indicates the index of command.
464      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
465      */
466     virtual int32_t GetCallTransfer(int32_t slotId, int32_t reason, int32_t index) = 0;
467 
468     /**
469      * @brief SetCallRestriction IMS SetCallRestriction interface
470      *
471      * @param slotId Indicates the card slot index number,
472      * ranging from 0 to the maximum card slot index number supported by the device.
473      * @param fac Indicates the facility of the set call restriction.
474      * @param mode Indicates the mode of the set call restriction.
475      * @param pw Indicates password or "" if not required.
476      * @param index Indicates the index of command.
477      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
478      */
479     virtual int32_t SetCallRestriction(
480         int32_t slotId, const std::string &fac, int32_t mode, const std::string &pw, int32_t index) = 0;
481 
482     /**
483      * @brief GetCallRestriction IMS GetCallRestriction interface
484      *
485      * @param slotId Indicates the card slot index number,
486      * ranging from 0 to the maximum card slot index number supported by the device.
487      * @param fac Indicates the facility of the get call restriction.
488      * @param index Indicates the index of command.
489      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
490      */
491     virtual int32_t GetCallRestriction(int32_t slotId, const std::string &fac, int32_t index) = 0;
492 
493     /**
494      * @brief SetCallWaiting IMS SetCallWaiting interface
495      *
496      * @param slotId Indicates the card slot index number,
497      * ranging from 0 to the maximum card slot index number supported by the device.
498      * @param activate Indicates the action for SetCallWaiting,
499      * true, means turn on CallWaiting; false, means turn off CallWaiting.
500      * @param classType Call waiting and conditions +CCWA,
501      * the value was {@code ServiceClassType}, See 3GPP TS 22.083.
502      * @param index Indicates the index of command.
503      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
504      */
505     virtual int32_t SetCallWaiting(int32_t slotId, bool activate, int32_t classType, int32_t index) = 0;
506 
507     /**
508      * @brief SetVideoCallWaiting IMS SetVideoCallWaiting interface
509      *
510      * @param slotId Indicates the card slot index number,
511      * ranging from 0 to the maximum card slot index number supported by the device.
512      * @param activate Indicates the action for SetVideoCallWaiting,
513      * true, means turn on VideoCallWaiting; false, means turn off VideoCallWaiting.
514      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
515      */
516     virtual int32_t SetVideoCallWaiting(int32_t slotId, bool activate) = 0;
517     /**
518      * @brief GetCallWaiting IMS GetCallWaiting interface
519      *
520      * @param slotId Indicates the card slot index number,
521      * ranging from 0 to the maximum card slot index number supported by the device.
522      * @param index Indicates the index of command.
523      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
524      */
525 
526     virtual int32_t GetCallWaiting(int32_t slotId, int32_t index) = 0;
527 
528     /**
529      * @brief SetColr IMS SetColr interface
530      *
531      * @param slotId Indicates the card slot index number,
532      * ranging from 0 to the maximum card slot index number supported by the device.
533      * @param presentation Indicates the action for SetColr,
534      * 1, means turn on colr; 0, means turn off colr.
535      * @param index Indicates the index of command.
536      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
537      */
538     virtual int32_t SetColr(int32_t slotId, int32_t presentation, int32_t index) = 0;
539 
540     /**
541      * @brief GetColr IMS GetColr interface
542      *
543      * @param slotId Indicates the card slot index number,
544      * ranging from 0 to the maximum card slot index number supported by the device.
545      * @param index Indicates the index of command.
546      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
547      */
548     virtual int32_t GetColr(int32_t slotId, int32_t index) = 0;
549 
550     /**
551      * @brief SetColp IMS SetColp interface
552      *
553      * @param slotId Indicates the card slot index number,
554      * ranging from 0 to the maximum card slot index number supported by the device.
555      * @param action Indicates the action for SetColp,
556      * 1, means turn on colp; 0, means turn off colp.
557      * @param index Indicates the index of command.
558      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
559      */
560     virtual int32_t SetColp(int32_t slotId, int32_t action, int32_t index) = 0;
561 
562     /**
563      * @brief GetColp IMS GetColp interface
564      *
565      * @param slotId Indicates the card slot index number,
566      * ranging from 0 to the maximum card slot index number supported by the device.
567      * @param index Indicates the index of command.
568      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
569      */
570     virtual int32_t GetColp(int32_t slotId, int32_t index) = 0;
571 
572     /**
573      * @brief Register CallBack ptr
574      *
575      * @param sptr<ImsCallback>
576      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
577      */
578     virtual int32_t RegisterImsCallCallback(const sptr<ImsCallCallbackInterface> &callback) = 0;
579 
580     /**
581      * @brief Update Ims Capabilities
582      *
583      * @param slotId Indicates the card slot index number,
584      * ranging from 0 to the maximum card slot index number supported by the device.
585      * @param imsCapabilityList Indicates the related ims capability
586      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
587      */
588     virtual int32_t UpdateImsCapabilities(int32_t slotId, const ImsCapabilityList &imsCapabilityList) = 0;
589 
590     /**
591      * @brief Get impu which come form network
592      *
593      * @param slotId Indicates the card slot index number,
594      * ranging from 0 to the maximum card slot index number supported by the device.
595      * @param impu the result of impu
596      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
597      */
598     virtual int32_t GetUtImpuFromNetwork(int32_t slotId, std::string &impu) = 0;
599 
600     virtual int32_t NotifyOperatorConfigChanged(int32_t slotId, int32_t state) = 0;
601 
602     /**
603      * @brief Get ims Capabilities interface
604      *
605      * @param slotId Indicates the card slot index number,
606      * @return Returns TELEPHONY_SUCCESS on success, others on failure.
607      */
608     virtual int32_t GetImsCapabilities(int32_t slotId) = 0;
609 
610 public:
611     DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.Telephony.ImsCallInterface");
612 };
613 } // namespace Telephony
614 } // namespace OHOS
615 
616 #endif // TELEPHONY_IMS_CALL_INTERFACE_H
617