wxc_sdk.telephony.devices package

Telephony devices

class wxc_sdk.telephony.devices.DectDevice(*, model: str, displayName: str, numberOfBaseStations: int, numberOfLinePorts: int, numberOfRegistrationsSupported: int)[source]

Bases: ApiModel

model: str

Model name of the device.

display_name: str

Display name of the device.

number_of_base_stations: int

Indicates number of base stations.

number_of_line_ports: int

Indicates number of port lines,

number_of_registrations_supported: int

Indicates number of supported registrations.

class wxc_sdk.telephony.devices.MemberCommon(*, id: str, memberType: ~wxc_sdk.common.UserType = <UserType.people: 'PEOPLE'>, firstName: str | None = None, lastName: str | None = None, phoneNumber: str | None = None, extension: str | None = None, routingPrefix: str | None = None, esn: str | None = None, t38FaxCompressionEnabled: bool | None = None, lineType: ~wxc_sdk.common.PrimaryOrShared = <PrimaryOrShared.primary: 'PRIMARY'>, allowCallDeclineEnabled: bool | None = True, location: ~wxc_sdk.common.IdAndName | None = None)[source]

Bases: ApiModel

member_id: str

Unique identifier for the member.

member_type: UserType
first_name: str | None

First name of a person or workspace.

last_name: str | None

Last name of a person or workspace.

phone_number: str | None

Phone Number of a person or workspace. In some regions phone numbers are not returned in E.164 format. This will be supported in a future update.

extension: str | None

Extension of a person or workspace.

routingPrefix: str | None

Routing prefix of location.

esn: str | None

Routing prefix + extension of a person or workspace.

t38_fax_compression_enabled: bool | None

T.38 Fax Compression setting and is available only for ATA Devices. Choose T.38 fax compression if the device requires this option. This will override user level compression options.

line_type: PrimaryOrShared

Line type is used to differentiate Primary and SCA, at which endpoint it is assigned.

allow_call_decline_enabled: bool | None

Set how a person’s device behaves when a call is declined. When set to true, a call decline request is extended to all the endpoints on the device. When set to false, a call decline request only declines the current endpoint.

location: IdAndName | None
class wxc_sdk.telephony.devices.DeviceMember(*, id: str, memberType: ~wxc_sdk.common.UserType = <UserType.people: 'PEOPLE'>, firstName: str | None = None, lastName: str | None = None, phoneNumber: str | None = None, extension: str | None = None, routingPrefix: str | None = None, esn: str | None = None, t38FaxCompressionEnabled: bool | None = None, lineType: ~wxc_sdk.common.PrimaryOrShared = <PrimaryOrShared.primary: 'PRIMARY'>, allowCallDeclineEnabled: bool | None = True, location: ~wxc_sdk.common.IdAndName | None = None, primaryOwner: bool = False, port: int = 1, lineWeight: int = 1, lineLabel: str | None = None, hostIP: str | None = None, remoteIP: str | None = None, hotlineEnabled: bool = False, hotlineDestination: str | None = None)[source]

Bases: MemberCommon

primary_owner: bool

This field indicates whether the person or the workspace is the owner of the device, and points to a primary Line/Port of the device.

port: int

Port number assigned to person or workspace.

line_weight: int

Number of lines that have been configured for the person on the device. Can only be larger than one for primary owner

line_label: str | None

Device line label.

host_ip: str | None

Registration Host IP address for the line port.

remote_ip: str | None

Registration Remote IP address for the line port.

hotline_enabled: bool

Enable Hotline. Configure this line to automatically call a predefined number whenever taken off-hook. Once enabled, the line can only make calls to the predefined number set in hotlineDestination.

hotline_destination: str | None

The preconfigured number for Hotline. Required only if hotlineEnabled is set to true.

static from_available(available: AvailableMember) DeviceMember[source]
class wxc_sdk.telephony.devices.DeviceMembersResponse(*, model: str, members: list[DeviceMember], maxLineCount: int)[source]

Bases: ApiModel

Get Device Members response

model: str
members: list[DeviceMember]
max_line_count: int
class wxc_sdk.telephony.devices.AvailableMember(*, id: str, memberType: ~wxc_sdk.common.UserType = <UserType.people: 'PEOPLE'>, firstName: str | None = None, lastName: str | None = None, phoneNumber: str | None = None, extension: str | None = None, routingPrefix: str | None = None, esn: str | None = None, t38FaxCompressionEnabled: bool | None = None, lineType: ~wxc_sdk.common.PrimaryOrShared = <PrimaryOrShared.primary: 'PRIMARY'>, allowCallDeclineEnabled: bool | None = True, location: ~wxc_sdk.common.IdAndName | None = None)[source]

