Zoom Rooms Controller SDK Reference 6.5.0
Loading...
Searching...
No Matches
IPhoneCallService.h
Go to the documentation of this file.
1
6#ifndef ZRC_IPHONECALLSERVICE_H
7#define ZRC_IPHONECALLSERVICE_H
8
9#include "ZRCSDKTypes.h"
10
12
18{
36};
37
43{
47};
48
54{
59};
60
66{
71};
72
78{
81};
82
88{
92};
93
99{
106
112{
121
127{
135
139{
140 std::string name;
141 std::string number;
143};
144
148{
150 std::string hostCallID;
151};
152
156{
158 std::string endName;
159 std::string endNumber;
160};
161
165{
167 std::string address;
168};
169
173{
176 std::vector<std::string> customEmergencyNumbers;
177};
178
182{
184 std::string callID;
185 std::string peerDisplayName;
186 std::string peerNumber;
187 std::string peerURI;
188 bool isIncomingCall = false;
191 std::vector<SIPCallMemberInfo> remoteMembers;
192 int64_t elapsedCallTime = -1;
193 std::string relatedCallID;
194 std::string blindDisplayName;
195 std::string originalPeerURI;
199 bool isEmergencyCall = false;
201};
202
206{
208 std::string peerURI;
209};
210
214{
215 std::string name;
216 std::string number;
217 std::string extensionID;
218};
219
223{
224 std::string extension;
225 std::string companyNumber;
226 std::vector<std::string> directNumbers;
227 std::string countryCode;
228 std::string countryName;
229 std::string areaCode;
230 std::vector<SIPCallerID> callerIDs;
232 std::vector<std::string> formattedDirectNumbers;
234 bool isEnabledHaveADID = false;
235 bool isEnable911Call =false;
237};
238
242{
244 std::string userName;
245 std::string displayName;
246 int32_t responseCode = 0;
248 bool isZoomPhoneAvailable = false;
250};
251
255{
256public:
258
269 virtual void OnAnswerSIPCallResult(bool succeeded, const SIPCallInfo& sipCallInfo, bool accepted) = 0;
270
280 virtual void OnAcceptSIPCallToMeetingResult(bool succeeded, const SIPCallInfo& sipCallInfo) = 0;
281
291 virtual void OnUpdateSIPCallPeerResult(bool succeeded, const SIPCallInfo& sipCallInfo) = 0;
292
301 virtual void OnUpdateSIPCallAudioResult(bool succeeded) = 0;
302
313 virtual void OnTransferSIPCallResult(bool succeeded, const SIPCallInfo& sipCallInfo, const SIPCallTransferInfo& transferInfo) = 0;
314
324 virtual void OnUpgradeSIPCallToMeetingResult(bool succeeded, const SIPCallInfo& sipCallInfo) = 0;
325
334 virtual void OnReceiveIncomingSIPCallNotification(const SIPCallInfo& sipCallInfo) = 0;
335
345 virtual void OnTreatSIPCallNotification(bool accepted, const SIPCallInfo& sipCallInfo) = 0;
346
355 virtual void OnInviteSIPCallToJoinMeetingNotification(const SIPCallInfo& sipCallInfo) = 0;
356
366 virtual void OnTerminateSIPCallNotification(SIPCallTerminateReason reason, const SIPCallInfo& sipCallInfo) = 0;
367
376 virtual void OnUpdateSIPCallAudioStatusNotification(bool muted) = 0;
377
386 virtual void OnUpdateSIPCallStatusNotification(const SIPCallInfo& sipCallInfo) = 0;
387
397 virtual void OnTransferSIPCallNotification(bool succeeded, const SIPCallInfo& sipCallInfo) = 0;
398
408 virtual void OnUpgradeSIPCallToMeetingNotification(bool succeeded, const SIPCallInfo& sipCallInfo) = 0;
409
418 virtual void OnUpdateSIPServiceStatusNotification(const SIPService& sipService) = 0;
419};
420
424{
425public:
427
439
451
464 virtual ZRCSDKError AcceptIncomingSIPCall(const SIPCallInfo& sipCallInfo) = 0;
465
478 virtual ZRCSDKError HoldAndAcceptIncomingSIPCall(const SIPCallInfo& sipCallInfo) = 0;
479
492 virtual ZRCSDKError EndAndAcceptIncomingSIPCall(const SIPCallInfo& sipCallInfo) = 0;
493
504 virtual ZRCSDKError DeclineIncomingSIPCall(const SIPCallInfo& sipCallInfo) = 0;
505
518 virtual ZRCSDKError AcceptSIPCallToMeeting(const SIPCallInfo& sipCallInfo) = 0;
519
530 virtual ZRCSDKError DeclineSIPCallToMeeting(const SIPCallInfo& sipCallInfo) = 0;
531
542 virtual ZRCSDKError CallSIP(const std::string& uri) = 0;
543
554 virtual ZRCSDKError HangupSIPCall(const SIPCallInfo& sipCallInfo) = 0;
555
566 virtual ZRCSDKError MuteSIPCallAudio(bool mute) = 0;
567
579 virtual ZRCSDKError SendDTMFToSIPCall(const std::string& dtmf, const SIPCallInfo& sipCallInfo) = 0;
580
591 virtual ZRCSDKError HoldSIPCall(const SIPCallInfo& sipCallInfo) = 0;
592
603 virtual ZRCSDKError UnholdSIPCall(const SIPCallInfo& sipCallInfo) = 0;
604
616 virtual ZRCSDKError MergeSIPCall(const SIPCallInfo& hostSIPCallInfo, const SIPCallInfo& participantSIPCallInfo) = 0;
617
629 virtual ZRCSDKError TransferSIPCall(const SIPCallInfo& sipCallInfo, const SIPCallTransferInfo& transferInfo) = 0;
630
641 virtual ZRCSDKError CompleteWarmTransfer(const SIPCallInfo& sipCallInfo) = 0;
642
653 virtual ZRCSDKError CancelWarmTransfer(const SIPCallInfo& sipCallInfo) = 0;
654
666 virtual ZRCSDKError UpgradeSIPCallToMeeting(const SIPCallInfo& sipCallInfo, bool isEndCurrentMeeting) = 0;
667
678 virtual ZRCSDKError SetLocationPermissionEnable(bool enable) = 0;
679
690 virtual ZRCSDKError GetLocationPermissionEnable(bool& enable) = 0;
691
702 virtual ZRCSDKError GetSIPCallList(std::vector<SIPCallInfo>& sipCalls) = 0;
703
714 virtual ZRCSDKError GetUnholdSIPCall(SIPCallInfo& unholdCall) = 0;
715};
716
718#endif //ZRC_IPHONECALLSERVICE_H
SIPServiceStatus
SIP service status. Here are more detailed structural descriptions.
@ SIPServiceStatusRegistering
SIP service status is registering.
@ SIPServiceStatusIdle
SIP service status is idle.
@ SIPServiceStatusRegistered
SIP service status is registered.
@ SIPServiceStatusInCall
SIP service status is in call.
@ SIPServiceStatusCallingOut
SIP service status is calling out.
@ SIPServiceStatusRegFailed
SIP service status is registration failed.
@ SIPServiceStatusRinging
SIP service status is ringing.
SIPCallTerminateReason
SIP call terminate reason. Here are more detailed structural descriptions.
@ SIPCallTerminateReasonByRemote
SIP call terminate reason is remote termination.
@ SIPCallTerminateReasonByNetworkBreak
SIP call terminate reason is network break.
@ SIPCallTerminateReasonByInitAudioDeviceFailed
SIP call terminate reason is init audio device failed.
@ SIPCallTerminateReasonByLocal
SIP call terminate reason is local termination.
@ SIPCallTerminateReasonUnknown
SIP call terminate reason is unknown.
@ SIPCallTerminateReasonBySipServiceStopped
SIP call terminate reason is sip service stopped.
EmergencyAddressType
emergency address type. Here are more detailed structural descriptions.
@ EmergencyAddressTypeStatic
Emergency address type is static.
@ EmergencyAddressTypeDetect
Emergency address type is detect.
@ EmergencyAddressTypeUnknown
Emergency address type is unknown.
SIPCallStatus
SIP call status. Here are more detailed structural descriptions.
@ SIPCallStatusInit
SIP call's status is init.
@ SIPCallStatusRinging
SIP call's status is ringing.
@ SIPCallStatusInCall
SIP call's status is in call.
@ SIPCallStatusRemoteHold
SIP call's status is remote hold.
@ SIPCallStatusHold
SIP call's status is hold.
@ SIPCallStatusAccepted
SIP call's status is accepted.
@ SIPCallStatusBusy
SIP call's status is busy.
@ SIPCallStatusStayOnPhone
SIP call's status is stay on phone.
@ SIPCallStatusSessionInProgress
SIP call's status is session in progress.
@ SIPCallStatusTimeout
SIP call's status is timeout.
@ SIPCallStatusDeclined
SIP call's status is declined.
@ SIPCallStatusCallOutFailed
SIP call's status is call out failed.
@ SIPCallStatusNotFound
SIP call's status is not found.
@ SIPCallStatusBothHold
SIP call's status is both hold.
@ SIPCallStatusIncoming
SIP call's status is incoming.
@ SIPCallStatusTerminated
SIP call's status is terminated.
@ SIPCallStatusNotAvailable
SIP call's status is not available.
SIPCallAttestLevel
SIP call attest level. Here are more detailed structural descriptions.
@ SIPCallAttestLevelB
SIP call attest level is B, represents medium attest level.
@ SIPCallAttestLevelC
SIP call attest level is C, represents low attest level.
@ SIPCallAttestLevelA
SIP call attest level is A, represents high attest level.
@ SIPCallAttestLevelUndefined
SIP call attest level is undefined.
SIPCallTransferInfoType
SIP call transfer type. Here are more detailed structural descriptions.
@ SIPCallTransferInfoTypeUnknown
SIP call transfer type is unknown.
@ SIPCallTransferInfoTypeWarmComplete
SIP call transfer type is warm complete.
@ SIPCallTransferInfoTypeWarm
SIP call transfer type is warm transfer.
@ SIPCallTransferInfoTypeBlind
SIP call transfer type is blind transfer.
@ SIPCallTransferInfoTypeVoicemail
SIP call transfer type is voicemail transfer.
SIPCallConferenceRole
SIP call conference role in merged calls. Here are more detailed structural descriptions.
@ SIPCallConferenceRoleUnknown
SIP call conference role is unknown.
@ SIPCallConferenceRoleHost
SIP call conference role is host in merged calls.
@ SIPCallConferenceRoleParticipant
SIP call conference role is participant in merged calls.
SIPCallThirdPartyType
SIP call thirdparty type. Here are more detailed structural descriptions.
@ SIPCallThirdPartyTypeTransfer
SIP call thirdparty type is transfer.
@ SIPCallThirdPartyTypeDefault
SIP call thirdparty type is default.
SIPCallSpamType
SIP call spam type. Here are more detailed structural descriptions.
@ SIPCallSpamTypeNone
SIP call spam type is none.
@ SIPCallSpamTypeSpam
SIP call spam type is spam.
@ SIPCallSpamTypeMaybeSpam
SIP call spam type is maybe spam.
@ SIPCallSpamTypeNotSpam
SIP call spam type is not spam.
#define NS_ZRCSDK_END
#define NS_ZRCSDK_BEG
ZRC SDK Types.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
Definition ZRCSDKTypes.h:22
Phone call service interface.
virtual ZRCSDKError GetLocationPermissionEnable(bool &enable)=0
Get location permission enable.
virtual ZRCSDKError HoldSIPCall(const SIPCallInfo &sipCallInfo)=0
Hold the SIP call.
virtual ZRCSDKError RegisterSink(IPhoneCallServiceSink *pSink)=0
Register phone call service callback sink.
virtual ZRCSDKError SetLocationPermissionEnable(bool enable)=0
Set location permission enable.
virtual ZRCSDKError UnholdSIPCall(const SIPCallInfo &sipCallInfo)=0
Unhold the SIP call.
virtual ZRCSDKError DeclineSIPCallToMeeting(const SIPCallInfo &sipCallInfo)=0
Decline the invitation to upgrade the SIP call to meeting.
virtual ZRCSDKError CancelWarmTransfer(const SIPCallInfo &sipCallInfo)=0
Cancel the warm transfer.
virtual ZRCSDKError MergeSIPCall(const SIPCallInfo &hostSIPCallInfo, const SIPCallInfo &participantSIPCallInfo)=0
Merge the participant SIP Call to host SIP call.
virtual ZRCSDKError EndAndAcceptIncomingSIPCall(const SIPCallInfo &sipCallInfo)=0
Accept incoming SIP call and end the foreground call.
virtual ZRCSDKError GetUnholdSIPCall(SIPCallInfo &unholdCall)=0
Get the unhold call which is ongoing call.
virtual ZRCSDKError AcceptIncomingSIPCall(const SIPCallInfo &sipCallInfo)=0
Accept incoming SIP call.
virtual ZRCSDKError AcceptSIPCallToMeeting(const SIPCallInfo &sipCallInfo)=0
Accept the invitation to upgrade the SIP call to meeting.
virtual ZRCSDKError DeclineIncomingSIPCall(const SIPCallInfo &sipCallInfo)=0
Decline incoming SIP call.
virtual ZRCSDKError HoldAndAcceptIncomingSIPCall(const SIPCallInfo &sipCallInfo)=0
Accept incoming SIP call and hold the foreground call.
virtual ZRCSDKError SendDTMFToSIPCall(const std::string &dtmf, const SIPCallInfo &sipCallInfo)=0
Send DTMF to the SIP call.
virtual ZRCSDKError UpgradeSIPCallToMeeting(const SIPCallInfo &sipCallInfo, bool isEndCurrentMeeting)=0
Upgrade the SIP call to meeting.
virtual ZRCSDKError TransferSIPCall(const SIPCallInfo &sipCallInfo, const SIPCallTransferInfo &transferInfo)=0
Transfer the SIP call to other people.
virtual ZRCSDKError GetSIPCallList(std::vector< SIPCallInfo > &sipCalls)=0
Get the SIP calls.
virtual ZRCSDKError DeregisterSink(IPhoneCallServiceSink *pSink)=0
Deregister phone call service callback sink.
virtual ZRCSDKError MuteSIPCallAudio(bool mute)=0
Mute the SIP call audio.
virtual ZRCSDKError CallSIP(const std::string &uri)=0
Make a call.
virtual ZRCSDKError CompleteWarmTransfer(const SIPCallInfo &sipCallInfo)=0
Complete the warm transfer.
virtual ZRCSDKError HangupSIPCall(const SIPCallInfo &sipCallInfo)=0
Hang up an active SIP call.
Phone call service event callback.
virtual void OnUpgradeSIPCallToMeetingResult(bool succeeded, const SIPCallInfo &sipCallInfo)=0
Upgrade SIP call to meeting result.
virtual void OnUpdateSIPServiceStatusNotification(const SIPService &sipService)=0
Update SIP service info notification.
virtual void OnUpdateSIPCallAudioStatusNotification(bool muted)=0
Update SIP call audio status notification.
virtual void OnUpgradeSIPCallToMeetingNotification(bool succeeded, const SIPCallInfo &sipCallInfo)=0
Upgrade the SIP call to meeting notification.
virtual void OnTransferSIPCallNotification(bool succeeded, const SIPCallInfo &sipCallInfo)=0
Transfer SIP call notification.
virtual void OnTreatSIPCallNotification(bool accepted, const SIPCallInfo &sipCallInfo)=0
Treat SIP call notification.
virtual void OnInviteSIPCallToJoinMeetingNotification(const SIPCallInfo &sipCallInfo)=0
The invitation to upgrade the SIP call to meeting.
virtual void OnTransferSIPCallResult(bool succeeded, const SIPCallInfo &sipCallInfo, const SIPCallTransferInfo &transferInfo)=0
Transfer SIP call result.
virtual void OnReceiveIncomingSIPCallNotification(const SIPCallInfo &sipCallInfo)=0
Receive incoming SIP call notification.
virtual void OnAcceptSIPCallToMeetingResult(bool succeeded, const SIPCallInfo &sipCallInfo)=0
Accept the upgrade SIP call to meeting result.
virtual void OnTerminateSIPCallNotification(SIPCallTerminateReason reason, const SIPCallInfo &sipCallInfo)=0
Terminate SIP call notification.
virtual void OnUpdateSIPCallPeerResult(bool succeeded, const SIPCallInfo &sipCallInfo)=0
Make a call to peer result.
virtual void OnUpdateSIPCallAudioResult(bool succeeded)=0
Update SIP call audio status result.
virtual void OnAnswerSIPCallResult(bool succeeded, const SIPCallInfo &sipCallInfo, bool accepted)=0
Answer incoming SIP call response callback.
virtual void OnUpdateSIPCallStatusNotification(const SIPCallInfo &sipCallInfo)=0
Update SIP call notification.
std::vector< std::string > directNumbers
Zoom Phone's directNumbers.
std::string companyNumber
Zoom Phone's companyNumber.
std::string countryCode
Zoom Phone's countryCode.
std::string formattedCompanyNumber
Zoom Phone's formattedCompanyNumber.
std::string extension
Zoom Phone's extension.
std::vector< SIPCallerID > callerIDs
Zoom Phone's callerIDs.
std::string areaCode
Zoom Phone's areaCode.
bool isEnabledMakeOutBoundPSTNCall
TRUE indicates you can make PSTN calls. Otherwise not.
std::vector< std::string > formattedDirectNumbers
Zoom Phone's formattedDirectNumbers.
bool isEnable911Call
TRUE indicates you can make emergency calls. Otherwise not.
EmergencyCall emergencyCall
Zoom Phone's emergency info.
std::string countryName
Zoom Phone's countryName.
bool isEnabledHaveADID
TRUE indicates enabled have a DID. Otherwise not.
emergency call's address
std::string address
Emergency call address's address.
EmergencyAddressType addressType
Emergency call address's type.
Emergency call info The info about emergency call.
EmergencyCallAddress emergencyCallAddress
Emergency call's address.
std::vector< std::string > customEmergencyNumbers
The custom emergency numbers.
bool locationPermissionEnabled
TRUE indicates the location permission is enable. Otherwise not.
SIP call conference info The SIPCallConferenceInfo refers to call's info in merged calls.
SIPCallConferenceRole role
SIP call' role in merged calls, such as SIPCallConferenceRole.
std::string hostCallID
SIP call's host call ID in merged calls.
SIP call info.
SIPCallConferenceInfo conferenceInfo
The SIP call's conference info.
SIPCallSpamType peerSpamType
The SIP call's spam type, such as SIPCallSpamType.
std::vector< SIPCallMemberInfo > remoteMembers
The SIP call's members info.
std::string blindDisplayName
The call's display name, which the current call is blind transferred from.
std::string peerURI
The SIP call's peer URI.
SIPCallStatus status
The SIP call's status.
SIPCallMemberInfo selfInfo
The self info in the SIP call.
SIPCallRedirectInfo redirectInfo
The SIP call's redirect info.
std::string peerDisplayName
The SIP call's peer display name.
std::string relatedCallID
The call's ID, which the current call is warm transferred to.
EmergencyCallAddress emergencyCallAddress
The SIP call's emergency address.
SIPCallAttestLevel peerAttestLevel
The SIP call's attest level, such as SIPCallAttestLevel.
bool isEmergencyCall
TRUE indicates the call is emergency call. Otherwise not.
std::string peerNumber
The SIP call's peer number.
std::string originalPeerURI
The SIP call's original peer URI.
bool isIncomingCall
The SIP call is incoming call.
std::string callID
The SIP call's callID.
int64_t elapsedCallTime
The SIP call's elapsed time, elapsedCallTime's unit is second.
SIP call member info The SIPCallMemberInfo refers to member information in the SIP call.
std::string number
Member's number in SIP call.
SIPCallAttestLevel attestLevel
Member's attest level in SIP call.
std::string name
Member's name in SIP call.
SIP call redirect info The SIPCallRedirectInfo refers to call's redirect info. For instance,...
SIPCallThirdPartyType endType
SIP call redirect type, such as SIPCallThirdPartyType.
std::string endName
The person's name who the call is redirected to.
std::string endNumber
The person's number who the call is redirected to.
SIP call transfer info.
SIPCallTransferInfoType type
SIP call transfer's type, such as SIPCallTransferInfoType.
std::string peerURI
The peer URI which the current call is transferred to.
SIP caller ID.
std::string number
SIP caller's number.
std::string name
SIP caller's name.
std::string extensionID
SIP caller's extension ID.
SIP service info.
std::string displayName
SIP service's display name.
CloudPBXServiceInfo cloudPBXServiceInfo
Zoom Phone's info.
int32_t responseCode
SIP service's response code, 200 means the sip service is available.
bool isZoomPhoneAvailable
TRUE indicates Zoom Phone is available. Otherwise not.
SIPServiceStatus status
SIP service's status, such as SIPServiceStatus.
std::string userName
SIP service's user name.
std::string responseDescription
SIP service's response code description.