Skip to content

ConsolidatedSharedCallAppearanceAccessDeviceMultipleIdentityEndpoint

Bases: OCIType

Access device end point for Shared Call Appearance Service used in the context of add. The endpoint is identified by its linePort (public Identity) and possibly a private Identity. Port numbers are only used by devices with static line ordering.

In the case an access device referenced by accessDevice does not exist, the device will be added.

The device attributes deviceType, protocol, netAddress, port, outboundProxyServerNetAddress,
stunServerNetAddress, macAddress, serialNumber, description, physicalLocation, transportProtocol,
useCustomUserNamePassword and accessDeviceCredentials will be ignored if the access device already
exists.

The following elements are only used in XS data mode and ignored in AS data mode:
  privateIdentity

Attributes:

access_device (AccessDevice):

line_port (str):

private_identity (Optional[str]):

contact (Optional[str]):

port_number (Optional[int]):

is_active (bool):

allow_origination (bool):

allow_termination (bool):

device_type (Optional[str]):

protocol (Optional[str]):

net_address (Optional[str]):

port (Optional[int]):

outbound_proxy_server_net_address (Optional[str]):

stun_server_net_address (Optional[str]):

mac_address (Optional[str]):

serial_number (Optional[str]):

description (Optional[str]):

physical_location (Optional[str]):

transport_protocol (Optional[str]):

use_custom_user_name_password (Optional[bool]):

access_device_credentials (Optional[DeviceManagementUserNamePassword16]):

use_hotline (Optional[bool]):

hotline_contact (Optional[Nillable[str]]):
Source code in src/mercury_ocip/commands/commands.py
@dataclass(kw_only=True)
class ConsolidatedSharedCallAppearanceAccessDeviceMultipleIdentityEndpoint(OCIType):
    """Access device end point for Shared Call Appearance Service used in the context of add.
        The endpoint is identified by its linePort (public Identity) and possibly a private Identity.
        Port numbers are only used by devices with static line ordering.

        In the case an access device referenced by accessDevice does not exist, the device will be added.

        The device attributes deviceType, protocol, netAddress, port, outboundProxyServerNetAddress,
        stunServerNetAddress, macAddress, serialNumber, description, physicalLocation, transportProtocol,
        useCustomUserNamePassword and accessDeviceCredentials will be ignored if the access device already
        exists.

        The following elements are only used in XS data mode and ignored in AS data mode:
          privateIdentity

    Attributes:

        access_device (AccessDevice):

        line_port (str):

        private_identity (Optional[str]):

        contact (Optional[str]):

        port_number (Optional[int]):

        is_active (bool):

        allow_origination (bool):

        allow_termination (bool):

        device_type (Optional[str]):

        protocol (Optional[str]):

        net_address (Optional[str]):

        port (Optional[int]):

        outbound_proxy_server_net_address (Optional[str]):

        stun_server_net_address (Optional[str]):

        mac_address (Optional[str]):

        serial_number (Optional[str]):

        description (Optional[str]):

        physical_location (Optional[str]):

        transport_protocol (Optional[str]):

        use_custom_user_name_password (Optional[bool]):

        access_device_credentials (Optional[DeviceManagementUserNamePassword16]):

        use_hotline (Optional[bool]):

        hotline_contact (Optional[Nillable[str]]):

    """

    access_device: AccessDevice = field(metadata={"alias": "accessDevice"})

    line_port: str = field(metadata={"alias": "linePort"})

    private_identity: Optional[str] = field(
        default=None, metadata={"alias": "privateIdentity"}
    )

    contact: Optional[str] = field(default=None, metadata={"alias": "contact"})

    port_number: Optional[int] = field(default=None, metadata={"alias": "portNumber"})

    is_active: bool = field(metadata={"alias": "isActive"})

    allow_origination: bool = field(metadata={"alias": "allowOrigination"})

    allow_termination: bool = field(metadata={"alias": "allowTermination"})

    device_type: Optional[str] = field(default=None, metadata={"alias": "deviceType"})

    protocol: Optional[str] = field(default=None, metadata={"alias": "protocol"})

    net_address: Optional[str] = field(default=None, metadata={"alias": "netAddress"})

    port: Optional[int] = field(default=None, metadata={"alias": "port"})

    outbound_proxy_server_net_address: Optional[str] = field(
        default=None, metadata={"alias": "outboundProxyServerNetAddress"}
    )

    stun_server_net_address: Optional[str] = field(
        default=None, metadata={"alias": "stunServerNetAddress"}
    )

    mac_address: Optional[str] = field(default=None, metadata={"alias": "macAddress"})

    serial_number: Optional[str] = field(
        default=None, metadata={"alias": "serialNumber"}
    )

    description: Optional[str] = field(default=None, metadata={"alias": "description"})

    physical_location: Optional[str] = field(
        default=None, metadata={"alias": "physicalLocation"}
    )

    transport_protocol: Optional[str] = field(
        default=None, metadata={"alias": "transportProtocol"}
    )

    use_custom_user_name_password: Optional[bool] = field(
        default=None, metadata={"alias": "useCustomUserNamePassword"}
    )

    access_device_credentials: Optional[DeviceManagementUserNamePassword16] = field(
        default=None, metadata={"alias": "accessDeviceCredentials"}
    )

    use_hotline: Optional[bool] = field(default=None, metadata={"alias": "useHotline"})

    hotline_contact: Optional[Nillable[str]] = field(
        default=None, metadata={"alias": "hotlineContact"}
    )

    def __post_init__(self):
        nillable_fields = ["hotline_contact"]
        for field_name in nillable_fields:
            value = getattr(self, field_name)
            if value == "" or value == "None":
                object.__setattr__(self, field_name, OCINil)