Bases: MemberCommon

class wxc_sdk.telephony.devices.MACState(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

State of the MAC address.

available = 'AVAILABLE'

The requested MAC address is available.

unavailable = 'UNAVAILABLE'

The requested MAC address is unavailable.

duplicate_in_list = 'DUPLICATE_IN_LIST'

The requested MAC address is duplicated.

invalid = 'INVALID'

The requested MAC address is invalid.

class wxc_sdk.telephony.devices.MACStatus(*, mac: str, state: MACState, errorCode: int | None = None, message: str | None = None)[source]

Bases: ApiModel

mac: str

MAC address.

state: MACState

State of the MAC address.

error_code: int | None

MAC address validation error code.

message: str | None

Provides a status message about the MAC address.

class wxc_sdk.telephony.devices.MACValidationResponse(*, status: ValidationStatus, macStatus: list[MACStatus] | None = None)[source]

Bases: ApiModel

status: ValidationStatus

Status of MAC address.

mac_status: list[MACStatus] | None

Contains an array of all the MAC address provided and their statuses.

class wxc_sdk.telephony.devices.TelephonyDevicesApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

Telephony devices API

details(device_id: str, org_id: str | None = None) TelephonyDeviceDetails[source]

Get Webex Calling Device Details

Retrieves Webex Calling device details that include information needed for third-party device management.

Webex calling devices are associated with a specific user Workspace or Virtual Line.

Webex Calling devices share the location with the entity that owns them.

This API requires a full, location, user, or read-only admin auth token with the scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • org_id (str) – ID of the organization in which the device resides.

Return type:

TelephonyDeviceDetails

members(device_id: str, org_id: str | None = None) DeviceMembersResponse[source]

Get Device Members

Get the list of all the members of the device including primary and secondary users.

A device member can be either a person or a workspace. An admin can access the list of member details, modify member details and search for available members on a device.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • org_id (str) – Retrieves the list of all members of the device in this Organization.

Returns:

Device model, line count, and members

Return type:

DeviceMembersResponse

update_members(device_id: str, members: list[DeviceMember | AvailableMember] | None, org_id: str | None = None)[source]

Modify member details on the device.

A device member can be either a person or a workspace. An admin can access the list of member details, modify member details and search for available members on a device.

Modifying members on the device requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • members (list[Union[DeviceMember, AvailableMember]) – New member details for the device. If the member’s list is missing then all the users are removed except the primary user.

  • org_id (str) – Modify members on the device in this organization.

available_members(device_id: str, location_id: str | None = None, member_name: str | None = None, phone_number: str | None = None, extension: str | None = None, org_id: str | None = None, **params) Generator[AvailableMember, None, None][source]

Search members that can be assigned to the device.

A device member can be either a person or a workspace. A admin can access the list of member details, modify member details and search for available members on a device.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • location_id (str) – Search (Contains) based on number.

  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • org_id (str) – Retrieves the list of available members on the device in this Organization.

Returns:

list of available members

apply_changes(device_id: str, org_id: str | None = None)[source]

Apply Changes for a specific device

Issues request to the device to download and apply changes to the configuration.

Applying changes for a specific device requires a full administrator auth token with a scope of spark-admin:telephony_config_write. :param device_id: Unique identifier for the device. :type device_id: str :param org_id: Apply changes for a device in this Organization. :type org_id: str

device_settings(device_id: str, device_model: str, org_id: str | None = None) DeviceCustomization[source]

Get override settings for a device.

Device settings lists all the applicable settings for an MPP and an ATA devices at the device level. An admin can also modify the settings. DECT devices do not support settings at the device level.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • device_model (str) – Model type of the device.

  • org_id (str) – Settings on the device in this organization.

Returns:

Device settings

Return type:

DeviceCustomization

update_device_settings(device_id: str, device_model: str, customization: DeviceCustomization, org_id: str | None = None)[source]

Modify override settings for a device.

Device settings list all the applicable settings for an MPP and an ATA devices at the device level. Admins can also modify the settings. NOTE: DECT devices do not support settings at the device level.

Updating settings on the device requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • device_model (str) – Device model name.

  • customization (DeviceCustomization) – Indicates the customization object of the device settings.

  • org_id (str) – Organization in which the device resides..

Example :

# target_device is a TelephonyDevice object
target_device: TelephonyDevice

# get device level settings
settings = api.telephony.devices.device_settings(device_id=target_device.device_id,
                                                 device_model=target_device.model)

# update settings (display name format) and enable device level customization
settings.customizations.mpp.display_name_format = DisplayNameSelection.person_last_then_first_name
settings.custom_enabled = True

# update the device level settings
api.telephony.devices.update_device_settings(device_id=target_device.device_id,
                                             device_model=target_device.model,
                                             customization=settings)

# apply changes to device
api.telephony.devices.apply_changes(device_id=target_device.device_id)
dect_devices(org_id: str | None = None) list[DectDevice][source]

Read the DECT device type list

Get DECT device type list with base stations and line ports supported count. This is a static list.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id

Returns:

validate_macs(macs: list[str], org_id: str | None = None) MACValidationResponse[source]

Validate a list of MAC addresses.

Validating this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • macs (list[str]) – MAC addresses to be validated.

  • org_id (str) – Validate the mac address(es) for this organization.

Returns:

validation response

Return type:

MACValidationResponse

create_line_key_template(template: LineKeyTemplate, org_id: str | None = None) str[source]

Create a Line Key Template

Create a Line Key Template in this organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows customers to create a Line Key Template for a device model.

Creating a Line Key Template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template (LineKeyTemplate) – Line key template to create

  • org_id (str) – id of organization to create the line key template in

Returns:

id of new line key template

Return type:

str

list_line_key_templates(org_id: str | None = None) list[LineKeyTemplate][source]

Read the list of Line Key Templates

List all Line Key Templates available for this organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve the list of Line Key Templates that are available for the organization.

Retrieving this list requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List line key templates for this organization.

Return type:

list[LineKeyTemplate]

line_key_template_details(template_id: str, org_id: str | None = None) LineKeyTemplate[source]

Get details of a Line Key Template

Get detailed information about a Line Key Template by template ID in an organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve a line key template by its ID in an organization.

Retrieving a line key template requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • template_id (str) – Get line key template for this template ID.

  • org_id (str) – Retrieve a line key template for this organization.

Return type:

GetLineKeyTemplateResponse

modify_line_key_template(template: LineKeyTemplate, org_id: str | None = None)[source]

Modify a Line Key Template

Modify a line key template by its template ID in an organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to modify an existing Line Key Template by its ID in an organization.

Modifying an existing line key template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template (LineKeyTemplate) – new line key template settings

  • org_id (str) – Modify a line key template for this organization.

delete_line_key_template(template_id: str, org_id: str | None = None)[source]

Delete a Line Key Template

Delete a Line Key Template by its template ID in an organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to delete an existing Line Key Templates by its ID in an organization.

Deleting an existing line key template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template_id (str) – Delete line key template with this template ID.

  • org_id (str) – Delete a line key template for this organization.

Return type:

None

preview_apply_line_key_template(action: ApplyLineKeyTemplateAction, template_id: str | None = None, location_ids: list[str] | None = None, exclude_devices_with_custom_layout: bool | None = None, include_device_tags: list[str] | None = None, exclude_device_tags: list[str] | None = None, more_shared_appearances_enabled: bool | None = None, few_shared_appearances_enabled: bool | None = None, more_monitor_appearances_enabled: bool | None = None, org_id: str | None = None) int[source]

Preview Apply Line Key Template

Preview the number of devices that will be affected by the application of a Line Key Template or when resetting devices to their factory Line Key settings.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to preview the number of devices that will be affected if a customer were to apply a Line Key Template or apply factory default Line Key settings to devices.

Retrieving the number of devices affected requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • action (ApplyLineKeyTemplateAction) – Line key Template action to perform.

  • template_id (str) – templateId is required for APPLY_TEMPLATE action.

  • location_ids (list[str]) – Used to search for devices only in the given locations.

  • exclude_devices_with_custom_layout (bool) – Indicates whether to exclude devices with custom layout.

  • include_device_tags (list[str]) – Include devices only with these tags.

  • exclude_device_tags (list[str]) – Exclude devices with these tags.

  • more_shared_appearances_enabled (bool) – Refine search by warnings for More shared appearances than shared users.

  • few_shared_appearances_enabled (bool) – Refine search by warnings for Fewer shared appearances than shared users.

  • more_monitor_appearances_enabled (bool) – Refine search by warnings for more monitor appearances than monitors.

  • org_id (str) – Preview Line Key Template for this organization.

Return type:

int

get_device_layout(device_id: str, org_id: str | None = None) DeviceLayout[source]

Get Device Layout by Device ID

Get layout information of a device by device ID in an organization.

Device layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.

This API requires a full or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Get device layout for this device ID.

  • org_id (str) – Retrieve a device layout for the device in this organization.

Return type:

DeviceLayout

modify_device_layout(device_id: str, layout: DeviceLayout, org_id: str | None = None)[source]

Modify Device Layout by Device ID

Modify the layout of a device by device ID in an organization.

Device layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.

This API requires a full or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Modify device layout for this device ID.

  • layout – New layout

  • org_id (str) – Modify a device layout for the device in this organization.

Return type:

None

get_person_device_settings(person_id: str, org_id: str | None = None) DeviceSettings[source]

Get Device Settings for a Person

Device settings list the compression settings for a person.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – ID of the person to retrieve device settings.

  • org_id (str) – Retrieves the device settings for a person in this organization.

Return type:

Compression

update_person_device_settings(person_id: str, settings: DeviceSettings, org_id: str | None = None)[source]

Update Device Settings for a Person

Update device settings modifies the compression settings for a person.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – ID of the person to update device settings.

  • settings (DeviceSettings) – New device settings

  • org_id (str) – Modify device settings for a person in this organization.

Return type:

None

get_workspace_device_settings(workspace_id: str, org_id: str | None = None) DeviceSettings[source]

Get Device Settings for a Workspace

Device settings list the compression settings for a workspace.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – ID of the workspace for which to retrieve device settings.

  • org_id (str) – Retrieves the device settings for a workspace in this organization.

Return type:

Compression

update_workspace_device_settings(workspace_id: str, settings: DeviceSettings, org_id: str | None = None)[source]

Update Device Settings for a Workspace

Update device settings modifies the compression settings for a workspace.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • workspace_id (str) – ID of the workspace for which to update device settings.

  • settings (DeviceSettings) – New device settings

  • org_id (str) – Modify the device settings for a workspace in this organization.

Return type:

None

base = 'telephony/config'
class wxc_sdk.telephony.devices.LineKeyType(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

primary_line = 'PRIMARY_LINE'

PRIMARY_LINE is the user’s primary extension. This is the default assignment for Line Key Index 1 and cannot be modified.

shared_line = 'SHARED_LINE'

Shows the appearance of other users on the owner’s phone.

monitor = 'MONITOR'

Enables User and Call Park monitoring.

speed_dial = 'SPEED_DIAL'

Allows users to reach a telephone number, extension or a SIP URI.

open = 'OPEN'

An open key will automatically take the configuration of a monitor button starting with the first open key. These buttons are also usable by the user to configure speed dial numbers on these keys.

closed = 'CLOSED'

Button not usable but reserved for future features.

class wxc_sdk.telephony.devices.ProgrammableLineKey(*, lineKeyIndex: int | None = None, lineKeyType: LineKeyType | None = None, lineKeyLabel: str | None = None, lineKeyValue: str | None = None)[source]

Bases: ApiModel

line_key_index: int | None

An index representing a Line Key. Index starts from 1 representing the first key on the left side of the phone. example: 2

line_key_type: LineKeyType | None

The action that would be performed when the Line Key is pressed. example: SPEED_DIAL

line_key_label: str | None

This is applicable only when the lineKeyType is SPEED_DIAL. example: Help Line

line_key_value: str | None

This is applicable only when the lineKeyType is SPEED_DIAL and the value must be a valid Telephone Number, Ext, or SIP URI (format: user@host using A-Z,a-z,0-9,-_ .+ for user and host). example: 5646

classmethod standard_plk_list(lines: int = 10) list[ProgrammableLineKey][source]

get a standard list of programmable line keys of given length. 1st line key is primary line and all other are “open”

Parameters:

lines – number of programmable line keys

Returns:

list of programmable line keys

class wxc_sdk.telephony.devices.LineKeyTemplate(*, id: str | None = None, templateName: str | None = None, deviceModel: str | None = None, modelDisplayName: str | None = None, userReorderEnabled: bool | None = None, lineKeys: list[ProgrammableLineKey] | None = None)[source]

Bases: ApiModel

id: str | None

Unique identifier for the Line Key Template example: Y2lzY29zcGFyazovL1VTL0RFVklDRV9MSU5FX0tFWV9URU1QTEFURS9kNDUzM2MwYi1hZGRmLTRjODUtODk0YS1hZTVkOTAyYzAyMDM=

template_name: str | None

Name of the Line Key Template example: template for 8845

device_model: str | None

The Device Model for which the Line Key Template is applicable example: DMS Cisco 8845

display_name: str | None

The friendly display name used to represent the device model in Control Hub example: Cisco 8845

user_reorder_enabled: bool | None

Indicates whether user can reorder the line keys.

line_keys: list[ProgrammableLineKey] | None

Contains a mapping of Line Keys and their corresponding actions.

class wxc_sdk.telephony.devices.TelephonyDeviceDetails(*, manufacturer: str | None = None, owner: TelephonyDeviceOwner | None = None, proxy: TelephonyDeviceProxy | None = None, managedBy: str | None = None, id: str | None = None, ip: str | None = None, mac: str | None = None, model: str | None = None, activationState: ActivationState | None = None, description: list[str] | None = None, upgradeChannelEnabled: bool | None = None)[source]

Bases: ApiModel

manufacturer: str | None

Manufacturer of the device.

owner: TelephonyDeviceOwner | None
proxy: TelephonyDeviceProxy | None
managed_by: str | None

Device manager(s).

id: str | None

A unique identifier for the device.

ip: str | None

The current IP address of the device.

mac: str | None

The unique address for the network adapter.

model: str | None

A model type of the device.

activation_state: ActivationState | None

Activation state of the device. This field is only populated for a device added by a unique activation code generated by Control Hub for use with Webex.

description: list[str] | None

Comma-separated array of tags used to describe the device.

upgrade_channel_enabled: bool | None

Enabled / disabled status of the upgrade channel.

class wxc_sdk.telephony.devices.ActivationState(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

activating = 'activating'

Indicates a device is activating using an activation code.

activated = 'activated'

Indicates a device has been activated using an activation code.

deactivated = 'deactivated'

Indicates a device has not been activated using an activation code.

class wxc_sdk.telephony.devices.TelephonyDeviceOwner(*, linePort: str | None = None, sipUserName: str | None = None)[source]

Bases: ApiModel

line_port: str | None

Identifies a device endpoint in standalone mode or a SIP URI public identity in IMS mode.

sip_user_name: str | None

SIP authentication user name for the owner of the device.

class wxc_sdk.telephony.devices.TelephonyDeviceProxy(*, outboundProxy: str | None = None)[source]

Bases: ApiModel

outbound_proxy: str | None

Outgoing server which the phone should use for all SIP requests. Not set if the response has no body.

class wxc_sdk.telephony.devices.LayoutMode(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

default = 'DEFAULT'

Default layout mode when a new device is added.

custom = 'CUSTOM'

Enables a device to have its custom layout.

class wxc_sdk.telephony.devices.KemModuleType(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

kem_14_keys = 'KEM_14_KEYS'

Extension module has 14 line keys that can be configured.

kem_18_keys = 'KEM_18_KEYS'

Extension module has 18 line keys that can be configured.

kem_20_keys = 'KEM_20_KEYS'

Extension module has 20 line keys that can be configured.

class wxc_sdk.telephony.devices.KemKey(*, kemModuleIndex: int | None = None, kemKeyIndex: int | None = None, kemKeyType: LineKeyType | None = None, kemKeyLabel: str | None = None, kemKeyValue: str | None = None)[source]

Bases: ApiModel

kem_module_index: int | None

An index representing a KEM Module. The Index starts from 1 representing the first KEM Module. example: 1

kem_key_index: int | None

An index representing a KEM Key. The Index starts from 1 representing the first key on the left side of the phone. example: 1

kem_key_type: LineKeyType | None

The action that would be performed when the KEM Key is pressed. example: SPEED_DIAL

kem_key_label: str | None

Applicable only when the kemKeyType is SPEED_DIAL. example: Office

kem_key_value: str | None

Applicable only when the kemKeyType is SPEED_DIAL. Value must be a valid Telephone Number, Ext, or SIP URI (format: user@host limited to A-Z,a-z,0-9,-_ .+ for user and host). example: 213457

class wxc_sdk.telephony.devices.DeviceLayout(*, layoutMode: LayoutMode | None = None, userReorderEnabled: bool | None = None, lineKeys: list[ProgrammableLineKey] | None = None, kemModuleType: KemModuleType | None = None, kemKeys: list[KemKey] | None = None)[source]

Bases: ApiModel

layout_mode: LayoutMode | None

Defines the layout mode of the device, i.e. DEFAULT or CUSTOM. example: CUSTOM

user_reorder_enabled: bool | None

If true, user customization is enabled.. example: True

line_keys: list[ProgrammableLineKey] | None

Contains a mapping of Line Keys and their corresponding actions.

kem_module_type: KemModuleType | None

Type of KEM module. example: KEM_14_KEYS

kem_keys: list[KemKey] | None

Contains a mapping of KEM Keys and their corresponding actions.

update() dict[source]

get data for update :meta private:

class wxc_sdk.telephony.devices.DeviceSettings(*, compression: bool | None = None)[source]

Bases: ApiModel

compression: bool | None

True -> Minimize data use during compression.

False -> Ignore data use during compression.