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