wxc_sdk.telephony.calls module
Webex Calling Call Control API and related data types
- class wxc_sdk.telephony.calls.CallType(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
Webex Calling call types
- location = 'location'
- organization = 'organization'
- external = 'external'
- emergency = 'emergency'
- repair = 'repair'
- other = 'other'
- class wxc_sdk.telephony.calls.TelephonyParty(*, name: str | None = None, number: str, personId: str | None = None, placeId: str | None = None, privacyEnabled: str, callType: CallType)[source]
Bases:
ApiModel
Representation of a calling/called party of a Webex Calling call
- name: str | None
The party’s name. Only present when the name is available and privacy is not enabled.
- number: str
The party’s number. Only present when the number is available and privacy is not enabled. The number can be digits or a URI. Some examples for number include: 1234, 2223334444, +12223334444, *73, user@company.domain
- person_id: str | None
The party’s person ID. Only present when the person ID is available and privacy is not enabled.
- place_id: str | None
The party’s place ID. Only present when the place ID is available and privacy is not enabled.
- privacy_enabled: str
Indicates whether privacy is enabled for the name, number and personId/placeId.
- class wxc_sdk.telephony.calls.RedirectReason(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
reason for Call redirection
- busy = 'busy'
- noAnswer = 'noAnswer'
- unconditional = 'unconditional'
- time_of_day = 'timeOfDay'
- divert = 'divert'
- followMe = 'followMe'
- hunt_group = 'huntGroup'
- call_queue = 'callQueue'
- unknown = 'unknown'
- class wxc_sdk.telephony.calls.Redirection(*, reason: RedirectReason, redirectingParty: TelephonyParty)[source]
Bases:
ApiModel
Single redirection
- reason: RedirectReason
The reason the incoming call was redirected.
- redirecting_party: TelephonyParty
The details of a party who redirected the incoming call.
- class wxc_sdk.telephony.calls.Recall(*, type: Literal['park'], party: TelephonyParty)[source]
Bases:
ApiModel
call recall
- recall_type: Literal['park']
The type of recall the incoming call is for. Park is the only type of recall currently supported but additional values may be added in the future.
- party: TelephonyParty
If the type is park, contains the details of where the call was parked. For example, if user A parks a call against user B and A is recalled for the park, then this field contains B’s information in A’s incoming call details. Only present when the type is park.
- class wxc_sdk.telephony.calls.RecordingState(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
recording state of a Webex Calling call
- pending = 'pending'
- started = 'started'
- paused = 'paused'
- stopped = 'stopped'
- failed = 'failed'
- class wxc_sdk.telephony.calls.Personality(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
Roles of an entity in a Webex Calling call
- originator = 'originator'
- terminator = 'terminator'
- click_to_dial = 'clickToDial'
- class wxc_sdk.telephony.calls.CallState(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
An enumeration.
- connecting = 'connecting'
- alerting = 'alerting'
- connected = 'connected'
- held = 'held'
- remoteHeld = 'remoteHeld'
- disconnected = 'disconnected'
- class wxc_sdk.telephony.calls.TelephonyCall(*, callId: str | None = None, id: str | None = None, callSessionId: str, personality: Personality, state: CallState, remoteParty: TelephonyParty, appearance: int | None = None, created: datetime, answered: datetime | None = None, redirections: list[Redirection] = None, recall: Recall | None = None, recordingState: RecordingState | None = None, disconnected: datetime | None = None)[source]
Bases:
ApiModel
Representation of a Webex Calling call
- id_call_id: str | None
- id_id: str | None
- property call_id: str | None
The call identifier of the call.
- call_session_id: str
The call session identifier of the call session the call belongs to. This can be used to correlate multiple calls that are part of the same call session.
- personality: Personality
The personality of the call.
- remote_party: TelephonyParty
The remote party’s details. For example, if user A calls user B then B is the remote party in A’s outgoing call details and A is the remote party in B’s incoming call details.
- appearance: int | None
The appearance value for the call. The appearance value can be used to display the user’s calls in an order consistent with the user’s devices. Only present when the call has an appearance value assigned.
- created: datetime
The date and time the call was created.
- answered: datetime | None
The date and time the call was answered. Only present when the call has been answered.
- redirections: list[Redirection]
The list of details for previous redirections of the incoming call ordered from most recent to least recent. For example, if user B forwards an incoming call to user C, then a redirection entry is present for B’s forwarding in C’s incoming call details. Only present when there were previous redirections and the incoming call’s state is alerting.
- recall: Recall | None
The recall details for the incoming call. Only present when the incoming call is for a recall.
- recording_state: RecordingState | None
The call’s current recording state. Only present when the user’s call recording has been invoked during the life of the call.
- disconnected: datetime | None
The date and time the call was disconnected
- class wxc_sdk.telephony.calls.TelephonyEventData(*, callId: str | None = None, id: str | None = None, callSessionId: str, personality: Personality, state: CallState, remoteParty: TelephonyParty, appearance: int | None = None, created: datetime, answered: datetime | None = None, redirections: list[Redirection] = None, recall: Recall | None = None, recordingState: RecordingState | None = None, disconnected: datetime | None = None, eventType: str, eventTimestamp: datetime)[source]
Bases:
WebhookEventData
,TelephonyCall
data in a webhook ‘telephony_calls’ event
- resource: ClassVar = 'telephony_calls'
- event_type: str
- event_timestamp: datetime
- wxc_sdk.telephony.calls.TelephonyEvent
alias of
WebhookEvent
- class wxc_sdk.telephony.calls.DialResponse(*, callId: str, callSessionId: str)[source]
Bases:
ApiModel
Result of call initiation using the dial() method
- call_id: str
- call_session_id: str
- class wxc_sdk.telephony.calls.RejectAction(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
The rejection action to apply to the call
- busy = 'busy'
- ignore = 'ignore'
- class wxc_sdk.telephony.calls.HistoryType(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
str
,SafeEnum
An enumeration.
- placed = 'placed'
- missed = 'missed'
- received = 'received'
- class wxc_sdk.telephony.calls.CallHistoryRecord(*, type: HistoryType, name: str | None = None, number: str | None = None, privacyEnabled: bool, time: datetime)[source]
Bases:
ApiModel
- call_type: HistoryType
The type of call history record.
- name: str | None
The name of the called/calling party. Only present when the name is available and privacy is not enabled.
- number: str | None
The number of the called/calling party. Only present when the number is available and privacy is not enabled. The number can be digits or a URI. Some examples for number include: 1234, 2223334444, +12223334444, *73, user@company.domain
- privacy_enabled: bool
Indicates whether privacy is enabled for the name and number.
- time: datetime
The date and time the call history record was created. For a placed call history record, this is when the call was placed. For a missed call history record, this is when the call was disconnected. For a received call history record, this is when the call was answered.
- class wxc_sdk.telephony.calls.ParkedAgainst(*, name: str | None = None, number: str | None = None, personId: str | None = None, placeId: str | None = None, privacyEnabled: bool | None = None, callType: CallType)[source]
Bases:
ApiModel
The details of where the call has been parked.
- name: str | None
The party’s name. Only present when the name is available and privacy is not enabled.
- number: str | None
The party’s number. Only present when the number is available and privacy is not enabled. The number can be digits or a URI. Some examples for number include: 1234, 2223334444, +12223334444, *73, user@company.domain
- person_id: str | None
The party’s person ID. Only present when the person ID is available and privacy is not enabled.
- place_id: str | None
The party’s place ID. Only present when the place ID is available and privacy is not enabled.
- privacy_enabled: bool | None
Indicates whether privacy is enabled for the name, number and personId/placeId.
- class wxc_sdk.telephony.calls.CallInfo(*, callId: str, callSessionId: str)[source]
Bases:
ApiModel
- call_id: str
A unique identifier for the call which is used in all subsequent commands for this call.
- call_session_id: str
A unqiue identifier for the call session the call belongs to. This can be used to correlate multiple calls that are part of the same call session.
- class wxc_sdk.telephony.calls.CallsApi(*, session: RestSession, base: str | None = None)[source]
Bases:
ApiChild
- dial(destination: str) DialResponse [source]
Initiate an outbound call to a specified destination. This is also commonly referred to as Click to Call or Click to Dial. Alerts on all the devices belonging to the user. When the user answers on one of these alerting devices, an outbound call is placed from that device to the destination.
- Parameters:
destination (str) – The destination to be dialed. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain
- Returns:
Call id and call session id
- answer(call_id: str, endpoint_id: str | None = None)[source]
Answer an incoming call. When no endpointId is specified, the call is answered on the user’s primary device. When an endpointId is specified, the call is answered on the device or application identified by the endpointId. The answer API is rejected if the device is not alerting for the call or the device does not support answer via API.
- Parameters:
call_id (str) – The call identifier of the call to be answered.
endpoint_id (str) – The ID of the device or application to answer the call on. The endpointId must be one of the endpointIds returned by
wxc_sdk.person_settings.preferred_answer.PreferredAnswerApi.read()
- reject(call_id: str, action: RejectAction | None = None)[source]
Reject an unanswered incoming call.
- Parameters:
call_id (str) – The call identifier of the call to be rejected.
action – The rejection action to apply to the call. The busy action is applied if no specific action is provided.
- hangup(call_id: str)[source]
Hangup a call. If used on an unanswered incoming call, the call is rejected and sent to busy.
- Parameters:
call_id (str) – The call identifier of the call to hangup.
- hold(call_id: str)[source]
Hold a connected call.
- Parameters:
call_id (str) – The call identifier of the call to hold.
- resume(call_id: str)[source]
Resume a held call.
- Parameters:
call_id (str) – The call identifier of the call to resume.
- divert(call_id: str, destination: str | None = None, to_voicemail: bool | None = None)[source]
Divert a call to a destination or a user’s voicemail. This is also commonly referred to as Blind Transfer
- Parameters:
call_id (str) – The call identifier of the call to divert.
destination (str) – The destination to divert the call to. If toVoicemail is false, destination is required. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain
to_voicemail (bool) – If set to true, the call is diverted to voicemail. If no destination is specified, the call is diverted to the user’s own voicemail. If a destination is specified, the call is diverted to the specified user’s voicemail.
- transfer(call_id1: str | None = None, call_id2: str | None = None, destination: str | None = None)[source]
Transfer two calls together. Unanswered incoming calls cannot be transferred but can be diverted using the divert API. If the user has only two calls and wants to transfer them together, the callId1 and callId2 parameters are optional and when not provided the calls are automatically selected and transferred. If the user has more than two calls and wants to transfer two of them together, the callId1 and callId2 parameters are mandatory to specify which calls are being transferred. These are also commonly referred to as Attended Transfer, Consultative Transfer, or Supervised Transfer and will return a 204 response. If the user wants to transfer one call to a new destination but only when the destination responds, the callId1 and destination parameters are mandatory to specify the call being transferred and the destination. This is referred to as a Mute Transfer and is similar to the divert API with the difference of waiting for the destination to respond prior to transferring the call. If the destination does not respond, the call is not transferred. This will return a 201 response.
- Parameters:
call_id1 (str) – The call identifier of the first call to transfer. This parameter is mandatory if either call_id2 or destination is provided.
call_id2 – The call identifier of the first call to transfer. This parameter is mandatory if either callId2 or destination is provided.
destination (str) – The destination to be transferred to. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain. This parameter is mandatory if call_id1 is provided and call_id2 is not provided.
- park(call_id: str, destination: str | None = None, is_group_park: bool | None = None) ParkedAgainst [source]
Park a connected call. The number field in the response can be used as the destination for the retrieve command to retrieve the parked call.
- Parameters:
call_id (str) – The call identifier of the call to park.
destination (str) – Identifies where the call is to be parked. If not provided, the call is parked against the parking user. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain
is_group_park (bool) – If set to true, the call is parked against an automatically selected member of the user’s call park group and the destination parameter is ignored.
- Returns:
The details of where the call has been parked.
- Return type:
- retrieve(destination: str) CallInfo [source]
- Parameters:
destination – Identifies where the call is parked. The number field from the park command response can be used as the destination for the retrieve command. If not provided, the call parked against the retrieving user is retrieved. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain
- Returns:
call id and call session id of retreived call
- Return type:
- start_recording(call_id: str)[source]
Start recording a call. Use of this API is only valid when the user’s call recording mode is set to “On Demand”.
- Parameters:
call_id (str) – The call identifier of the call to start recording.
- stop_recording(call_id: str)[source]
Stop recording a call. Use of this API is only valid when a call is being recorded and the user’s call recording mode is set to “On Demand”.
- Parameters:
call_id (str) – The call identifier of the call to stop recording.
- pause_recording(call_id: str)[source]
Pause recording on a call. Use of this API is only valid when a call is being recorded and the user’s call recording mode is set to “On Demand” or “Always with Pause/Resume”.
- Parameters:
call_id (str) – The call identifier of the call to pause recording.
- resume_recording(call_id: str)[source]
Resume recording a call. Use of this API is only valid when a call’s recording is paused and the user’s call recording mode is set to “On Demand” or “Always with Pause/Resume”.
- Parameters:
call_id (str) – The call identifier of the call to resume recording.
- transmit_dtmf(call_id: str, dtmf: str)[source]
Transmit DTMF digits to a call.
- Parameters:
call_id (str) – The call identifier of the call to hold.
dtmf – The DTMF digits to transmit. Each digit must be part of the following set: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D]. A comma “,” may be included to indicate a pause between digits. For the value “1,234”, the DTMF 1 digit is initially sent. After a pause, the DTMF 2, 3, and 4 digits are sent successively.
- push(call_id: str)[source]
Pushes a call from the assistant to the executive the call is associated with. Use of this API is only valid when the assistant’s call is associated with an executive.
- Parameters:
call_id (str) – The call identifier of the call to push.
- pickup(target: str) CallInfo [source]
Picks up an incoming call to another user. A new call is initiated to perform the pickup in a similar manner to the dial command. When target is not present, the API pickups up a call from the user’s call pickup group. When target is present, the API pickups an incoming call from the specified target user.
- Parameters:
target (str) – Identifies the user to pickup an incoming call from. If not provided, an incoming call to the user’s call pickup group is picked up. The target can be digits or a URI. Some examples for target include: 1234, 2223334444, +12223334444, tel:+12223334444, user@company.domain, sip:user@company.domain
- Returns:
call info of picked up call
- Return type:
- barge_in(target: str)[source]
Barge-in on another user’s answered call. A new call is initiated to perform the barge-in in a similar manner to the dial command.
- Parameters:
target (str) – Identifies the user to barge-in on. The target can be digits or a URI. Some examples for target include: 1234, 2223334444, +12223334444, tel:+12223334444, user@company.domain, sip:user@company.domain
- Returns:
call info of picked up call
- Return type:
- list_calls() Generator[TelephonyCall, None, None] [source]
Get the list of details for all active calls associated with the user.
- Returns:
yield
TelephonyCall
- call_details(call_id: str) TelephonyCall [source]
Get the details of the specified active call for the user.
- Parameters:
call_id (str) – The call identifier of the call.
- Returns:
call details
- Return type:
- call_history(history_type: str | HistoryType | None = None) Generator[CallHistoryRecord, None, None] [source]
List Call History Get the list of call history records for the user. A maximum of 20 call history records per type (placed, missed, received) are returned.
- Parameters:
history_type (HistoryType or str) – The type of call history records to retrieve. If not specified, then all call history records are retrieved. Possible values: placed, missed, received
- Returns:
yields
CallHistoryRecord
objects
- base = 'telephony/calls'