"""Broadworks OCI-P Interface Response Classes"""
# Autogenerated from the Broadworks XML Schemas.
# Do not edit as changes will be overwritten.
# Generated on 2022-03-12T10:21:34.210441
from typing import List
from typing import Tuple

import broadworks_ocip.types as OCI
from .base import ElementInfo as E
from .base import OCIResponse


class AuthenticationResponse(OCIResponse):
    """
    `AuthenticationRequest()`/Response is 1st stage of the 2 stage OCI login process.


    Attributes:
        user_id (str): userId
        nonce (str): nonce
        password_algorithm (str): passwordAlgorithm
    """

    __slots__: List[str] = [
        "user_id",
        "nonce",
        "password_algorithm",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id", "userId", str, is_required=True),
            E("nonce", "nonce", str, is_required=True),
            E("password_algorithm", "passwordAlgorithm", str, is_required=True),
        )


class AuthenticationVerifyResponse(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest()`

    Replaced By: `AuthenticationVerifyResponse14sp8()`

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "last_name",
        "first_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
        )


class AuthenticationVerifyResponse14sp8(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest14sp8()` If a phoneNumber is returned, it will
    be the primay DN of the user

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
        )


class AuthenticationVerifyResponse21sp1(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest21sp1()` If a phoneNumber is returned, it will
    be the primay DN of the user The parameter tokenRevocationTime is represented in the
    number of milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more
    current time between the system level token revocation time and user level token
    revocation time.

    Replaced by `AuthenticationVerifyResponse22V2()`.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class AuthenticationVerifyResponse22(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest22()` If a phoneNumber is returned, it will be
    the primary DN of the user Replaced by `AuthenticationVerifyResponse22V2()`.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
        )


class AuthenticationVerifyResponse22V2(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest22V2()` The following data elements are only
    returned in AS data mode: tokenRevocationTime If a phoneNumber is returned, it will be
    the primary DN of the user.

    The parameter tokenRevocationTime is represented in the number of milliseconds since
    January 1, 1970, 00:00:00 GMT, and it is set to the more current time between the
    system level token revocation time and user level token revocation time.  Replaced by
    `AuthenticationVerifyResponse22V3()`

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class AuthenticationVerifyResponse22V3(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest22V3()` The following data elements are only
    returned in AS data mode: resellerId If a phoneNumber is returned, it will be the
    primary DN of the user.

    The parameter tokenRevocationTime is represented in the number of milliseconds since
    January 1, 1970, 00:00:00 GMT, and it is set to the more current time between the
    system level token revocation time and user level token revocation time.  Replaced by
    `AuthenticationVerifyResponse22V4()`.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class AuthenticationVerifyResponse22V4(OCIResponse):
    """
    Response to `AuthenticationVerifyRequest22V4()` The following data elements are only
    returned in AS data mode: resellerId If a phoneNumber is returned, it will be the
    primary DN of the user.

    The parameter tokenRevocationTime is represented in the number of milliseconds since
    January 1, 1970, 00:00:00 GMT, and it is set to the more current time between the
    system level token revocation time and user level token revocation time.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class DeviceManagementFileAuthLocationGetResponse(OCIResponse):
    """
    Return the address and credentials of the File Repository hosting the requested access
    device file.

    Also return the file name and path on the File Repository.  This is a response to
    `DeviceManagementFileAuthLocationGetRequest()`.

    Attributes:
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
    """

    __slots__: List[str] = [
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
        )


class DeviceManagementFileAuthLocationGetResponse17(OCIResponse):
    """
    Return the address and credentials of the File Repository hosting the requested access
    device file.

    Also return the file name and path on the File Repository.  This is a response to
    `DeviceManagementFileAuthLocationGetRequest17()`. Replaced by:
    `DeviceManagementFileAuthLocationGetRequest18()`

    Attributes:
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
    """

    __slots__: List[str] = [
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
        )


class DeviceManagementFileAuthLocationGetResponse18(OCIResponse):
    """
    Return the address and credentials of the File Repository hosting the requested access
    device file.

    Also return the file name and path on the File Repository.  This is a response to
    `DeviceManagementFileAuthLocationGetRequest18()`. Replaced by:
    `DeviceManagementFileAuthLocationGetResponse21()`.

    Attributes:
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
    """

    __slots__: List[str] = [
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
        )


class DeviceManagementFileAuthLocationGetResponse20sp1(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest20sp1()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Replaced by:
    `DeviceManagementFileAuthLocationGetResponse21sp1()`.

    Attributes:
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_in_cert (bool): macInCert *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
    """

    __slots__: List[str] = [
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_in_cert",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_in_cert", "macInCert", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
        )


class DeviceManagementFileAuthLocationGetResponse21(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest21()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Also returns
    the status of the file authentication.  Replaced by:
    `DeviceManagementFileAuthLocationGetResponse21sp1()`.

    Attributes:
        status (str): status *Optional*
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
        notify_file_upload (bool): notifyFileUpload *Optional*
    """

    __slots__: List[str] = [
        "status",
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
        "notify_file_upload",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status", "status", str),
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
            E("notify_file_upload", "notifyFileUpload", bool),
        )


class DeviceManagementFileAuthLocationGetResponse21sp1(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest21sp1()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Also returns
    the status of the file authentication.

    Attributes:
        status (str): status *Optional*
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_in_cert (bool): macInCert *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
        notify_file_upload (bool): notifyFileUpload *Optional*
    """

    __slots__: List[str] = [
        "status",
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_in_cert",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
        "notify_file_upload",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status", "status", str),
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_in_cert", "macInCert", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
            E("notify_file_upload", "notifyFileUpload", bool),
        )


class DeviceManagementFileAuthLocationGetResponse22(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest22()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Also returns
    the status of the file authentication.

    Attributes:
        status (str): status *Optional*
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_in_cert (bool): macInCert *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
        notify_file_upload (bool): notifyFileUpload *Optional*
    """

    __slots__: List[str] = [
        "status",
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_in_cert",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
        "notify_file_upload",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status", "status", str),
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_in_cert", "macInCert", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
            E("notify_file_upload", "notifyFileUpload", bool),
        )


class DeviceManagementFileAuthLocationGetResponse22V2(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest22V2()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Also returns
    the status of the file authentication.

    Attributes:
        status (str): status *Optional*
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_in_cert (bool): macInCert *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
        notify_file_upload (bool): notifyFileUpload *Optional*
    """

    __slots__: List[str] = [
        "status",
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_in_cert",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
        "notify_file_upload",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status", "status", str),
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_in_cert", "macInCert", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
            E("notify_file_upload", "notifyFileUpload", bool),
        )


class DeviceManagementFileAuthLocationGetResponse22V3(OCIResponse):
    """
    This is a response to `DeviceManagementFileAuthLocationGetRequest22V3()`.

    Return the address and credentials of the File Repository hosting the requested access
    device file.  Also return the file name and path on the File Repository.  Also returns
    the status of the file authentication.

    Attributes:
        status (str): status *Optional*
        file_repository_user_name (str): fileRepositoryUserName
        file_repository_password (str): fileRepositoryPassword
        net_address (str): netAddress
        remote_file_format (str): remoteFileFormat
        port_number (int): portNumber *Optional*
        root_directory (str): rootDirectory *Optional*
        cpe_file_directory (str): cpeFileDirectory *Optional*
        secure (bool): secure *Optional*
        mac_in_non_request_uri (bool): macInNonRequestURI *Optional*
        mac_in_cert (bool): macInCert *Optional*
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication *Optional*
        mac_based_file_authentication (bool): macBasedFileAuthentication *Optional*
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
            *Optional*
        completion_notification (bool): completionNotification *Optional*
        file_category (str): fileCategory *Optional*
        enable_caching (bool): enableCaching *Optional*
        notify_file_upload (bool): notifyFileUpload *Optional*
    """

    __slots__: List[str] = [
        "status",
        "file_repository_user_name",
        "file_repository_password",
        "net_address",
        "remote_file_format",
        "port_number",
        "root_directory",
        "cpe_file_directory",
        "secure",
        "mac_in_non_request_uri",
        "mac_in_cert",
        "mac_format_in_non_request_uri",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "completion_notification",
        "file_category",
        "enable_caching",
        "notify_file_upload",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status", "status", str),
            E(
                "file_repository_user_name",
                "fileRepositoryUserName",
                str,
                is_required=True,
            ),
            E(
                "file_repository_password",
                "fileRepositoryPassword",
                str,
                is_required=True,
            ),
            E("net_address", "netAddress", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("port_number", "portNumber", int),
            E("root_directory", "rootDirectory", str),
            E("cpe_file_directory", "cpeFileDirectory", str),
            E("secure", "secure", bool),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool),
            E("mac_in_cert", "macInCert", bool),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("use_http_digest_authentication", "useHttpDigestAuthentication", bool),
            E("mac_based_file_authentication", "macBasedFileAuthentication", bool),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
            ),
            E("completion_notification", "completionNotification", bool),
            E("file_category", "fileCategory", str),
            E("enable_caching", "enableCaching", bool),
            E("notify_file_upload", "notifyFileUpload", bool),
        )


class EnterpriseBroadWorksMobileManagerGetDomainListResponse(OCIResponse):
    """
    Response to the `EnterpriseBroadWorksMobileManagerGetDomainListRequest()`.

    Contains the list of domains.

    Attributes:
        domain_name (List[str]): domainName *Optional*
    """

    __slots__: List[str] = [
        "domain_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("domain_name", "domainName", str, is_array=True),)


class EnterpriseBroadWorksMobileManagerGetHomeZoneListResponse(OCIResponse):
    """
    Response to the `EnterpriseBroadWorksMobileManagerGetHomeZoneListRequest()`.

    Contains a table with column headings: "Home Zone Id", "Domain Name", "Mobile Country
    Code", "Mobile Network Code", "Local Area Code" and "Cell Identity".

    Attributes:
        home_zones_table (List(homeZonesTable)): homeZonesTable - *Table* array of
            homeZonesTable named tuples
    """

    __slots__: List[str] = [
        "home_zones_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "home_zones_table",
                "homeZonesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobileManagerGetHomeZoneResponse(OCIResponse):
    """
    Response to the `EnterpriseBroadWorksMobileManagerGetHomeZoneRequest()`

    Attributes:
        home_zone_domain_name (str): homeZoneDomainName
        mobile_country_code (str): mobileCountryCode
        mobile_network_code (str): mobileNetworkCode
        location_area_code (str): locationAreaCode
        cell_identity (str): cellIdentity
    """

    __slots__: List[str] = [
        "home_zone_domain_name",
        "mobile_country_code",
        "mobile_network_code",
        "location_area_code",
        "cell_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("home_zone_domain_name", "homeZoneDomainName", str, is_required=True),
            E("mobile_country_code", "mobileCountryCode", str, is_required=True),
            E("mobile_network_code", "mobileNetworkCode", str, is_required=True),
            E("location_area_code", "locationAreaCode", str, is_required=True),
            E("cell_identity", "cellIdentity", str, is_required=True),
        )


class EnterpriseBroadWorksMobileManagerGetResponse(OCIResponse):
    """
    Response to the `EnterpriseBroadWorksMobileManagerGetRequest()`

    Attributes:
        mobile_manager_id (str): mobileManagerId
        name (str): name
        is_active (bool): isActive
        local_to_carrier (bool): localToCarrier
        deactivation_reason (str): deactivationReason *Optional*
        max_tx_per_second_enabled (bool): maxTxPerSecondEnabled
        max_tx_per_second (int): maxTxPerSecond *Optional*
        tldn_enabled (bool): tldnEnabled
        generic_number_enabled (bool): genericNumberEnabled
        mobile_state_check_enabled (bool): mobileStateCheckEnabled
        location_based_services_enabled (bool): locationBasedServicesEnabled
    """

    __slots__: List[str] = [
        "mobile_manager_id",
        "name",
        "is_active",
        "local_to_carrier",
        "deactivation_reason",
        "max_tx_per_second_enabled",
        "max_tx_per_second",
        "tldn_enabled",
        "generic_number_enabled",
        "mobile_state_check_enabled",
        "location_based_services_enabled",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("mobile_manager_id", "mobileManagerId", str, is_required=True),
            E("name", "name", str, is_required=True),
            E("is_active", "isActive", bool, is_required=True),
            E("local_to_carrier", "localToCarrier", bool, is_required=True),
            E("deactivation_reason", "deactivationReason", str),
            E(
                "max_tx_per_second_enabled",
                "maxTxPerSecondEnabled",
                bool,
                is_required=True,
            ),
            E("max_tx_per_second", "maxTxPerSecond", int),
            E("tldn_enabled", "tldnEnabled", bool, is_required=True),
            E("generic_number_enabled", "genericNumberEnabled", bool, is_required=True),
            E(
                "mobile_state_check_enabled",
                "mobileStateCheckEnabled",
                bool,
                is_required=True,
            ),
            E(
                "location_based_services_enabled",
                "locationBasedServicesEnabled",
                bool,
                is_required=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentListRequest()`.

    The response contains a table with columns: "Mobile Number", "User Id", "Last Name",
    "First Name","Phone Number","Extension", "Group Id", "Department" and "Mobile
    Network". The "Mobile Number" column contains a single DN. The "User Id", "Last Name"
    and "First Name" columns contains the corresponding attributes of the user possessing
    the DN(s). The "Phone Number" column contains a single DN. The "Group Id" column
    contains the Group Id of the user.  The "Department" column contains the department of
    the user if it is part of a department.  The "Mobile Network" column contains the
    Mobile Network the number belongs to.

    Attributes:
        mobile_subscriber_directory_numbers_assignment_table
            (List(mobileSubscriberDirectoryNumbersAssignmentTable)):
            mobileSubscriberDirectoryNumbersAssignmentTable - *Table* array of
            mobileSubscriberDirectoryNumbersAssignmentTable named tuples
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_numbers_assignment_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_numbers_assignment_table",
                "mobileSubscriberDirectoryNumbersAssignmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentPagedSortedListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentPagedSortedListRequest()`.

    The response contains a table with columns: "Mobile Number", "User Id", "Last Name",
    "First Name", "Phone Number", "Extension", "Group Id", "Department", "Department
    Type", "Parent Department", "Parent Department Type", "Mobile Network", "Country
    Code", "National Prefix", "Available", "Mobile Country Code", "Mobile National
    Prefix". The "Mobile Number" column contains a single DN. The "User Id", "Last Name"
    and "First Name" columns contains the corresponding attributes of the user possessing
    the DN(s). The "Phone Number" column contains a single DN. The "Group Id" column
    contains the Group Id of the user.  The "Group Name" column contains the Group Name of
    the user.  The "Department" column contains the department of the user if it is part
    of a department.  The "Parent Department" column contains the parent department of the
    user if it is part of a department.  The "Department Type" and "Parent Department
    Type" columns will contain the values "Enterprise" or "Group". The "Mobile Network"
    column contains the Mobile Network the number belongs to.  The "Country Code" column
    indicates the dialing prefix for the phone number.  The "National Prefix" column
    indicates the digit sequence to be dialed before the telephone number.  The
    "Available" column indicates if the Mobile Number is available.  The "Mobile Country
    Code" column indicates the dialing prefix for the mobile number.  The "Mobile National
    Prefix" column indicates the digit sequence to be dialed before the mobile number.
    Replaced by:
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentPagedSortedListResponse22()`

    Attributes:
        mobile_subscriber_directory_numbers_assignment_table
            (List(mobileSubscriberDirectoryNumbersAssignmentTable)):
            mobileSubscriberDirectoryNumbersAssignmentTable - *Table* array of
            mobileSubscriberDirectoryNumbersAssignmentTable named tuples
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_numbers_assignment_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_numbers_assignment_table",
                "mobileSubscriberDirectoryNumbersAssignmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentPagedSortedListResponse22(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentPagedSortedListRequest22()`.

    The response contains the number of entries that would be returned if the response was
    not page size restricted.  Contains a table with columns: "Mobile Number", "User Id",
    "Last Name", "First Name", "Phone Number", "Extension", "Group Id", "Department",
    "Department Type", "Parent Department", "Parent Department Type", "Mobile Network",
    "Country Code", "National Prefix", "Available", "Mobile Country Code", "Mobile
    National Prefix". The "Mobile Number" column contains a single DN. The "User Id",
    "Last Name" and "First Name" columns contains the corresponding attributes of the user
    possessing the DN(s). The "Phone Number" column contains a single DN. The "Group Id"
    column contains the Group Id of the user.  The "Group Name" column contains the Group
    Name of the user.  The "Department" column contains the department of the user if it
    is part of a department.  The "Parent Department" column contains the parent
    department of the user if it is part of a department.  The "Department Type" and
    "Parent Department Type" columns will contain the values "Enterprise" or "Group". The
    "Mobile Network" column contains the Mobile Network the number belongs to.  The
    "Country Code" column indicates the dialing prefix for the phone number.  The
    "National Prefix" column indicates the digit sequence to be dialed before the
    telephone number.  The "Available" column indicates if the Mobile Number is available.
    The "Mobile Country Code" column indicates the dialing prefix for the mobile number.
    The "Mobile National Prefix" column indicates the digit sequence to be dialed before
    the mobile number.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows *Optional*
        mobile_subscriber_directory_numbers_assignment_table
            (List(mobileSubscriberDirectoryNumbersAssignmentTable)):
            mobileSubscriberDirectoryNumbersAssignmentTable - *Table* array of
            mobileSubscriberDirectoryNumbersAssignmentTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "mobile_subscriber_directory_numbers_assignment_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int),
            E(
                "mobile_subscriber_directory_numbers_assignment_table",
                "mobileSubscriberDirectoryNumbersAssignmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListRequest()`.

    Contains a list of available Mobile Subscriber Directory Numbers not yet assigned to
    any user.

    Attributes:
        available_mobile_subscriber_directory_number (List[str]):
            availableMobileSubscriberDirectoryNumber *Optional*
    """

    __slots__: List[str] = [
        "available_mobile_subscriber_directory_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_mobile_subscriber_directory_number",
                "availableMobileSubscriberDirectoryNumber",
                str,
                is_array=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListResponse22(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListRequest22()`.

    The response contains a table with columns: "Phone Number", "E164 Phone Number". The
    "Phone Number" column contains Mobile Subscriber DNs not yet assigned to any user.
    The "E164 Phone Number" column contains Mobile Subscriber DNs not yet assigned to any
    user in E.164 format.

    Attributes:
        available_mobile_subscriber_directory_number_table
            (List(availableMobileSubscriberDirectoryNumberTable)):
            availableMobileSubscriberDirectoryNumberTable - *Table* array of
            availableMobileSubscriberDirectoryNumberTable named tuples
    """

    __slots__: List[str] = [
        "available_mobile_subscriber_directory_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_mobile_subscriber_directory_number_table",
                "availableMobileSubscriberDirectoryNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailablePagedSortedListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailablePagedSortedListRequest()`.

    The response contains a table with columns: "Mobile Number", "Mobile Network", "Mobile
    Country Code", "Mobile National Prefix". The "Mobile Number" column contains a single
    DN. The "Mobile Network" column contains the Mobile Network the number belongs to.
    The "Mobile Country Code" column indicates the dialing prefix for the mobile number.
    The "Mobile National Prefix" column indicates the digit sequence to be dialed before
    the mobile number.  Replaced by:
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailablePagedSortedListResponse22()`

    Attributes:
        available_mobile_subscriber_directory_number_table
            (List(availableMobileSubscriberDirectoryNumberTable)):
            availableMobileSubscriberDirectoryNumberTable - *Table* array of
            availableMobileSubscriberDirectoryNumberTable named tuples
    """

    __slots__: List[str] = [
        "available_mobile_subscriber_directory_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_mobile_subscriber_directory_number_table",
                "availableMobileSubscriberDirectoryNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailablePagedSortedListResponse22(
    OCIResponse,
):
    """
    Response to
    `EnterpriseBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailablePagedSortedListRequest22()`.

    The response contains the number of entries that would be returned if the response was
    not page size restricted.  Contains a table with columns: "Mobile Number", "Mobile
    Network", "Mobile Country Code", "Mobile National Prefix". The "Mobile Number" column
    contains a single DN. The "Mobile Network" column contains the Mobile Network the
    number belongs to.  The "Mobile Country Code" column indicates the dialing prefix for
    the mobile number.  The "Mobile National Prefix" column indicates the digit sequence
    to be dialed before the mobile number.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows *Optional*
        available_mobile_subscriber_directory_number_table
            (List(availableMobileSubscriberDirectoryNumberTable)):
            availableMobileSubscriberDirectoryNumberTable - *Table* array of
            availableMobileSubscriberDirectoryNumberTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "available_mobile_subscriber_directory_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int),
            E(
                "available_mobile_subscriber_directory_number_table",
                "availableMobileSubscriberDirectoryNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentThresholdDefaultProfileGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentThresholdDefaultProfileGetRequest()`.

    The agent table contains the agents assigned to the profile and has column headings:
    "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name",
    "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_name (str): profileName
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples *Optional*
    """

    __slots__: List[str] = [
        "profile_name",
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_name", "profileName", str, is_required=True),
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E("agent_table", "agentTable", list, is_complex=True, is_table=True),
        )


class EnterpriseCallCenterAgentThresholdProfileGetAvailableAgentListResponse(
    OCIResponse,
):
    """
    Response to the
    `EnterpriseCallCenterAgentThresholdProfileGetAvailableAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Agent Threshold Profile";

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentThresholdProfileGetAvailableAgentPagedSortedListResponse(
    OCIResponse,
):
    """
    Response to the
    `EnterpriseCallCenterAgentThresholdProfileGetAvailableAgentPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Agent Threshold Profile";

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentThresholdProfileGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentThresholdProfileGetListRequest()`.

    Contains a table with all the Call Center Agent Threshold Profiles in the Enterprise.
    The column headings are: "Default", "Name", "Description".

    Attributes:
        profiles_table (List(profilesTable)): profilesTable - *Table* array of
            profilesTable named tuples
    """

    __slots__: List[str] = [
        "profiles_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profiles_table",
                "profilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentThresholdProfileGetPagedSortedResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentThresholdProfileGetPagedSortedRequest()`.

    The agentTable contains the agents assigned to the profile and has the column
    headings: "User Id", "Group Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentThresholdProfileGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentThresholdProfileGetRequest()`.

    The agentTable contains the agents assigned to the profile and has the column
    headings: "User Id", "Group Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentUnavailableCodeGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentUnavailableCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description".

    Attributes:
        unavailable_codes_table (List(unavailableCodesTable)): unavailableCodesTable -
            *Table* array of unavailableCodesTable named tuples
    """

    __slots__: List[str] = [
        "unavailable_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "unavailable_codes_table",
                "unavailableCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterAgentUnavailableCodeGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterAgentUnavailableCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class EnterpriseCallCenterAgentUnavailableCodeSettingsGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterAgentUnavailableCodeSettingsGetRequest()`.

    Replaced by `EnterpriseCallCenterAgentUnavailableCodeSettingsGetResponse17sp4()`.

    Attributes:
        enable_agent_unavailable_codes (bool): enableAgentUnavailableCodes
        default_agent_unavailable_code_on_dnd (str): defaultAgentUnavailableCodeOnDND
            *Optional*
        default_agent_unavailable_code_on_personal_calls (str):
            defaultAgentUnavailableCodeOnPersonalCalls *Optional*
        default_agent_unavailable_code_on_consecutive_bounces (str):
            defaultAgentUnavailableCodeOnConsecutiveBounces *Optional*
        force_use_of_agent_unavailable_codes (bool): forceUseOfAgentUnavailableCodes
        default_agent_unavailable_code (str): defaultAgentUnavailableCode *Optional*
    """

    __slots__: List[str] = [
        "enable_agent_unavailable_codes",
        "default_agent_unavailable_code_on_dnd",
        "default_agent_unavailable_code_on_personal_calls",
        "default_agent_unavailable_code_on_consecutive_bounces",
        "force_use_of_agent_unavailable_codes",
        "default_agent_unavailable_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_agent_unavailable_codes",
                "enableAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_agent_unavailable_code_on_dnd",
                "defaultAgentUnavailableCodeOnDND",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_personal_calls",
                "defaultAgentUnavailableCodeOnPersonalCalls",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_consecutive_bounces",
                "defaultAgentUnavailableCodeOnConsecutiveBounces",
                str,
            ),
            E(
                "force_use_of_agent_unavailable_codes",
                "forceUseOfAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E("default_agent_unavailable_code", "defaultAgentUnavailableCode", str),
        )


class EnterpriseCallCenterAgentUnavailableCodeSettingsGetResponse17sp4(OCIResponse):
    """
    Response to `EnterpriseCallCenterAgentUnavailableCodeSettingsGetRequest17sp4()`.


    Attributes:
        enable_agent_unavailable_codes (bool): enableAgentUnavailableCodes
        default_agent_unavailable_code_on_dnd (str): defaultAgentUnavailableCodeOnDND
            *Optional*
        default_agent_unavailable_code_on_personal_calls (str):
            defaultAgentUnavailableCodeOnPersonalCalls *Optional*
        default_agent_unavailable_code_on_consecutive_bounces (str):
            defaultAgentUnavailableCodeOnConsecutiveBounces *Optional*
        default_agent_unavailable_code_on_not_reachable (str):
            defaultAgentUnavailableCodeOnNotReachable *Optional*
        force_use_of_agent_unavailable_codes (bool): forceUseOfAgentUnavailableCodes
        default_agent_unavailable_code (str): defaultAgentUnavailableCode *Optional*
    """

    __slots__: List[str] = [
        "enable_agent_unavailable_codes",
        "default_agent_unavailable_code_on_dnd",
        "default_agent_unavailable_code_on_personal_calls",
        "default_agent_unavailable_code_on_consecutive_bounces",
        "default_agent_unavailable_code_on_not_reachable",
        "force_use_of_agent_unavailable_codes",
        "default_agent_unavailable_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_agent_unavailable_codes",
                "enableAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_agent_unavailable_code_on_dnd",
                "defaultAgentUnavailableCodeOnDND",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_personal_calls",
                "defaultAgentUnavailableCodeOnPersonalCalls",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_consecutive_bounces",
                "defaultAgentUnavailableCodeOnConsecutiveBounces",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_not_reachable",
                "defaultAgentUnavailableCodeOnNotReachable",
                str,
            ),
            E(
                "force_use_of_agent_unavailable_codes",
                "forceUseOfAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E("default_agent_unavailable_code", "defaultAgentUnavailableCode", str),
        )


class EnterpriseCallCenterCallDispositionCodeGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCallDispositionCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description".

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterCallDispositionCodeGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCallDispositionCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class EnterpriseCallCenterCallDispositionCodeGetUsageListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCallDispositionCodeGetUsageListRequest()`.

    The Type column contains either "Call Center" or "Route Point". Contains a table with
    column headings: "Group Id", "Id", "Name" and "Type".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterCurrentAndPastAgentGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCurrentAndPastAgentGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        deleted_agent_user_table (List(deletedAgentUserTable)): deletedAgentUserTable -
            *Table* array of deletedAgentUserTable named tuples
    """

    __slots__: List[str] = [
        "agent_user_table",
        "deleted_agent_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "deleted_agent_user_table",
                "deletedAgentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterCurrentAndPastCallCenterGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCurrentAndPastCallCenterGetListRequest()`.


    Attributes:
        service_user_id (List[str]): serviceUserId *Optional*
        deleted_service_user_id (List[str]): deletedServiceUserId *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "deleted_service_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_array=True),
            E("deleted_service_user_id", "deletedServiceUserId", str, is_array=True),
        )


class EnterpriseCallCenterCurrentAndPastDNISGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterCurrentAndPastDNISGetListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
        deleted_name (List[str]): deletedName *Optional*
    """

    __slots__: List[str] = [
        "name",
        "deleted_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_array=True),
            E("deleted_name", "deletedName", str, is_array=True),
        )


class EnterpriseCallCenterEnhancedReportingBrandingGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallCenterEnhancedReportingBrandingGetRequest()`.


    Attributes:
        branding_choice (str): brandingChoice
        branding_file_description (str): brandingFileDescription *Optional*
    """

    __slots__: List[str] = [
        "branding_choice",
        "branding_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("branding_choice", "brandingChoice", str, is_required=True),
            E("branding_file_description", "brandingFileDescription", str),
        )


class EnterpriseCallCenterEnhancedReportingGetAvailableReportTemplateListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseCallCenterEnhancedReportingGetAvailableReportTemplateListRequest()`.

    Contains a table with column headings: "Name", "Description" and "Level", "Is Agent
    Required", "Is Call Center Required", "Is Call Center Dnis Required", "Is Real Time
    Report", "Is Sampling Period Required", "Call Completion Threshold Parameter", "Short
    Duration Threshold Parameter", "Service Level Threshold Parameter", "Service Level
    Inclusions Parameter", "Service Level Objective Threshold Parameter", "Abandoned Call
    Threshold Parameter", "Service Level Threshold Parameter Number", "Abandoned Call
    Threshold Parameter Number" and "Scope". The possible values for "Level" are "System"
    and "Enterprise". The possible values for "Is Agent Required", "Is Call Center
    Required", "Is Call Center Dnis Required", "Is Real Time Report" and "Is Sampling
    Period Required" are "true" and "false". The possible values for "Call Completion
    Threshold Parameter", "Short Duration Threshold Parameter", "Service Level Threshold
    Parameter", "Service Level Inclusions Parameter", "Service Level Objective Threshold
    Parameter" and "Abandoned Call Threshold Parameter" are "Required", "Hidden" and "Does
    Not Apply". The possible values for "Scope" are "Supervisor Only" and "Supervisor and
    Agent".

    Attributes:
        report_template_table (List(reportTemplateTable)): reportTemplateTable - *Table*
            array of reportTemplateTable named tuples
    """

    __slots__: List[str] = [
        "report_template_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "report_template_table",
                "reportTemplateTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterEnhancedReportingGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingGetRequest()`.

    Replaced by `EnterpriseCallCenterEnhancedReportingGetResponse19()`

    Attributes:
        reporting_server (str): reportingServer
        web_statistic_source (str): webStatisticSource
    """

    __slots__: List[str] = [
        "reporting_server",
        "web_statistic_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reporting_server", "reportingServer", str, is_required=True),
            E("web_statistic_source", "webStatisticSource", str, is_required=True),
        )


class EnterpriseCallCenterEnhancedReportingGetResponse19(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingGetRequest19()`.


    Attributes:
        reporting_server (str): reportingServer
    """

    __slots__: List[str] = [
        "reporting_server",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("reporting_server", "reportingServer", str, is_required=True),)


class EnterpriseCallCenterEnhancedReportingReportTemplateGetListResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingReportTemplateGetListRequest()`.

    Contains a table with column headings: "Name", "Description", "Type" and "Enabled".

    Attributes:
        report_template_table (List(reportTemplateTable)): reportTemplateTable - *Table*
            array of reportTemplateTable named tuples
    """

    __slots__: List[str] = [
        "report_template_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "report_template_table",
                "reportTemplateTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterEnhancedReportingReportTemplateGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingReportTemplateGetRequest()`.


    Attributes:
        description (str): description *Optional*
        data_template (str): dataTemplate
        filter_number (int): filterNumber *Optional*
        xslt_template_description (str): xsltTemplateDescription
        scope (str): scope
        is_enabled (bool): isEnabled
        is_realtime_report (bool): isRealtimeReport *Optional*
        call_completion_threshold_param (str): callCompletionThresholdParam *Optional*
        short_duration_threshold_param (str): shortDurationThresholdParam *Optional*
        service_level_threshold_param (str): serviceLevelThresholdParam *Optional*
        service_level_inclusions_param (str): serviceLevelInclusionsParam *Optional*
        service_level_objective_threshold_param (str): serviceLevelObjectiveThresholdParam
            *Optional*
        abandoned_call_threshold_param (str): abandonedCallThresholdParam *Optional*
        service_level_threshold_param_number (int): serviceLevelThresholdParamNumber
            *Optional*
        abandoned_call_threshold_param_number (int): abandonedCallThresholdParamNumber
            *Optional*
        filter_value (List[str]): filterValue *Optional*
    """

    __slots__: List[str] = [
        "description",
        "data_template",
        "filter_number",
        "xslt_template_description",
        "scope",
        "is_enabled",
        "is_realtime_report",
        "call_completion_threshold_param",
        "short_duration_threshold_param",
        "service_level_threshold_param",
        "service_level_inclusions_param",
        "service_level_objective_threshold_param",
        "abandoned_call_threshold_param",
        "service_level_threshold_param_number",
        "abandoned_call_threshold_param_number",
        "filter_value",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("data_template", "dataTemplate", str, is_required=True),
            E("filter_number", "filterNumber", int),
            E(
                "xslt_template_description",
                "xsltTemplateDescription",
                str,
                is_required=True,
            ),
            E("scope", "scope", str, is_required=True),
            E("is_enabled", "isEnabled", bool, is_required=True),
            E("is_realtime_report", "isRealtimeReport", bool),
            E("call_completion_threshold_param", "callCompletionThresholdParam", str),
            E("short_duration_threshold_param", "shortDurationThresholdParam", str),
            E("service_level_threshold_param", "serviceLevelThresholdParam", str),
            E("service_level_inclusions_param", "serviceLevelInclusionsParam", str),
            E(
                "service_level_objective_threshold_param",
                "serviceLevelObjectiveThresholdParam",
                str,
            ),
            E("abandoned_call_threshold_param", "abandonedCallThresholdParam", str),
            E(
                "service_level_threshold_param_number",
                "serviceLevelThresholdParamNumber",
                int,
            ),
            E(
                "abandoned_call_threshold_param_number",
                "abandonedCallThresholdParamNumber",
                int,
            ),
            E("filter_value", "filterValue", str, is_array=True),
        )


class EnterpriseCallCenterEnhancedReportingScheduledReportGetActiveListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseCallCenterEnhancedReportingScheduledReportGetActiveListRequest()`.

    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Report Template Name", "Report Template Level" and
    "Recurring". The "Created By" can be either "Administrator" or user id if created by
    supervisor.  The possible values for "Recurring" are "None", "Daily", "Weekly",
    "Monthly" and "Yearly". The possible values for "Report Level" are "System" and
    "Enterprise".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterEnhancedReportingScheduledReportGetCompletedListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseCallCenterEnhancedReportingScheduledReportGetCompletedListRequest()`
    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Report Template Name", "Report Template Level" and
    "Recurring".

    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and
    "Yearly". The possible values for "Report Level" are "System" and "Enterprise".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterEnhancedReportingScheduledReportGetListResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingScheduledReportGetListRequest()`.

    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Status", "Report Template Name", "Report Template Level" and
    "Recurring". The "Created By" can be either "Administrator" or user id if created by
    supervisor.  The possible values for "Status" are "Active", and "Completed". The
    possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and "Yearly".
    The possible values for "Report Level" are "System" and "Enterprise".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListResponse(
    OCIResponse,
):
    """
    Response to
    `EnterpriseCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListRequest()`.

    Contains a table with column headings: "Schedule Name", "Created By", "Created By
    Supervisor", and "Is Active". The "Created By" can be either "Administrator" or user
    id if created by supervisor.

    Attributes:
        schedule_report_table (List(scheduleReportTable)): scheduleReportTable - *Table*
            array of scheduleReportTable named tuples
    """

    __slots__: List[str] = [
        "schedule_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_report_table",
                "scheduleReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterGetRequest()`.

    Replaced by `EnterpriseCallCenterGetResponse17sp4()`.

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
        )


class EnterpriseCallCenterGetResponse17sp4(OCIResponse):
    """
    Response to `EnterpriseCallCenterGetRequest17sp4()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    useSystemDefaultUnavailableSettings forceAgentUnavailableOnDNDActivation
    forceAgentUnavailableOnPersonalCalls forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable Replaced by: `EnterpriseCallCenterGetResponse23()`
    in AS data mode

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
        )


class EnterpriseCallCenterGetResponse23(OCIResponse):
    """
    Response to `EnterpriseCallCenterGetRequest23()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    useSystemDefaultUnavailableSettings forceAgentUnavailableOnDNDActivation
    forceAgentUnavailableOnPersonalCalls forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable wrapUpDestination

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
        wrap_up_destination (str): wrapUpDestination *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "wrap_up_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
            E("wrap_up_destination", "wrapUpDestination", str),
        )


class EnterpriseCallCenterGetRoutingPolicyResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterGetRoutingPolicyRequest()`.

    Contains a table with column headings: "Service User Id", "Name" and "Priority".

    Attributes:
        routing_policy (str): routingPolicy
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "routing_policy",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("routing_policy", "routingPolicy", str, is_required=True),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseCallCenterMonitoringGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterMonitoringGetRequest()`.


    Attributes:
        enable_supervisor_coaching (bool): enableSupervisorCoaching
    """

    __slots__: List[str] = [
        "enable_supervisor_coaching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_supervisor_coaching",
                "enableSupervisorCoaching",
                bool,
                is_required=True,
            ),
        )


class EnterpriseCallCenterMonitoringGetResponse23(OCIResponse):
    """
    Response to `EnterpriseCallCenterMonitoringGetRequest23()`.


    Attributes:
        enable_supervisor_coaching (bool): enableSupervisorCoaching
        bypass_enforcement_of_supervisor_agent_relationship (bool):
            bypassEnforcementOfSupervisorAgentRelationship *Optional*
    """

    __slots__: List[str] = [
        "enable_supervisor_coaching",
        "bypass_enforcement_of_supervisor_agent_relationship",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_supervisor_coaching",
                "enableSupervisorCoaching",
                bool,
                is_required=True,
            ),
            E(
                "bypass_enforcement_of_supervisor_agent_relationship",
                "bypassEnforcementOfSupervisorAgentRelationship",
                bool,
            ),
        )


class EnterpriseCallRecordingGetResponse(OCIResponse):
    """
    Response to the `EnterpriseCallRecordingGetRequest()`.

    The response contains the enterprise's Call Recording attributes.

    Attributes:
        use_cloud_pbx (bool): useCloudPBX
        use_enterprise_setting (bool): useEnterpriseSetting *Optional*
        fqdn (str): FQDN *Optional*
    """

    __slots__: List[str] = [
        "use_cloud_pbx",
        "use_enterprise_setting",
        "fqdn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_cloud_pbx", "useCloudPBX", bool, is_required=True),
            E("use_enterprise_setting", "useEnterpriseSetting", bool),
            E("fqdn", "FQDN", str),
        )


class EnterpriseCommunicationBarringAuthorizationCodeGetResponse(OCIResponse):
    """
    Response to `EntepriseCommunicationBarringAuthorizationCodeGetRequest()`.


    Attributes:
        description (str): description *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "description",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("network_class_of_service", "networkClassOfService", str),
        )


class EnterpriseEnterpriseTrunkGetAvailableUserListResponse(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetAvailableUserListRequest()`.

    The column headings for the enterpriseTrunkUserTable are: "User Id", "Last Name",
    "First Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number",
    "Extension", "Department", "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseEnterpriseTrunkGetListResponse(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetListRequest()`.

    Contains a table of enterprise trunks defined in the enterprise The column headings
    are: "Enterprise Trunk Name", "Routing Type"

    Attributes:
        enterprise_trunk_table (List(enterpriseTrunkTable)): enterpriseTrunkTable -
            *Table* array of enterpriseTrunkTable named tuples
    """

    __slots__: List[str] = [
        "enterprise_trunk_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enterprise_trunk_table",
                "enterpriseTrunkTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseEnterpriseTrunkGetResponse(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetRequest()`.

    Replaced by: `EnterpriseEnterpriseTrunkGetResponse21()`.

    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
        )


class EnterpriseEnterpriseTrunkGetResponse21(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetRequest21()`.


    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
        enable_capacity_management (bool): enableCapacityManagement
        max_active_calls (int): maxActiveCalls *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
            *Optional*
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
            *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
        "enable_capacity_management",
        "max_active_calls",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "enable_capacity_management",
                "enableCapacityManagement",
                bool,
                is_required=True,
            ),
            E("max_active_calls", "maxActiveCalls", int),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
            ),
        )


class EnterpriseEnterpriseTrunkGetResponse22(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetRequest22()`.


    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
        enable_capacity_management (bool): enableCapacityManagement
        max_active_calls (int): maxActiveCalls *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
            *Optional*
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
            *Optional*
        maximum_active_incoming_calls_allowed (int): maximumActiveIncomingCallsAllowed
            *Optional*
        maximum_active_outgoing_calls_allowed (int): maximumActiveOutgoingCallsAllowed
            *Optional*
        minimum_active_calls_reserved (int): minimumActiveCallsReserved *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
        "enable_capacity_management",
        "max_active_calls",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "maximum_active_incoming_calls_allowed",
        "maximum_active_outgoing_calls_allowed",
        "minimum_active_calls_reserved",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "enable_capacity_management",
                "enableCapacityManagement",
                bool,
                is_required=True,
            ),
            E("max_active_calls", "maxActiveCalls", int),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
            ),
            E(
                "maximum_active_incoming_calls_allowed",
                "maximumActiveIncomingCallsAllowed",
                int,
            ),
            E(
                "maximum_active_outgoing_calls_allowed",
                "maximumActiveOutgoingCallsAllowed",
                int,
            ),
            E("minimum_active_calls_reserved", "minimumActiveCallsReserved", int),
        )


class EnterpriseEnterpriseTrunkGetUserListResponse(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetUserListRequest()`.

    The column headings for the enterpriseTrunkUserTable are: "Group Id", "User Id", "Last
    Name", "First Name", "Phone Number", "Alternate Trunk Identity", "Hiragana Last Name",
    "Hiragana First Name", "Extension", "Department", "Email Address" and "Route List
    Assigned".

    Attributes:
        enterprise_trunk_user_table (List(enterpriseTrunkUserTable)):
            enterpriseTrunkUserTable - *Table* array of enterpriseTrunkUserTable named
            tuples
    """

    __slots__: List[str] = [
        "enterprise_trunk_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enterprise_trunk_user_table",
                "enterpriseTrunkUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseLocalGatewayGetPagedSortedListResponse(OCIResponse):
    """
    Response to `EnterpriseLocalGatewayGetPagedSortedListRequest()`.

    Contains a table with column headings "Name", "Device Name", "Device Level", "Group
    Id", "Group Name" and "Group External Id". The "Device Level" column contains one of
    the AccessDeviceLevel enumerated constants.  The following columns are only populated
    in AS data mode "Group External Id"

    Attributes:
        local_gateway_table (List(localGatewayTable)): localGatewayTable - *Table* array
            of localGatewayTable named tuples
    """

    __slots__: List[str] = [
        "local_gateway_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "local_gateway_table",
                "localGatewayTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseLocalGatewayGetUsageResponse(OCIResponse):
    """
    Response to `EnterpriseLocalGatewayGetUsageRequest()`.

    Returns the group ID and group name where the local gateway belongs to, a boolean
    value to indicate if the local gateway is used in the enterprise call processing
    policy.  It also returns an OCITable containing the groups using the given local
    gateway.  Column headings are: "Group Id", "Group Name" and "Group External Id". The
    following columns are only populated in AS data mode "Group External Id"

    Attributes:
        gateway_group_id (str): gatewayGroupId
        gateway_group_name (str): gatewayGroupName *Optional*
        used_by_enterprise (bool): usedByEnterprise
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "gateway_group_id",
        "gateway_group_name",
        "used_by_enterprise",
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("gateway_group_id", "gatewayGroupId", str, is_required=True),
            E("gateway_group_name", "gatewayGroupName", str),
            E("used_by_enterprise", "usedByEnterprise", bool, is_required=True),
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetListResponse(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id". If extended directory information is requested, the following
    columns are also included: "First Name", "Last Name", "User Id", "Pager", "Title",
    "Time Zone", "Location", "Address Line 1", "Address Line 2", "City", "State", "Zip",
    "Country". Replace by: `EnterprisePhoneDirectoryGetListResponse17()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetListResponse17(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetListRequest17()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "Is Virtual On-Net User". If extended directory information is
    requested, the following columns are also included: "First Name", "Last Name", "User
    Id", "Pager", "Title", "Time Zone", "Location", "Address Line 1", "Address Line 2",
    "City", "State", "Zip", "Country". Replaced by:
    `EnterprisePhoneDirectoryGetListResponse18()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetListResponse17sp3(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetListRequest17sp3()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "IMP Id", "Is Virtual On-Net User". If extended directory
    information is requested, the following columns are also included: "First Name", "Last
    Name", "User Id", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country". Replaced by:
    `EnterprisePhoneDirectoryGetListResponse18()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetListResponse18(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetListRequest18()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id", "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country", "Service Name". The Service Name
    represents the localized service name for service instances.  The localized values are
    taken from the BroadworksLabel.properties file.  Service Name is currently supporting:
    AutoAttendant, AutoAttendantStandard, AutoAttendantVideo, CallCenter,
    CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, RoutePoint, BroadWorksAnywhere, GroupPaging, FindmeFollowme,
    VoiceXML, FlexibleSeatingGuest, CollaborateAudio, MeetMeConferencing.  For a Regular
    User or a Virtual On Network Enterprise Extensions, the Service Name is empty.  The
    following columns are returned in AS data mode only: "Service Name"

    Replaced By: `EnterprisePhoneDirectoryGetPagedSortedListResponse()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetPagedListResponse(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetPagedListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id", "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country", "Service Name". The Service Name
    represents the localized service name for service instances.  The localized values are
    taken from the BroadworksLabel.properties file.  Service Name is currently supporting:
    AutoAttendant, AutoAttendantStandard, AutoAttendantVideo, CallCenter,
    CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, RoutePoint, BroadWorksAnywhere, GroupPaging, FindmeFollowme,
    VoiceXML, FlexibleSeatingGuest, CollaborateAudio, MeetMeConferencing.  For a Regular
    User or a Virtual On Network Enterprise Extensions, the Service Name is empty.  The
    following columns are returned in AS data mode only: "Service Name"

    Replaced By: `EnterprisePhoneDirectoryGetPagedSortedListResponse()`

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePhoneDirectoryGetPagedSortedListResponse(OCIResponse):
    """
    Response to `EnterprisePhoneDirectoryGetPagedSortedListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id", "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country", "Service Name". The Service Name
    represents the localized service name for service instances.  The localized values are
    taken from the BroadworksLabel.properties file.  Service Name is currently supporting:
    AutoAttendant, AutoAttendantStandard, AutoAttendantVideo, CallCenter,
    CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, RoutePoint, BroadWorksAnywhere, GroupPaging, FindmeFollowme,
    VoiceXML, FlexibleSeatingGuest, CollaborateAudio, MeetMeConferencing.  For a Regular
    User or a Virtual On Network Enterprise Extensions, the Service Name is empty.  The
    following columns are populated in AS data mode only: "IMP Id"

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterprisePreAlertingAnnouncementGetResponse(OCIResponse):
    """
    Get the Enterprise level pre-alerting service settings.

    The response is either a `EnterprisePreAlertingAnnouncementGetResponse()` or an
    `ErrorResponse()`.

    Attributes:
        announcement_interruption (str): announcementInterruption
        interruption_digit_sequence (str): interruptionDigitSequence *Optional*
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "announcement_interruption",
        "interruption_digit_sequence",
        "audio_selection",
        "audio_file_description",
        "audio_media_type",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_media_type",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_interruption",
                "announcementInterruption",
                str,
                is_required=True,
            ),
            E("interruption_digit_sequence", "interruptionDigitSequence", str),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("video_file_url", "videoFileUrl", str),
        )


class EnterpriseRouteListEnterpriseTrunkNumberPrefixGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to `EnterpriseRouteListEnterpriseTrunkNumberPrefixGetAvailableListRequest()`.

    Contains a list of number prefixes that are assigned to an enterprise and still
    available for assignment to users within the enterprise.  The column headings are
    "Number Prefix" ","Is Active", “Extension Range Start” and “Extension Range End”.

    Attributes:
        available_number_prefix_table (List(availableNumberPrefixTable)):
            availableNumberPrefixTable - *Table* array of availableNumberPrefixTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_prefix_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_prefix_table",
                "availableNumberPrefixTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseRouteListEnterpriseTrunkNumberPrefixGetSummaryListResponse(OCIResponse):
    """
    Response to `EnterpriseRouteListEnterpriseTrunkNumberPrefixGetSummaryListRequest()`.

    The response contains a table with columns: "Number Prefix", "Group Id", "User Id",
    "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name", "Phone
    Number", "Extension", "Department", "Email Address", "Enterprise Trunk"","Is Active",
    “Extension Range Start” and “Extension Range End”. The "User Id", "Last Name", "First
    Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department" and "Email Address" columns contains the corresponding attributes of the
    user possessing the number range.  The "Enterprise Trunk" column contains the
    enterprise trunk the user possessing the number range belongs to.  The "Is Active"
    column indicates if the number range has been activated.  The “Extension Range Start”
    column indicates the start for an extension range.  The “Extension Range End” column
    indicates the end for an extension range.

    Attributes:
        prefix_summary_table (List(prefixSummaryTable)): prefixSummaryTable - *Table*
            array of prefixSummaryTable named tuples
    """

    __slots__: List[str] = [
        "prefix_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "prefix_summary_table",
                "prefixSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseRouteListEnterpriseTrunkNumberRangeGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to `EnterpriseRouteListEnterpriseTrunkNumberRangeGetAvailableListRequest()`.

    Contains a list of number ranges that are assigned to an enterprise and still
    available for assignment to users within the enterprise.  The column headings are
    "Number Range Start", "Number Range End" ,"Is Active" and “Extension Length”..

    Attributes:
        available_number_range_table (List(availableNumberRangeTable)):
            availableNumberRangeTable - *Table* array of availableNumberRangeTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_range_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_range_table",
                "availableNumberRangeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseRouteListEnterpriseTrunkNumberRangeGetSummaryListResponse(OCIResponse):
    """
    Response to `EnterpriseRouteListEnterpriseTrunkNumberRangeGetSummaryListRequest()`.

    The response contains a table with columns: "Number Range Start", "Number Range End",
    "Group Id", "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Phone Number", "Extension", "Department", "Email Address", "Enterprise
    Trunk", "Is Active" and "Extension Length". The "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department"
    and "Email Address" columns contains the corresponding attributes of the user
    possessing the number range.  The "Enterprise Trunk" column contains the enterprise
    trunk the user possessing the number range belongs to.  The "Is Active" column
    indicates if the number range has been activated.  The “Extension Length” column
    indicates the length of the extension for the enterpris trunk number range.

    Attributes:
        number_range_summary_table (List(numberRangeSummaryTable)):
            numberRangeSummaryTable - *Table* array of numberRangeSummaryTable named
            tuples
    """

    __slots__: List[str] = [
        "number_range_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_range_summary_table",
                "numberRangeSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseSecurityClassificationCustomizationGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to `EnterpriseSecurityClassificationCustomizationGetAvailableListRequest()`.

    Returns the available group security classifications.  Contains a table with column
    headings: "SystemSecurityClassification", "CustomizedSecurityClassification"

    Attributes:
        security_classification_name_table (List(securityClassificationNameTable)):
            securityClassificationNameTable - *Table* array of
            securityClassificationNameTable named tuples
    """

    __slots__: List[str] = [
        "security_classification_name_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "security_classification_name_table",
                "securityClassificationNameTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseSessionAdmissionControlGroupGetListResponse(OCIResponse):
    """
    Response to `EnterpriseSessionAdmissionControlGroupGetListRequest()`.

    Contains a table of session admission control group configured in the enterprise.  The
    column headings are: "Name", "Is Default", "Maximum Sessions", "Maximum Originating
    Sessions", "Maximum Terminating Sessions"..

    Attributes:
        session_admission_control_group_table (List(sessionAdmissionControlGroupTable)):
            sessionAdmissionControlGroupTable - *Table* array of
            sessionAdmissionControlGroupTable named tuples
    """

    __slots__: List[str] = [
        "session_admission_control_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "session_admission_control_group_table",
                "sessionAdmissionControlGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseUserCallForwardingSettingsGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseUserCallForwardingSettingsGetListRequest()`.

    Contains a table with column headings: "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", and "Hiragana First Name", "Phone Number", "Extension",
    "Department", "In Trunk Group", "Email Address", "Is Active", "Forwarding Address".
    "Is Active" is "true" or "false". The "Forwarding Address" is the Call Forwarding
    service's forwarding address.  If the service is Call Forwarding Selective, the
    default forwarding address is returned.  "Phone Number" field is presented in the E164
    format.

    Attributes:
        user_call_forwarding_table (List(userCallForwardingTable)):
            userCallForwardingTable - *Table* array of userCallForwardingTable named
            tuples
    """

    __slots__: List[str] = [
        "user_call_forwarding_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_call_forwarding_table",
                "userCallForwardingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseUserCallWaitingSettingsGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseUserCallWaitingSettingsGetListRequest()`.

    Contains a table with column headings: "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", and "Hiragana First Name", "Phone Number", "Extension",
    "Department", "In Trunk Group", "Email Address", "Is Active". "Is Active" is "true" or
    "false". "Phone Number" is presented in the E164 format.

    Attributes:
        user_call_waiting_table (List(userCallWaitingTable)): userCallWaitingTable -
            *Table* array of userCallWaitingTable named tuples
    """

    __slots__: List[str] = [
        "user_call_waiting_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_call_waiting_table",
                "userCallWaitingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseUserCallingPlanSettingsGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseUserCallingPlanSettingsGetListRequest()`.

    Contains a table with column headings: "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", and "Hiragana First Name", "Phone Number", "Extension",
    "Department", "In Trunk Group", "Email Address", "Use Custom Settings". "Use Custom
    Settings" is "true" or "false". "Phone Number" is presented in the E164 format.

    Attributes:
        user_calling_plan_table (List(userCallingPlanTable)): userCallingPlanTable -
            *Table* array of userCallingPlanTable named tuples
    """

    __slots__: List[str] = [
        "user_calling_plan_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_calling_plan_table",
                "userCallingPlanTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseUserHotelingGuestSettingsGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseUserHotelingGuestSettingsGetListRequest()`.

    Contains a table with column headings: "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", and "Hiragana First Name", "Phone Number", "Extension",
    "Department", "In Trunk Group", "Email Address", "Is Active". "Is Active" is "true" or
    "false". "Phone Number" is presented in the E164 format.

    Attributes:
        user_hoteling_guest_table (List(userHotelingGuestTable)): userHotelingGuestTable -
            *Table* array of userHotelingGuestTable named tuples
    """

    __slots__: List[str] = [
        "user_hoteling_guest_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_hoteling_guest_table",
                "userHotelingGuestTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseVirtualOnNetEnterpriseExtensionsGetUserListResponse(OCIResponse):
    """
    Response to `EnterpriseVirtualOnNetEnterpriseExtensionsGetUserListRequest()`.

    Contains a table with column headings : "Group Id", "Last Name", "First Name", "Phone
    Number", "Extension", "Virtual On-Net Call Type" in a row for each user.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseVoiceVPNGetPolicyListResponse(OCIResponse):
    """
    Response to `EnterpriseVoiceVPNGetListResponse()`.

    Returns a 4 column table with column headings: "Location Code", "Min Extension
    Length", "Max Extension Length", "Location Selection".

    Attributes:
        location_list (List(locationList)): locationList - *Table* array of locationList
            named tuples
    """

    __slots__: List[str] = [
        "location_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "location_list",
                "locationList",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class EnterpriseVoiceVPNGetResponse(OCIResponse):
    """
    Response to `EnterpriseVoiceVPNGetRequest()`.

    Replaced By: `EnterpriseVoiceVPNGetResponse14sp3()`

    Attributes:
        is_active (bool): isActive
        default_selection (str): defaultSelection
        e164_selection (str): e164Selection
    """

    __slots__: List[str] = [
        "is_active",
        "default_selection",
        "e164_selection",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("default_selection", "defaultSelection", str, is_required=True),
            E("e164_selection", "e164Selection", str, is_required=True),
        )


class EnterpriseVoiceVPNGetResponse14sp3(OCIResponse):
    """
    Response to `EnterpriseVoiceVPNGetRequest14sp3()`.


    Attributes:
        is_active (bool): isActive
        default_selection (str): defaultSelection
        e164_selection (str): e164Selection
        use_phone_context (bool): usePhoneContext
    """

    __slots__: List[str] = [
        "is_active",
        "default_selection",
        "e164_selection",
        "use_phone_context",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("default_selection", "defaultSelection", str, is_required=True),
            E("e164_selection", "e164Selection", str, is_required=True),
            E("use_phone_context", "usePhoneContext", bool, is_required=True),
        )


class ExternalAuthenticationCreateLoginTokenResponse(OCIResponse):
    """
    Response to `ExternalAuthenticationCreateLoginTokenRequest()`.


    Attributes:
        login_token (str): loginToken
    """

    __slots__: List[str] = [
        "login_token",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("login_token", "loginToken", str, is_required=True),)


class GroupAccessDeviceAvailablePortGetListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceAvailablePortGetListRequest()`.

    Contains a list of available ports in a device using static mode.  The list is empty
    in case the device is using dynamic mode.

    Attributes:
        port_number (List[int]): portNumber *Optional*
    """

    __slots__: List[str] = [
        "port_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("port_number", "portNumber", int, is_array=True),)


class GroupAccessDeviceCustomTagGetListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceCustomTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Actual Tag Value". In XS data mode, the column headings are: "Tag Name",
    "Tag Value", "Actual Tag Value" if request is invoked by an admin without system
    privileges.  "Tag Name", "Tag Value", "Is Encrypted", "Actual Tag Value" if request is
    invoked by an admin with system privileges.

    Attributes:
        device_custom_tags_table (List(deviceCustomTagsTable)): deviceCustomTagsTable -
            *Table* array of deviceCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_custom_tags_table",
                "deviceCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceDeviceActivationGetResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceDeviceActivationGetRequest()`.

    The response contains the activation code (if available), the expiry time (if
    available) and the activation state.  The expiryTime is represented as a timestamp,
    i.e.  the number of milliseconds since January 1, 1970, 00:00:00 GMT.

    Attributes:
        activation_code (str): activationCode *Optional*
        expiry_time (int): expiryTime *Optional*
        activation_state (str): activationState
    """

    __slots__: List[str] = [
        "activation_code",
        "expiry_time",
        "activation_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("activation_code", "activationCode", str),
            E("expiry_time", "expiryTime", int),
            E("activation_state", "activationState", str, is_required=True),
        )


class GroupAccessDeviceFileGetListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetListRequest()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Type", "File Format", "Is
    Authenticated".

    Replaced By: `GroupAccessDeviceFileGetListResponse14sp8()`

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceFileGetListResponse14sp8(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetListRequest14sp8()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Format", "Is Authenticated",
    "Access URL", "Repository URL", "Template URL", "Extended Capture URL", "Is File
    Linked". The following column is only populated in AS data mode for leaf devices.  "Is
    File Linked"

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceFileGetResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetRequest()`.

    Replaced By: `GroupAccessDeviceFileGetResponse14sp8()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class GroupAccessDeviceFileGetResponse14sp8(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetRequest14sp8()`.

    Replaced by: `GroupAccessDeviceFileGetResponse16sp1()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class GroupAccessDeviceFileGetResponse16sp1(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetRequest16sp1()`.

    Replaced by: `GroupAccessDeviceFileGetResponse20()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class GroupAccessDeviceFileGetResponse20(OCIResponse):
    """
    Response to `GroupAccessDeviceFileGetRequest20()`.


    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        extended_capture_enabled (bool): extendedCaptureEnabled *Optional*
        extended_capture_url (str): extendedCaptureURL *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
        "extended_capture_enabled",
        "extended_capture_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("extended_capture_enabled", "extendedCaptureEnabled", bool),
            E("extended_capture_url", "extendedCaptureURL", str),
        )


class GroupAccessDeviceGetAvailableCustomTagListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetAvailableCustomTagListRequest()`.

    Contains a table of all available custom tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Tag Level", "Tag Set Name", "Region Name". In XS data mode: the column
    headings are: "Tag Name", "Tag Value", "Tag Level", "Tag Set Name", "Is Encrypted" if
    request is invoked by a System administrator or by an administrator with higher
    priviledges, otherwise the column headings are: "Tag Name", "Tag Value", "Tag Level",
    "Tag Source", "Tag Set Name". "Tag Level" can take the value: "System Default",
    "System", "Service Provider", "Group" or "Device Profile".

    Attributes:
        device_available_custom_tags_table (List(deviceAvailableCustomTagsTable)):
            deviceAvailableCustomTagsTable - *Table* array of
            deviceAvailableCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_available_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_available_custom_tags_table",
                "deviceAvailableCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetAvailableDetailListResponse14(OCIResponse):
    """
    Response to `GroupAccessDeviceGetAvailableDetailListRequest14()`.


    Attributes:
        available_access_device (List[OCI.availableAccessDevice]): availableAccessDevice
            *Optional*
    """

    __slots__: List[str] = [
        "available_access_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_access_device",
                "availableAccessDevice",
                str,
                is_complex=True,
                is_array=True,
            ),  # unknown
        )


class GroupAccessDeviceGetAvailableDetailListResponse19(OCIResponse):
    """
    Response to `GroupAccessDeviceGetAvailableDetailListRequest19()`.


    Attributes:
        available_access_device (List[OCI.availableAccessDevice]): availableAccessDevice
            *Optional*
    """

    __slots__: List[str] = [
        "available_access_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_access_device",
                "availableAccessDevice",
                str,
                is_complex=True,
                is_array=True,
            ),  # unknown
        )


class GroupAccessDeviceGetEnhancedConfigurationTypeListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetEnhancedConfigurationTypeListRequest()`.


    Attributes:
        device_type (List[str]): deviceType *Optional*
    """

    __slots__: List[str] = [
        "device_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("device_type", "deviceType", str, is_array=True),)


class GroupAccessDeviceGetEnhancedConfigurationTypeResponse14(OCIResponse):
    """
    Response to `GroupAccessDeviceGetEnhancedConfigurationTypeRequest14()`.


    Attributes:
        supports_enhanced_configuration (bool): supportsEnhancedConfiguration
        supports_reset (bool): supportsReset
        configuration_type (str): configurationType *Optional*
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "supports_enhanced_configuration",
        "supports_reset",
        "configuration_type",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supports_enhanced_configuration",
                "supportsEnhancedConfiguration",
                bool,
                is_required=True,
            ),
            E("supports_reset", "supportsReset", bool, is_required=True),
            E("configuration_type", "configurationType", str),
            E("configuration_file_name", "configurationFileName", str),
        )


class GroupAccessDeviceGetListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetListRequest()`.

    Contains a table of devices configured in the group.  The column headings are: "Device
    Name", "Device Type", "Available Ports", "Net Address", "MAC Address", "Status",
    "Version", and "Access Device External Id". The following columns are only populated
    in AS data mode: "Access Device External Id"

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetNativeTagsWithLogicListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetNativeTagsWithLogicListRequest()`.

    Contains a table of all native tags with logic managed by the Device Management System
    on a per-device profile basis.  The column headings are: "Tag Name", "Tag Value".

    Attributes:
        device_native_tags_with_logic_table (List(deviceNativeTagsWithLogicTable)):
            deviceNativeTagsWithLogicTable - *Table* array of
            deviceNativeTagsWithLogicTable named tuples
    """

    __slots__: List[str] = [
        "device_native_tags_with_logic_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_native_tags_with_logic_table",
                "deviceNativeTagsWithLogicTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetPagedSortedListRequest()`.

    Contains a table of devices configured in the group.  The column headings are: "Device
    Name", "Device Type", "Available Ports", "Net Address", "MAC Address", "Status",
    "Version", and "Support Visual Device Management API". When CloudPBX is not licensed,
    the column "Support Visual Device Management API" values are not returned.  Replaced
    by `GroupAccessDeviceGetPagedSortedListResponse22()`.

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetPagedSortedListResponse22(OCIResponse):
    """
    Response to `GroupAccessDeviceGetPagedSortedListRequest22()`.

    Contains a table of devices configured in the group.  The column headings are: "Device
    Name", "Device Type", "Available Ports", "Net Address", "MAC Address", "Status",
    "Version", and "Support Visual Device Management API". When CloudPBX is not licensed,
    the column "Support Visual Device Management API" values are not returned.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows *Optional*
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int),
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetUserListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetUserListRequest()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "User Id", "User Type", "Endpoint Type", "Order", "Primary
    Line/Port", "Extension", "Department", "Email Address", "Private Identity". In IMS
    mode, the table will contain a row for each TEL-URI in the Phone Number column.  In
    Standalone mode, rows for the alternate numbers are not included.  The User Type
    column contains one of the enumerated UserType values.  The Endpoint Type column
    contains one of the enumerated EndpointType values.  The Private Identity column is
    empty is AS mode.  Replaced by: `GroupAccessDeviceGetUserListResponse21sp1()` in AS
    data mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceGetUserListResponse21sp1(OCIResponse):
    """
    Response to `GroupAccessDeviceGetUserListRequest21sp1()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "User Id", "User Type", "Endpoint Type", "Order", "Primary
    Line/Port", "Extension", "Department", "Email Address", "Private Identity". In IMS
    mode, the table will contain a row for each TEL-URI in the Phone Number column.  In
    Standalone mode, rows for the alternate numbers are not included.  The User Type
    column contains one of the enumerated UserType values.  The Endpoint Type column
    contains one of the enumerated EndpointType21sp1 values.  The value Mobility in
    Endpoint Type column is only applicable in AS data mode.  The Private Identity column
    is empty is AS mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccessDeviceTagSetGetResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceTagSetGetRequest()`.

    The response includes a tag set name defined in the access device.

    Attributes:
        tag_set_name (str): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str),)


class GroupAccountAuthorizationCodesGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupAccountAuthorizationCodesGetAvailableUserListRequest()`.

    The column headings are: "User Id", "Last Name", "First Name", "Hiragana Last Name"
    and "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAccountAuthorizationCodesGetResponse(OCIResponse):
    """
    Response to `GroupAccountAuthorizationCodesGetRequest()`.

    The tables has the following column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department", "Email Address".

    Attributes:
        type (str): type
        number_of_digits (int): numberOfDigits
        allow_local_and_toll_free_calls (bool): allowLocalAndTollFreeCalls
        mandatory_usage_user_table (List(mandatoryUsageUserTable)):
            mandatoryUsageUserTable - *Table* array of mandatoryUsageUserTable named
            tuples
        optional_usage_user_table (List(optionalUsageUserTable)): optionalUsageUserTable -
            *Table* array of optionalUsageUserTable named tuples
    """

    __slots__: List[str] = [
        "type",
        "number_of_digits",
        "allow_local_and_toll_free_calls",
        "mandatory_usage_user_table",
        "optional_usage_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("type", "type", str, is_required=True),
            E("number_of_digits", "numberOfDigits", int, is_required=True),
            E(
                "allow_local_and_toll_free_calls",
                "allowLocalAndTollFreeCalls",
                bool,
                is_required=True,
            ),
            E(
                "mandatory_usage_user_table",
                "mandatoryUsageUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "optional_usage_user_table",
                "optionalUsageUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAdminAlternateIdGetListResponse(OCIResponse):
    """
    Response to `GroupAdminAlternateIdGetListRequest()`.

    Contains a table of the main admin user id and the alternate admin user ids, the
    column headings are: "User Id", "Description", "Alternate". The possible values for
    "Alternate" are "true" and "false". The "Description" is only present for alternate
    admin user Ids.

    Attributes:
        admin_user_id_table (List(adminUserIdTable)): adminUserIdTable - *Table* array of
            adminUserIdTable named tuples
    """

    __slots__: List[str] = [
        "admin_user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "admin_user_id_table",
                "adminUserIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAdminGetListResponse(OCIResponse):
    """
    Response to `GroupAdminGetListRequest()`.

    Contains a 7 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Department", "Language", "Locale" and "Encoding". The following columns are
    only returned in AS data mode: "Locale" and "Encoding"

    Attributes:
        group_admin_table (List(groupAdminTable)): groupAdminTable - *Table* array of
            groupAdminTable named tuples
    """

    __slots__: List[str] = [
        "group_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_admin_table",
                "groupAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAdminGetPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupAdminGetPagedSortedListRequest()`.

    Contains a 8 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Administrator Type", "Department", "Language", "Locale" and "Encoding". The
    following columns are only returned in AS data mode: "Locale" and "Encoding".

    Attributes:
        group_admin_table (List(groupAdminTable)): groupAdminTable - *Table* array of
            groupAdminTable named tuples
    """

    __slots__: List[str] = [
        "group_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_admin_table",
                "groupAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAdminGetPolicyResponse(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest()`.

    Contains the policy settings for the group administrator.

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "service_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
        )


class GroupAdminGetPolicyResponse14sp1(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest14sp1()`.

    Contains the policy settings for the group administrator.

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "service_access",
        "trunk_group_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
        )


class GroupAdminGetPolicyResponse16sp1(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest16sp1()`.

    Contains the policy settings for the group administrator.  Replaced by:
    `GroupAdminGetPolicyRequest17()`

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
        )


class GroupAdminGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest16sp2()`.

    Contains the policy settings for the group administrator.

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class GroupAdminGetPolicyResponse17(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest17()`.

    Contains the policy settings for the group administrator.

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        office_zone_access (str): officeZoneAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "office_zone_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
        )


class GroupAdminGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest17sp3()`.

    Contains the policy settings for the group administrator.  The following elements are
    only used in AS data mode: dialableCallerIDAccess

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        office_zone_access (str): officeZoneAccess
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "office_zone_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class GroupAdminGetPolicyResponse18(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest18()`.

    Contains the policy settings for the group administrator.  The following elements are
    only used in AS data mode: dialableCallerIDAccess

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        office_zone_access (str): officeZoneAccess
        number_activation_access (str): numberActivationAccess
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "office_zone_access",
        "number_activation_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "number_activation_access",
                "numberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class GroupAdminGetPolicyResponse19sp1(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest19sp1()`.

    Contains the policy settings for the group administrator.  The following elements are
    only used in AS data mode: dialableCallerIDAccess The following elements are only used
    in AS data mode and not returned in XS data mode communicationBarringUserProfileAccess
    (This element will not be returned in the response for Service Provider group
    administrators)

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        office_zone_access (str): officeZoneAccess
        number_activation_access (str): numberActivationAccess
        dialable_caller_id_access (str): dialableCallerIDAccess
        communication_barring_user_profile_access (str):
            communicationBarringUserProfileAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "office_zone_access",
        "number_activation_access",
        "dialable_caller_id_access",
        "communication_barring_user_profile_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "number_activation_access",
                "numberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "communication_barring_user_profile_access",
                "communicationBarringUserProfileAccess",
                str,
            ),
        )


class GroupAdminGetPolicyResponse20(OCIResponse):
    """
    Response to `GroupAdminGetPolicyRequest20()`.

    Contains the policy settings for the group administrator.  The following elements are
    only used in AS data mode: dialableCallerIDAccess verifyTranslationAndroutingAccess,
    value "None" is returned in XS data mode The following elements are only used in AS
    data mode and not returned in XS data mode: communicationBarringUserProfileAccess
    (This element is only returned for groups in an enterprise)

    Attributes:
        profile_access (str): profileAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        enhanced_service_instance_access (str): enhancedServiceInstanceAccess
        feature_access_code_access (str): featureAccessCodeAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        trunk_group_access (str): trunkGroupAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        office_zone_access (str): officeZoneAccess
        number_activation_access (str): numberActivationAccess
        dialable_caller_id_access (str): dialableCallerIDAccess
        verify_translation_and_routing_access (str): verifyTranslationAndRoutingAccess
        communication_barring_user_profile_access (str):
            communicationBarringUserProfileAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "enhanced_service_instance_access",
        "feature_access_code_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "trunk_group_access",
        "session_admission_control_access",
        "office_zone_access",
        "number_activation_access",
        "dialable_caller_id_access",
        "verify_translation_and_routing_access",
        "communication_barring_user_profile_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "enhanced_service_instance_access",
                "enhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code_access",
                "featureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("trunk_group_access", "trunkGroupAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "number_activation_access",
                "numberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "verify_translation_and_routing_access",
                "verifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
            E(
                "communication_barring_user_profile_access",
                "communicationBarringUserProfileAccess",
                str,
            ),
        )


class GroupAdminGetResponse(OCIResponse):
    """
    Response to the `GroupAdminGetRequest()`.

    The response contains the group administrators profile information.  Replaced by
    `GroupAdminGetResponse21sp1()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "first_name",
        "last_name",
        "language",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
        )


class GroupAdminGetResponse21sp1(OCIResponse):
    """
    Response to the `GroupAdminGetRequest21sp1()`.

    The response contains the group administrators profile information.  Replaced by:
    `GroupAdminGetResponse22()`.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        locale (str): locale
        encoding (str): encoding
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "first_name",
        "last_name",
        "language",
        "locale",
        "encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
        )


class GroupAdminGetResponse22(OCIResponse):
    """
    Response to the `GroupAdminGetRequest22()`.

    The response contains the group administrators profile information.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        locale (str): locale
        encoding (str): encoding
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "first_name",
        "last_name",
        "language",
        "locale",
        "encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
        )


class GroupAdministratorPasswordRulesGetResponse(OCIResponse):
    """
    Response to `GroupAdministratorPasswordRulesGetRequest()`.


    Attributes:
        use_external_authentication (bool): useExternalAuthentication *Optional*
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers *Optional*
        disallow_user_id (bool): disallowUserId *Optional*
        disallow_old_password (bool): disallowOldPassword *Optional*
        disallow_reversed_old_password (bool): disallowReversedOldPassword *Optional*
        restrict_min_digits (bool): restrictMinDigits *Optional*
        min_digits (int): minDigits *Optional*
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters *Optional*
        min_upper_case_letters (int): minUpperCaseLetters *Optional*
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters *Optional*
        min_lower_case_letters (int): minLowerCaseLetters *Optional*
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters *Optional*
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters *Optional*
        min_length (int): minLength *Optional*
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        password_expires_days (int): passwordExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail *Optional*
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_previous_passwords (bool): disallowPreviousPasswords *Optional*
        number_of_previous_passwords (int): numberOfPreviousPasswords *Optional*
    """

    __slots__: List[str] = [
        "use_external_authentication",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_external_authentication", "useExternalAuthentication", bool),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
            ),
            E("disallow_user_id", "disallowUserId", bool),
            E("disallow_old_password", "disallowOldPassword", bool),
            E("disallow_reversed_old_password", "disallowReversedOldPassword", bool),
            E("restrict_min_digits", "restrictMinDigits", bool),
            E("min_digits", "minDigits", int),
            E("restrict_min_upper_case_letters", "restrictMinUpperCaseLetters", bool),
            E("min_upper_case_letters", "minUpperCaseLetters", int),
            E("restrict_min_lower_case_letters", "restrictMinLowerCaseLetters", bool),
            E("min_lower_case_letters", "minLowerCaseLetters", int),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
            ),
            E("min_non_alphanumeric_characters", "minNonAlphanumericCharacters", int),
            E("min_length", "minLength", int),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("password_expires_days", "passwordExpiresDays", int),
            E("send_login_disabled_notify_email", "sendLoginDisabledNotifyEmail", bool),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E("disallow_previous_passwords", "disallowPreviousPasswords", bool),
            E("number_of_previous_passwords", "numberOfPreviousPasswords", int),
        )


class GroupAdviceOfChargeGetResponse(OCIResponse):
    """
    Response to `GroupAdviceOfChargeGetRequest()`.

    Contains a list of Advice of Charge group parameters.

    Attributes:
        use_group_level_ao_c_settings (bool): useGroupLevelAoCSettings
        delay_between_notification_seconds (int): delayBetweenNotificationSeconds
    """

    __slots__: List[str] = [
        "use_group_level_ao_c_settings",
        "delay_between_notification_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_group_level_ao_c_settings",
                "useGroupLevelAoCSettings",
                bool,
                is_required=True,
            ),
            E(
                "delay_between_notification_seconds",
                "delayBetweenNotificationSeconds",
                int,
                is_required=True,
            ),
        )


class GroupAnnouncementFileGetListResponse(OCIResponse):
    """
    Response to `GroupAnnouncementFileGetListRequest()`.

    When requested, the response contains a table with columns: "Name", "Media Type",
    "File Size", "Announcement File External Id". The "Name" column contains the name of
    the announcement file.  The "Media Type" column contains the media type of the
    announcement File with the possible values: WMA - Windows Media Audio file WAV - A WAV
    file 3GP - A 3GP file MOV - A MOV file using a H.263 or H.264 codec.  The "File Size"
    column contains the file size (KB) of the announcement file.  The "Announcement File
    External Id" column contains the External ID of the announcement file.

    The response also contains the current total file size (KB) for the group across all
    media types and the maximum total file size (MB) allowed for the group.  The following
    columns are populated in AS data mode only: "Announcement File External Id"

    Attributes:
        announcement_table (List(announcementTable)): announcementTable - *Table* array of
            announcementTable named tuples *Optional*
        total_file_size (int): totalFileSize
        max_file_size (int): maxFileSize
    """

    __slots__: List[str] = [
        "announcement_table",
        "total_file_size",
        "max_file_size",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_table",
                "announcementTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("total_file_size", "totalFileSize", int, is_required=True),
            E("max_file_size", "maxFileSize", int, is_required=True),
        )


class GroupAnnouncementFileGetPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupAnnouncementFileGetPagedSortedListRequest()`.

    The response contains a table with columns: "Name", "Media Type", "File Size", and
    "Announcement File External Id". The "Name" column contains the name of the
    announcement file.  The "Media Type" column contains the media type of the
    announcement File with the possible values: WMA - Windows Media Audio file WAV - A WAV
    file 3GP - A 3GP file MOV - A MOV file using a H.263 or H.264 codec.  The "File Size"
    column contains the file size (KB) of the announcement file.  The following columns
    are populated in AS data mode only: "Announcement File External Id"

    Attributes:
        announcement_table (List(announcementTable)): announcementTable - *Table* array of
            announcementTable named tuples *Optional*
    """

    __slots__: List[str] = [
        "announcement_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_table",
                "announcementTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class GroupAnnouncementFileGetResponse(OCIResponse):
    """
    Response to `GroupAnnouncementFileGetRequest()`.

    The response contains the file size, uploaded timestamp, description and usage for an
    announcement file in the user announcement repository.  The usage table has columns
    "Service Name", and "Instance Name". The Service Name values correspond to string
    values of the GroupService and UserService data types.  With the exception of the
    string "Voice Portal" which is returned when the announcement is being used by Voice
    Portal Personalized Name.  Replaced by: `GroupAnnouncementFileGetResponse22()`.

    Attributes:
        description (str): description
        filesize (int): filesize
        last_uploaded (str): lastUploaded
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "filesize",
        "last_uploaded",
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str, is_required=True),
            E("filesize", "filesize", int, is_required=True),
            E("last_uploaded", "lastUploaded", str, is_required=True),
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAnnouncementRepositoryGetSettingsResponse(OCIResponse):
    """
    Response to `GroupAnnouncementFileGetSettingsRequest()`.

    The response contains the current total file size (KB) for the group across all media
    types and the maximum total file size (MB) allowed for the group.  It also indicates
    the maximum file size for individual audio and video files.

    Attributes:
        total_file_size (int): totalFileSize
        max_audio_file_size (int): maxAudioFileSize
        max_video_file_size (int): maxVideoFileSize
        max_file_size (int): maxFileSize
    """

    __slots__: List[str] = [
        "total_file_size",
        "max_audio_file_size",
        "max_video_file_size",
        "max_file_size",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_file_size", "totalFileSize", int, is_required=True),
            E("max_audio_file_size", "maxAudioFileSize", int, is_required=True),
            E("max_video_file_size", "maxVideoFileSize", int, is_required=True),
            E("max_file_size", "maxFileSize", int, is_required=True),
        )


class GroupApplicationServerSetGetResponse(OCIResponse):
    """
    Response to the `GroupApplicationServerSetGetRequest()`.

    The response contains the group's Application Server set information.

    Attributes:
        application_server_set_name (str): applicationServerSetName *Optional*
    """

    __slots__: List[str] = [
        "application_server_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("application_server_set_name", "applicationServerSetName", str),)


class GroupAutoAttendantGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupAutoAttendantGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Video", "Phone
    Number", "Extension", "Department", "Is Active", "Type". The column values for "Video"
    and "Is Active" can either be true, or false.  The column values for "Type" can either
    be Basic or Standard.  In XS Mode the value for the "Type" column will always be
    populated with Basic.

    Attributes:
        auto_attendant_table (List(autoAttendantTable)): autoAttendantTable - *Table*
            array of autoAttendantTable named tuples
    """

    __slots__: List[str] = [
        "auto_attendant_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "auto_attendant_table",
                "autoAttendantTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAutoAttendantGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupAutoAttendantGetInstancePagedSortedListRequest()`.

    The response contains a table with columns: "Service User Id", "Name", "Phone Number",
    "Is Phone Number Activated", "Country Code", "National Prefix", "Extension",
    "Department", "Department Type", "Parent Department", "Parent Department Type", "Is
    Active", "Type". The column values for "Is Active" can either be true, or false.  The
    column values for "Type" can either be Basic or Standard.  The "Department Type" and
    "Parent Department Type" columns will contain the values "Enterprise" or "Group". In
    XS Mode the value for the "Type" column will always be populated with Basic.

    Attributes:
        auto_attendant_table (List(autoAttendantTable)): autoAttendantTable - *Table*
            array of autoAttendantTable named tuples
    """

    __slots__: List[str] = [
        "auto_attendant_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "auto_attendant_table",
                "autoAttendantTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAutoAttendantSubmenuGetListResponse(OCIResponse):
    """
    Response to the `GroupAutoAttendantSubmenuGetListRequest()`.

    Contains a table with column headings: "Submenu Id" "Is Used". The column values for
    "Is Used" can either be true, or false.

    Attributes:
        submenu_table (List(submenuTable)): submenuTable - *Table* array of submenuTable
            named tuples
    """

    __slots__: List[str] = [
        "submenu_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "submenu_table",
                "submenuTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupAutoAttendantSubmenuGetUsageListResponse(OCIResponse):
    """
    Response to the `GroupAutoAttendantSubmenuGetUsageListRequest()`.

    Contains a table with column headings: "Type" and "Submenu ID". The "Type" Column will
    contain one of the following: Business Hours Menu, After Hours Menu, Holiday Menu or
    Submenu.  The "Submenu ID" Column will be left blank when the "Type" Column contains
    one of the base menu types (Business Hours Menu, After Hours Menu or Holiday Menu),
    and will contain the Submenu ID when the "Type" Column contains type Submenu.

    Attributes:
        submenu_table (List(submenuTable)): submenuTable - *Table* array of submenuTable
            named tuples
    """

    __slots__: List[str] = [
        "submenu_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "submenu_table",
                "submenuTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupBroadWorksAnywhereGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupBroadWorksAnywhereGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active". The column value for "Is Active" can either be
    true, or false.

    Attributes:
        broad_works_anywhere_table (List(broadWorksAnywhereTable)):
            broadWorksAnywhereTable - *Table* array of broadWorksAnywhereTable named
            tuples
    """

    __slots__: List[str] = [
        "broad_works_anywhere_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "broad_works_anywhere_table",
                "broadWorksAnywhereTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupBroadWorksMobileManagerGetDomainListResponse(OCIResponse):
    """
    Response to the `GroupBroadWorksMobileManagerGetDomainListRequest()`.

    Contains the list of domains.

    Attributes:
        domain_name (List[str]): domainName *Optional*
    """

    __slots__: List[str] = [
        "domain_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("domain_name", "domainName", str, is_array=True),)


class GroupBroadWorksMobileManagerGetHomeZoneListResponse(OCIResponse):
    """
    Response to the `GroupBroadWorksMobileManagerGetHomeZoneListRequest()`.

    Contains a table with column headings: "Home Zone Id", "Domain Name", "Mobile Country
    Code", "Mobile Network Code", "Local Area Code" and "Cell Identity".

    Attributes:
        home_zones_table (List(homeZonesTable)): homeZonesTable - *Table* array of
            homeZonesTable named tuples
    """

    __slots__: List[str] = [
        "home_zones_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "home_zones_table",
                "homeZonesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupBroadWorksMobileManagerGetHomeZoneResponse(OCIResponse):
    """
    Response to the `GroupBroadWorksMobileManagerGetHomeZoneRequest()`

    Attributes:
        home_zone_domain_name (str): homeZoneDomainName
        mobile_country_code (str): mobileCountryCode
        mobile_network_code (str): mobileNetworkCode
        location_area_code (str): locationAreaCode
        cell_identity (str): cellIdentity
    """

    __slots__: List[str] = [
        "home_zone_domain_name",
        "mobile_country_code",
        "mobile_network_code",
        "location_area_code",
        "cell_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("home_zone_domain_name", "homeZoneDomainName", str, is_required=True),
            E("mobile_country_code", "mobileCountryCode", str, is_required=True),
            E("mobile_network_code", "mobileNetworkCode", str, is_required=True),
            E("location_area_code", "locationAreaCode", str, is_required=True),
            E("cell_identity", "cellIdentity", str, is_required=True),
        )


class GroupBroadWorksMobileManagerGetResponse(OCIResponse):
    """
    Response to the `GroupBroadWorksMobileManagerGetRequest()`

    Attributes:
        mobile_manager_id (str): mobileManagerId
        name (str): name
        is_active (bool): isActive
        local_to_carrier (bool): localToCarrier
        deactivation_reason (str): deactivationReason *Optional*
        max_tx_per_second_enabled (bool): maxTxPerSecondEnabled
        max_tx_per_second (int): maxTxPerSecond *Optional*
        tldn_enabled (bool): tldnEnabled
        generic_number_enabled (bool): genericNumberEnabled
        mobile_state_check_enabled (bool): mobileStateCheckEnabled
        location_based_services_enabled (bool): locationBasedServicesEnabled
    """

    __slots__: List[str] = [
        "mobile_manager_id",
        "name",
        "is_active",
        "local_to_carrier",
        "deactivation_reason",
        "max_tx_per_second_enabled",
        "max_tx_per_second",
        "tldn_enabled",
        "generic_number_enabled",
        "mobile_state_check_enabled",
        "location_based_services_enabled",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("mobile_manager_id", "mobileManagerId", str, is_required=True),
            E("name", "name", str, is_required=True),
            E("is_active", "isActive", bool, is_required=True),
            E("local_to_carrier", "localToCarrier", bool, is_required=True),
            E("deactivation_reason", "deactivationReason", str),
            E(
                "max_tx_per_second_enabled",
                "maxTxPerSecondEnabled",
                bool,
                is_required=True,
            ),
            E("max_tx_per_second", "maxTxPerSecond", int),
            E("tldn_enabled", "tldnEnabled", bool, is_required=True),
            E("generic_number_enabled", "genericNumberEnabled", bool, is_required=True),
            E(
                "mobile_state_check_enabled",
                "mobileStateCheckEnabled",
                bool,
                is_required=True,
            ),
            E(
                "location_based_services_enabled",
                "locationBasedServicesEnabled",
                bool,
                is_required=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest()`.


    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
        )


class GroupBroadWorksMobilityGetResponse19sp1(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest19sp1()`.

    Replaced by: `GroupBroadWorksMobilityGetResponse22()` in AS data mode

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse21sp1(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest21sp1()`.

    Replaced by `GroupBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery_access_locations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse22(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest22()`.

    Replaced by `GroupBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse22V2(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest22V2()`.

    Replaced by `GroupBroadWorksMobilityGetResponse22V3()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse22V3(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest22V3()`.

    Replaced by `GroupBroadWorksMobilityGetResponse22V4()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
        network_translation_index (str): networkTranslationIndex *Optional*
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
        "network_translation_index",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
        )


class GroupBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentListResponse(
    OCIResponse,
):
    """
    Response to the
    `GroupBroadWorksMobilityMobileSubscriberDirectoryNumberGetAssignmentListRequest()`.

    The response contains a table with columns: "Mobile Number", "User Id", "Last Name",
    "First Name","Phone Number", "Extension", "Department",. The "Mobile Number" column
    contains a single DN. The "User Id", "Last Name" and "First Name" columns contains the
    corresponding attributes of the user possessing the DN(s). The "Phone Number" column
    contains a single DN. The "Department" column contains the department of the user if
    it is part of a department.

    Attributes:
        mobile_subscriber_directory_number_table
            (List(mobileSubscriberDirectoryNumberTable)):
            mobileSubscriberDirectoryNumberTable - *Table* array of
            mobileSubscriberDirectoryNumberTable named tuples
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_number_table",
                "mobileSubscriberDirectoryNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to
    `GroupBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListRequest()`.

    Contains a list of available Mobile Subscriber Directory Numbers not yet assigned to
    any user.

    Attributes:
        mobile_subscriber_directory_number (List[str]): mobileSubscriberDirectoryNumber
            *Optional*
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_number",
                "mobileSubscriberDirectoryNumber",
                str,
                is_array=True,
            ),
        )


class GroupCallCapacityManagementGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCallCapacityManagementGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCapacityManagementGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupCallCapacityManagementGetInstanceListRequest()`.

    Contains a table with column headings: "Name", "Is Default", "Maximum Calls", "Maximum
    Incoming Calls", "Maximum Outgoing Calls".

    Attributes:
        call_capacity_group_table (List(callCapacityGroupTable)): callCapacityGroupTable -
            *Table* array of callCapacityGroupTable named tuples
    """

    __slots__: List[str] = [
        "call_capacity_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_capacity_group_table",
                "callCapacityGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCapacityManagementGetInstanceResponse(OCIResponse):
    """
    Response to the `GroupCallCapacityManagementGetInstanceRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        name (str): name
        max_active_calls_allowed (int): maxActiveCallsAllowed
        max_incoming_active_calls_allowed (int): maxIncomingActiveCallsAllowed *Optional*
        max_outgoing_active_calls_allowed (int): maxOutgoingActiveCallsAllowed *Optional*
        default_group_for_new_users (bool): defaultGroupForNewUsers
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "name",
        "max_active_calls_allowed",
        "max_incoming_active_calls_allowed",
        "max_outgoing_active_calls_allowed",
        "default_group_for_new_users",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_required=True),
            E(
                "max_active_calls_allowed",
                "maxActiveCallsAllowed",
                int,
                is_required=True,
            ),
            E(
                "max_incoming_active_calls_allowed",
                "maxIncomingActiveCallsAllowed",
                int,
            ),
            E(
                "max_outgoing_active_calls_allowed",
                "maxOutgoingActiveCallsAllowed",
                int,
            ),
            E(
                "default_group_for_new_users",
                "defaultGroupForNewUsers",
                bool,
                is_required=True,
            ),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentThresholdDefaultProfileGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentThresholdDefaultProfileGetRequest()`.

    The agent table contains the agents assigned to the profile and has column headings:
    "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name",
    "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_name (str): profileName
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples *Optional*
    """

    __slots__: List[str] = [
        "profile_name",
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_name", "profileName", str, is_required=True),
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E("agent_table", "agentTable", list, is_complex=True, is_table=True),
        )


class GroupCallCenterAgentThresholdProfileGetAvailableAgentListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentThresholdProfileGetAvailableAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Agent Threshold Profile";

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentThresholdProfileGetAvailableAgentPagedSortedListResponse(
    OCIResponse,
):
    """
    Response to the
    `GroupCallCenterAgentThresholdProfileGetAvailableAgentPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Agent Threshold Profile";

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentThresholdProfileGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentThresholdProfileGetListRequest()`.

    Contains a table with all the Call Center Agent Threshold Profiles in the Group.  The
    column headings are: "Default", "Name", "Description".

    Attributes:
        profiles_table (List(profilesTable)): profilesTable - *Table* array of
            profilesTable named tuples
    """

    __slots__: List[str] = [
        "profiles_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profiles_table",
                "profilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentThresholdProfileGetPagedSortedResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentThresholdProfileGetPagedSortedRequest()`.

    The agentTable contains the agents assigned to the profile and has the column
    headings: "User Id", "Group Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentThresholdProfileGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentThresholdProfileGetRequest()`.

    The agentTable contains the agents assigned to the profile and has the column
    headings: "User Id", "Group Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address";

    Attributes:
        profile_description (str): profileDescription *Optional*
        threshold_current_call_state_idle_time_yellow (int):
            thresholdCurrentCallStateIdleTimeYellow *Optional*
        threshold_current_call_state_idle_time_red (int):
            thresholdCurrentCallStateIdleTimeRed *Optional*
        threshold_current_call_state_on_call_time_yellow (int):
            thresholdCurrentCallStateOnCallTimeYellow *Optional*
        threshold_current_call_state_on_call_time_red (int):
            thresholdCurrentCallStateOnCallTimeRed *Optional*
        threshold_current_agent_state_unavailable_time_yellow (int):
            thresholdCurrentAgentStateUnavailableTimeYellow *Optional*
        threshold_current_agent_state_unavailable_time_red (int):
            thresholdCurrentAgentStateUnavailableTimeRed *Optional*
        threshold_average_busy_in_time_yellow (int): thresholdAverageBusyInTimeYellow
            *Optional*
        threshold_average_busy_in_time_red (int): thresholdAverageBusyInTimeRed *Optional*
        threshold_average_busy_out_time_yellow (int): thresholdAverageBusyOutTimeYellow
            *Optional*
        threshold_average_busy_out_time_red (int): thresholdAverageBusyOutTimeRed
            *Optional*
        threshold_average_wrap_up_time_yellow (int): thresholdAverageWrapUpTimeYellow
            *Optional*
        threshold_average_wrap_up_time_red (int): thresholdAverageWrapUpTimeRed *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "profile_description",
        "threshold_current_call_state_idle_time_yellow",
        "threshold_current_call_state_idle_time_red",
        "threshold_current_call_state_on_call_time_yellow",
        "threshold_current_call_state_on_call_time_red",
        "threshold_current_agent_state_unavailable_time_yellow",
        "threshold_current_agent_state_unavailable_time_red",
        "threshold_average_busy_in_time_yellow",
        "threshold_average_busy_in_time_red",
        "threshold_average_busy_out_time_yellow",
        "threshold_average_busy_out_time_red",
        "threshold_average_wrap_up_time_yellow",
        "threshold_average_wrap_up_time_red",
        "enable_notification_email",
        "notification_email_address",
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_description", "profileDescription", str),
            E(
                "threshold_current_call_state_idle_time_yellow",
                "thresholdCurrentCallStateIdleTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_idle_time_red",
                "thresholdCurrentCallStateIdleTimeRed",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_yellow",
                "thresholdCurrentCallStateOnCallTimeYellow",
                int,
            ),
            E(
                "threshold_current_call_state_on_call_time_red",
                "thresholdCurrentCallStateOnCallTimeRed",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_yellow",
                "thresholdCurrentAgentStateUnavailableTimeYellow",
                int,
            ),
            E(
                "threshold_current_agent_state_unavailable_time_red",
                "thresholdCurrentAgentStateUnavailableTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_in_time_yellow",
                "thresholdAverageBusyInTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_in_time_red",
                "thresholdAverageBusyInTimeRed",
                int,
            ),
            E(
                "threshold_average_busy_out_time_yellow",
                "thresholdAverageBusyOutTimeYellow",
                int,
            ),
            E(
                "threshold_average_busy_out_time_red",
                "thresholdAverageBusyOutTimeRed",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_yellow",
                "thresholdAverageWrapUpTimeYellow",
                int,
            ),
            E(
                "threshold_average_wrap_up_time_red",
                "thresholdAverageWrapUpTimeRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentUnavailableCodeGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentUnavailableCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description".

    Attributes:
        unavailable_codes_table (List(unavailableCodesTable)): unavailableCodesTable -
            *Table* array of unavailableCodesTable named tuples
    """

    __slots__: List[str] = [
        "unavailable_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "unavailable_codes_table",
                "unavailableCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterAgentUnavailableCodeGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterAgentUnavailableCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class GroupCallCenterAgentUnavailableCodeSettingsGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterAgentUnavailableCodeSettingsGetRequest()`.

    Replaced by `GroupCallCenterAgentUnavailableCodeSettingsGetResponse17sp4()`.

    Attributes:
        enable_agent_unavailable_codes (bool): enableAgentUnavailableCodes
        default_agent_unavailable_code_on_dnd (str): defaultAgentUnavailableCodeOnDND
            *Optional*
        default_agent_unavailable_code_on_personal_calls (str):
            defaultAgentUnavailableCodeOnPersonalCalls *Optional*
        default_agent_unavailable_code_on_consecutive_bounces (str):
            defaultAgentUnavailableCodeOnConsecutiveBounces *Optional*
        force_use_of_agent_unavailable_codes (bool): forceUseOfAgentUnavailableCodes
        default_agent_unavailable_code (str): defaultAgentUnavailableCode *Optional*
    """

    __slots__: List[str] = [
        "enable_agent_unavailable_codes",
        "default_agent_unavailable_code_on_dnd",
        "default_agent_unavailable_code_on_personal_calls",
        "default_agent_unavailable_code_on_consecutive_bounces",
        "force_use_of_agent_unavailable_codes",
        "default_agent_unavailable_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_agent_unavailable_codes",
                "enableAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_agent_unavailable_code_on_dnd",
                "defaultAgentUnavailableCodeOnDND",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_personal_calls",
                "defaultAgentUnavailableCodeOnPersonalCalls",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_consecutive_bounces",
                "defaultAgentUnavailableCodeOnConsecutiveBounces",
                str,
            ),
            E(
                "force_use_of_agent_unavailable_codes",
                "forceUseOfAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E("default_agent_unavailable_code", "defaultAgentUnavailableCode", str),
        )


class GroupCallCenterAgentUnavailableCodeSettingsGetResponse17sp4(OCIResponse):
    """
    Response to `GroupCallCenterAgentUnavailableCodeSettingsGetRequest17sp4()`.


    Attributes:
        enable_agent_unavailable_codes (bool): enableAgentUnavailableCodes
        default_agent_unavailable_code_on_dnd (str): defaultAgentUnavailableCodeOnDND
            *Optional*
        default_agent_unavailable_code_on_personal_calls (str):
            defaultAgentUnavailableCodeOnPersonalCalls *Optional*
        default_agent_unavailable_code_on_consecutive_bounces (str):
            defaultAgentUnavailableCodeOnConsecutiveBounces *Optional*
        default_agent_unavailable_code_on_not_reachable (str):
            defaultAgentUnavailableCodeOnNotReachable *Optional*
        force_use_of_agent_unavailable_codes (bool): forceUseOfAgentUnavailableCodes
        default_agent_unavailable_code (str): defaultAgentUnavailableCode *Optional*
    """

    __slots__: List[str] = [
        "enable_agent_unavailable_codes",
        "default_agent_unavailable_code_on_dnd",
        "default_agent_unavailable_code_on_personal_calls",
        "default_agent_unavailable_code_on_consecutive_bounces",
        "default_agent_unavailable_code_on_not_reachable",
        "force_use_of_agent_unavailable_codes",
        "default_agent_unavailable_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_agent_unavailable_codes",
                "enableAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_agent_unavailable_code_on_dnd",
                "defaultAgentUnavailableCodeOnDND",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_personal_calls",
                "defaultAgentUnavailableCodeOnPersonalCalls",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_consecutive_bounces",
                "defaultAgentUnavailableCodeOnConsecutiveBounces",
                str,
            ),
            E(
                "default_agent_unavailable_code_on_not_reachable",
                "defaultAgentUnavailableCodeOnNotReachable",
                str,
            ),
            E(
                "force_use_of_agent_unavailable_codes",
                "forceUseOfAgentUnavailableCodes",
                bool,
                is_required=True,
            ),
            E("default_agent_unavailable_code", "defaultAgentUnavailableCode", str),
        )


class GroupCallCenterBouncedCallGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterBouncedCallGetRequest()`.


    Attributes:
        is_active (bool): isActive
        number_of_rings_before_bouncing_call (int): numberOfRingsBeforeBouncingCall
        enable_transfer (bool): enableTransfer *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        bounce_call_when_agent_unavailable (bool): bounceCallWhenAgentUnavailable
    """

    __slots__: List[str] = [
        "is_active",
        "number_of_rings_before_bouncing_call",
        "enable_transfer",
        "transfer_phone_number",
        "bounce_call_when_agent_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "number_of_rings_before_bouncing_call",
                "numberOfRingsBeforeBouncingCall",
                int,
                is_required=True,
            ),
            E("enable_transfer", "enableTransfer", bool),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "bounce_call_when_agent_unavailable",
                "bounceCallWhenAgentUnavailable",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterBouncedCallGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterBouncedCallGetRequest17()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    enableTransfer transferPhoneNumber bounceCallWhenAgentUnavailable
    alertCallCenterCallOnHold alertCallCenterCallOnHoldSeconds bounceCallCenterCallOnHold
    bounceCallCenterCallOnHoldSeconds

    Attributes:
        is_active (bool): isActive
        number_of_rings_before_bouncing_call (int): numberOfRingsBeforeBouncingCall
        enable_transfer (bool): enableTransfer *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        bounce_call_when_agent_unavailable (bool): bounceCallWhenAgentUnavailable
            *Optional*
        alert_call_center_call_on_hold (bool): alertCallCenterCallOnHold *Optional*
        alert_call_center_call_on_hold_seconds (int): alertCallCenterCallOnHoldSeconds
            *Optional*
        bounce_call_center_call_on_hold (bool): bounceCallCenterCallOnHold *Optional*
        bounce_call_center_call_on_hold_seconds (int): bounceCallCenterCallOnHoldSeconds
            *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "number_of_rings_before_bouncing_call",
        "enable_transfer",
        "transfer_phone_number",
        "bounce_call_when_agent_unavailable",
        "alert_call_center_call_on_hold",
        "alert_call_center_call_on_hold_seconds",
        "bounce_call_center_call_on_hold",
        "bounce_call_center_call_on_hold_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "number_of_rings_before_bouncing_call",
                "numberOfRingsBeforeBouncingCall",
                int,
                is_required=True,
            ),
            E("enable_transfer", "enableTransfer", bool),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "bounce_call_when_agent_unavailable",
                "bounceCallWhenAgentUnavailable",
                bool,
            ),
            E("alert_call_center_call_on_hold", "alertCallCenterCallOnHold", bool),
            E(
                "alert_call_center_call_on_hold_seconds",
                "alertCallCenterCallOnHoldSeconds",
                int,
            ),
            E("bounce_call_center_call_on_hold", "bounceCallCenterCallOnHold", bool),
            E(
                "bounce_call_center_call_on_hold_seconds",
                "bounceCallCenterCallOnHoldSeconds",
                int,
            ),
        )


class GroupCallCenterCallDispositionCodeGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCallDispositionCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description".

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterCallDispositionCodeGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCallDispositionCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class GroupCallCenterCallDispositionCodeGetUsageListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCallDispositionCodeGetUsageListRequest()`.

    The Type column contains either "Call Center" or "Route Point". Contains a table with
    column headings: "Id", "Name" and "Type".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterComfortMessageBypassGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterComfortMessageBypassGetRequest()`.


    Attributes:
        is_active (bool): isActive
        call_waiting_age_threshold_seconds (int): callWaitingAgeThresholdSeconds
        play_announcement_after_ringing (bool): playAnnouncementAfterRinging
        ring_time_before_playing_announcement_seconds (int):
            ringTimeBeforePlayingAnnouncementSeconds
        audio_message_selection (str): audioMessageSelection
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "call_waiting_age_threshold_seconds",
        "play_announcement_after_ringing",
        "ring_time_before_playing_announcement_seconds",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "call_waiting_age_threshold_seconds",
                "callWaitingAgeThresholdSeconds",
                int,
                is_required=True,
            ),
            E(
                "play_announcement_after_ringing",
                "playAnnouncementAfterRinging",
                bool,
                is_required=True,
            ),
            E(
                "ring_time_before_playing_announcement_seconds",
                "ringTimeBeforePlayingAnnouncementSeconds",
                int,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
        )


class GroupCallCenterCurrentAndPastAgentGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCurrentAndPastAgentGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        deleted_agent_user_table (List(deletedAgentUserTable)): deletedAgentUserTable -
            *Table* array of deletedAgentUserTable named tuples
    """

    __slots__: List[str] = [
        "agent_user_table",
        "deleted_agent_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "deleted_agent_user_table",
                "deletedAgentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterCurrentAndPastCallCenterGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCurrentAndPastCallCenterGetListRequest()`.


    Attributes:
        service_user_id (List[str]): serviceUserId *Optional*
        deleted_service_user_id (List[str]): deletedServiceUserId *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "deleted_service_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_array=True),
            E("deleted_service_user_id", "deletedServiceUserId", str, is_array=True),
        )


class GroupCallCenterCurrentAndPastDNISGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterCurrentAndPastDNISGetListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
        deleted_name (List[str]): deletedName *Optional*
    """

    __slots__: List[str] = [
        "name",
        "deleted_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_array=True),
            E("deleted_name", "deletedName", str, is_array=True),
        )


class GroupCallCenterDistinctiveRingingGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterDistinctiveRingingGetRequest()`.

    The following element is only used in AS data mode and not returned in XS data mode:
    distinctiveRingingForceDeliveryRingPattern

    Attributes:
        distinctive_ringing_call_center_calls (bool): distinctiveRingingCallCenterCalls
        distinctive_ringing_ring_pattern_for_call_center (str):
            distinctiveRingingRingPatternForCallCenter
        distinctive_ringing_force_delivery_ring_pattern (str):
            distinctiveRingingForceDeliveryRingPattern *Optional*
    """

    __slots__: List[str] = [
        "distinctive_ringing_call_center_calls",
        "distinctive_ringing_ring_pattern_for_call_center",
        "distinctive_ringing_force_delivery_ring_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "distinctive_ringing_call_center_calls",
                "distinctiveRingingCallCenterCalls",
                bool,
                is_required=True,
            ),
            E(
                "distinctive_ringing_ring_pattern_for_call_center",
                "distinctiveRingingRingPatternForCallCenter",
                str,
                is_required=True,
            ),
            E(
                "distinctive_ringing_force_delivery_ring_pattern",
                "distinctiveRingingForceDeliveryRingPattern",
                str,
            ),
        )


class GroupCallCenterEnhancedGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedGetRequest()`.


    Attributes:
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime
        wrap_up_seconds (int): wrapUpSeconds *Optional*
    """

    __slots__: List[str] = [
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "override_agent_wrap_up_time",
                "overrideAgentWrapUpTime",
                bool,
                is_required=True,
            ),
            E("wrap_up_seconds", "wrapUpSeconds", int),
        )


class GroupCallCenterEnhancedReportingBrandingGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterEnhancedReportingBrandingGetRequest()`.


    Attributes:
        branding_choice (str): brandingChoice
        branding_file_description (str): brandingFileDescription *Optional*
    """

    __slots__: List[str] = [
        "branding_choice",
        "branding_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("branding_choice", "brandingChoice", str, is_required=True),
            E("branding_file_description", "brandingFileDescription", str),
        )


class GroupCallCenterEnhancedReportingGetAvailableReportTemplateListResponse(
    OCIResponse,
):
    """
    Response to `GroupCallCenterEnhancedReportingGetAvailableReportTemplateListRequest()`.

    Contains a table with column headings: "Name", "Description" and "Level", "Is Agent
    Required", "Is Call Center Required", "Is Call Center Dnis Required","Is Real Time
    Report", "Is Sampling Period Required", "Call Completion Threshold Parameter", "Short
    Duration Threshold Parameter", "Service Level Threshold Parameter", "Service Level
    Inclusions Parameter", "Service Level Objective Threshold Parameter", "Abandoned Call
    Threshold Parameter", "Service Level Threshold Parameter Number", and "Abandoned Call
    Threshold Parameter Number". The possible values for "Level" are "System" and "Group".
    The possible values for "Is Agent Required", "Is Call Center Required", "Is Call
    Center Dnis Required", "Is Real Time Report" and "Is Sampling Period Required" are
    "true" and "false". The possible values for "Call Completion Threshold Parameter",
    "Short Duration Threshold Parameter", "Service Level Threshold Parameter", "Service
    Level Inclusions Parameter","Service Level Objective Threshold Parameter" and
    "Abandoned Call Threshold Parameter" are "Required", "Hidden" and "Does Not Apply".

    Attributes:
        report_template_table (List(reportTemplateTable)): reportTemplateTable - *Table*
            array of reportTemplateTable named tuples
    """

    __slots__: List[str] = [
        "report_template_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "report_template_table",
                "reportTemplateTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterEnhancedReportingGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingGetRequest()`.

    Replaced by `GroupCallCenterEnhancedReportingGetResponse19()`

    Attributes:
        reporting_server (str): reportingServer
        web_statistic_source (str): webStatisticSource
    """

    __slots__: List[str] = [
        "reporting_server",
        "web_statistic_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reporting_server", "reportingServer", str, is_required=True),
            E("web_statistic_source", "webStatisticSource", str, is_required=True),
        )


class GroupCallCenterEnhancedReportingGetResponse19(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingGetRequest19()`.


    Attributes:
        reporting_server (str): reportingServer
    """

    __slots__: List[str] = [
        "reporting_server",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("reporting_server", "reportingServer", str, is_required=True),)


class GroupCallCenterEnhancedReportingReportTemplateGetListResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingReportTemplateGetListRequest()`.

    Contains a table with column headings: "Name", "Description", "Type" and "Enabled"

    Attributes:
        report_template_table (List(reportTemplateTable)): reportTemplateTable - *Table*
            array of reportTemplateTable named tuples
    """

    __slots__: List[str] = [
        "report_template_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "report_template_table",
                "reportTemplateTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterEnhancedReportingReportTemplateGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingReportTemplateGetRequest()`.


    Attributes:
        description (str): description *Optional*
        data_template (str): dataTemplate
        filter_number (int): filterNumber *Optional*
        xslt_template_description (str): xsltTemplateDescription
        scope (str): scope
        is_enabled (bool): isEnabled
        is_realtime_report (bool): isRealtimeReport *Optional*
        call_completion_threshold_param (str): callCompletionThresholdParam *Optional*
        short_duration_threshold_param (str): shortDurationThresholdParam *Optional*
        service_level_threshold_param (str): serviceLevelThresholdParam *Optional*
        service_level_inclusions_param (str): serviceLevelInclusionsParam *Optional*
        service_level_objective_threshold_param (str): serviceLevelObjectiveThresholdParam
            *Optional*
        abandoned_call_threshold_param (str): abandonedCallThresholdParam *Optional*
        service_level_threshold_param_number (int): serviceLevelThresholdParamNumber
            *Optional*
        abandoned_call_threshold_param_number (int): abandonedCallThresholdParamNumber
            *Optional*
        filter_value (List[str]): filterValue *Optional*
    """

    __slots__: List[str] = [
        "description",
        "data_template",
        "filter_number",
        "xslt_template_description",
        "scope",
        "is_enabled",
        "is_realtime_report",
        "call_completion_threshold_param",
        "short_duration_threshold_param",
        "service_level_threshold_param",
        "service_level_inclusions_param",
        "service_level_objective_threshold_param",
        "abandoned_call_threshold_param",
        "service_level_threshold_param_number",
        "abandoned_call_threshold_param_number",
        "filter_value",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("data_template", "dataTemplate", str, is_required=True),
            E("filter_number", "filterNumber", int),
            E(
                "xslt_template_description",
                "xsltTemplateDescription",
                str,
                is_required=True,
            ),
            E("scope", "scope", str, is_required=True),
            E("is_enabled", "isEnabled", bool, is_required=True),
            E("is_realtime_report", "isRealtimeReport", bool),
            E("call_completion_threshold_param", "callCompletionThresholdParam", str),
            E("short_duration_threshold_param", "shortDurationThresholdParam", str),
            E("service_level_threshold_param", "serviceLevelThresholdParam", str),
            E("service_level_inclusions_param", "serviceLevelInclusionsParam", str),
            E(
                "service_level_objective_threshold_param",
                "serviceLevelObjectiveThresholdParam",
                str,
            ),
            E("abandoned_call_threshold_param", "abandonedCallThresholdParam", str),
            E(
                "service_level_threshold_param_number",
                "serviceLevelThresholdParamNumber",
                int,
            ),
            E(
                "abandoned_call_threshold_param_number",
                "abandonedCallThresholdParamNumber",
                int,
            ),
            E("filter_value", "filterValue", str, is_array=True),
        )


class GroupCallCenterEnhancedReportingScheduledReportGetActiveListResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingScheduledReportGetActiveListRequest()`
    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Report Template Name", "Report Template Level" and
    "Recurring".

    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and
    "Yearly". The possible values for "Report Template Level" are "System" and "Group".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterEnhancedReportingScheduledReportGetCompletedListResponse(
    OCIResponse,
):
    """
    Response to `GroupCallCenterEnhancedReportingScheduledReportGetCompletedListRequest()`
    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Report Template Name", "Report Template Level" and
    "Recurring".

    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and
    "Yearly". The possible values for "Report Template Level" are "System" and "Group".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterEnhancedReportingScheduledReportGetListResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingScheduledReportGetListRequest()`.

    Contains a table with column headings : "Schedule Name", "Description", "Created By",
    "Is Supervisor Report", "Status", "Report Template Name", "Report Template Level" and
    "Recurring". The "Created By" can be either "Administrator" or user id if created by
    supervisor.  The possible values for "Status" are "Active", and "Completed". The
    possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and "Yearly".
    The possible values for "Report Template Level" are "System" and "Group".

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListResponse(
    OCIResponse,
):
    """
    Response to
    `GroupCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListRequest()`.

    Contains a table with column headings: "Schedule Name", "Created By", "Created By
    Supervisor", and "Is Active". The "Created By" can be either "Administrator" or user
    id if created by supervisor.

    Attributes:
        schedule_report_table (List(scheduleReportTable)): scheduleReportTable - *Table*
            array of scheduleReportTable named tuples
    """

    __slots__: List[str] = [
        "schedule_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_report_table",
                "scheduleReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterForcedForwardingGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterForcedForwardingGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        allow_enable_via_fac (bool): allowEnableViaFAC
        play_announcement_before_forwarding (bool): playAnnouncementBeforeForwarding
        audio_message_selection (str): audioMessageSelection
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "allow_enable_via_fac",
        "play_announcement_before_forwarding",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("allow_enable_via_fac", "allowEnableViaFAC", bool, is_required=True),
            E(
                "play_announcement_before_forwarding",
                "playAnnouncementBeforeForwarding",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
        )


class GroupCallCenterGetAgentListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Weight", "Phone Number", "Extension",
    "Department", "Email Address", "Skill Level". The following column is only returned in
    AS data mode: "Skill Level"

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetAgentPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAgentPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Weight", "Phone Number", "Extension",
    "Department", "Email Address", "Skill Level".

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest()`.


    Attributes:
        entrance_message_selection (str): entranceMessageSelection
        entrance_message_audio_file_description (str): entranceMessageAudioFileDescription
            *Optional*
        entrance_message_video_file_description (str): entranceMessageVideoFileDescription
            *Optional*
        periodic_comfort_message_selection (str): periodicComfortMessageSelection
        periodic_comfort_message_audio_file_description (str):
            periodicComfortMessageAudioFileDescription *Optional*
        periodic_comfort_message_video_file_description (str):
            periodicComfortMessageVideoFileDescription *Optional*
        on_hold_message_selection (str): onHoldMessageSelection
        on_hold_message_audio_file_description (str): onHoldMessageAudioFileDescription
            *Optional*
        on_hold_message_video_file_description (str): onHoldMessageVideoFileDescription
            *Optional*
    """

    __slots__: List[str] = [
        "entrance_message_selection",
        "entrance_message_audio_file_description",
        "entrance_message_video_file_description",
        "periodic_comfort_message_selection",
        "periodic_comfort_message_audio_file_description",
        "periodic_comfort_message_video_file_description",
        "on_hold_message_selection",
        "on_hold_message_audio_file_description",
        "on_hold_message_video_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entrance_message_selection",
                "entranceMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_file_description",
                "entranceMessageAudioFileDescription",
                str,
            ),
            E(
                "entrance_message_video_file_description",
                "entranceMessageVideoFileDescription",
                str,
            ),
            E(
                "periodic_comfort_message_selection",
                "periodicComfortMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_file_description",
                "periodicComfortMessageAudioFileDescription",
                str,
            ),
            E(
                "periodic_comfort_message_video_file_description",
                "periodicComfortMessageVideoFileDescription",
                str,
            ),
            E(
                "on_hold_message_selection",
                "onHoldMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "on_hold_message_audio_file_description",
                "onHoldMessageAudioFileDescription",
                str,
            ),
            E(
                "on_hold_message_video_file_description",
                "onHoldMessageVideoFileDescription",
                str,
            ),
        )


class GroupCallCenterGetAvailableAgentListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAvailableAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetAvailableAgentPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAvailableAgentPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetAvailableSupervisorListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAvailableSupervisorListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetDNISAgentListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetDNISListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISListResponse()`.

    Contains a table with column headings: "Name", "Phone Number", "Extension",
    "Priority", "Is Primary DNIS".

    Attributes:
        display_dnis_number (bool): displayDNISNumber
        display_dnis_name (bool): displayDNISName
        promote_calls_from_priority1to0 (bool): promoteCallsFromPriority1to0
        promote_calls_from_priority2to1 (bool): promoteCallsFromPriority2to1
        promote_calls_from_priority3to2 (bool): promoteCallsFromPriority3to2
        promote_calls_from_priority1to0_seconds (int): promoteCallsFromPriority1to0Seconds
        promote_calls_from_priority2to1_seconds (int): promoteCallsFromPriority2to1Seconds
        promote_calls_from_priority3to2_seconds (int): promoteCallsFromPriority3to2Seconds
        dnis_table (List(dnisTable)): dnisTable - *Table* array of dnisTable named tuples
    """

    __slots__: List[str] = [
        "display_dnis_number",
        "display_dnis_name",
        "promote_calls_from_priority1to0",
        "promote_calls_from_priority2to1",
        "promote_calls_from_priority3to2",
        "promote_calls_from_priority1to0_seconds",
        "promote_calls_from_priority2to1_seconds",
        "promote_calls_from_priority3to2_seconds",
        "dnis_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("display_dnis_number", "displayDNISNumber", bool, is_required=True),
            E("display_dnis_name", "displayDNISName", bool, is_required=True),
            E(
                "promote_calls_from_priority1to0",
                "promoteCallsFromPriority1to0",
                bool,
                is_required=True,
            ),
            E(
                "promote_calls_from_priority2to1",
                "promoteCallsFromPriority2to1",
                bool,
                is_required=True,
            ),
            E(
                "promote_calls_from_priority3to2",
                "promoteCallsFromPriority3to2",
                bool,
                is_required=True,
            ),
            E(
                "promote_calls_from_priority1to0_seconds",
                "promoteCallsFromPriority1to0Seconds",
                int,
                is_required=True,
            ),
            E(
                "promote_calls_from_priority2to1_seconds",
                "promoteCallsFromPriority2to1Seconds",
                int,
                is_required=True,
            ),
            E(
                "promote_calls_from_priority3to2_seconds",
                "promoteCallsFromPriority3to2Seconds",
                int,
                is_required=True,
            ),
            E(
                "dnis_table",
                "dnisTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetDNISResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISResponse()`.


    Attributes:
        dnis_phone_number (str): dnisPhoneNumber *Optional*
        extension (str): extension *Optional*
        use_custom_clid_settings (bool): useCustomCLIDSettings
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_last_name (str): callingLineIdLastName *Optional*
        calling_line_id_first_name (str): callingLineIdFirstName *Optional*
        use_custom_dnis_announcement_settings (bool): useCustomDnisAnnouncementSettings
        priority (str): priority
        allow_outgoing_acd_call (bool): allowOutgoingACDCall
    """

    __slots__: List[str] = [
        "dnis_phone_number",
        "extension",
        "use_custom_clid_settings",
        "calling_line_id_phone_number",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "use_custom_dnis_announcement_settings",
        "priority",
        "allow_outgoing_acd_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("dnis_phone_number", "dnisPhoneNumber", str),
            E("extension", "extension", str),
            E(
                "use_custom_clid_settings",
                "useCustomCLIDSettings",
                bool,
                is_required=True,
            ),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("calling_line_id_last_name", "callingLineIdLastName", str),
            E("calling_line_id_first_name", "callingLineIdFirstName", str),
            E(
                "use_custom_dnis_announcement_settings",
                "useCustomDnisAnnouncementSettings",
                bool,
                is_required=True,
            ),
            E("priority", "priority", str, is_required=True),
            E(
                "allow_outgoing_acd_call",
                "allowOutgoingACDCall",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetDistinctiveRingingResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetDistinctiveRingingRequest()`.


    Attributes:
        distinctive_ringing_call_center_calls (bool): distinctiveRingingCallCenterCalls
        distinctive_ringing_ring_pattern_for_call_center (str):
            distinctiveRingingRingPatternForCallCenter
        distinctive_ringing_force_delivery_ring_pattern (str):
            distinctiveRingingForceDeliveryRingPattern *Optional*
    """

    __slots__: List[str] = [
        "distinctive_ringing_call_center_calls",
        "distinctive_ringing_ring_pattern_for_call_center",
        "distinctive_ringing_force_delivery_ring_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "distinctive_ringing_call_center_calls",
                "distinctiveRingingCallCenterCalls",
                bool,
                is_required=True,
            ),
            E(
                "distinctive_ringing_ring_pattern_for_call_center",
                "distinctiveRingingRingPatternForCallCenter",
                str,
                is_required=True,
            ),
            E(
                "distinctive_ringing_force_delivery_ring_pattern",
                "distinctiveRingingForceDeliveryRingPattern",
                str,
            ),
        )


class GroupCallCenterGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Video", "Phone
    Number", "Extension", "Department", "Is Active", "Policy", "Type". The column values
    for "Video" and "Is Active" can either be true, or false.  The column values for
    "Type" can be "Basic", "Standard" or "Premium" in AS data mode and "Basic" in XS data
    mode.  NOTE: prior to release 14, the policy column did not match the HuntPolicy
    enumerated type.

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetInstancePagedSortedListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Video", "Phone
    Number", "Extension", "Department", "Is Active", "Policy", "Type". The column values
    for "Video" and "Is Active" can either be true, or false.  The column values for
    "Type" can be "Basic", "Standard" or "Premium". NOTE: prior to release 14, the policy
    column did not match the HuntPolicy enumerated type.

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetInstanceQueueStatusResponse(OCIResponse):
    """
    Contains Call Center queue status and a table with column headings: "User Id", "First
    Name", "Last Name", "Phone Number", "Extension", "Department", "Email Address".


    Attributes:
        number_of_calls_queued_now (int): numberOfCallsQueuedNow
        agents_currently_staffed (List(agentsCurrentlyStaffed)): agentsCurrentlyStaffed -
            *Table* array of agentsCurrentlyStaffed named tuples
    """

    __slots__: List[str] = [
        "number_of_calls_queued_now",
        "agents_currently_staffed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_of_calls_queued_now",
                "numberOfCallsQueuedNow",
                int,
                is_required=True,
            ),
            E(
                "agents_currently_staffed",
                "agentsCurrentlyStaffed",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetInstanceStatisticsReportingResponse(OCIResponse):
    """
    Contains Call Center statistics reporting settings.


    Attributes:
        generate_daily_report (bool): generateDailyReport
        collection_period_minutes (int): collectionPeriodMinutes
        reporting_email_address1 (str): reportingEmailAddress1 *Optional*
        reporting_email_address2 (str): reportingEmailAddress2 *Optional*
    """

    __slots__: List[str] = [
        "generate_daily_report",
        "collection_period_minutes",
        "reporting_email_address1",
        "reporting_email_address2",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("generate_daily_report", "generateDailyReport", bool, is_required=True),
            E(
                "collection_period_minutes",
                "collectionPeriodMinutes",
                int,
                is_required=True,
            ),
            E("reporting_email_address1", "reportingEmailAddress1", str),
            E("reporting_email_address2", "reportingEmailAddress2", str),
        )


class GroupCallCenterGetInstanceStatisticsReportingResponse16(OCIResponse):
    """
    Contains Call Center statistics reporting settings.


    Attributes:
        generate_daily_report (bool): generateDailyReport
        collection_period_minutes (int): collectionPeriodMinutes
        reporting_email_address1 (str): reportingEmailAddress1 *Optional*
        reporting_email_address2 (str): reportingEmailAddress2 *Optional*
        statistics_source (str): statisticsSource
    """

    __slots__: List[str] = [
        "generate_daily_report",
        "collection_period_minutes",
        "reporting_email_address1",
        "reporting_email_address2",
        "statistics_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("generate_daily_report", "generateDailyReport", bool, is_required=True),
            E(
                "collection_period_minutes",
                "collectionPeriodMinutes",
                int,
                is_required=True,
            ),
            E("reporting_email_address1", "reportingEmailAddress1", str),
            E("reporting_email_address2", "reportingEmailAddress2", str),
            E("statistics_source", "statisticsSource", str, is_required=True),
        )


class GroupCallCenterGetInstanceStatisticsReportingResponse17sp1(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceStatisticsReportingRequest17sp1()`.

    Contains Call Center statistics reporting settings.

    Attributes:
        generate_daily_report (bool): generateDailyReport
        collection_period_minutes (int): collectionPeriodMinutes
        reporting_email_address1 (str): reportingEmailAddress1 *Optional*
        reporting_email_address2 (str): reportingEmailAddress2 *Optional*
        statistics_source (str): statisticsSource
    """

    __slots__: List[str] = [
        "generate_daily_report",
        "collection_period_minutes",
        "reporting_email_address1",
        "reporting_email_address2",
        "statistics_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("generate_daily_report", "generateDailyReport", bool, is_required=True),
            E(
                "collection_period_minutes",
                "collectionPeriodMinutes",
                int,
                is_required=True,
            ),
            E("reporting_email_address1", "reportingEmailAddress1", str),
            E("reporting_email_address2", "reportingEmailAddress2", str),
            E("statistics_source", "statisticsSource", str, is_required=True),
        )


class GroupCallCenterGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterGetRequest()`.

    Replaced by `GroupCallCenterGetResponse17sp4()`.

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
        )


class GroupCallCenterGetResponse17sp4(OCIResponse):
    """
    Response to `GroupCallCenterGetRequest17sp4()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    useSystemDefaultUnavailableSettings forceAgentUnavailableOnDNDActivation
    forceAgentUnavailableOnPersonalCalls forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable Replaced by: `GroupCallCenterGetResponse23()`

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
        )


class GroupCallCenterGetResponse23(OCIResponse):
    """
    Response to `GroupCallCenterGetRequest23()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    useSystemDefaultUnavailableSettings forceAgentUnavailableOnDNDActivation
    forceAgentUnavailableOnPersonalCalls forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable wrapUpDestination

    Attributes:
        use_system_default_guard_timer (bool): useSystemDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
        wrap_up_destination (str): wrapUpDestination *Optional*
    """

    __slots__: List[str] = [
        "use_system_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "wrap_up_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_default_guard_timer",
                "useSystemDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
            E("wrap_up_destination", "wrapUpDestination", str),
        )


class GroupCallCenterGetRoutingPolicyResponse(OCIResponse):
    """
    Response to `GroupCallCenterGetRoutingPolicyRequest()`.

    Contains a table with column headings: "Service User Id", "Name" and "Priority".

    Attributes:
        routing_policy (str): routingPolicy
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "routing_policy",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("routing_policy", "routingPolicy", str, is_required=True),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetSupervisorListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetSupervisorListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name". Element "reportingServerURL"" will always be blank.

    Replaced By: `GroupCallCenterSupervisorReportingGetResponse()`

    Attributes:
        reporting_server_url (str): reportingServerURL *Optional*
        supervisor_table (List(supervisorTable)): supervisorTable - *Table* array of
            supervisorTable named tuples
    """

    __slots__: List[str] = [
        "reporting_server_url",
        "supervisor_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reporting_server_url", "reportingServerURL", str),
            E(
                "supervisor_table",
                "supervisorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetSupervisorListResponse16(OCIResponse):
    """
    Response to the `GroupCallCenterGetSupervisorListRequest16()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        supervisor_table (List(supervisorTable)): supervisorTable - *Table* array of
            supervisorTable named tuples
    """

    __slots__: List[str] = [
        "supervisor_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supervisor_table",
                "supervisorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterGetUnlicensedAgentListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetUnlicensedAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Group Id", "Extension",
    "Department", "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterHolidayServiceGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterHolidayServiceGetRequest()`.


    Attributes:
        action (str): action
        holiday_schedule (str): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("holiday_schedule", "holidaySchedule", str),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
        )


class GroupCallCenterMonitoringGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterMonitoringGetRequest()`.


    Attributes:
        enable_supervisor_coaching (bool): enableSupervisorCoaching
    """

    __slots__: List[str] = [
        "enable_supervisor_coaching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_supervisor_coaching",
                "enableSupervisorCoaching",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterNightServiceGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterNightServiceGetRequest()`.


    Attributes:
        action (str): action
        business_hours (str): businessHours *Optional*
        force_night_service (bool): forceNightService
        allow_manual_override_via_fac (bool): allowManualOverrideViaFAC
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_file_url (str): manualAudioFileUrl *Optional*
        manual_audio_file_description (str): manualAudioFileDescription *Optional*
        manual_audio_media_type (str): manualAudioMediaType *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_file_url (str): manualVideoFileUrl *Optional*
        manual_video_file_description (str): manualVideoFileDescription *Optional*
        manual_video_media_type (str): manualVideoMediaType *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "allow_manual_override_via_fac",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_file_url",
        "manual_audio_file_description",
        "manual_audio_media_type",
        "manual_video_message_selection",
        "manual_video_file_url",
        "manual_video_file_description",
        "manual_video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", str),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E(
                "allow_manual_override_via_fac",
                "allowManualOverrideViaFAC",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E("manual_audio_file_url", "manualAudioFileUrl", str),
            E("manual_audio_file_description", "manualAudioFileDescription", str),
            E("manual_audio_media_type", "manualAudioMediaType", str),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E("manual_video_file_url", "manualVideoFileUrl", str),
            E("manual_video_file_description", "manualVideoFileDescription", str),
            E("manual_video_media_type", "manualVideoMediaType", str),
        )


class GroupCallCenterOverflowGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterOverflowGetRequest()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        overflow_after_timeout (bool): overflowAfterTimeout
        timeout_seconds (int): timeoutSeconds
        play_announcement_before_overflow_processing (bool):
            playAnnouncementBeforeOverflowProcessing
        audio_message_selection (str): audioMessageSelection
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "overflow_after_timeout",
        "timeout_seconds",
        "play_announcement_before_overflow_processing",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("overflow_after_timeout", "overflowAfterTimeout", bool, is_required=True),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "play_announcement_before_overflow_processing",
                "playAnnouncementBeforeOverflowProcessing",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_message_selection", "videoMessageSelection", str),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
        )


class GroupCallCenterQueueCallDispositionCodeGetListResponse(OCIResponse):
    """
    Response to the `GroupCallCenterQueueCallDispositionCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description" and "Level".
    Level column can be any of the values in the data type CallDispositionCodeLevel.

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallCenterQueueCallDispositionCodeGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterQueueCallDispositionCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class GroupCallCenterQueueStatusNotificationGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterQueueStatusNotificationGetRequest()`.

    The response contains the call center status configuration information.

    Attributes:
        enable_queue_status_notification (bool): enableQueueStatusNotification
        enable_queue_depth_threshold (bool): enableQueueDepthThreshold
        enable_waiting_time_threshold (bool): enableWaitingTimeThreshold
        number_of_calls_threshold (int): numberOfCallsThreshold
        waiting_time_of_calls_threshold (int): waitingTimeOfCallsThreshold
    """

    __slots__: List[str] = [
        "enable_queue_status_notification",
        "enable_queue_depth_threshold",
        "enable_waiting_time_threshold",
        "number_of_calls_threshold",
        "waiting_time_of_calls_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_queue_status_notification",
                "enableQueueStatusNotification",
                bool,
                is_required=True,
            ),
            E(
                "enable_queue_depth_threshold",
                "enableQueueDepthThreshold",
                bool,
                is_required=True,
            ),
            E(
                "enable_waiting_time_threshold",
                "enableWaitingTimeThreshold",
                bool,
                is_required=True,
            ),
            E(
                "number_of_calls_threshold",
                "numberOfCallsThreshold",
                int,
                is_required=True,
            ),
            E(
                "waiting_time_of_calls_threshold",
                "waitingTimeOfCallsThreshold",
                int,
                is_required=True,
            ),
        )


class GroupCallCenterQueueThresholdsGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterQueueThresholdsGetRequest()`.


    Attributes:
        is_active (bool): isActive
        threshold_current_calls_in_queue_yellow (int): thresholdCurrentCallsInQueueYellow
            *Optional*
        threshold_current_calls_in_queue_red (int): thresholdCurrentCallsInQueueRed
            *Optional*
        threshold_current_longest_waiting_call_yellow (int):
            thresholdCurrentLongestWaitingCallYellow *Optional*
        threshold_current_longest_waiting_call_red (int):
            thresholdCurrentLongestWaitingCallRed *Optional*
        threshold_average_estimated_wait_time_yellow (int):
            thresholdAverageEstimatedWaitTimeYellow *Optional*
        threshold_average_estimated_wait_time_red (int):
            thresholdAverageEstimatedWaitTimeRed *Optional*
        threshold_average_handling_time_yellow (int): thresholdAverageHandlingTimeYellow
            *Optional*
        threshold_average_handling_time_red (int): thresholdAverageHandlingTimeRed
            *Optional*
        threshold_average_speed_of_answer_yellow (int):
            thresholdAverageSpeedOfAnswerYellow *Optional*
        threshold_average_speed_of_answer_red (int): thresholdAverageSpeedOfAnswerRed
            *Optional*
        enable_notification_email (bool): enableNotificationEmail
        notification_email_address (List[str]): notificationEmailAddress *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "threshold_current_calls_in_queue_yellow",
        "threshold_current_calls_in_queue_red",
        "threshold_current_longest_waiting_call_yellow",
        "threshold_current_longest_waiting_call_red",
        "threshold_average_estimated_wait_time_yellow",
        "threshold_average_estimated_wait_time_red",
        "threshold_average_handling_time_yellow",
        "threshold_average_handling_time_red",
        "threshold_average_speed_of_answer_yellow",
        "threshold_average_speed_of_answer_red",
        "enable_notification_email",
        "notification_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "threshold_current_calls_in_queue_yellow",
                "thresholdCurrentCallsInQueueYellow",
                int,
            ),
            E(
                "threshold_current_calls_in_queue_red",
                "thresholdCurrentCallsInQueueRed",
                int,
            ),
            E(
                "threshold_current_longest_waiting_call_yellow",
                "thresholdCurrentLongestWaitingCallYellow",
                int,
            ),
            E(
                "threshold_current_longest_waiting_call_red",
                "thresholdCurrentLongestWaitingCallRed",
                int,
            ),
            E(
                "threshold_average_estimated_wait_time_yellow",
                "thresholdAverageEstimatedWaitTimeYellow",
                int,
            ),
            E(
                "threshold_average_estimated_wait_time_red",
                "thresholdAverageEstimatedWaitTimeRed",
                int,
            ),
            E(
                "threshold_average_handling_time_yellow",
                "thresholdAverageHandlingTimeYellow",
                int,
            ),
            E(
                "threshold_average_handling_time_red",
                "thresholdAverageHandlingTimeRed",
                int,
            ),
            E(
                "threshold_average_speed_of_answer_yellow",
                "thresholdAverageSpeedOfAnswerYellow",
                int,
            ),
            E(
                "threshold_average_speed_of_answer_red",
                "thresholdAverageSpeedOfAnswerRed",
                int,
            ),
            E(
                "enable_notification_email",
                "enableNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "notification_email_address",
                "notificationEmailAddress",
                str,
                is_array=True,
            ),
        )


class GroupCallCenterStrandedCallGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterStrandedCallGetRequest()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        audio_message_selection (str): audioMessageSelection *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_file_url (str): videoFileUrl *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "audio_message_selection",
        "audio_file_url",
        "audio_file_description",
        "audio_media_type",
        "video_message_selection",
        "video_file_url",
        "video_file_description",
        "video_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("audio_message_selection", "audioMessageSelection", str),
            E("audio_file_url", "audioFileUrl", str),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_message_selection", "videoMessageSelection", str),
            E("video_file_url", "videoFileUrl", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
        )


class GroupCallCenterSupervisorReportingGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterSupervisorReportingGetRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name".

    Attributes:
        reporting_server_name (str): reportingServerName *Optional*
        supervisor_table (List(supervisorTable)): supervisorTable - *Table* array of
            supervisorTable named tuples
    """

    __slots__: List[str] = [
        "reporting_server_name",
        "supervisor_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reporting_server_name", "reportingServerName", str),
            E(
                "supervisor_table",
                "supervisorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetAvailableAlternateRecallUserListResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetAvailableAlternateRecallUserListResponse()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name".

    Attributes:
        available_hunt_group_table (List(availableHuntGroupTable)):
            availableHuntGroupTable - *Table* array of availableHuntGroupTable named
            tuples
    """

    __slots__: List[str] = [
        "available_hunt_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_hunt_group_table",
                "availableHuntGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetAvailableAlternateRecallUserPagedSortedListResponse(OCIResponse):
    """
    Response to the
    `GroupCallParkGetAvailableAlternateRecallUserPagedSortedListResponse()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", “Phone Number”, “Extension”, “Department”, “Email
    Address”. The Email Address will never be populated, since Hunt Groups don't have
    Email Addresses.

    Attributes:
        available_hunt_group_table (List(availableHuntGroupTable)):
            availableHuntGroupTable - *Table* array of availableHuntGroupTable named
            tuples
    """

    __slots__: List[str] = [
        "available_hunt_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_hunt_group_table",
                "availableHuntGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetAvailableUserPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetAvailableUserPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetInstanceListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupCallParkGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetInstancePagedSortedListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupCallParkGetInstancePagedSortedResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetInstancePagedSortedRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address". The users are in the table are in the order they will try to be parked on.

    Attributes:
        recall_alternate_user_id (str): recallAlternateUserId *Optional*
        recall_to (str): recallTo
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "recall_alternate_user_id",
        "recall_to",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recall_alternate_user_id", "recallAlternateUserId", str),
            E("recall_to", "recallTo", str, is_required=True),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetInstanceResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetInstanceRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name". The users are in the table are in the order they
    will try to be parked on.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetInstanceResponse16sp2(OCIResponse):
    """
    Response to the `GroupCallParkGetInstanceRequest16sp2()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address". The users are in the table are in the order they will try to be parked on.

    Attributes:
        recall_alternate_user_id (str): recallAlternateUserId *Optional*
        recall_to (str): recallTo
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "recall_alternate_user_id",
        "recall_to",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recall_alternate_user_id", "recallAlternateUserId", str),
            E("recall_to", "recallTo", str, is_required=True),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallParkGetResponse(OCIResponse):
    """
    Response to the `GroupCallParkGetRequest()`.

    Contains the settings that apply to the whole group for Call Park.

    Attributes:
        recall_timer_seconds (int): recallTimerSeconds
        display_timer_seconds (int): displayTimerSeconds
        enable_destination_announcement (bool): enableDestinationAnnouncement
    """

    __slots__: List[str] = [
        "recall_timer_seconds",
        "display_timer_seconds",
        "enable_destination_announcement",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recall_timer_seconds", "recallTimerSeconds", int, is_required=True),
            E("display_timer_seconds", "displayTimerSeconds", int, is_required=True),
            E(
                "enable_destination_announcement",
                "enableDestinationAnnouncement",
                bool,
                is_required=True,
            ),
        )


class GroupCallParkGetResponse16sp2(OCIResponse):
    """
    Response to the `GroupCallParkGetRequest16sp2()`.

    Contains the settings that apply to the whole group for Call Park.

    Attributes:
        recall_timer_seconds (int): recallTimerSeconds
        display_timer_seconds (int): displayTimerSeconds
        enable_destination_announcement (bool): enableDestinationAnnouncement
        recall_alternate_user_id (str): recallAlternateUserId *Optional*
        recall_ring_pattern (str): recallRingPattern
        recall_to (str): recallTo
        alternate_user_recall_timer_seconds (int): alternateUserRecallTimerSeconds
    """

    __slots__: List[str] = [
        "recall_timer_seconds",
        "display_timer_seconds",
        "enable_destination_announcement",
        "recall_alternate_user_id",
        "recall_ring_pattern",
        "recall_to",
        "alternate_user_recall_timer_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recall_timer_seconds", "recallTimerSeconds", int, is_required=True),
            E("display_timer_seconds", "displayTimerSeconds", int, is_required=True),
            E(
                "enable_destination_announcement",
                "enableDestinationAnnouncement",
                bool,
                is_required=True,
            ),
            E("recall_alternate_user_id", "recallAlternateUserId", str),
            E("recall_ring_pattern", "recallRingPattern", str, is_required=True),
            E("recall_to", "recallTo", str, is_required=True),
            E(
                "alternate_user_recall_timer_seconds",
                "alternateUserRecallTimerSeconds",
                int,
                is_required=True,
            ),
        )


class GroupCallPickupGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallPickupGetAvailableUserPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetAvailableUserPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallPickupGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetInstanceListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupCallPickupGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetInstancePagedSortedListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupCallPickupGetInstancePagedSortedResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetInstancePagedSortedRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallPickupGetInstanceResponse(OCIResponse):
    """
    Response to the `GroupCallPickupGetInstanceRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse14(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest14()`.


    Attributes:
        use_group_setting (bool): useGroupSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
    """

    __slots__: List[str] = [
        "use_group_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_setting", "useGroupSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse14sp1(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest14sp1()`.


    Attributes:
        use_group_setting (bool): useGroupSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_group_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_setting", "useGroupSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse14sp4(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest14sp4()`.

    Replaced By : `GroupCallProcessingGetPolicyResponse15()`

    Attributes:
        use_group_setting (bool): useGroupSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_group_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_setting", "useGroupSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse14sp7(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest14sp7()`.


    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
        )


class GroupCallProcessingGetPolicyResponse15(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest15()`.


    Attributes:
        use_group_setting (bool): useGroupSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_group_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_setting", "useGroupSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse15sp2(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest15sp2()`.


    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
        )


class GroupCallProcessingGetPolicyResponse16(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest16()`.


    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
        )


class GroupCallProcessingGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest16sp2()`.


    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse17(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest17()`.


    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest17sp3()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID Replaced by `GroupCallProcessingGetPolicyResponse17sp4()`

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse17sp4(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest17sp4()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity Replaced by
    `GroupCallProcessingGetPolicyResponse18()`

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse18(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest18()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse18sp1(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest18sp1()`.

    The following elements are only used in AS data mode : useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  Replaced by:
    `GroupCallProcessingGetPolicyResponse19sp1()`

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
        )


class GroupCallProcessingGetPolicyResponse19sp1(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest19sp1()`.

    The following elements are only used in AS data mode : useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  Replaced by:
    `GroupCallProcessingGetPolicyResponse21sp1()`

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
        )


class GroupCallProcessingGetPolicyResponse21sp1(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest21sp1()`.

    The following elements are only used in AS data mode : useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  useGroupPhoneListLookupSetting, value "false"
    is returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS
    data mode.  Replaced by: `GroupCallProcessingGetPolicyResponse21sp2()`

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        use_group_phone_list_lookup_setting (bool): useGroupPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "use_group_phone_list_lookup_setting",
        "enable_phone_list_lookup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "use_group_phone_list_lookup_setting",
                "useGroupPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse21sp2(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest21sp2()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  useGroupPhoneListLookupSetting, value "false"
    is returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS
    data mode.  The following elements are only used in XS data mode and not returned in
    AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `GroupCallProcessingGetPolicyResponse22()` in AS data mode

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        use_group_phone_list_lookup_setting (bool): useGroupPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "use_group_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "use_group_phone_list_lookup_setting",
                "useGroupPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class GroupCallProcessingGetPolicyResponse22(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest22()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  useGroupPhoneListLookupSetting, value "false"
    is returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS
    data mode.  useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in
    XS data mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS
    data mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is
    returned in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable,
    value "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `GroupCallProcessingGetPolicyRequest22V2()` in AS data mode.

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        use_group_phone_list_lookup_setting (bool): useGroupPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "use_group_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "use_group_phone_list_lookup_setting",
                "useGroupPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class GroupCallProcessingGetPolicyResponse22V2(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest22V2()`.

    The following elements are only used in AS data mode: useGroupDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride enterpriseCallsCLIDPolicy, value "Use Location Code
    plus Extension" is returned in XS data mode.  groupCallsCLIDPolicy, value "Use
    Extension" is returned in XS data mode.  useGroupPhoneListLookupSetting, value "false"
    is returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS
    data mode.  useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in
    XS data mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS
    data mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is
    returned in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable,
    value "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity,value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `GroupCallProcessingGetPolicyResponse22V3()` in AS data mode.

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        use_group_phone_list_lookup_setting (bool): useGroupPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "use_group_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "use_group_phone_list_lookup_setting",
                "useGroupPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class GroupCallProcessingGetPolicyResponse22V3(OCIResponse):
    """
    Response to `GroupCallProcessingGetPolicyRequest22V3()`.

    The following elements are not returned for a group within a service provider:
    enableGatewayRoutePolicy networkCallsGatewayRouteIdentity
    networkURLCallsGatewayRouteIdentity emergencyCallsGatewayRouteIdentity
    repairCallsGatewayRouteIdentity callTypingErrorsGatewayRouteIdentity The following
    elements are only used in AS data mode: useGroupDCLIDSetting enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity allowDepartmentCLIDNameOverride
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    useGroupPhoneListLookupSetting, value "false" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity,value "false" is
    returned in XS data mode.  The following elements are only used in AS data mode and
    not returned in XS data mode: enableGatewayRoutePolicy
    networkCallsGatewayRouteIdentity networkURLCallsGatewayRouteIdentity
    emergencyCallsGatewayRouteIdentity repairCallsGatewayRouteIdentity
    callTypingErrorsGatewayRouteIdentity The following elements are only used in XS data
    mode and not returned in AS data mode: routeOverrideDomain routeOverridePrefix

    Attributes:
        use_group_clid_setting (bool): useGroupCLIDSetting
        use_group_media_setting (bool): useGroupMediaSetting
        use_group_call_limits_setting (bool): useGroupCallLimitsSetting
        use_group_translation_routing_setting (bool): useGroupTranslationRoutingSetting
        use_group_dclid_setting (bool): useGroupDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory *Optional*
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory *Optional*
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        use_group_phone_list_lookup_setting (bool): useGroupPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        enable_gateway_route_policy (bool): enableGatewayRoutePolicy *Optional*
        network_calls_gateway_route_identity (str): networkCallsGatewayRouteIdentity
            *Optional*
        network_url_calls_gateway_route_identity (str):
            networkURLCallsGatewayRouteIdentity *Optional*
        emergency_calls_gateway_route_identity (str): emergencyCallsGatewayRouteIdentity
            *Optional*
        repair_calls_gateway_route_identity (str): repairCallsGatewayRouteIdentity
            *Optional*
        call_typing_errors_gateway_route_identity (str):
            callTypingErrorsGatewayRouteIdentity *Optional*
    """

    __slots__: List[str] = [
        "use_group_clid_setting",
        "use_group_media_setting",
        "use_group_call_limits_setting",
        "use_group_translation_routing_setting",
        "use_group_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "use_group_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
        "enable_gateway_route_policy",
        "network_calls_gateway_route_identity",
        "network_url_calls_gateway_route_identity",
        "emergency_calls_gateway_route_identity",
        "repair_calls_gateway_route_identity",
        "call_typing_errors_gateway_route_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_clid_setting", "useGroupCLIDSetting", bool, is_required=True),
            E(
                "use_group_media_setting",
                "useGroupMediaSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_call_limits_setting",
                "useGroupCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_translation_routing_setting",
                "useGroupTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_group_dclid_setting",
                "useGroupDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "use_group_phone_list_lookup_setting",
                "useGroupPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("enable_gateway_route_policy", "enableGatewayRoutePolicy", bool),
            E(
                "network_calls_gateway_route_identity",
                "networkCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "network_url_calls_gateway_route_identity",
                "networkURLCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "emergency_calls_gateway_route_identity",
                "emergencyCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "repair_calls_gateway_route_identity",
                "repairCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "call_typing_errors_gateway_route_identity",
                "callTypingErrorsGatewayRouteIdentity",
                str,
            ),
        )


class GroupCallRecordingGetResponse(OCIResponse):
    """
    Response to the `GroupCallRecordingGetRequest()`.

    The response contains the group's Call Recording platform information.

    Attributes:
        name (str): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str),)


class GroupCallingLineIdGetResponse(OCIResponse):
    """
    Response to the `GroupCallingLineIdGetRequest()`.

    The response contains the group's calling line id settings.

    Attributes:
        use_group_number (bool): useGroupNumber
        use_group_name (bool): useGroupName
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
    """

    __slots__: List[str] = [
        "use_group_number",
        "use_group_name",
        "calling_line_id_phone_number",
        "calling_line_id_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_number", "useGroupNumber", bool, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("calling_line_id_name", "callingLineIdName", str),
        )


class GroupCallingPlanGetDigitPatternListResponse(OCIResponse):
    """
    Response to `GroupCallingPlanGetDigitPatternListRequest()`.

    Contains a table with column headings: "Name", "Digit Pattern".

    Attributes:
        digit_pattern_table (List(digitPatternTable)): digitPatternTable - *Table* array
            of digitPatternTable named tuples
    """

    __slots__: List[str] = [
        "digit_pattern_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "digit_pattern_table",
                "digitPatternTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCollaborateBridgeGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCollaborateBridgeGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department",
    "Department Type", "Parent Department", "Parent Department Type", "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCollaborateBridgeGetAvailableUserPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCollaborateBridgeGetAvailableUserPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Is Phone Number Activated",
    "Country Code","National Prefix", "Extension", "Department", "Department Type",
    "Parent Department", "Parent Department Type", "Email Address", "IMP Id", "Mobile
    Number", "Group Id", "Group Name".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCollaborateBridgeGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupCollaborateBridgeGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Participants", and "Is Default". The column values for "Is
    default" can either be true, or false.

    Attributes:
        collaborate_bridge_table (List(collaborateBridgeTable)): collaborateBridgeTable -
            *Table* array of collaborateBridgeTable named tuples
    """

    __slots__: List[str] = [
        "collaborate_bridge_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "collaborate_bridge_table",
                "collaborateBridgeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCollaborateBridgeGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupCollaborateBridgeGetInstancePagedSortedListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number", "Is
    Phone Number Activated", "Country Code","National Prefix", "Extension", "Department",
    "Department Type", "Parent Department", "Parent Department Type", "Participants", "Is
    Default", "Max Room Participants", "Is Support Outdial". The column values for "Is
    default", "Is Support Outdial" can either be true, or false.

    Attributes:
        collaborate_bridge_table (List(collaborateBridgeTable)): collaborateBridgeTable -
            *Table* array of collaborateBridgeTable named tuples
    """

    __slots__: List[str] = [
        "collaborate_bridge_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "collaborate_bridge_table",
                "collaborateBridgeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCommunicationBarringAuthorizationCodeGetResponse(OCIResponse):
    """
    Response to `GroupCommunicationBarringAuthorizationCodeGetRequest()`.


    Attributes:
        description (str): description *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "description",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupCommunicationBarringGetResponse(OCIResponse):
    """
    Response to `GroupCommunicationBarringGetRequest()`.


    Attributes:
        use_default_service_provider_profile (bool): useDefaultServiceProviderProfile
        profile (str): profile *Optional*
    """

    __slots__: List[str] = [
        "use_default_service_provider_profile",
        "profile",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_default_service_provider_profile",
                "useDefaultServiceProviderProfile",
                bool,
                is_required=True,
            ),
            E("profile", "profile", str),
        )


class GroupCommunicationBarringProfileGetAssignedListResponse(OCIResponse):
    """
    Response to the `GroupCommunicationBarringProfileGetAssignedListRequest()`.

    The response contains a simple list of all communication barring profiles assigned to
    the group.

    Attributes:
        profile_name (List[str]): profileName *Optional*
    """

    __slots__: List[str] = [
        "profile_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("profile_name", "profileName", str, is_array=True),)


class GroupCustomContactDirectoryGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupCustomContactDirectoryGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name". Replace by:
    `GroupCustomContactDirectoryGetAvailableUserListResponse17()`

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCustomContactDirectoryGetAvailableUserListResponse17(OCIResponse):
    """
    Response to the `GroupCustomContactDirectoryGetAvailableUserListRequest17()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Virtual On-Net Phone Number", "Group Id", "Is
    Virtual On-Net User", "Phone Number", "Extension", "Department", "Email Address". If
    the entry represents a Virtual On-Net user then "User Id" is blank, the "Virtual On-
    Net Phone Number" contains the phone Number of the Virtual On-Net user, the "Group Id"
    contains the Virtual On-Net user's group and the "Is Virtual On-Net User" contains
    true.  If the entry represents a BroadWorks user then the "User Id" contains his
    BroadWorks userId, the "Virtual On-Net Phone Number" and "Group Id" fields are blank
    and the "Is Virtual On-Net User" contains false.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCustomContactDirectoryGetListResponse(OCIResponse):
    """
    Response to the `GroupCustomContactDirectoryGetListRequest()`.

    The response contains all the group's custom contact directory names.

    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupCustomContactDirectoryGetResponse(OCIResponse):
    """
    Response to the `GroupCustomContactDirectoryGetRequest()`.

    The response contains all the group's custom contact directory names.  Contains a
    table with column headings: "User Id", "Last Name", "First Name", "Hiragana Last
    Name", "Hiragana First Name". Replace by: `GroupCustomContactDirectoryGetResponse17()`

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCustomContactDirectoryGetResponse17(OCIResponse):
    """
    Response to the `GroupCustomContactDirectoryGetRequest17()`.

    The response contains all the contacts in the group's given custom contact directory.
    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Virtual On-Net Phone Number", "Group Id", "Is
    Virtual On-Net User", "Department", "Phone Number", "Extension", "Mobile", "Email
    Address", "Yahoo Id", "Title", "IMP Id", "Receptionist Note". If the entry represents
    a Virtual On-Net user then "User Id" is blank, the "Virtual On-Net Phone Number"
    contains the phone Number of the Virtual On-Net user, the "Group Id" contains the
    Virtual On-Net user's group and the "Is Virtual On-Net User" contains true.  If the
    entry represents a BroadWorks user then the "User Id" contains his BroadWorks userId,
    the "Virtual On-Net Phone Number" and "Group Id" fields are field is blank and the "Is
    Virtual On-Net User" contains false.  The Receptionist Note column is only populated
    in AS Mode, if the user sending the request is the owner of the Receptionist Note and
    a Note exists.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupCustomRingbackGroupGetResponse(OCIResponse):
    """
    Response to the `GroupCustomRingbackGroupGetRequest()`.

    Replaced By: `GroupCustomRingbackGroupGetResponse16()`

    Attributes:
        is_active (bool): isActive
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "audio_selection",
        "audio_file_description",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_file_url", "videoFileUrl", str),
        )


class GroupCustomRingbackGroupGetResponse16(OCIResponse):
    """
    Response to the `GroupCustomRingbackGroupGetRequest16()`.

    Replaced by: `GroupCustomRingbackGroupGetResponse20()` in AS data mode

    Attributes:
        is_active (bool): isActive
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "audio_selection",
        "audio_file_description",
        "audio_media_type",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_media_type",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("video_file_url", "videoFileUrl", str),
        )


class GroupDepartmentAdminGetListResponse(OCIResponse):
    """
    Response to `GroupDepartmentAdminGetListRequest()`.

    Contains a 5 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Department", "Language".

    Attributes:
        department_admin_table (List(departmentAdminTable)): departmentAdminTable -
            *Table* array of departmentAdminTable named tuples
    """

    __slots__: List[str] = [
        "department_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_admin_table",
                "departmentAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDepartmentGetListResponse18(OCIResponse):
    """
    Response to `GroupDepartmentGetListRequest18()`.

    Contains a table of department attributes.  The column headings are: "Is Enterprise
    Department", "Department Name", "Full Path Name", "Calling Line Id Name", and "Calling
    Line Id Phone Number"

    Attributes:
        department_table (List(departmentTable)): departmentTable - *Table* array of
            departmentTable named tuples
    """

    __slots__: List[str] = [
        "department_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_table",
                "departmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceActivationPolicyGetResponse(OCIResponse):
    """
    Response to `GroupDeviceActivationPolicyGetRequest()`.


    Attributes:
        use_group_settings (bool): useGroupSettings
        allow_activation_code_request_by_user (bool): allowActivationCodeRequestByUser
        send_activation_code_in_email (bool): sendActivationCodeInEmail
    """

    __slots__: List[str] = [
        "use_group_settings",
        "allow_activation_code_request_by_user",
        "send_activation_code_in_email",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_settings", "useGroupSettings", bool, is_required=True),
            E(
                "allow_activation_code_request_by_user",
                "allowActivationCodeRequestByUser",
                bool,
                is_required=True,
            ),
            E(
                "send_activation_code_in_email",
                "sendActivationCodeInEmail",
                bool,
                is_required=True,
            ),
        )


class GroupDeviceManagementEventGetListResponse(OCIResponse):
    """
    Response to `GroupDeviceManagementEventGetListRequest()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time". "Event Id" is a unique identifer
    for the event.  "Status" can be: Pending, Queued, In Progress, Process On Other Host,
    Stale, Completed, Canceled.  "Action" can be: Delete, Download, Rebuild, Reset,
    Upload.  "Level" can be: Device, Device Type, Device Type Group, Group, User.  "Type"
    can be: Automatic, Manual.  "Additional Info" includes the affected device type,
    device or group.  It depends on the level of the event: Device Profile: "Device Name"
    "Service Provider Id" "Group Id" Device Type: "Device Type Name" Device Type Group:
    "Service Provider Id" "Group Id" "Device Type Name" Group: "Service Provider Id"
    "Group Id" User: "User Id" "Is Local" is set to "yes" if the event is processed on the
    server who received the request, "no" otherwise meaning that the event is processed on
    another server.  "Completion %" provides an estimate of the completion of the event.
    A percentage is given, the current number of completed expanded event, and the total
    number of expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of
    files that were pushed, not pushed because of same hash, and not pushed when
    processing the event.  "LoginId" is the user or admin id who triggered the event.
    "Start Time" is the date when the event was started.  The display shows the month,
    days, hours, and minutes (MM-dd hh:mm). "Process Time" is the time taken to process
    the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). Each row
    represents an event sorted by priority of processing.  The first row in the table is
    an event that has an associated expanded event currently being processed or next in
    line to be processed.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceManagementEventGetListResponse22(OCIResponse):
    """
    Response to `GroupDeviceManagementEventGetListRequest22()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time", "Rx Time", "Total Time", "Request",
    "Priority". "Event Id" is a unique identifer for the event.  "Status" can be: Pending,
    Queued, In Progress, Process On Other Host, Stale, Completed, Canceled.  "Action" can
    be: Delete, Download, Rebuild, Reset, Upload.  "Level" can be: Device, Device Type,
    Device Type Group, Group, User.  "Type" can be: Automatic, Manual.  "Additional Info"
    includes the affected device type, device or group.  It depends on the level of the
    event: Device Profile: "Device Name" "Service Provider Id" "Group Id" Device Type:
    "Device Type Name" Device Type Service Provider: "Service Provider Id" "Device Type
    Name" Service Provider: "Service Provider Id" Device Type Group: "Service Provider Id"
    "Group Id" "Device Type Name" Group: "Service Provider Id" "Group Id" User: "User Id"
    "Is Local" is set to "yes" if the event is processed on the server who received the
    request, "no" otherwise meaning that the event is processed on another server.
    "Completion %" provides an estimate of the completion of the event.  A percentage is
    given, the current number of completed expanded event, and the total number of
    expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of files that
    were pushed, not pushed because of same hash, and not pushed when processing the
    event.  "LoginId" is the user or admin id who triggered the event.  "Start Time" is
    the date when the event's processing started.  The display shows the month, day,
    hours, minutes, and seconds (MM-dd hh:mm:ss). "Process Time" is the time taken to
    process the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). "Rx
    Time" is the date when the event was received via OCI-P and stored in the system.  The
    display shows the month, day, hours, minutes, and seconds (MM-dd hh:mm:ss). "Total
    Time" is the total time the event was in the system, from the moment it was received
    and stored until its processing ended, in hours, minutes, seconds, and milliseconds
    (hhhh:mm:ss.SSS). "Request" is the name of the OCI-P request that triggered the event.
    "Priority" is the priority of the event.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceManagementGetAccessDeviceCountForDeviceTypeGroupResponse(OCIResponse):
    """
    Response to `GroupDeviceManagementGetAccessDeviceCountForDeviceTypeGroupRequest()`.


    Attributes:
        access_device_count (int): accessDeviceCount
    """

    __slots__: List[str] = [
        "access_device_count",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("access_device_count", "accessDeviceCount", int, is_required=True),)


class GroupDeviceTypeCustomTagGetListResponse(OCIResponse):
    """
    Response to `GroupDeviceTypeCustomTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System
    on a per-device type basis for a group.  In As data mode, the column headings are:
    "Tag Name", "Tag Value", "Actual Tag Value". In XS data mode, the column headings are:
    "Tag Name", "Tag Value", "Actual Tag Value" if request is invoked by an admin without
    system privileges.  "Tag Name", "Tag Value", "Is Encrypted", "Actual Tag Value" if
    request is invoked by an admin with system privileges.

    Attributes:
        group_device_type_custom_tags_table (List(groupDeviceTypeCustomTagsTable)):
            groupDeviceTypeCustomTagsTable - *Table* array of
            groupDeviceTypeCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "group_device_type_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_device_type_custom_tags_table",
                "groupDeviceTypeCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceTypeFileGetListResponse(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetListRequest()`.

    Contains a table of device type files managed by the Device Management System, on a
    per-group basis.  The column headings are: "File Type", "File Format", "Is
    Authenticated".

    Replaced By: `GroupDeviceTypeFileGetListResponse14sp8()`

    Attributes:
        group_device_type_files_table (List(groupDeviceTypeFilesTable)):
            groupDeviceTypeFilesTable - *Table* array of groupDeviceTypeFilesTable named
            tuples
    """

    __slots__: List[str] = [
        "group_device_type_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_device_type_files_table",
                "groupDeviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceTypeFileGetListResponse14sp8(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetListRequest14sp8()`.

    Contains a table of device type files managed by the Device Management System, on a
    per-group basis.  The column headings are: "File Format", "Is Authenticated", "Access
    URL", "Repository URL", "Template URL". Replaced by:
    `GroupDeviceTypeFileGetListResponse21()`

    Attributes:
        group_device_type_files_table (List(groupDeviceTypeFilesTable)):
            groupDeviceTypeFilesTable - *Table* array of groupDeviceTypeFilesTable named
            tuples
    """

    __slots__: List[str] = [
        "group_device_type_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_device_type_files_table",
                "groupDeviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDeviceTypeFileGetListResponse21(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetListRequest21()`.

    Contains a table of device type files managed by the Device Management System, on a
    per-group basis.  The column headings are: "File Format", "Is Authenticated", "Access
    URL", "Repository URL", "Template URL".

    Attributes:
        group_device_type_files_table (List(groupDeviceTypeFilesTable)):
            groupDeviceTypeFilesTable - *Table* array of groupDeviceTypeFilesTable named
            tuples
        group_has_customizable_dynamic_files (bool): groupHasCustomizableDynamicFiles
    """

    __slots__: List[str] = [
        "group_device_type_files_table",
        "group_has_customizable_dynamic_files",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_device_type_files_table",
                "groupDeviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "group_has_customizable_dynamic_files",
                "groupHasCustomizableDynamicFiles",
                bool,
                is_required=True,
            ),
        )


class GroupDeviceTypeFileGetResponse(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetRequest()`.

    Replaced By: `GroupDeviceTypeFileGetResponse14sp8()`

    Attributes:
        file_source (str): fileSource *Optional*
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str),
            E("configuration_file_name", "configurationFileName", str),
        )


class GroupDeviceTypeFileGetResponse14sp8(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetRequest14sp8()`.

    Replaced by: `GroupDeviceTypeFileGetResponse16sp1()`

    Attributes:
        file_source (str): fileSource *Optional*
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str),
            E("configuration_file_name", "configurationFileName", str),
        )


class GroupDeviceTypeFileGetResponse16sp1(OCIResponse):
    """
    Response to `GroupDeviceTypeFileGetRequest16sp1()`.


    Attributes:
        file_source (str): fileSource *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class GroupDeviceTypeTagSetGetResponse(OCIResponse):
    """
    Response to `GroupDeviceTypeTagSetGetRequest()`.


    Attributes:
        tag_set_name (str): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str),)


class GroupDialPlanPolicyGetAccessCodeListResponse(OCIResponse):
    """
    Response to `GroupDialPlanPolicyGetAccessCodeListRequest()` Contains a table with
    column headings: "Access Code", "Enable Secondary Dial Tone", "Description"

    Attributes:
        access_code_table (List(accessCodeTable)): accessCodeTable - *Table* array of
            accessCodeTable named tuples
    """

    __slots__: List[str] = [
        "access_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_code_table",
                "accessCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDialPlanPolicyGetAccessCodeResponse(OCIResponse):
    """
    Response to `GroupDialPlanPolicyGetAccessCodeRequest()`

    Attributes:
        include_code_for_network_translations_and_routing (bool):
            includeCodeForNetworkTranslationsAndRouting
        include_code_for_screening_services (bool): includeCodeForScreeningServices
        enable_secondary_dial_tone (bool): enableSecondaryDialTone
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "include_code_for_network_translations_and_routing",
        "include_code_for_screening_services",
        "enable_secondary_dial_tone",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "include_code_for_network_translations_and_routing",
                "includeCodeForNetworkTranslationsAndRouting",
                bool,
                is_required=True,
            ),
            E(
                "include_code_for_screening_services",
                "includeCodeForScreeningServices",
                bool,
                is_required=True,
            ),
            E(
                "enable_secondary_dial_tone",
                "enableSecondaryDialTone",
                bool,
                is_required=True,
            ),
            E("description", "description", str),
        )


class GroupDialPlanPolicyGetResponse(OCIResponse):
    """
    Response to `GroupDialPlanPolicyGetRequest()` Replaced by:
    `GroupDialPlanPolicyGetResponse17()`

    Attributes:
        use_setting (str): useSetting
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "use_setting",
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting", "useSetting", str, is_required=True),
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class GroupDialPlanPolicyGetResponse17(OCIResponse):
    """
    Response to `GroupDialPlanPolicyGetRequest17()`

    Attributes:
        use_setting (str): useSetting
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "use_setting",
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting", "useSetting", str, is_required=True),
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class GroupDialPlanPolicyGetResponse22(OCIResponse):
    """
    Response to `GroupDialPlanPolicyGetRequest22()` The following elements are only used
    in AS data mode: overrideResolvedDeviceDigitMap The following elements are only used
    in AS data mode and not returned in XS data mode: deviceDigitMap

    Attributes:
        use_setting (str): useSetting
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
        override_resolved_device_digit_map (bool): overrideResolvedDeviceDigitMap
        device_digit_map (str): deviceDigitMap *Optional*
    """

    __slots__: List[str] = [
        "use_setting",
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
        "override_resolved_device_digit_map",
        "device_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting", "useSetting", str, is_required=True),
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
            E(
                "override_resolved_device_digit_map",
                "overrideResolvedDeviceDigitMap",
                bool,
                is_required=True,
            ),
            E("device_digit_map", "deviceDigitMap", str),
        )


class GroupDialableCallerIDCriteriaGetResponse(OCIResponse):
    """
    Response to the `GroupDialableCallerIDCriteriaGetRequest()`.

    The response contains the Dialable Caller ID Criteria information.

    Attributes:
        description (str): description *Optional*
        prefix_digits (str): prefixDigits *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
    """

    __slots__: List[str] = [
        "description",
        "prefix_digits",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("prefix_digits", "prefixDigits", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
        )


class GroupDialableCallerIDGetResponse(OCIResponse):
    """
    Response to the `GroupDialableCallerIDGetRequest()`.

    The criteria table's column headings are "Active", "Name", "Description", "Prefix
    Digits", "Priority".

    Attributes:
        use_group_criteria (bool): useGroupCriteria
        ns_screening_failure_policy (str): nsScreeningFailurePolicy
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "use_group_criteria",
        "ns_screening_failure_policy",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_criteria", "useGroupCriteria", bool, is_required=True),
            E(
                "ns_screening_failure_policy",
                "nsScreeningFailurePolicy",
                str,
                is_required=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDigitCollectionGetResponse13mp4(OCIResponse):
    """
    Response to `GroupDigitCollectionGetRequest13mp4()`.


    Attributes:
        use_setting (str): useSetting
        access_code (str): accessCode *Optional*
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "use_setting",
        "access_code",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting", "useSetting", str, is_required=True),
            E("access_code", "accessCode", str),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class GroupDirectoryNumberHuntingGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupDirectoryNumberHuntingGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDirectoryNumberHuntingGetResponse(OCIResponse):
    """
    Response to the `GroupDirectoryNumberHuntingGetRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address". Replaced by: `GroupDirectoryNumberHuntingGetResponse17sp1()`

    Attributes:
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
    """

    __slots__: List[str] = [
        "agent_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDirectoryNumberHuntingGetResponse17sp1(OCIResponse):
    """
    Response to the `GroupDirectoryNumberHuntingGetRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        use_terminate_call_to_agent_first (bool): useTerminateCallToAgentFirst
        use_original_agent_services_for_busy_and_no_answer_calls (bool):
            useOriginalAgentServicesForBusyAndNoAnswerCalls
    """

    __slots__: List[str] = [
        "agent_user_table",
        "use_terminate_call_to_agent_first",
        "use_original_agent_services_for_busy_and_no_answer_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "use_terminate_call_to_agent_first",
                "useTerminateCallToAgentFirst",
                bool,
                is_required=True,
            ),
            E(
                "use_original_agent_services_for_busy_and_no_answer_calls",
                "useOriginalAgentServicesForBusyAndNoAnswerCalls",
                bool,
                is_required=True,
            ),
        )


class GroupDnGetActivationListResponse(OCIResponse):
    """
    Response to the `GroupDnGetActivationListRequest()`.

    The response contains a table with columns: "Phone Numbers", and "Activated". ". Phone
    Numbers are only returned if assigned to a user.  The "Phone Numbers" column contains
    either a single DN or a range of DNs.  The "Activated" column indicates if the phone
    number(s) are activated or not.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDnGetAssignmentListResponse(OCIResponse):
    """
    Response to the `GroupDnGetAssignmentListRequest()`.

    The response contains a table with columns: "Phone Numbers", "Assigned To",
    "Department", "Activated". The "Phone Numbers" column contains either a single DN or a
    range of DNs.  The "Assigned To" column contains the user name or service instance
    name possessing the DN(s). The "Department" column contains the department of the DN,
    not the department of the user or service instance.  The "Activated" column indicates
    if the DN or DN range has been activated.  Only has a value if the DN(s) is assigned
    to a user.  Replaced by: `GroupDnGetAssignmentListResponse18()`

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDnGetAssignmentListResponse18(OCIResponse):
    """
    Response to the `GroupDnGetAssignmentListRequest18()`.

    The response contains a table with columns: "Phone Numbers", "Department",
    "Activated", "User Id", "Last Name", "First Name", "Extension", "Email Address", "User
    Type", "Country Code", "National Prefix". The "Phone Numbers" column contains either a
    single DN or a range of DNs.  The "User Id", "Last Name" and "First Name" columns
    contains the corresponding attributes of the user possessing the DN(s). For a service
    instance, "Last Name" contains the service instance name and "First Name" column
    contains the corresponding enumerated UserType value.  The "Department" column
    contains the department of the DN, not the department of the user or service instance.
    The "Activated" column indicates if the DN or DN range has been activated.  The "User
    Type" column contains the corresponding enumerated UserType value.  The "Country Code"
    column indicates the dialing prefix for the phone number.  The "National Prefix"
    column indicates the digit sequence to be dialed before the telephone number.  NOTE:
    the same phone number can show up in the list twice if the phone number is being used
    as the group calling line Id.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDnGetAssignmentPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupDnGetAssignmentPagedSortedListRequest()`.

    The response contains a table with columns: "Phone Numbers", "Department", "Department
    Type", "Parent Department", "Parent Department Type", "Activated", "Available", "User
    Id", "Last Name", "First Name", "Extension", "Email Address", "User Type", "Country
    Code", "National Prefix". The "Phone Numbers" column contains either a single DN or a
    range of DNs.  The "User Id", "Last Name" and "First Name" columns contains the
    corresponding attributes of the user possessing the DN(s). For a service instance,
    "Last Name" contains the service instance name and "First Name" column contains the
    corresponding enumerated UserType value.  The "Department" column contains the
    department of the DN, not the department of the user or service instance.  The
    "Department Type" and "Parent Department Type" columns will contain the values
    "Enterprise" or "Group". The "Activated" column indicates if the DN or DN range has
    been activated.  Only has a value if the DN(s) is assigned to a user.  The "User Type"
    column contains the corresponding enumerated UserType value.  The "Country Code"
    column indicates the dialing prefix for the phone number.  The "National Prefix"
    column indicates the digit sequence to be dialed before the telephone number.  NOTE:
    the same phone number can show up in the list twice if the phone number is being used
    as the group calling line Id.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDnGetAvailableListResponse(OCIResponse):
    """
    Response to the `GroupDnGetAvailableListRequest()`.

    The response contains the list of DNs that are assigned to a group and still available
    for assignment to users or service instances within the group.

    Attributes:
        phone_number (List[str]): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("phone_number", "phoneNumber", str, is_array=True),)


class GroupDnGetAvailableRangesListResponse(OCIResponse):
    """
    Response to the `GroupDnGetAvailableRangesListRequest()`.

    The response contains the list of group DNs that are not assigned to user, service
    instances or IMRN pool.  The Dns are returned in a list of DNs or DN ranges and
    formated in E164 format for display.

    Attributes:
        phone_number (List[str]): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("phone_number", "phoneNumber", str, is_array=True),)


class GroupDnGetDetailedAvailableListResponse(OCIResponse):
    """
    Response to the `GroupDnGetDetailedAvailableListRequest()`.

    The response contains a table with columns: "Phone Number", "Department". The "Phone
    Numbers" column contains a single DN. The "Department" column contains the department
    of the DN if the DN is part of the department.  The "Activated" column indicates if
    the DN has been activated.  Only has a value if the DN(s) is assigned to a user or if
    "Group Enable Activation Mode" is enabled.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDnGetListResponse(OCIResponse):
    """
    Response to the `GroupDnGetListRequest()`.

    The response contains the list of DNs assigned to the group.

    Attributes:
        phone_number (List[str]): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("phone_number", "phoneNumber", str, is_array=True),)


class GroupDnGetSummaryListResponse(OCIResponse):
    """
    Response to the `GroupDnGetSummaryListRequest()`.

    The response contains a table with columns: "Phone Numbers", "Assigned". The "Phone
    Numbers" column contains either a single DN or a range of DNs.  The "Assigned" column
    contains a boolean flag indicating if the DN(s) are currently assigned to a user or
    service instance.  The "Activated" column indicates if the DN or DN range has been
    activated.  Only has a value if the DN(s) is assigned to a user or if either “User
    Enable Activation mode “ or "Group and User Enable Activation Mode" is enabled.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupDomainGetAssignedListResponse(OCIResponse):
    """
    Contains a simple list of all group domain names.


    Attributes:
        group_default_domain (str): groupDefaultDomain
        domain (List[str]): domain *Optional*
    """

    __slots__: List[str] = [
        "group_default_domain",
        "domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("group_default_domain", "groupDefaultDomain", str, is_required=True),
            E("domain", "domain", str, is_array=True),
        )


class GroupDomainGetAssignedUserListResponse(OCIResponse):
    """
    Response to `GroupDomainGetAssignedUserListRequest()`.

    The table columns are: "User Id", "Last Name", "First Name", "Department", "Phone
    Number", "Email Address", "Service Provider Id", "Group Id", "Hiragana Last Name" and
    "Hiragana First Name", "Extension".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupEmergencyCallNotificationGetResponse(OCIResponse):
    """
    Response to `GroupEmergencyCallNotificationGetRequest()`.


    Attributes:
        send_emergency_call_notification_email (bool): sendEmergencyCallNotificationEmail
        emergency_call_notify_email_address (str): emergencyCallNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "send_emergency_call_notification_email",
        "emergency_call_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_emergency_call_notification_email",
                "sendEmergencyCallNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_notify_email_address",
                "emergencyCallNotifyEmailAddress",
                str,
            ),
        )


class GroupEmergencyZonesGetResponse(OCIResponse):
    """
    Response to `GroupEmergencyZonesGetRequest()`.


    Attributes:
        is_active (bool): isActive
        emergency_zones_prohibition (str): emergencyZonesProhibition
        send_emergency_call_notify_email (bool): sendEmergencyCallNotifyEmail
        emergency_call_notify_email_address (str): emergencyCallNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "emergency_zones_prohibition",
        "send_emergency_call_notify_email",
        "emergency_call_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "emergency_zones_prohibition",
                "emergencyZonesProhibition",
                str,
                is_required=True,
            ),
            E(
                "send_emergency_call_notify_email",
                "sendEmergencyCallNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_notify_email_address",
                "emergencyCallNotifyEmailAddress",
                str,
            ),
        )


class GroupEndpointGetListResponse(OCIResponse):
    """
    Response to `GroupEndpointGetListRequest()`.

    The column headings for the endpointTable are: "Line/Port", "Last Name", "First Name",
    "User Id", "User Type", "Phone Number", "Extension", "Device Type", "Device Name",
    "Net Address", "MAC Address", "Department", "Email Address". Possible values for User
    Type are "User", "CCBasic", "CCStandard", "CCPremium", "RP", "MOH", "MOHVideo".

    Attributes:
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
    """

    __slots__: List[str] = [
        "endpoint_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupEnhancedCallLogsSchemaInstanceGetResponse(OCIResponse):
    """
    Response to `GroupEnhancedCallLogsSchemaInstanceGetRequest()`.


    Attributes:
        name (str): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str),)


class GroupEnterpriseTrunkGetAvailableTrunkGroupListResponse(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetAvailableTrunkGroupListRequest()`.


    Attributes:
        trunk_group_name (List[str]): trunkGroupName *Optional*
    """

    __slots__: List[str] = [
        "trunk_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("trunk_group_name", "trunkGroupName", str, is_array=True),)


class GroupEnterpriseTrunkGetAvailableUserListResponse(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetAvailableUserListRequest()`.

    The column headings for the enterpriseTrunkUserTable are: "User Id", "Last Name",
    "First Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number",
    "Extension", "Department", "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupEnterpriseTrunkGetListResponse(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetListRequest()`.

    Contains a table of enterprise trunks defined in the enterprise The column headings
    are: "Enterprise Trunk Name", "Routing Type"

    Attributes:
        enterprise_trunk_table (List(enterpriseTrunkTable)): enterpriseTrunkTable -
            *Table* array of enterpriseTrunkTable named tuples
    """

    __slots__: List[str] = [
        "enterprise_trunk_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enterprise_trunk_table",
                "enterpriseTrunkTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupEnterpriseTrunkGetResponse(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetRequest()`.

    Replaced by: `GroupEnterpriseTrunkGetResponse21()`.

    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
        )


class GroupEnterpriseTrunkGetResponse21(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetRequest21()`.


    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
        enable_capacity_management (bool): enableCapacityManagement
        max_active_calls (int): maxActiveCalls *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
            *Optional*
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
            *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
        "enable_capacity_management",
        "max_active_calls",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "enable_capacity_management",
                "enableCapacityManagement",
                bool,
                is_required=True,
            ),
            E("max_active_calls", "maxActiveCalls", int),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
            ),
        )


class GroupEnterpriseTrunkGetResponse22(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetRequest22()`.


    Attributes:
        maximum_reroute_attempts (int): maximumRerouteAttempts
        route_exhaustion_action (str): routeExhaustionAction
        route_exhaustion_forward_address (str): routeExhaustionForwardAddress *Optional*
        ordered_routing (OCI.orderedRouting): orderedRouting *Optional*
        priority_weighted_routing (OCI.priorityWeightedRouting): priorityWeightedRouting
            *Optional*
        enable_capacity_management (bool): enableCapacityManagement
        max_active_calls (int): maxActiveCalls *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
            *Optional*
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
            *Optional*
        maximum_active_incoming_calls_allowed (int): maximumActiveIncomingCallsAllowed
            *Optional*
        maximum_active_outgoing_calls_allowed (int): maximumActiveOutgoingCallsAllowed
            *Optional*
        minimum_active_calls_reserved (int): minimumActiveCallsReserved *Optional*
    """

    __slots__: List[str] = [
        "maximum_reroute_attempts",
        "route_exhaustion_action",
        "route_exhaustion_forward_address",
        "ordered_routing",
        "priority_weighted_routing",
        "enable_capacity_management",
        "max_active_calls",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "maximum_active_incoming_calls_allowed",
        "maximum_active_outgoing_calls_allowed",
        "minimum_active_calls_reserved",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_reroute_attempts",
                "maximumRerouteAttempts",
                int,
                is_required=True,
            ),
            E(
                "route_exhaustion_action",
                "routeExhaustionAction",
                str,
                is_required=True,
            ),
            E("route_exhaustion_forward_address", "routeExhaustionForwardAddress", str),
            E("ordered_routing", "orderedRouting", str, is_complex=True),  # unknown
            E(
                "priority_weighted_routing",
                "priorityWeightedRouting",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "enable_capacity_management",
                "enableCapacityManagement",
                bool,
                is_required=True,
            ),
            E("max_active_calls", "maxActiveCalls", int),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
            ),
            E(
                "maximum_active_incoming_calls_allowed",
                "maximumActiveIncomingCallsAllowed",
                int,
            ),
            E(
                "maximum_active_outgoing_calls_allowed",
                "maximumActiveOutgoingCallsAllowed",
                int,
            ),
            E("minimum_active_calls_reserved", "minimumActiveCallsReserved", int),
        )


class GroupEnterpriseTrunkGetUserListResponse(OCIResponse):
    """
    Response to `GroupEnterpriseTrunkGetUserListRequest()`.

    The column headings for the enterpriseTrunkUserTable are: "User Id", "Last Name",
    "First Name", "Phone Number", "Alternate Trunk Identity", "Hiragana Last Name",
    "Hiragana First Name", "Extension", "Department", "Email Address" and "Route List
    Assigned".

    Attributes:
        enterprise_trunk_user_table (List(enterpriseTrunkUserTable)):
            enterpriseTrunkUserTable - *Table* array of enterpriseTrunkUserTable named
            tuples
    """

    __slots__: List[str] = [
        "enterprise_trunk_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enterprise_trunk_user_table",
                "enterpriseTrunkUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupExchangeIntegrationGetResponse(OCIResponse):
    """
    Response to `GroupExchangeIntegrationGetRequest()`.


    Attributes:
        enable_exchange_integration (bool): enableExchangeIntegration
        exchange_url (str): exchangeURL *Optional*
        exchange_user_name (str): exchangeUserName *Optional*
    """

    __slots__: List[str] = [
        "enable_exchange_integration",
        "exchange_url",
        "exchange_user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_exchange_integration",
                "enableExchangeIntegration",
                bool,
                is_required=True,
            ),
            E("exchange_url", "exchangeURL", str),
            E("exchange_user_name", "exchangeUserName", str),
        )


class GroupExtensionLengthGetResponse(OCIResponse):
    """
    Response to `GroupExtensionLengthGetRequest()`.


    Attributes:
        extension_length (int): extensionLength
    """

    __slots__: List[str] = [
        "extension_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("extension_length", "extensionLength", int, is_required=True),)


class GroupExtensionLengthGetResponse17(OCIResponse):
    """
    Response to `GroupExtensionLengthGetRequest17()`.

    Replaced by: `GroupExtensionLengthGetResponse22()` in AS data mode

    Attributes:
        min_extension_length (int): minExtensionLength
        max_extension_length (int): maxExtensionLength
        default_extension_length (int): defaultExtensionLength
    """

    __slots__: List[str] = [
        "min_extension_length",
        "max_extension_length",
        "default_extension_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("min_extension_length", "minExtensionLength", int, is_required=True),
            E("max_extension_length", "maxExtensionLength", int, is_required=True),
            E(
                "default_extension_length",
                "defaultExtensionLength",
                int,
                is_required=True,
            ),
        )


class GroupExtensionLengthGetResponse22(OCIResponse):
    """
    Response to `GroupExtensionLengthGetRequest22()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    useExterpriseExtensionLengthSetting

    Attributes:
        min_extension_length (int): minExtensionLength
        max_extension_length (int): maxExtensionLength
        default_extension_length (int): defaultExtensionLength
        use_enterprise_extension_length_setting (bool):
            useEnterpriseExtensionLengthSetting *Optional*
    """

    __slots__: List[str] = [
        "min_extension_length",
        "max_extension_length",
        "default_extension_length",
        "use_enterprise_extension_length_setting",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("min_extension_length", "minExtensionLength", int, is_required=True),
            E("max_extension_length", "maxExtensionLength", int, is_required=True),
            E(
                "default_extension_length",
                "defaultExtensionLength",
                int,
                is_required=True,
            ),
            E(
                "use_enterprise_extension_length_setting",
                "useEnterpriseExtensionLengthSetting",
                bool,
            ),
        )


class GroupFileRepositoryDeviceUserGetListResponse(OCIResponse):
    """
    Response to `GroupFileRepositoryDeviceUserGetListRequest()`.

    Contains a table with column headings : "User Name","Allow Delete","Allow Get","Allow
    Put" in a row for each file repository service provider user.

    Attributes:
        file_repository_user_table (List(fileRepositoryUserTable)):
            fileRepositoryUserTable - *Table* array of fileRepositoryUserTable named
            tuples
    """

    __slots__: List[str] = [
        "file_repository_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_table",
                "fileRepositoryUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFindMeFollowMeAlertingGroupGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupFindMeFollowMeAlertingGroupGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFindMeFollowMeGetAlertingGroupListResponse(OCIResponse):
    """
    Response to the `GroupFindMeFollowMeGetAlertingGroupListRequest()`.

    Contains a table with column headings: "Name", "Priority".

    Attributes:
        alerting_group_table (List(alertingGroupTable)): alertingGroupTable - *Table*
            array of alertingGroupTable named tuples
    """

    __slots__: List[str] = [
        "alerting_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alerting_group_table",
                "alertingGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFindMeFollowMeGetAlertingGroupResponse(OCIResponse):
    """
    Response to `GroupFindMeFollowMeGetAlertingGroupRequest()`.

    Contains the alerting group information.  The user table’s column headings are: "User
    Id", "Last Name", "First Name", "Hiragana Last Name" and "Hiragana First Name", "Phone
    Number", "Extension", "Department", "Email Address". The criteria table's column
    headings are: "Is Active", "Criteria Name", "Time Schedule", "Calls From",
    "Blacklisted", "Holiday Schedule"", "Calls To Type", "Calls To Number" and "Calls To
    Extension". The possible values for the "Calls To Type" column are the following or a
    combination of them separated by comma: - Primary - Alternate X (where x is a number
    between 1 and 10) The possible values for the "Calls To Number" column are the
    following or a combination of them separated by comma: - The value of the phone number
    for the corresponding Calls To Type, when the number is available.  i.e.  Alternate 1
    may have extension, but no number.  - When no number is available a blank space is
    provided instead.  The possible values for the "Calls To Extension" column are the
    following or a combination of them separated by comma: - The value of the extension
    for the corresponding Calls To Type, when the extension is available.  i.e.  Primary
    may have number, but no extension.  - When no extension is available a blank space is
    provided instead.

    Attributes:
        alerting_group_description (str): alertingGroupDescription *Optional*
        use_diversion_inhibitor (bool): useDiversionInhibitor
        answer_confirmation_required (bool): answerConfirmationRequired
        number_of_rings (int): numberOfRings
        phone_number (List[str]): phoneNumber *Optional*
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "alerting_group_description",
        "use_diversion_inhibitor",
        "answer_confirmation_required",
        "number_of_rings",
        "phone_number",
        "user_table",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("alerting_group_description", "alertingGroupDescription", str),
            E(
                "use_diversion_inhibitor",
                "useDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "answer_confirmation_required",
                "answerConfirmationRequired",
                bool,
                is_required=True,
            ),
            E("number_of_rings", "numberOfRings", int, is_required=True),
            E("phone_number", "phoneNumber", str, is_array=True),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFindMeFollowMeGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupFindMeFollowMeGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active". The column value for "Is Active" can either be
    true, or false.

    Attributes:
        find_me_follow_me_table (List(findMeFollowMeTable)): findMeFollowMeTable - *Table*
            array of findMeFollowMeTable named tuples
    """

    __slots__: List[str] = [
        "find_me_follow_me_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "find_me_follow_me_table",
                "findMeFollowMeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFlexibleSeatingAccessDeviceGetListResponse(OCIResponse):
    """
    Response to `GroupFlexibleSeatingAccessDeviceGetListRequest()`

    Attributes:
        available_access_device (List[OCI.availableAccessDevice]): availableAccessDevice
            *Optional*
    """

    __slots__: List[str] = [
        "available_access_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_access_device",
                "availableAccessDevice",
                str,
                is_complex=True,
                is_array=True,
            ),  # unknown
        )


class GroupFlexibleSeatingHostGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupFlexibleSeatingHostGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active". The column value for "Is Active" can either be
    true, or false.

    Attributes:
        flexible_seating_host_table (List(flexibleSeatingHostTable)):
            flexibleSeatingHostTable - *Table* array of flexibleSeatingHostTable named
            tuples
    """

    __slots__: List[str] = [
        "flexible_seating_host_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "flexible_seating_host_table",
                "flexibleSeatingHostTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupFlexibleSeatingHostGuestAssociationGetResponse(OCIResponse):
    """
    Response to `GroupFlexibleSeatingHostGuestAssociationGetRequest()`.


    Attributes:
        enforce_association_limit (bool): enforceAssociationLimit
        association_limit_hours (int): associationLimitHours
        access_level (str): accessLevel
        guest_last_name (str): guestLastName *Optional*
        guest_first_name (str): guestFirstName *Optional*
        guest_phone_number (str): guestPhoneNumber *Optional*
        guest_extension (str): guestExtension *Optional*
        guest_location_dialing_code (str): guestLocationDialingCode *Optional*
        guest_association_date_time (str): guestAssociationDateTime *Optional*
    """

    __slots__: List[str] = [
        "enforce_association_limit",
        "association_limit_hours",
        "access_level",
        "guest_last_name",
        "guest_first_name",
        "guest_phone_number",
        "guest_extension",
        "guest_location_dialing_code",
        "guest_association_date_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_association_limit",
                "enforceAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("access_level", "accessLevel", str, is_required=True),
            E("guest_last_name", "guestLastName", str),
            E("guest_first_name", "guestFirstName", str),
            E("guest_phone_number", "guestPhoneNumber", str),
            E("guest_extension", "guestExtension", str),
            E("guest_location_dialing_code", "guestLocationDialingCode", str),
            E("guest_association_date_time", "guestAssociationDateTime", str),
        )


class GroupFlexibleSeatingHostRoutingPoliciesGetResponse(OCIResponse):
    """
    Response to the `GroupFlexibleSeatingHostRoutingPoliciesGetRequest()`.


    Attributes:
        allow_emergency_calls (bool): allowEmergencyCalls
        allow_calls_to_voice_portal (bool): allowCallsToVoicePortal
    """

    __slots__: List[str] = [
        "allow_emergency_calls",
        "allow_calls_to_voice_portal",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_emergency_calls", "allowEmergencyCalls", bool, is_required=True),
            E(
                "allow_calls_to_voice_portal",
                "allowCallsToVoicePortal",
                bool,
                is_required=True,
            ),
        )


class GroupGetDefaultResponse(OCIResponse):
    """
    Response to the `GroupGetDefaultRequest()`.

    All values are default values for a group's profile.

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "time_zone",
        "time_zone_display_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
        )


class GroupGetListInServiceProviderPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupGetListInServiceProviderPagedSortedListRequest()`.

    Contains a table with column headings: "Group Id", "Group Name", "User Limit" and
    "Group External Id" and a row for each group.  The following columns are only
    populated in AS data mode: "Group External Id".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGetListInServiceProviderResponse(OCIResponse):
    """
    Response to `GroupGetListInServiceProviderRequest()`.

    Contains a 3 column table with column headings: "Group Id", "Group Name", "User Limit"
    and a row for each group.

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGetListInSystemResponse(OCIResponse):
    """
    Response to `GroupGetListInSystemRequest()`.

    Contains a table with column headings: "Group Id", "Group Name", "User Limit",
    "Organization Id", "Organization Type", "Reseller Id" and a row for each group.  The
    "Organization Id" column is populated with either a service provider Id or an
    enterprise Id.  The "Organization Type" column is populated with one of the enumerated
    strings defined in the OrganizationType OCI data type.  Please see
    OCISchemaDataTypes.xsd for details on OrganizationType.  The following columns are
    only returned in AS data mode: Reseller Id

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGetUserServiceAssignedUserListResponse(OCIResponse):
    """
    Return a table containing the list of users assigned the user service or service pack.

    The table contains columns: "User Id", "Last Name", "First Name", "Department", "Phone
    Number", "Email Address", "Hiragana Last Name"; "Hiragana First Name", "Extension".
    This is a response to the `GroupGetUserServiceAssignedUserListRequest()`.

    Attributes:
        user_list_table (List(userListTable)): userListTable - *Table* array of
            userListTable named tuples
    """

    __slots__: List[str] = [
        "user_list_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_list_table",
                "userListTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingGetAvailableOriginatorListResponse(OCIResponse):
    """
    Response to the `GroupGroupPagingGetAvailableOriginatorListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name" and "Hiragana First Name", "Phone Number", "Extension", "Department",
    "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingGetAvailableTargetListResponse(OCIResponse):
    """
    Response to the `GroupGroupPagingGetAvailableTargetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name" and "Hiragana First Name", "Phone Number", "Extension", "Department",
    "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupGroupPagingGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active". The column value for "Is Active" can either be
    true, or false.

    Attributes:
        paging_group_table (List(pagingGroupTable)): pagingGroupTable - *Table* array of
            pagingGroupTable named tuples
    """

    __slots__: List[str] = [
        "paging_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "paging_group_table",
                "pagingGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingGetOriginatorListResponse(OCIResponse):
    """
    Response to the `GroupGroupPagingGetOriginatorListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        originator_table (List(originatorTable)): originatorTable - *Table* array of
            originatorTable named tuples
    """

    __slots__: List[str] = [
        "originator_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "originator_table",
                "originatorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingGetTargetListResponse(OCIResponse):
    """
    Response to the `GroupGroupPagingGetTargetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        target_table (List(targetTable)): targetTable - *Table* array of targetTable named
            tuples
    """

    __slots__: List[str] = [
        "target_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "target_table",
                "targetTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupGroupPagingTargetsCapacityGetResponse(OCIResponse):
    """
    Response to `GroupGroupPagingTargetsCapacityGetRequest()`.

    Replaced by: `GroupGroupPagingTargetsCapacityGetResponse22()` in AS data mode.

    Attributes:
        maximum_target_users_from_service_provider (int):
            maximumTargetUsersFromServiceProvider
        maximum_target_users (int): maximumTargetUsers
    """

    __slots__: List[str] = [
        "maximum_target_users_from_service_provider",
        "maximum_target_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_target_users_from_service_provider",
                "maximumTargetUsersFromServiceProvider",
                int,
                is_required=True,
            ),
            E("maximum_target_users", "maximumTargetUsers", int, is_required=True),
        )


class GroupGroupPagingTargetsCapacityGetResponse22(OCIResponse):
    """
    Response to `GroupGroupPagingTargetsCapacityGetRequest22()`.


    Attributes:
        maximum_target_users_from_service_provider (int):
            maximumTargetUsersFromServiceProvider
        maximum_target_users (int): maximumTargetUsers
    """

    __slots__: List[str] = [
        "maximum_target_users_from_service_provider",
        "maximum_target_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "maximum_target_users_from_service_provider",
                "maximumTargetUsersFromServiceProvider",
                int,
                is_required=True,
            ),
            E("maximum_target_users", "maximumTargetUsers", int, is_required=True),
        )


class GroupHolidayScheduleGetListResponse(OCIResponse):
    """
    Response to the `GroupHolidayScheduleGetListRequest()`.

    The response contains all the group's holiday schedule name.

    Attributes:
        holiday_schedule_name (List[str]): holidayScheduleName *Optional*
    """

    __slots__: List[str] = [
        "holiday_schedule_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("holiday_schedule_name", "holidayScheduleName", str, is_array=True),)


class GroupHuntGroupGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupHuntGroupGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupHuntGroupGetAvailableUserPagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupHuntGroupGetAvailableUserPagedSortedListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Is Phone Number Activated",
    "Country Code","National Prefix", "Extension", "Department", "Department Type",
    "Parent Department", "Parent Department Type", "Email Address", "IMP Id", "Mobile
    Number", "Group Id", "Group Name".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupHuntGroupGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupHuntGroupGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active", "Policy". The column values for "Is Active"
    can either be true, or false.  NOTE: prior to release 14, the policy column did not
    match the HuntPolicy enumerated type.

    Attributes:
        hunt_group_table (List(huntGroupTable)): huntGroupTable - *Table* array of
            huntGroupTable named tuples
    """

    __slots__: List[str] = [
        "hunt_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "hunt_group_table",
                "huntGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupHuntGroupGetInstancePagedSortedListResponse(OCIResponse):
    """
    Response to the `GroupHuntGroupGetInstancePagedSortedListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number", "Is
    Phone Number Activated", "Country Code","National Prefix", "Extension", "Department",
    "Department Type", "Parent Department", "Parent Department Type", "Is Active",
    "Policy". The column values for "Is Active" can either be true, or false.  NOTE: prior
    to release 14, the policy column did not match the HuntPolicy enumerated type.

    Attributes:
        hunt_group_table (List(huntGroupTable)): huntGroupTable - *Table* array of
            huntGroupTable named tuples
    """

    __slots__: List[str] = [
        "hunt_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "hunt_group_table",
                "huntGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupIMRNGetListResponse(OCIResponse):
    """
    Response to `GroupIMRNGetListRequest()`.


    Attributes:
        imrn (List[str]): imrn *Optional*
    """

    __slots__: List[str] = [
        "imrn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("imrn", "imrn", str, is_array=True),)


class GroupInstantGroupCallGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupInstantGroupCallGetInstanceListRequest()`.

    Contains a 6 column table with column headings: "Service User Id", "Name", "Phone
    Number", "Extension", "Department", "Is Active". The column values for Is Active can
    either be true, or false.

    Attributes:
        instant_group_call_table (List(instantGroupCallTable)): instantGroupCallTable -
            *Table* array of instantGroupCallTable named tuples
    """

    __slots__: List[str] = [
        "instant_group_call_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "instant_group_call_table",
                "instantGroupCallTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupIntegratedIMPGetResponse(OCIResponse):
    """
    Response to the `GroupIntegratedIMPGetRequest()`.

    The response contains the group Integrated IMP service attributes.  Replaced by:
    `GroupIntegratedIMPGetResponse21sp1()` in AS data mode

    Attributes:
        use_service_provider_setting (bool): useServiceProviderSetting
        service_domain (str): serviceDomain *Optional*
    """

    __slots__: List[str] = [
        "use_service_provider_setting",
        "service_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_setting",
                "useServiceProviderSetting",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
        )


class GroupIntegratedIMPGetResponse21sp1(OCIResponse):
    """
    Response to the `GroupIntegratedIMPGetRequest21sp1()`.

    The response contains the group Integrated IMP service attributes.

    Attributes:
        use_service_provider_setting (bool): useServiceProviderSetting
        service_domain (str): serviceDomain *Optional*
        effective_service_domain (str): effectiveServiceDomain *Optional*
        add_service_provider_in_imp_user_id (bool): addServiceProviderInIMPUserId
        default_imp_id_type (str): defaultImpIdType
    """

    __slots__: List[str] = [
        "use_service_provider_setting",
        "service_domain",
        "effective_service_domain",
        "add_service_provider_in_imp_user_id",
        "default_imp_id_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_setting",
                "useServiceProviderSetting",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("effective_service_domain", "effectiveServiceDomain", str),
            E(
                "add_service_provider_in_imp_user_id",
                "addServiceProviderInIMPUserId",
                bool,
                is_required=True,
            ),
            E("default_imp_id_type", "defaultImpIdType", str, is_required=True),
        )


class GroupInterceptGroupGetResponse(OCIResponse):
    """
    Response to the `GroupInterceptGroupGetRequest()`.

    Replaced By: `GroupInterceptGroupGetResponse16()`

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        video_file_description (str): videoFileDescription *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "video_file_description",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("video_file_description", "videoFileDescription", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
        )


class GroupInterceptGroupGetResponse16(OCIResponse):
    """
    Response to the `GroupInterceptGroupGetRequest16()`.

    Replaced By: `GroupInterceptGroupGetResponse16sp1()`

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
        )


class GroupInterceptGroupGetResponse16sp1(OCIResponse):
    """
    Response to the `GroupInterceptGroupGetRequest16sp1()`.

    Replaced by: `GroupInterceptGroupGetResponse21sp1()` in AS data mode

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        reroute_outbound_calls (bool): rerouteOutboundCalls
        outbound_reroute_phone_number (str): outboundReroutePhoneNumber *Optional*
        allow_outbound_local_calls (bool): allowOutboundLocalCalls
        inbound_call_mode (str): inboundCallMode
        alternate_blocking_announcement (bool): alternateBlockingAnnouncement
        route_to_voice_mail (bool): routeToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "reroute_outbound_calls",
        "outbound_reroute_phone_number",
        "allow_outbound_local_calls",
        "inbound_call_mode",
        "alternate_blocking_announcement",
        "route_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("reroute_outbound_calls", "rerouteOutboundCalls", bool, is_required=True),
            E("outbound_reroute_phone_number", "outboundReroutePhoneNumber", str),
            E(
                "allow_outbound_local_calls",
                "allowOutboundLocalCalls",
                bool,
                is_required=True,
            ),
            E("inbound_call_mode", "inboundCallMode", str, is_required=True),
            E(
                "alternate_blocking_announcement",
                "alternateBlockingAnnouncement",
                bool,
                is_required=True,
            ),
            E("route_to_voice_mail", "routeToVoiceMail", bool, is_required=True),
        )


class GroupInterceptGroupGetResponse21sp1(OCIResponse):
    """
    Response to the `GroupInterceptGroupGetRequest21sp1()`.

    The following elements are only used in AS data mode: exemptInboundMobilityCalls
    exemptOutboundMobilityCalls disableParallelRingingToNetworkLocations

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        inbound_call_mode (str): inboundCallMode
        alternate_blocking_announcement (bool): alternateBlockingAnnouncement
        exempt_inbound_mobility_calls (bool): exemptInboundMobilityCalls
        disable_parallel_ringing_to_network_locations (bool):
            disableParallelRingingToNetworkLocations
        route_to_voice_mail (bool): routeToVoiceMail
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        outbound_call_mode (str): outboundCallMode
        exempt_outbound_mobility_calls (bool): exemptOutboundMobilityCalls
        reroute_outbound_calls (bool): rerouteOutboundCalls
        outbound_reroute_phone_number (str): outboundReroutePhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "inbound_call_mode",
        "alternate_blocking_announcement",
        "exempt_inbound_mobility_calls",
        "disable_parallel_ringing_to_network_locations",
        "route_to_voice_mail",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "outbound_call_mode",
        "exempt_outbound_mobility_calls",
        "reroute_outbound_calls",
        "outbound_reroute_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("inbound_call_mode", "inboundCallMode", str, is_required=True),
            E(
                "alternate_blocking_announcement",
                "alternateBlockingAnnouncement",
                bool,
                is_required=True,
            ),
            E(
                "exempt_inbound_mobility_calls",
                "exemptInboundMobilityCalls",
                bool,
                is_required=True,
            ),
            E(
                "disable_parallel_ringing_to_network_locations",
                "disableParallelRingingToNetworkLocations",
                bool,
                is_required=True,
            ),
            E("route_to_voice_mail", "routeToVoiceMail", bool, is_required=True),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("outbound_call_mode", "outboundCallMode", str, is_required=True),
            E(
                "exempt_outbound_mobility_calls",
                "exemptOutboundMobilityCalls",
                bool,
                is_required=True,
            ),
            E("reroute_outbound_calls", "rerouteOutboundCalls", bool, is_required=True),
            E("outbound_reroute_phone_number", "outboundReroutePhoneNumber", str),
        )


class GroupInventoryReportGetResponse(OCIResponse):
    """
    Response to `GroupInventoryReportGetRequest()`.


    Attributes:
        inventory_report_table (List(inventoryReportTable)): inventoryReportTable -
            *Table* array of inventoryReportTable named tuples
    """

    __slots__: List[str] = [
        "inventory_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "inventory_report_table",
                "inventoryReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMWIDeliveryToMobileEndpointGetResponse(OCIResponse):
    """
    Response to `GroupMWIDeliveryToMobileEndpointGetRequest()`.

    The templateActivationTable contains the list of templates defined for the group.  The
    column headings are "Enable", "Language", "Type".

    Attributes:
        use_setting_level (str): useSettingLevel
        template_activation_table (List(templateActivationTable)): templateActivationTable
            - *Table* array of templateActivationTable named tuples
    """

    __slots__: List[str] = [
        "use_setting_level",
        "template_activation_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "template_activation_table",
                "templateActivationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMeetMeConferencingGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupMeetMeConferencingGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department",
    "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupMeetMeConferencingGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Ports", and "Is Active". The column values for "Is Active"
    can either be true, or false.

    Attributes:
        conference_bridge_table (List(conferenceBridgeTable)): conferenceBridgeTable -
            *Table* array of conferenceBridgeTable named tuples
    """

    __slots__: List[str] = [
        "conference_bridge_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_bridge_table",
                "conferenceBridgeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupNetworkClassOfServiceGetAssignedListResponse(OCIResponse):
    """
    Response to `GroupNetworkClassOfServiceGetAssignedListRequest()`.

    Contains a table of all Network Classes of Service assigned to the group.  The column
    headings are: "Name", "Description" and "Default".

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupNetworkClassOfServiceGetAssignedUserListResponse(OCIResponse):
    """
    Response to `GroupNetworkClassOfServiceGetAssignedUserListRequest()`.

    Contains a table of users that have the Network Class of Service assigned.  The column
    headings are: "User Id", "User Type", "Last Name", "First Name", "Department", "Phone
    Number", "Email Address", "Service Provider Id", "Group Id", "Hiragana Last Name" and
    "Hiragana First Name" , "Extension".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupNetworkClassOfServiceGetAssignedUserListResponse21(OCIResponse):
    """
    Response to `GroupNetworkClassOfServiceGetAssignedUserListRequest21()`.

    Contains a table of users that have the Network Class of Service assigned.  The column
    headings are: "User Id", "User Type", "Last Name", "First Name", "Department", "Phone
    Number", "Email Address", "Service Provider Id", "Group Id", "Hiragana Last Name" and
    "Hiragana First Name" , "Extension". The User type column will display Auto Attendant
    and the Call Center subtype.  Call Center - Basic, Call Center - Standard and Call
    Center - Premium will be displayed instead of Call Center and Auto Attendant (for the
    Basic Auto Attendant) and Auto Attendant - Standard instead of Auto Attendant.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupOfficeZoneGetAssignedListResponse(OCIResponse):
    """
    Response to `GroupOfficeZoneGetAssignedListRequest()`.

    Contains a table of all Office Zones assigned to the group.  The column headings are:
    "Name", "Description" and "Default".

    Attributes:
        office_zone_table (List(officeZoneTable)): officeZoneTable - *Table* array of
            officeZoneTable named tuples
    """

    __slots__: List[str] = [
        "office_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "office_zone_table",
                "officeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupOfficeZoneGetAssignedUserListResponse(OCIResponse):
    """
    Response to `GroupOfiiceZoneGetAssignedUserListRequest()`.

    Contains a table of users that have the Office Zone assigned.  The column headings
    are: "User Id", "User Type", "Last Name", "First Name", "Department", "Phone Number",
    "Email Address", "Hiragana Last Name" and "Hiragana First Name", "Extension". Office
    Zones can only be unassigned if the Location-Based Calling Restrictions has been
    authorized to the group otherwise the request will fail.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupOutgoingCallingPlanPinholeDigitPatternGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanPinholeDigitPatternGetListRequest()`.

    Contains a table with column headings: "Name", "Digit Pattern".

    Attributes:
        digit_pattern_table (List(digitPatternTable)): digitPatternTable - *Table* array
            of digitPatternTable named tuples
    """

    __slots__: List[str] = [
        "digit_pattern_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "digit_pattern_table",
                "digitPatternTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPasswordRulesGetResponse(OCIResponse):
    """
    Response to `GroupPasswordRulesGetRequest()`.

    Contains the password rules applicable to users within the group.  Repleced by:
    `GroupPasswordRulesGetResponse16()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
        )


class GroupPasswordRulesGetResponse16(OCIResponse):
    """
    Response to `GroupPasswordRulesGetRequest16()`.

    Contains the password rules applicable to users within the group.  Replaced by:
    `GroupPasswordRulesGetResponse22()` in AS data mode.

    Attributes:
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
    """

    __slots__: List[str] = [
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
        )


class GroupPasswordRulesGetResponse22(OCIResponse):
    """
    Response to `GroupPasswordRulesGetRequest22()`.

    Contains the password rules applicable to users within the group.

    Attributes:
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
        force_password_change_after_reset (bool): forcePasswordChangeAfterReset
    """

    __slots__: List[str] = [
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
        "force_password_change_after_reset",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
            E(
                "force_password_change_after_reset",
                "forcePasswordChangeAfterReset",
                bool,
                is_required=True,
            ),
        )


class GroupPhoneDirectoryGetListResponse(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id". If extended directory information is requested, the following
    columns are also included: "First Name", "Last Name", "User Id", "Pager", "Title",
    "Time Zone", "Location", "Address Line 1", "Address Line 2", "City", "State", "Zip",
    "Country". Replace by: `GroupPhoneDirectoryGetListResponse17()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPhoneDirectoryGetListResponse17(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetListRequest17()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "Is Virtual On-Net User" If extended directory information is
    requested, the following columns are also included: "First Name", "Last Name", "User
    Id", "Pager", "Title", "Time Zone", "Location", "Address Line 1", "Address Line 2",
    "City", "State", "Zip", "Country". Replaced by:
    `GroupPhoneDirectoryGetListResponse18()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPhoneDirectoryGetListResponse17sp3(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetListRequest17sp3()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "IMP Id" and "Is Virtual On-Net User" If extended directory
    information is requested, the following columns are also included: "First Name", "Last
    Name", "User Id", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country". Replaced by:
    `GroupPhoneDirectoryGetListResponse18()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPhoneDirectoryGetListResponse18(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetListRequest18()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id" and "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country". Finally "Service Name". The
    Service Name represents the localized service name for service instances.  The
    localized values are taken from the BroadworksLabel.properties file.  Service Name is
    currently supporting: AutoAttendant, AutoAttendantStandard, AutoAttendantVideo,
    CallCenter, CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, RoutePoint, BroadWorksAnywhere, GroupPaging, FindmeFollowme,
    VoiceXML, FlexibleSeatingGuest, CollaborateAudio, MeetMeConferencing.  For a Regular
    User or a Virtual On Network Enterprise Extensions, the Service Name is empty.  The
    following columns are returned in AS data mode only: "Service Name"

    Replaced By: `GroupPhoneDirectoryGetPagedSortedListResponse()`

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPhoneDirectoryGetPagedListResponse(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetPagedListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id" and "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country". Finally "Service Name". The
    Service Name represents the localized service name for service instances.  The
    localized values are taken from the BroadworksLabel.properties file.  Service Name is
    currently supporting: AutoAttendant, AutoAttendantStandard, AutoAttendantVideo,
    CallCenter, CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, MusicOnHold, MusicOnHoldVideo, RoutePoint, BroadWorksAnywhere
    GroupPaging, FindmeFollowme, VoiceXML, FlexibleSeatingGuest, CollaborateSharing,
    MeetMeConferencing.  For a Regular User or a Virtual On Network Enterprise Extensions,
    the Service Name is empty.

    Replaced By: `GroupPhoneDirectoryGetPagedSortedListResponse()`

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPhoneDirectoryGetPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupPhoneDirectoryGetPagedSortedListRequest()`.

    Contains a table with a row for each phone number and column headings : "Name",
    "Number", "Extension", "Mobile", "Email Address", "Department", "Hiragana Name",
    "Group Id", "Yahoo Id", "User Id", "IMP Id" and "Is Virtual On-Net User". If extended
    directory information is requested, the following columns are also included: "First
    Name", "Last Name", "Pager", "Title", "Time Zone", "Location", "Address Line 1",
    "Address Line 2", "City", "State", "Zip", "Country". Finally "Service Name". The
    Service Name represents the localized service name for service instances.  The
    localized values are taken from the BroadworksLabel.properties file.  Service Name is
    currently supporting: AutoAttendant, AutoAttendantStandard, AutoAttendantVideo,
    CallCenter, CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, MusicOnHold, MusicOnHoldVideo, RoutePoint, BroadWorksAnywhere
    GroupPaging, FindmeFollowme, VoiceXML, FlexibleSeatingGuest, CollaborateSharing,
    MeetMeConferencing.  For a Regular User or a Virtual On Network Enterprise Extensions,
    the Service Name is empty.  The following columns are populated in AS data mode only:
    "IMP Id"

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupPolicyGetResponse(OCIResponse):
    """
    Response to `GroupPolicyGetRequest()`.

    Contains the policy settings for the group.

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        ldap_integration_access (str): ldapIntegrationAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "ldap_integration_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E(
                "ldap_integration_access",
                "ldapIntegrationAccess",
                str,
                is_required=True,
            ),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
        )


class GroupPolicyGetResponse14sp1(OCIResponse):
    """
    Response to `GroupPolicyGetRequest14sp1()`.

    Contains the policy settings for the group.

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        ldap_integration_access (str): ldapIntegrationAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        department_admin_trunk_group_access (str): departmentAdminTrunkGroupAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "ldap_integration_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "department_admin_trunk_group_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E(
                "ldap_integration_access",
                "ldapIntegrationAccess",
                str,
                is_required=True,
            ),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_trunk_group_access",
                "departmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
        )


class GroupPolicyGetResponse14sp4(OCIResponse):
    """
    Response to `GroupPolicyGetRequest14sp4()`.

    Contains the policy settings for the group.

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        ldap_integration_access (str): ldapIntegrationAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        department_admin_trunk_group_access (str): departmentAdminTrunkGroupAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
        user_enhanced_call_log_access (str): userEnhancedCallLogAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "ldap_integration_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "department_admin_trunk_group_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
        "user_enhanced_call_log_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E(
                "ldap_integration_access",
                "ldapIntegrationAccess",
                str,
                is_required=True,
            ),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_trunk_group_access",
                "departmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
            E(
                "user_enhanced_call_log_access",
                "userEnhancedCallLogAccess",
                str,
                is_required=True,
            ),
        )


class GroupPolicyGetResponse17(OCIResponse):
    """
    Response to `GroupPolicyGetRequest17()`.

    Contains the policy settings for the group.  Replaced by: `GroupPolicyGetResponse20()`
    in AS data mode

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        ldap_integration_access (str): ldapIntegrationAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        department_admin_trunk_group_access (str): departmentAdminTrunkGroupAccess
        department_admin_phone_number_extension_access (str):
            departmentAdminPhoneNumberExtensionAccess
        department_admin_calling_line_id_number_access (str):
            departmentAdminCallingLineIdNumberAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
        user_enhanced_call_log_access (str): userEnhancedCallLogAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "ldap_integration_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "department_admin_trunk_group_access",
        "department_admin_phone_number_extension_access",
        "department_admin_calling_line_id_number_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
        "user_enhanced_call_log_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E(
                "ldap_integration_access",
                "ldapIntegrationAccess",
                str,
                is_required=True,
            ),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_trunk_group_access",
                "departmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_phone_number_extension_access",
                "departmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_calling_line_id_number_access",
                "departmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
            E(
                "user_enhanced_call_log_access",
                "userEnhancedCallLogAccess",
                str,
                is_required=True,
            ),
        )


class GroupPolicyGetResponse20(OCIResponse):
    """
    Response to `GroupPolicyGetRequest20()`.

    Contains the policy settings for the group.  Replaced by: `GroupPolicyGetResponse22()`
    in AS data mode

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        ldap_integration_access (str): ldapIntegrationAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        department_admin_trunk_group_access (str): departmentAdminTrunkGroupAccess
        department_admin_phone_number_extension_access (str):
            departmentAdminPhoneNumberExtensionAccess
        department_admin_calling_line_id_number_access (str):
            departmentAdminCallingLineIdNumberAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
        user_enhanced_call_log_access (str): userEnhancedCallLogAccess
        user_auto_attendant_name_dialing_access (str): userAutoAttendantNameDialingAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "ldap_integration_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "department_admin_trunk_group_access",
        "department_admin_phone_number_extension_access",
        "department_admin_calling_line_id_number_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
        "user_enhanced_call_log_access",
        "user_auto_attendant_name_dialing_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E(
                "ldap_integration_access",
                "ldapIntegrationAccess",
                str,
                is_required=True,
            ),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_trunk_group_access",
                "departmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_phone_number_extension_access",
                "departmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_calling_line_id_number_access",
                "departmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
            E(
                "user_enhanced_call_log_access",
                "userEnhancedCallLogAccess",
                str,
                is_required=True,
            ),
            E(
                "user_auto_attendant_name_dialing_access",
                "userAutoAttendantNameDialingAccess",
                str,
                is_required=True,
            ),
        )


class GroupPolicyGetResponse22(OCIResponse):
    """
    Response to `GroupPolicyGetRequest22()`.

    Contains the policy settings for the group.

    Attributes:
        calling_plan_access (str): callingPlanAccess
        extension_access (str): extensionAccess
        voice_messaging_access (str): voiceMessagingAccess
        department_admin_user_access (str): departmentAdminUserAccess
        department_admin_trunk_group_access (str): departmentAdminTrunkGroupAccess
        department_admin_phone_number_extension_access (str):
            departmentAdminPhoneNumberExtensionAccess
        department_admin_calling_line_id_number_access (str):
            departmentAdminCallingLineIdNumberAccess
        user_authentication_access (str): userAuthenticationAccess
        user_group_directory_access (str): userGroupDirectoryAccess
        user_profile_access (str): userProfileAccess
        user_enhanced_call_log_access (str): userEnhancedCallLogAccess
        user_auto_attendant_name_dialing_access (str): userAutoAttendantNameDialingAccess
    """

    __slots__: List[str] = [
        "calling_plan_access",
        "extension_access",
        "voice_messaging_access",
        "department_admin_user_access",
        "department_admin_trunk_group_access",
        "department_admin_phone_number_extension_access",
        "department_admin_calling_line_id_number_access",
        "user_authentication_access",
        "user_group_directory_access",
        "user_profile_access",
        "user_enhanced_call_log_access",
        "user_auto_attendant_name_dialing_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("calling_plan_access", "callingPlanAccess", str, is_required=True),
            E("extension_access", "extensionAccess", str, is_required=True),
            E("voice_messaging_access", "voiceMessagingAccess", str, is_required=True),
            E(
                "department_admin_user_access",
                "departmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_trunk_group_access",
                "departmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_phone_number_extension_access",
                "departmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "department_admin_calling_line_id_number_access",
                "departmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "user_authentication_access",
                "userAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "user_group_directory_access",
                "userGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E("user_profile_access", "userProfileAccess", str, is_required=True),
            E(
                "user_enhanced_call_log_access",
                "userEnhancedCallLogAccess",
                str,
                is_required=True,
            ),
            E(
                "user_auto_attendant_name_dialing_access",
                "userAutoAttendantNameDialingAccess",
                str,
                is_required=True,
            ),
        )


class GroupPolycomPhoneServicesGetResponse(OCIResponse):
    """
    Response to `GroupPolycomPhoneServicesGetRequest()`.


    Attributes:
        include_group_common_phone_list_in_directory (bool):
            includeGroupCommonPhoneListInDirectory
        include_group_custom_contact_directory_in_directory (bool):
            includeGroupCustomContactDirectoryInDirectory
        group_custom_contact_directory (str): groupCustomContactDirectory *Optional*
    """

    __slots__: List[str] = [
        "include_group_common_phone_list_in_directory",
        "include_group_custom_contact_directory_in_directory",
        "group_custom_contact_directory",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "include_group_common_phone_list_in_directory",
                "includeGroupCommonPhoneListInDirectory",
                bool,
                is_required=True,
            ),
            E(
                "include_group_custom_contact_directory_in_directory",
                "includeGroupCustomContactDirectoryInDirectory",
                bool,
                is_required=True,
            ),
            E("group_custom_contact_directory", "groupCustomContactDirectory", str),
        )


class GroupPortalPasscodeRulesGetResponse(OCIResponse):
    """
    Response to `GroupPortalPasscodeRulesGetRequest()`.

    Contains the group's passcode rules setting.

    Attributes:
        use_rule_level (str): useRuleLevel
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "use_rule_level",
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_rule_level", "useRuleLevel", str, is_required=True),
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class GroupPortalPasscodeRulesGetResponse19(OCIResponse):
    """
    Response to `GroupPortalPasscodeRulesGetRequest19()`.

    Contains the group's passcode rules setting.  The following elements are only used in
    AS data mode: numberOfRepeatedDigits disallowRepeatedPatterns
    disallowContiguousSequences numberOfAscendingDigits numberOfDescendingDigits
    numberOfPreviousPasscodes

    Attributes:
        use_rule_level (str): useRuleLevel
        disallow_repeated_digits (bool): disallowRepeatedDigits
        number_of_repeated_digits (int): numberOfRepeatedDigits
        disallow_repeated_patterns (bool): disallowRepeatedPatterns
        disallow_contiguous_sequences (bool): disallowContiguousSequences
        number_of_ascending_digits (int): numberOfAscendingDigits
        number_of_descending_digits (int): numberOfDescendingDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        number_of_previous_passcodes (int): numberOfPreviousPasscodes
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "use_rule_level",
        "disallow_repeated_digits",
        "number_of_repeated_digits",
        "disallow_repeated_patterns",
        "disallow_contiguous_sequences",
        "number_of_ascending_digits",
        "number_of_descending_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "number_of_previous_passcodes",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_rule_level", "useRuleLevel", str, is_required=True),
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E(
                "number_of_repeated_digits",
                "numberOfRepeatedDigits",
                int,
                is_required=True,
            ),
            E(
                "disallow_repeated_patterns",
                "disallowRepeatedPatterns",
                bool,
                is_required=True,
            ),
            E(
                "disallow_contiguous_sequences",
                "disallowContiguousSequences",
                bool,
                is_required=True,
            ),
            E(
                "number_of_ascending_digits",
                "numberOfAscendingDigits",
                int,
                is_required=True,
            ),
            E(
                "number_of_descending_digits",
                "numberOfDescendingDigits",
                int,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "number_of_previous_passcodes",
                "numberOfPreviousPasscodes",
                int,
                is_required=True,
            ),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class GroupPreAlertingAnnouncementGetResponse(OCIResponse):
    """
    Get the group level pre-alerting service settings.

    The response is either a `GroupPreAlertingAnnouncementGetResponse()` or an
    `ErrorResponse()`. Replaced by: `GroupPreAlertingAnnouncementGetResponse20()` in AS
    data mode

    Attributes:
        announcement_interruption (str): announcementInterruption
        interruption_digit_sequence (str): interruptionDigitSequence *Optional*
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "announcement_interruption",
        "interruption_digit_sequence",
        "audio_selection",
        "audio_file_description",
        "audio_media_type",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_media_type",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_interruption",
                "announcementInterruption",
                str,
                is_required=True,
            ),
            E("interruption_digit_sequence", "interruptionDigitSequence", str),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("video_file_url", "videoFileUrl", str),
        )


class GroupRouteListEnterpriseTrunkNumberPrefixGetAvailableListResponse(OCIResponse):
    """
    Response to `GroupRouteListEnterpriseTrunkNumberPrefixGetAvailableListRequest()`.

    Contains a list of number prefixess that are assigned to a group and still available
    for assignment to users within the group.  The column headings are "Number
    Prefix"","Is Active", “Extension Range Start” and “Extension Range End”.

    Attributes:
        available_number_prefix_table (List(availableNumberPrefixTable)):
            availableNumberPrefixTable - *Table* array of availableNumberPrefixTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_prefix_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_prefix_table",
                "availableNumberPrefixTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRouteListEnterpriseTrunkNumberPrefixGetSummaryListResponse(OCIResponse):
    """
    Response to `GroupRouteListEnterpriseTrunkNumberRangeGetSummaryListRequest()`.

    The response contains a table with columns: "Number Prefix", "User Id", "Last Name",
    "First Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number",
    "Extension", "Department", "Email Address", "Enterprise Trunk"","Is Active",
    “Extension Range Start” and “Extension Range End”. The "User Id", "Last Name", "First
    Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department" and "Email Address" columns contains the corresponding attributes of the
    user possessing the number range.  The "Enterprise Trunk" column contains the
    enterprise trunk the user possessing the number range belongs to.  The "Is Active"
    column indicates if the number prefix has been activated.  The “Extension Range Start”
    column indicates the start for an extension range.  The “Extension Range End” column
    indicates the end for an extension range.

    Attributes:
        number_prefix_summary_table (List(numberPrefixSummaryTable)):
            numberPrefixSummaryTable - *Table* array of numberPrefixSummaryTable named
            tuples
    """

    __slots__: List[str] = [
        "number_prefix_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_prefix_summary_table",
                "numberPrefixSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRouteListEnterpriseTrunkNumberRangeGetAvailableListResponse(OCIResponse):
    """
    Response to `GroupRouteListEnterpriseTrunkNumberRangeGetAvailableListRequest()`.

    Contains a list of number ranges that are assigned to a group and still available for
    assignment to users within the group.  The column headings are "Number Range Start",
    "Number Range End" ,"Is Active" and “Extension Length”..

    Attributes:
        available_number_range_table (List(availableNumberRangeTable)):
            availableNumberRangeTable - *Table* array of availableNumberRangeTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_range_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_range_table",
                "availableNumberRangeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRouteListEnterpriseTrunkNumberRangeGetSummaryListResponse(OCIResponse):
    """
    Response to `GroupRouteListEnterpriseTrunkNumberRangeGetSummaryListRequest()`.

    The response contains a table with columns: "Number Range Start", "Number Range End",
    "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name",
    "Phone Number", "Extension", "Department", "Email Address", "Enterprise Trunk" and "Is
    Active". The "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Phone Number", "Extension", "Department" and "Email Address" columns
    contains the corresponding attributes of the user possessing the number range.  The
    "Enterprise Trunk" column contains the enterprise trunk the user possessing the number
    range belongs to.  The "Is Active" column indicates if the number range has been
    activated.  The “Extension Length” column indicates the length of the extension for
    the enterpris trunk number range.

    Attributes:
        number_range_summary_table (List(numberRangeSummaryTable)):
            numberRangeSummaryTable - *Table* array of numberRangeSummaryTable named
            tuples
    """

    __slots__: List[str] = [
        "number_range_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_range_summary_table",
                "numberRangeSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointBouncedCallGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointBouncedCallGetRequest()`.


    Attributes:
        is_active (bool): isActive
        number_of_rings_before_bouncing_call (int): numberOfRingsBeforeBouncingCall
        enable_transfer (bool): enableTransfer *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        bounce_call_when_agent_unavailable (bool): bounceCallWhenAgentUnavailable
    """

    __slots__: List[str] = [
        "is_active",
        "number_of_rings_before_bouncing_call",
        "enable_transfer",
        "transfer_phone_number",
        "bounce_call_when_agent_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "number_of_rings_before_bouncing_call",
                "numberOfRingsBeforeBouncingCall",
                int,
                is_required=True,
            ),
            E("enable_transfer", "enableTransfer", bool),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "bounce_call_when_agent_unavailable",
                "bounceCallWhenAgentUnavailable",
                bool,
                is_required=True,
            ),
        )


class GroupRoutePointDistinctiveRingingGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointDistinctiveRingingGetRequest()`.


    Attributes:
        enable_distinctive_ringing (bool): enableDistinctiveRinging
        distinctive_ringing_ring_pattern (str): distinctiveRingingRingPattern
        distinctive_ringing_force_delivery_ring_pattern (str):
            distinctiveRingingForceDeliveryRingPattern
    """

    __slots__: List[str] = [
        "enable_distinctive_ringing",
        "distinctive_ringing_ring_pattern",
        "distinctive_ringing_force_delivery_ring_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_distinctive_ringing",
                "enableDistinctiveRinging",
                bool,
                is_required=True,
            ),
            E(
                "distinctive_ringing_ring_pattern",
                "distinctiveRingingRingPattern",
                str,
                is_required=True,
            ),
            E(
                "distinctive_ringing_force_delivery_ring_pattern",
                "distinctiveRingingForceDeliveryRingPattern",
                str,
                is_required=True,
            ),
        )


class GroupRoutePointExternalSystemGetAssignedListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointExternalSystemGetAssignedListRequest()`.

    Contains a table of all Route Point External Systems assigned to the group.  The
    column headings are: "Name" and "Description".

    Attributes:
        external_system_table (List(externalSystemTable)): externalSystemTable - *Table*
            array of externalSystemTable named tuples
    """

    __slots__: List[str] = [
        "external_system_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "external_system_table",
                "externalSystemTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointExternalSystemGetAssignedRoutePointListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointExternalSystemGetAssignedRoutePointListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Video", "Phone
    Number", "Extension", "Department". The column values for "Video" can either be
    "true", or "false".

    Attributes:
        route_point_table (List(routePointTable)): routePointTable - *Table* array of
            routePointTable named tuples
    """

    __slots__: List[str] = [
        "route_point_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "route_point_table",
                "routePointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointGetDNISAgentListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        agent_table (List(agentTable)): agentTable - *Table* array of agentTable named
            tuples
    """

    __slots__: List[str] = [
        "agent_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_table",
                "agentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointGetDNISListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISListRequest()`.

    Contains a table with column headings: "Name", "Phone Number", "Extension".

    Attributes:
        display_dnis_number (bool): displayDNISNumber
        display_dnis_name (bool): displayDNISName
        dnis_table (List(dnisTable)): dnisTable - *Table* array of dnisTable named tuples
    """

    __slots__: List[str] = [
        "display_dnis_number",
        "display_dnis_name",
        "dnis_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("display_dnis_number", "displayDNISNumber", bool, is_required=True),
            E("display_dnis_name", "displayDNISName", bool, is_required=True),
            E(
                "dnis_table",
                "dnisTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointGetDNISResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISRequest()`.


    Attributes:
        dnis_phone_number (str): dnisPhoneNumber *Optional*
        extension (str): extension *Optional*
        use_custom_clid_settings (bool): useCustomCLIDSettings
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_last_name (str): callingLineIdLastName *Optional*
        calling_line_id_first_name (str): callingLineIdFirstName *Optional*
        use_custom_dnis_announcement_settings (bool): useCustomDnisAnnouncementSettings
        allow_outgoing_acd_call (bool): allowOutgoingACDCall
    """

    __slots__: List[str] = [
        "dnis_phone_number",
        "extension",
        "use_custom_clid_settings",
        "calling_line_id_phone_number",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "use_custom_dnis_announcement_settings",
        "allow_outgoing_acd_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("dnis_phone_number", "dnisPhoneNumber", str),
            E("extension", "extension", str),
            E(
                "use_custom_clid_settings",
                "useCustomCLIDSettings",
                bool,
                is_required=True,
            ),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("calling_line_id_last_name", "callingLineIdLastName", str),
            E("calling_line_id_first_name", "callingLineIdFirstName", str),
            E(
                "use_custom_dnis_announcement_settings",
                "useCustomDnisAnnouncementSettings",
                bool,
                is_required=True,
            ),
            E(
                "allow_outgoing_acd_call",
                "allowOutgoingACDCall",
                bool,
                is_required=True,
            ),
        )


class GroupRoutePointGetFailoverPolicyResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetFailoverPolicyRequest()`.


    Attributes:
        enable_failover_support (bool): enableFailoverSupport
        external_system (str): externalSystem *Optional*
        failover_phone_number (str): failoverPhoneNumber *Optional*
        failover_status (str): failoverStatus
        per_call_enable_failover_support (bool): perCallEnableFailoverSupport
        per_call_call_failure_timeout_seconds (int): perCallCallFailureTimeoutSeconds
        per_call_outbound_call_failure_timeout_seconds (int):
            perCallOutboundCallFailureTimeoutSeconds
        per_call_failover_phone_number (str): perCallFailoverPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "enable_failover_support",
        "external_system",
        "failover_phone_number",
        "failover_status",
        "per_call_enable_failover_support",
        "per_call_call_failure_timeout_seconds",
        "per_call_outbound_call_failure_timeout_seconds",
        "per_call_failover_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_failover_support",
                "enableFailoverSupport",
                bool,
                is_required=True,
            ),
            E("external_system", "externalSystem", str),
            E("failover_phone_number", "failoverPhoneNumber", str),
            E("failover_status", "failoverStatus", str, is_required=True),
            E(
                "per_call_enable_failover_support",
                "perCallEnableFailoverSupport",
                bool,
                is_required=True,
            ),
            E(
                "per_call_call_failure_timeout_seconds",
                "perCallCallFailureTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "per_call_outbound_call_failure_timeout_seconds",
                "perCallOutboundCallFailureTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("per_call_failover_phone_number", "perCallFailoverPhoneNumber", str),
        )


class GroupRoutePointGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Video", "Phone
    Number", "Extension", "Department", "Is Active". The column values for "Video" and "Is
    Active" can either be true, or false.

    Attributes:
        route_point_table (List(routePointTable)): routePointTable - *Table* array of
            routePointTable named tuples
    """

    __slots__: List[str] = [
        "route_point_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "route_point_table",
                "routePointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointQueueCallDispositionCodeGetListResponse(OCIResponse):
    """
    Response to the `GroupRoutePointQueueCallDispositionCodeGetListRequest()`.

    Contains a table with column headings: "Is Active", "Code", "Description" and "Level".
    Level column can be any of the values in the data type CallDispositionCodeLevel.

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupRoutePointQueueCallDispositionCodeGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointQueueCallDispositionCodeGetRequest()`

    Attributes:
        is_active (bool): isActive
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("description", "description", str),
        )


class GroupRoutingProfileGetResponse(OCIResponse):
    """
    Response to `GroupRoutingProfileGetRequest()`.


    Attributes:
        routing_profile (str): routingProfile *Optional*
    """

    __slots__: List[str] = [
        "routing_profile",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("routing_profile", "routingProfile", str),)


class GroupScheduleGetEventListResponse(OCIResponse):
    """
    Response to `GroupScheduleGetEventListRequest()`.

    The response contains a list of events.

    Attributes:
        event_name (List[str]): eventName *Optional*
    """

    __slots__: List[str] = [
        "event_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("event_name", "eventName", str, is_array=True),)


class GroupScheduleGetListResponse(OCIResponse):
    """
    Response to `GroupScheduleGetListRequest()`.

    The response contains a list of system schedules.

    Attributes:
        schedule_name (List[str]): scheduleName *Optional*
        schedule_type (List[str]): scheduleType *Optional*
        schedule_level (List[str]): scheduleLevel *Optional*
    """

    __slots__: List[str] = [
        "schedule_name",
        "schedule_type",
        "schedule_level",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_name", "scheduleName", str, is_array=True),
            E("schedule_type", "scheduleType", str, is_array=True),
            E("schedule_level", "scheduleLevel", str, is_array=True),
        )


class GroupScheduleGetPagedSortedListResponse(OCIResponse):
    """
    Response to `GroupScheduleGetPagedSortedListRequest()`.

    Contains a 3 column table with column headings: "Name", "Type", "Level" and a row for
    each schedule.

    Attributes:
        schedule_table (List(scheduleTable)): scheduleTable - *Table* array of
            scheduleTable named tuples
    """

    __slots__: List[str] = [
        "schedule_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_table",
                "scheduleTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupScheduleUsageResponse(OCIResponse):
    """
    Response to `GroupScheduleUsageRequest()`.

    The response contains a list of service names.  The response contains the usage for
    the requested schedule.  The usage table has columns "Service Name", and "Instance
    Name". The Service Name values correspond to string values of the GroupService and
    UserService data types.

    Attributes:
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupSecurityClassificationCustomizationGetAvailableListResponse(OCIResponse):
    """
    Response to `GroupClassificationCustomizationGetAvailableListRequest()`.

    Returns the available group security classifications.  Contains a table with column
    headings: "SystemSecurityClassification", "CustomizedSecurityClassification"

    Attributes:
        security_classification_name_table (List(securityClassificationNameTable)):
            securityClassificationNameTable - *Table* array of
            securityClassificationNameTable named tuples
    """

    __slots__: List[str] = [
        "security_classification_name_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "security_classification_name_table",
                "securityClassificationNameTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupSeriesCompletionGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `GroupSeriesCompletionGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupSeriesCompletionGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupSeriesCompletionGetInstanceListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class GroupSeriesCompletionGetInstanceResponse(OCIResponse):
    """
    Response to the `GroupSeriesCompletionGetInstanceRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupServiceGetAuthorizationListResponse(OCIResponse):
    """
    Response to `GroupServiceGetAuthorizationListRequest()`.

    Contains three tables, one for the service packs, one for the group services, and one
    for the user services.  The user table has the following column headings: "Service
    Name", "Authorized", "Assigned", "Limited", "Quantity", "Usage", "Licensed",
    "Allowed", "User Assignable", "Group Service Assignable". The group service table has
    the following column headings: "Service Name", "Authorized", "Assigned", "Limited",
    "Quantity", "Usage", "Licensed", "Allowed", "Instance Count". The service pack table's
    column headings are: "Service Pack Name", "Authorized", "Assigned", "Limited",
    "Allocated", "Allowed", "Usage", "Description".

    Attributes:
        service_packs_authorization_table (List(servicePacksAuthorizationTable)):
            servicePacksAuthorizationTable - *Table* array of
            servicePacksAuthorizationTable named tuples
        group_services_authorization_table (List(groupServicesAuthorizationTable)):
            groupServicesAuthorizationTable - *Table* array of
            groupServicesAuthorizationTable named tuples
        user_services_authorization_table (List(userServicesAuthorizationTable)):
            userServicesAuthorizationTable - *Table* array of
            userServicesAuthorizationTable named tuples
    """

    __slots__: List[str] = [
        "service_packs_authorization_table",
        "group_services_authorization_table",
        "user_services_authorization_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_packs_authorization_table",
                "servicePacksAuthorizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "group_services_authorization_table",
                "groupServicesAuthorizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_services_authorization_table",
                "userServicesAuthorizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupServiceGetAuthorizedListResponse(OCIResponse):
    """
    Response to `GroupServiceGetAuthorizedListRequest()`.


    Attributes:
        service_pack_name (List[str]): servicePackName *Optional*
        group_service_name (List[str]): groupServiceName *Optional*
        user_service_name (List[str]): userServiceName *Optional*
    """

    __slots__: List[str] = [
        "service_pack_name",
        "group_service_name",
        "user_service_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_pack_name", "servicePackName", str, is_array=True),
            E("group_service_name", "groupServiceName", str, is_array=True),
            E("user_service_name", "userServiceName", str, is_array=True),
        )


class GroupServiceInstancePrivacyGetResponse(OCIResponse):
    """
    Response to `GroupServiceInstancePrivacyGetRequest()`.

    Replaced by: `GroupServiceInstancePrivacyGetResponse17sp4()`

    Attributes:
        enable_directory_privacy (bool): enableDirectoryPrivacy
        enable_auto_attendant_extension_dialing_privacy (bool):
            enableAutoAttendantExtensionDialingPrivacy
    """

    __slots__: List[str] = [
        "enable_directory_privacy",
        "enable_auto_attendant_extension_dialing_privacy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_directory_privacy",
                "enableDirectoryPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_auto_attendant_extension_dialing_privacy",
                "enableAutoAttendantExtensionDialingPrivacy",
                bool,
                is_required=True,
            ),
        )


class GroupServiceInstancePrivacyGetResponse17sp4(OCIResponse):
    """
    Response to `GroupServiceInstancePrivacyGetRequest17sp4()`.


    Attributes:
        enable_directory_privacy (bool): enableDirectoryPrivacy
        enable_auto_attendant_extension_dialing_privacy (bool):
            enableAutoAttendantExtensionDialingPrivacy
        enable_auto_attendant_name_dialing_privacy (bool):
            enableAutoAttendantNameDialingPrivacy
    """

    __slots__: List[str] = [
        "enable_directory_privacy",
        "enable_auto_attendant_extension_dialing_privacy",
        "enable_auto_attendant_name_dialing_privacy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_directory_privacy",
                "enableDirectoryPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_auto_attendant_extension_dialing_privacy",
                "enableAutoAttendantExtensionDialingPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_auto_attendant_name_dialing_privacy",
                "enableAutoAttendantNameDialingPrivacy",
                bool,
                is_required=True,
            ),
        )


class GroupServiceIsAssignedResponse(OCIResponse):
    """
    Returns true if the GroupService is assigned, otherwise false.


    Attributes:
        is_assigned (bool): isAssigned
    """

    __slots__: List[str] = [
        "is_assigned",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_assigned", "isAssigned", bool, is_required=True),)


class GroupServicePhoneNumberLookupResponse(OCIResponse):
    """
    Response to the `GroupServicePhoneNumberLookupRequest()`.

    The column headings for the userTable are: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension" and
    "Department".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupSessionAdmissionControlGetResponse(OCIResponse):
    """
    Response to the `GroupSessionAdmissionControlGetRequest()`.

    The response contains the session admission control capacity allocated for the group.

    Attributes:
        restrict_aggregate_sessions (bool): restrictAggregateSessions
        max_sessions (int): maxSessions *Optional*
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        count_intra_group_sessions (bool): countIntraGroupSessions
    """

    __slots__: List[str] = [
        "restrict_aggregate_sessions",
        "max_sessions",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "count_intra_group_sessions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "restrict_aggregate_sessions",
                "restrictAggregateSessions",
                bool,
                is_required=True,
            ),
            E("max_sessions", "maxSessions", int),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E(
                "count_intra_group_sessions",
                "countIntraGroupSessions",
                bool,
                is_required=True,
            ),
        )


class GroupSessionAdmissionControlGroupGetListResponse(OCIResponse):
    """
    Response to `GroupSessionAdmissionControlGroupGetListRequest()`.

    Contains a table of session admission control group configured in the group.  The
    column headings are: "Name", "Is Default", "Maximum Sessions", "Maximum Originating
    Sessions", "Maximum Terminating Sessions".

    Attributes:
        session_admission_control_group_table (List(sessionAdmissionControlGroupTable)):
            sessionAdmissionControlGroupTable - *Table* array of
            sessionAdmissionControlGroupTable named tuples
    """

    __slots__: List[str] = [
        "session_admission_control_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "session_admission_control_group_table",
                "sessionAdmissionControlGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupSpeedDial100GetResponse(OCIResponse):
    """
    Response to the `GroupSpeedDial100GetRequest()`.


    Attributes:
        prefix (str): prefix
    """

    __slots__: List[str] = [
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("prefix", "prefix", str, is_required=True),)


class GroupSpeedDial100GetResponse17sp1(OCIResponse):
    """
    Response to the `GroupSpeedDial100GetRequest17sp1()`.


    Attributes:
        prefix (str): prefix *Optional*
    """

    __slots__: List[str] = [
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("prefix", "prefix", str),)


class GroupStirShakenGetResponse(OCIResponse):
    """
    Response to the `GroupStirShakenGetRequest()`.


    Attributes:
        use_parent_level_settings (bool): useParentLevelSettings
        signing_policy (str): signingPolicy
        tagging_policy (str): taggingPolicy
        signing_service_url (str): signingServiceURL *Optional*
        tag_from_or_pai (str): tagFromOrPAI
        verstat_tag (str): verstatTag
        use_os_value_for_orig_id (bool): useOSValueForOrigId
        orig_uuid (str): origUUID *Optional*
        attestation_level (str): attestationLevel
        enable_verification (bool): enableVerification
        verification_service_url (str): verificationServiceURL *Optional*
        verification_error_handling (str): verificationErrorHandling
        proxy_verstat_to_cnam_subscribe (bool): proxyVerstatToCNAMSubscribe
        use_unknown_headers_from_cnam_notify (bool): useUnknownHeadersFromCNAMNotify
        enable_signing_for_unscreened_trunk_group_originations (bool):
            enableSigningForUnscreenedTrunkGroupOriginations
        enable_tagging_for_unscreened_trunk_group_originations (bool):
            enableTaggingForUnscreenedTrunkGroupOriginations
        unscreened_trunk_group_origination_attestation_level (str):
            unscreenedTrunkGroupOriginationAttestationLevel
    """

    __slots__: List[str] = [
        "use_parent_level_settings",
        "signing_policy",
        "tagging_policy",
        "signing_service_url",
        "tag_from_or_pai",
        "verstat_tag",
        "use_os_value_for_orig_id",
        "orig_uuid",
        "attestation_level",
        "enable_verification",
        "verification_service_url",
        "verification_error_handling",
        "proxy_verstat_to_cnam_subscribe",
        "use_unknown_headers_from_cnam_notify",
        "enable_signing_for_unscreened_trunk_group_originations",
        "enable_tagging_for_unscreened_trunk_group_originations",
        "unscreened_trunk_group_origination_attestation_level",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_parent_level_settings",
                "useParentLevelSettings",
                bool,
                is_required=True,
            ),
            E("signing_policy", "signingPolicy", str, is_required=True),
            E("tagging_policy", "taggingPolicy", str, is_required=True),
            E("signing_service_url", "signingServiceURL", str),
            E("tag_from_or_pai", "tagFromOrPAI", str, is_required=True),
            E("verstat_tag", "verstatTag", str, is_required=True),
            E(
                "use_os_value_for_orig_id",
                "useOSValueForOrigId",
                bool,
                is_required=True,
            ),
            E("orig_uuid", "origUUID", str),
            E("attestation_level", "attestationLevel", str, is_required=True),
            E("enable_verification", "enableVerification", bool, is_required=True),
            E("verification_service_url", "verificationServiceURL", str),
            E(
                "verification_error_handling",
                "verificationErrorHandling",
                str,
                is_required=True,
            ),
            E(
                "proxy_verstat_to_cnam_subscribe",
                "proxyVerstatToCNAMSubscribe",
                bool,
                is_required=True,
            ),
            E(
                "use_unknown_headers_from_cnam_notify",
                "useUnknownHeadersFromCNAMNotify",
                bool,
                is_required=True,
            ),
            E(
                "enable_signing_for_unscreened_trunk_group_originations",
                "enableSigningForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "enable_tagging_for_unscreened_trunk_group_originations",
                "enableTaggingForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_trunk_group_origination_attestation_level",
                "unscreenedTrunkGroupOriginationAttestationLevel",
                str,
                is_required=True,
            ),
        )


class GroupTemplateOnlyDeviceFileGetListResponse(OCIResponse):
    """
    Response to `GroupTemplateOnlyDeviceFileGetListRequest()`.

    Contains a list of template files used to support a Visual Device Management device.

    Attributes:
        template_file_url (List[str]): templateFileUrl *Optional*
    """

    __slots__: List[str] = [
        "template_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("template_file_url", "templateFileUrl", str, is_array=True),)


class GroupThirdPartyEmergencyCallingGetResponse(OCIResponse):
    """
    Response to the `GroupThirdPartyEmergencyCallingGetRequest()`.

    The response contains the third-party emergency call service settings for the Group.

    Attributes:
        enable_device_management (bool): enableDeviceManagement
        enable_routing (bool): enableRouting
    """

    __slots__: List[str] = [
        "enable_device_management",
        "enable_routing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_device_management",
                "enableDeviceManagement",
                bool,
                is_required=True,
            ),
            E("enable_routing", "enableRouting", bool, is_required=True),
        )


class GroupThirdPartyVoiceMailSupportGetResponse(OCIResponse):
    """
    Response to `GroupThirdPartyVoiceMailSupportGetRequest()`.


    Attributes:
        is_active (bool): isActive
        group_server (str): groupServer *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "group_server",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("group_server", "groupServer", str),
        )


class GroupTimeScheduleGetListResponse(OCIResponse):
    """
    Response to the `GroupTimeScheduleGetListRequest()`.

    The response contains all the group's time schedule name.

    Attributes:
        time_schedule (List[str]): timeSchedule *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("time_schedule", "timeSchedule", str, is_array=True),)


class GroupTrunkGroupGetAvailableDetailListResponse(OCIResponse):
    """
    Response to `GroupTrunkGroupGetAvailableDetailListRequest()`.


    Attributes:
        trunk_group (List[OCI.trunkGroup]): trunkGroup *Optional*
    """

    __slots__: List[str] = [
        "trunk_group",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group",
                "trunkGroup",
                str,
                is_complex=True,
                is_array=True,
            ),  # unknown
        )


class GroupTrunkGroupGetAvailableHostedUserListResponse(OCIResponse):
    """
    Response to the `GroupTrunkGroupGetAvailableHostedUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceListResponse14(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceListRequest14()`.

    Contains a table with column headings "Service User Id", "Name", "Department", "Device
    Name", "Device Level", "Group Id". The "Device Level" column contains one of the
    AccessDeviceLevel enumerated constants.

    Attributes:
        trunk_group_table (List(trunkGroupTable)): trunkGroupTable - *Table* array of
            trunkGroupTable named tuples
    """

    __slots__: List[str] = [
        "trunk_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group_table",
                "trunkGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceListResponse14sp4(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceListRequest14sp4()`.

    Contains a table with column headings "Name", "Department", "Device Name", "Device
    Level", "Group Id". The "Device Level" column contains one of the AccessDeviceLevel
    enumerated constants.

    Attributes:
        trunk_group_table (List(trunkGroupTable)): trunkGroupTable - *Table* array of
            trunkGroupTable named tuples
    """

    __slots__: List[str] = [
        "trunk_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group_table",
                "trunkGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceUserListResponse(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceUserListRequest()`.

    The response contains a 7 column table with column headings "User Id", "Last Name",
    "First Name", "Department", "Phone Number", "Hiragana Last Name", "Hiragana First
    Name".

    Attributes:
        trunk_group_user_table (List(trunkGroupUserTable)): trunkGroupUserTable - *Table*
            array of trunkGroupUserTable named tuples
    """

    __slots__: List[str] = [
        "trunk_group_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group_user_table",
                "trunkGroupUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceUserListResponse14sp4(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceUserListRequest14sp4()`.

    The response contains a 9 column table with column headings "User Id", "Last Name",
    "First Name", "Department", "Phone Number", "Hiragana Last Name", "Hiragana First
    Name", "Extension", "Email Address".

    Attributes:
        trunk_group_user_table (List(trunkGroupUserTable)): trunkGroupUserTable - *Table*
            array of trunkGroupUserTable named tuples
    """

    __slots__: List[str] = [
        "trunk_group_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group_user_table",
                "trunkGroupUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupSecurityClassificationGetResponse(OCIResponse):
    """
    Response to the `GroupTrunkGroupSecurityClassificationGetRequest()`.


    Attributes:
        default_security_classification (str): defaultSecurityClassification *Optional*
    """

    __slots__: List[str] = [
        "default_security_classification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_security_classification", "defaultSecurityClassification", str),
        )


class GroupTrunkGroupStirShakenGetResponse(OCIResponse):
    """
    Response to the `GroupTrunkGroupStirShakenGetRequest()`.


    Attributes:
        use_parent_level_settings (bool): useParentLevelSettings
        signing_policy (str): signingPolicy
        tagging_policy (str): taggingPolicy
        signing_service_url (str): signingServiceURL *Optional*
        tag_from_or_pai (str): tagFromOrPAI
        verstat_tag (str): verstatTag
        use_os_value_for_orig_id (bool): useOSValueForOrigId
        orig_uuid (str): origUUID *Optional*
        attestation_level (str): attestationLevel
        enable_signing_for_unscreened_trunk_group_originations (bool):
            enableSigningForUnscreenedTrunkGroupOriginations
        enable_tagging_for_unscreened_trunk_group_originations (bool):
            enableTaggingForUnscreenedTrunkGroupOriginations
        unscreened_trunk_group_origination_attestation_level (str):
            unscreenedTrunkGroupOriginationAttestationLevel
    """

    __slots__: List[str] = [
        "use_parent_level_settings",
        "signing_policy",
        "tagging_policy",
        "signing_service_url",
        "tag_from_or_pai",
        "verstat_tag",
        "use_os_value_for_orig_id",
        "orig_uuid",
        "attestation_level",
        "enable_signing_for_unscreened_trunk_group_originations",
        "enable_tagging_for_unscreened_trunk_group_originations",
        "unscreened_trunk_group_origination_attestation_level",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_parent_level_settings",
                "useParentLevelSettings",
                bool,
                is_required=True,
            ),
            E("signing_policy", "signingPolicy", str, is_required=True),
            E("tagging_policy", "taggingPolicy", str, is_required=True),
            E("signing_service_url", "signingServiceURL", str),
            E("tag_from_or_pai", "tagFromOrPAI", str, is_required=True),
            E("verstat_tag", "verstatTag", str, is_required=True),
            E(
                "use_os_value_for_orig_id",
                "useOSValueForOrigId",
                bool,
                is_required=True,
            ),
            E("orig_uuid", "origUUID", str),
            E("attestation_level", "attestationLevel", str, is_required=True),
            E(
                "enable_signing_for_unscreened_trunk_group_originations",
                "enableSigningForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "enable_tagging_for_unscreened_trunk_group_originations",
                "enableTaggingForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_trunk_group_origination_attestation_level",
                "unscreenedTrunkGroupOriginationAttestationLevel",
                str,
                is_required=True,
            ),
        )


class GroupTrunkGroupUserCreationTaskGetListResponse(OCIResponse):
    """
    Response to `GroupTrunkGroupUserCreationTaskGetListRequest()`.

    Contains a table with a row for each user creation task and column headings : "Name",
    "Status", "Users Created", "Total Users To Create", "Error Count".

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupUserCreationTaskGetListResponse14sp4(OCIResponse):
    """
    Response to `GroupTrunkGroupUserCreationTaskGetListRequest14sp4()`.

    Contains a table with a row for each user creation task and column headings : "Name",
    "Status", "Users Created", "Total Users To Create", "Error Count".

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupUserCreationTaskGetResponse(OCIResponse):
    """
    Response to a `GroupTrunkGroupUserCreationTaskGetRequest()`.


    Attributes:
        user_id_format (str): userIdFormat
        user_id_domain (str): userIdDomain
        populate_extension (bool): populateExtension
        line_port_format (str): linePortFormat
        line_port_domain (str): linePortDomain
        populate_contact (bool): populateContact
        contact_format (str): contactFormat *Optional*
        contact_domain (str): contactDomain *Optional*
        users_created (int): usersCreated
        total_users_to_create (int): totalUsersToCreate
        error_count (int): errorCount
        service_pack_name (List[str]): servicePackName *Optional*
        user_service_name (List[str]): userServiceName *Optional*
        status (str): status
        user_creation_mode (str): userCreationMode
        task_summary (str): taskSummary
    """

    __slots__: List[str] = [
        "user_id_format",
        "user_id_domain",
        "populate_extension",
        "line_port_format",
        "line_port_domain",
        "populate_contact",
        "contact_format",
        "contact_domain",
        "users_created",
        "total_users_to_create",
        "error_count",
        "service_pack_name",
        "user_service_name",
        "status",
        "user_creation_mode",
        "task_summary",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id_format", "userIdFormat", str, is_required=True),
            E("user_id_domain", "userIdDomain", str, is_required=True),
            E("populate_extension", "populateExtension", bool, is_required=True),
            E("line_port_format", "linePortFormat", str, is_required=True),
            E("line_port_domain", "linePortDomain", str, is_required=True),
            E("populate_contact", "populateContact", bool, is_required=True),
            E("contact_format", "contactFormat", str),
            E("contact_domain", "contactDomain", str),
            E("users_created", "usersCreated", int, is_required=True),
            E("total_users_to_create", "totalUsersToCreate", int, is_required=True),
            E("error_count", "errorCount", int, is_required=True),
            E("service_pack_name", "servicePackName", str, is_array=True),
            E("user_service_name", "userServiceName", str, is_array=True),
            E("status", "status", str, is_required=True),
            E("user_creation_mode", "userCreationMode", str, is_required=True),
            E("task_summary", "taskSummary", str, is_required=True),
        )


class GroupTrunkGroupUserCreationTaskGetResponse14sp4(OCIResponse):
    """
    Response to a `GroupTrunkGroupUserCreationTaskGetRequest14sp4()`.


    Attributes:
        user_id_format (str): userIdFormat
        user_id_domain (str): userIdDomain
        populate_extension (bool): populateExtension
        line_port_format (str): linePortFormat
        line_port_domain (str): linePortDomain
        populate_contact (bool): populateContact
        contact_format (str): contactFormat *Optional*
        contact_domain (str): contactDomain *Optional*
        users_created (int): usersCreated
        total_users_to_create (int): totalUsersToCreate
        error_count (int): errorCount
        service_pack_name (List[str]): servicePackName *Optional*
        user_service_name (List[str]): userServiceName *Optional*
        status (str): status
        user_creation_mode (str): userCreationMode
        task_summary (str): taskSummary
        report_file_key (str): reportFileKey
    """

    __slots__: List[str] = [
        "user_id_format",
        "user_id_domain",
        "populate_extension",
        "line_port_format",
        "line_port_domain",
        "populate_contact",
        "contact_format",
        "contact_domain",
        "users_created",
        "total_users_to_create",
        "error_count",
        "service_pack_name",
        "user_service_name",
        "status",
        "user_creation_mode",
        "task_summary",
        "report_file_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id_format", "userIdFormat", str, is_required=True),
            E("user_id_domain", "userIdDomain", str, is_required=True),
            E("populate_extension", "populateExtension", bool, is_required=True),
            E("line_port_format", "linePortFormat", str, is_required=True),
            E("line_port_domain", "linePortDomain", str, is_required=True),
            E("populate_contact", "populateContact", bool, is_required=True),
            E("contact_format", "contactFormat", str),
            E("contact_domain", "contactDomain", str),
            E("users_created", "usersCreated", int, is_required=True),
            E("total_users_to_create", "totalUsersToCreate", int, is_required=True),
            E("error_count", "errorCount", int, is_required=True),
            E("service_pack_name", "servicePackName", str, is_array=True),
            E("user_service_name", "userServiceName", str, is_array=True),
            E("status", "status", str, is_required=True),
            E("user_creation_mode", "userCreationMode", str, is_required=True),
            E("task_summary", "taskSummary", str, is_required=True),
            E("report_file_key", "reportFileKey", str, is_required=True),
        )


class GroupUserCallForwardingSettingsGetListResponse(OCIResponse):
    """
    Response to the `GroupUserCallForwardingSettingsGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department", "In
    Trunk Group", "Email Address", "Is Active", "Forwarding Address". "Is Active" is
    "true" or "false". The "Forwarding Address" is the Call Forwarding service's
    forwarding address.  If the service is Call Forwarding Selective, the default
    forwarding address is returned.  "Phone Number" is presented in the E164 format.

    Attributes:
        user_call_forwarding_table (List(userCallForwardingTable)):
            userCallForwardingTable - *Table* array of userCallForwardingTable named
            tuples
    """

    __slots__: List[str] = [
        "user_call_forwarding_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_call_forwarding_table",
                "userCallForwardingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupUserCallWaitingSettingsGetListResponse(OCIResponse):
    """
    Response to the `GroupUserCallWaitingSettingsGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department", "In
    Trunk Group", "Email Address", "Is Active". "Is Active" is "true" or "false". "Phone
    Number" is presented in the E164 format.

    Attributes:
        user_call_waiting_table (List(userCallWaitingTable)): userCallWaitingTable -
            *Table* array of userCallWaitingTable named tuples
    """

    __slots__: List[str] = [
        "user_call_waiting_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_call_waiting_table",
                "userCallWaitingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupUserCallingPlanSettingsGetListResponse(OCIResponse):
    """
    Response to the `GroupUserCallingPlanSettingsGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department", "In
    Trunk Group", "Email Address", "Use Custom Settings". "Use Custom Settings" is "true"
    or "false". "Phone Number" is presented in the E164 format.

    Attributes:
        user_calling_plan_table (List(userCallingPlanTable)): userCallingPlanTable -
            *Table* array of userCallingPlanTable named tuples
    """

    __slots__: List[str] = [
        "user_calling_plan_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_calling_plan_table",
                "userCallingPlanTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupUserHotelingGuestSettingsGetListResponse(OCIResponse):
    """
    Response to the `GroupUserHotelingGuestSettingsGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", and "Hiragana First Name", "Phone Number", "Extension", "Department", "In
    Trunk Group", "Email Address", "Is Active". "Is Active" is "true" or "false". "Phone
    Number" is presented in the E164 format.

    Attributes:
        user_hoteling_guest_table (List(userHotelingGuestTable)): userHotelingGuestTable -
            *Table* array of userHotelingGuestTable named tuples
    """

    __slots__: List[str] = [
        "user_hoteling_guest_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_hoteling_guest_table",
                "userHotelingGuestTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupVirtualOnNetEnterpriseExtensionsGetUserListResponse(OCIResponse):
    """
    Response to `GroupVirtualOnNetEnterpriseExtensionsGetUserListRequest()`.

    Contains a table with column headings: "Last Name", "First Name", "Phone Number",
    "Extension", "Virtual On-Net Call Type Name" in a row for each user.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupVirtualOnNetEnterpriseExtensionsGetUserResponse(OCIResponse):
    """
    Response to `GroupVirtualOnNetEnterpriseExtensionsGetUserRequest()`.


    Attributes:
        extension (str): extension
        first_name (str): firstName
        last_name (str): lastName
        calling_line_id_first_name (str): callingLineIdFirstName
        calling_line_id_last_name (str): callingLineIdLastName
        virtual_on_net_call_type_name (str): virtualOnNetCallTypeName
    """

    __slots__: List[str] = [
        "extension",
        "first_name",
        "last_name",
        "calling_line_id_first_name",
        "calling_line_id_last_name",
        "virtual_on_net_call_type_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("extension", "extension", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "virtual_on_net_call_type_name",
                "virtualOnNetCallTypeName",
                str,
                is_required=True,
            ),
        )


class GroupVoiceMessagingGroupGetPasscodeRulesResponse(OCIResponse):
    """
    Response to `GroupVoiceMessagingGroupGetPasscodeRulesRequest()`.

    Contains the group's voice portal passcode rules setting.

    Replaced By: `GroupPortalPasscodeRulesGetResponse()`

    Attributes:
        use_rule_level (str): useRuleLevel
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "use_rule_level",
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_rule_level", "useRuleLevel", str, is_required=True),
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class GroupVoiceMessagingGroupGetResponse(OCIResponse):
    """
    Response to `GroupVoiceMessagingGroupGetRequest()`.

    Contains the group's voice messaging settings.

    Attributes:
        use_mail_server_setting (str): useMailServerSetting
        warn_caller_before_recording_voice_message (bool):
            warnCallerBeforeRecordingVoiceMessage
        allow_users_configuring_advanced_settings (bool):
            allowUsersConfiguringAdvancedSettings
        allow_compose_or_forward_message_to_entire_group (bool):
            allowComposeOrForwardMessageToEntireGroup
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        real_delete_for_imap (bool): realDeleteForImap
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
    """

    __slots__: List[str] = [
        "use_mail_server_setting",
        "warn_caller_before_recording_voice_message",
        "allow_users_configuring_advanced_settings",
        "allow_compose_or_forward_message_to_entire_group",
        "mail_server_net_address",
        "mail_server_protocol",
        "real_delete_for_imap",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_mail_server_setting", "useMailServerSetting", str, is_required=True),
            E(
                "warn_caller_before_recording_voice_message",
                "warnCallerBeforeRecordingVoiceMessage",
                bool,
                is_required=True,
            ),
            E(
                "allow_users_configuring_advanced_settings",
                "allowUsersConfiguringAdvancedSettings",
                bool,
                is_required=True,
            ),
            E(
                "allow_compose_or_forward_message_to_entire_group",
                "allowComposeOrForwardMessageToEntireGroup",
                bool,
                is_required=True,
            ),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
        )


class GroupVoiceMessagingGroupGetVoicePortalBrandingResponse(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalBrandingRequest()`.

    Replaced By: `GroupVoiceMessagingGroupGetVoicePortalBrandingResponse16()`

    Attributes:
        voice_portal_greeting_selection (str): voicePortalGreetingSelection
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_messaging_greeting_selection (str): voiceMessagingGreetingSelection
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
    """

    __slots__: List[str] = [
        "voice_portal_greeting_selection",
        "voice_portal_greeting_file_description",
        "voice_messaging_greeting_selection",
        "voice_messaging_greeting_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_portal_greeting_selection",
                "voicePortalGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_selection",
                "voiceMessagingGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
        )


class GroupVoiceMessagingGroupGetVoicePortalBrandingResponse16(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalBrandingRequest16()`.

    Replaced by: `GroupVoiceMessagingGroupGetVoicePortalBrandingResponse20()` in AS data
    mode

    Attributes:
        voice_portal_greeting_selection (str): voicePortalGreetingSelection
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_portal_greeting_media_type (str): voicePortalGreetingMediaType *Optional*
        voice_messaging_greeting_selection (str): voiceMessagingGreetingSelection
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
        voice_messaging_greeting_media_type (str): voiceMessagingGreetingMediaType
            *Optional*
    """

    __slots__: List[str] = [
        "voice_portal_greeting_selection",
        "voice_portal_greeting_file_description",
        "voice_portal_greeting_media_type",
        "voice_messaging_greeting_selection",
        "voice_messaging_greeting_file_description",
        "voice_messaging_greeting_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_portal_greeting_selection",
                "voicePortalGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E("voice_portal_greeting_media_type", "voicePortalGreetingMediaType", str),
            E(
                "voice_messaging_greeting_selection",
                "voiceMessagingGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_media_type",
                "voiceMessagingGreetingMediaType",
                str,
            ),
        )


class GroupVoiceXmlGetInstanceListResponse(OCIResponse):
    """
    Response to the `GroupVoiceXmlGetInstanceListRequest()`.

    Contains a table with column headings: "Service User Id", "Name", "Phone Number",
    "Extension", "Department", "Is Active". The column values for "Is Active" can either
    be true, or false.

    Attributes:
        voice_xml_table (List(voiceXmlTable)): voiceXmlTable - *Table* array of
            voiceXmlTable named tuples
    """

    __slots__: List[str] = [
        "voice_xml_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_xml_table",
                "voiceXmlTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupXsiPolicyProfileGetAssignedListResponse(OCIResponse):
    """
    Response to `GroupXsiPolicyProfileGetAssignedListRequest()`.

    Contains a table of all Xsi Policy Profile assigned to.  The column headings are:
    "Name", "Level", "Description" and "Default".

    Attributes:
        assigned_table (List(assignedTable)): assignedTable - *Table* array of
            assignedTable named tuples
    """

    __slots__: List[str] = [
        "assigned_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "assigned_table",
                "assignedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupXsiPolicyProfileGetAssignedUserListResponse(OCIResponse):
    """
    Response to `GroupXsiPolicyProfileGetAssignedUserListRequest()`.

    Contains a table of user that have the user Xsi Policy Profile assigned.  The column
    headings are: "User Id", "Last Name", "First Name", "Phone Number" "Department" and
    "Extension".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class LoginResponse13mp10(OCIResponse):
    """
    `LoginRequest13mp10()`/Response13mp10 is 2nd stage of the 2 stage OCI login process.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
        )


class LoginResponse14sp4(OCIResponse):
    """
    `LoginRequest14sp4()`/Response14sp4 is 2nd stage of the 2 stage OCI login process.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
        )


class LoginResponse21sp1(OCIResponse):
    """
    `LoginRequest21sp1()`/Response21sp1 is 2nd stage of the 2 stage OCI login process.

    The parameter tokenRevocationTime is represented in the number of milliseconds since
    January 1, 1970, 00:00:00 GMT, and it is set to the more current time between the
    system level token revocation time and user level token revocation time.  Replaced by
    `LoginResponse22V3()` in AS data mode.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class LoginResponse22(OCIResponse):
    """
    Response to the OCI login request.

    Replaced by `LoginResponse22V2()` in AS data mode.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
        )


class LoginResponse22V2(OCIResponse):
    """
    Response to the OCI login request.

    Replaced by `LoginResponse22V3()` in AS data mode.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class LoginResponse22V3(OCIResponse):
    """
    Response to the OCI login request.

    The following data elements are only returned in AS data mode: resellerId
    tokenRevocationTime The parameter tokenRevocationTime is represented in the number of
    milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more current
    time between the system level token revocation time and user level token revocation
    time.  Replaced by `LoginRequest22V4()` in AS data mode.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class LoginResponse22V4(OCIResponse):
    """
    Response to the OCI login request.

    Replaced by: `LoginResponse22V5()`. The following data elements are only returned in
    AS data mode: resellerId The parameter tokenRevocationTime is represented in the
    number of milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more
    current time between the system level token revocation time and user level token
    revocation time.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class LoginResponse22V5(OCIResponse):
    """
    Response to the OCI login request.

    The following data elements are only returned in AS data mode: resellerId The
    parameter tokenRevocationTime is represented in the number of milliseconds since
    January 1, 1970, 00:00:00 GMT, and it is set to the more current time between the
    system level token revocation time and user level token revocation time.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        user_domain (str): userDomain
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "user_domain",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("user_domain", "userDomain", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class PasswordGenerateResponse(OCIResponse):
    """
    Response to the `PasswordGenerateRequest()`.

    The response contains the requested passwords.

    Attributes:
        system_administrator_password (str): systemAdministratorPassword *Optional*
        service_provider_administrator_password (str):
            serviceProviderAdministratorPassword *Optional*
        group_administrator_password (str): groupAdministratorPassword *Optional*
        user_password (str): userPassword *Optional*
        user_passcode (str): userPasscode *Optional*
        user_sip_authentication_password (str): userSIPAuthenticationPassword *Optional*
        access_device_authentication_password (str): accessDeviceAuthenticationPassword
            *Optional*
        trunk_group_authentication_password (str): trunkGroupAuthenticationPassword
            *Optional*
    """

    __slots__: List[str] = [
        "system_administrator_password",
        "service_provider_administrator_password",
        "group_administrator_password",
        "user_password",
        "user_passcode",
        "user_sip_authentication_password",
        "access_device_authentication_password",
        "trunk_group_authentication_password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_administrator_password", "systemAdministratorPassword", str),
            E(
                "service_provider_administrator_password",
                "serviceProviderAdministratorPassword",
                str,
            ),
            E("group_administrator_password", "groupAdministratorPassword", str),
            E("user_password", "userPassword", str),
            E("user_passcode", "userPasscode", str),
            E("user_sip_authentication_password", "userSIPAuthenticationPassword", str),
            E(
                "access_device_authentication_password",
                "accessDeviceAuthenticationPassword",
                str,
            ),
            E(
                "trunk_group_authentication_password",
                "trunkGroupAuthenticationPassword",
                str,
            ),
        )


class PrimaryInfoGetResponse(OCIResponse):
    """
    Information about the primary server in the high-availablity cluster.

    For optimization, we only get the hostname and addresses for primary if they are
    explicitly requested or if the current server is not the primary.

    Attributes:
        is_primary (bool): isPrimary
        hostname_for_primary (str): hostnameForPrimary *Optional*
        address_for_primary (List[str]): addressForPrimary *Optional*
        private_address_for_primary (List[str]): privateAddressForPrimary *Optional*
    """

    __slots__: List[str] = [
        "is_primary",
        "hostname_for_primary",
        "address_for_primary",
        "private_address_for_primary",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_primary", "isPrimary", bool, is_required=True),
            E("hostname_for_primary", "hostnameForPrimary", str),
            E("address_for_primary", "addressForPrimary", str, is_array=True),
            E(
                "private_address_for_primary",
                "privateAddressForPrimary",
                str,
                is_array=True,
            ),
        )


class PublicClusterGetFullyQualifiedDomainNameResponse(OCIResponse):
    """
    Response to `PublicClusterGetFullyQualifiedDomainNameRequest()`.


    Attributes:
        public_cluster_fqdn (str): publicClusterFQDN *Optional*
    """

    __slots__: List[str] = [
        "public_cluster_fqdn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("public_cluster_fqdn", "publicClusterFQDN", str),)


class ResellerAdminAlternateIdGetListResponse(OCIResponse):
    """
    Response to `ResellerAdminAlternateIdGetListRequest()`.

    Contains a table of the main admin user id and the alternate admin user ids, the
    column headings are: "User Id", "Description", "Alternate". The possible values for
    "Alternate" are "true" and "false". The "Description" is only present for alternate
    admin user Ids.

    Attributes:
        admin_user_id_table (List(adminUserIdTable)): adminUserIdTable - *Table* array of
            adminUserIdTable named tuples
    """

    __slots__: List[str] = [
        "admin_user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "admin_user_id_table",
                "adminUserIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerAdminGetListResponse(OCIResponse):
    """
    Response to `ResellerAdminGetListRequest()`.

    Contains a 4 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Language".

    Attributes:
        reseller_admin_table (List(resellerAdminTable)): resellerAdminTable - *Table*
            array of resellerAdminTable named tuples
    """

    __slots__: List[str] = [
        "reseller_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "reseller_admin_table",
                "resellerAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerAdminGetResponse(OCIResponse):
    """
    Response to the `ResellerAdminGetRequest()`.

    The response contains the reseller administrators profile information.  Replaced by
    `ResellerAdminGetResponse22()`

    Attributes:
        reseller_id (str): resellerId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
    """

    __slots__: List[str] = [
        "reseller_id",
        "first_name",
        "last_name",
        "language",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reseller_id", "resellerId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
        )


class ResellerAdminGetResponse22(OCIResponse):
    """
    Response to the `ResellerAdminGetRequest22()`.

    The response contains the reseller administrators profile information.

    Attributes:
        reseller_id (str): resellerId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
    """

    __slots__: List[str] = [
        "reseller_id",
        "first_name",
        "last_name",
        "language",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reseller_id", "resellerId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
        )


class ResellerCallAdmissionControlPoliciesGetResponse(OCIResponse):
    """
    Response to the `ResellerCallAdmissionControlPoliciesGetRequest()`.

    The response contains the reseller call admission control policies information.

    Attributes:
        enable_call_admission_control (bool): enableCallAdmissionControl
        max_concurrent_network_sessions (int): maxConcurrentNetworkSessions
        max_concurrent_network_sessions_threshold (int):
            maxConcurrentNetworkSessionsThreshold *Optional*
        max_network_calls_per_second (int): maxNetworkCallsPerSecond
        max_network_calls_per_second_threshold (int): maxNetworkCallsPerSecondThreshold
            *Optional*
        max_concurrent_external_siprec_sessions (int): maxConcurrentExternalSIPRECSessions
        max_concurrent_external_siprec_sessions_threshold (int):
            maxConcurrentExternalSIPRECSessionsThreshold *Optional*
    """

    __slots__: List[str] = [
        "enable_call_admission_control",
        "max_concurrent_network_sessions",
        "max_concurrent_network_sessions_threshold",
        "max_network_calls_per_second",
        "max_network_calls_per_second_threshold",
        "max_concurrent_external_siprec_sessions",
        "max_concurrent_external_siprec_sessions_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_call_admission_control",
                "enableCallAdmissionControl",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_network_sessions",
                "maxConcurrentNetworkSessions",
                int,
                is_required=True,
            ),
            E(
                "max_concurrent_network_sessions_threshold",
                "maxConcurrentNetworkSessionsThreshold",
                int,
            ),
            E(
                "max_network_calls_per_second",
                "maxNetworkCallsPerSecond",
                int,
                is_required=True,
            ),
            E(
                "max_network_calls_per_second_threshold",
                "maxNetworkCallsPerSecondThreshold",
                int,
            ),
            E(
                "max_concurrent_external_siprec_sessions",
                "maxConcurrentExternalSIPRECSessions",
                int,
                is_required=True,
            ),
            E(
                "max_concurrent_external_siprec_sessions_threshold",
                "maxConcurrentExternalSIPRECSessionsThreshold",
                int,
            ),
        )


class ResellerCallCenterGetResponse(OCIResponse):
    """
    Response to `ResellerCallCenterGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress *Optional*
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str),)


class ResellerCallNotifyGetResponse(OCIResponse):
    """
    Response to `ResellerCallNotifyGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress *Optional*
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str),)


class ResellerCallPoliciesGetResponse(OCIResponse):
    """
    Response to `ResellerCallPoliciesGetRequest()`.

    Replaced by: `ResellerCallPoliciesGetRequest22()` in AS data mode.

    Attributes:
        force_redirecting_user_identity_for_redirected_calls (bool):
            forceRedirectingUserIdentityForRedirectedCalls
    """

    __slots__: List[str] = [
        "force_redirecting_user_identity_for_redirected_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "force_redirecting_user_identity_for_redirected_calls",
                "forceRedirectingUserIdentityForRedirectedCalls",
                bool,
                is_required=True,
            ),
        )


class ResellerCallPoliciesGetResponse22(OCIResponse):
    """
    Response to `ResellerCallPoliciesGetRequest22()`.


    Attributes:
        force_redirecting_user_identity_for_redirected_calls (bool):
            forceRedirectingUserIdentityForRedirectedCalls
        apply_redirecting_user_identity_to_network_locations (bool):
            applyRedirectingUserIdentityToNetworkLocations
    """

    __slots__: List[str] = [
        "force_redirecting_user_identity_for_redirected_calls",
        "apply_redirecting_user_identity_to_network_locations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "force_redirecting_user_identity_for_redirected_calls",
                "forceRedirectingUserIdentityForRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "apply_redirecting_user_identity_to_network_locations",
                "applyRedirectingUserIdentityToNetworkLocations",
                bool,
                is_required=True,
            ),
        )


class ResellerCallRecordingGetResponse(OCIResponse):
    """
    Response to the `ResellerCallRecordingGetRequest()`.

    The response contains the reseller’s Call Recording attribute.

    Attributes:
        fqdn (str): FQDN *Optional*
    """

    __slots__: List[str] = [
        "fqdn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("fqdn", "FQDN", str),)


class ResellerCollaborateGetResponse(OCIResponse):
    """
    Response to `ResellerCollaborateGetRequest()`.


    Attributes:
        collaborate_from_address (str): collaborateFromAddress *Optional*
    """

    __slots__: List[str] = [
        "collaborate_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("collaborate_from_address", "collaborateFromAddress", str),)


class ResellerDeviceActivationPolicyGetResponse(OCIResponse):
    """
    Response to `ResellerDeviceActivationPolicyGetRequest()`.


    Attributes:
        use_reseller_settings (bool): useResellerSettings
        allow_activation_code_request_by_user (bool): allowActivationCodeRequestByUser
        send_activation_code_in_email (bool): sendActivationCodeInEmail
    """

    __slots__: List[str] = [
        "use_reseller_settings",
        "allow_activation_code_request_by_user",
        "send_activation_code_in_email",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_reseller_settings", "useResellerSettings", bool, is_required=True),
            E(
                "allow_activation_code_request_by_user",
                "allowActivationCodeRequestByUser",
                bool,
                is_required=True,
            ),
            E(
                "send_activation_code_in_email",
                "sendActivationCodeInEmail",
                bool,
                is_required=True,
            ),
        )


class ResellerEmergencyCallNotificationGetResponse(OCIResponse):
    """
    Response to `ResellerEmergencyCallNotificationGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress *Optional*
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str),)


class ResellerEmergencyZonesGetResponse(OCIResponse):
    """
    Response to `ResellerEmergencyZonesGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress *Optional*
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str),)


class ResellerGetListResponse(OCIResponse):
    """
    Response to the `ResellerGetListRequest()`.

    Contains a 2 column table with column headings "Reseller Id", "Reseller Name" and
    "Reseller External Id". A row for each reseller.

    Attributes:
        reseller_table (List(resellerTable)): resellerTable - *Table* array of
            resellerTable named tuples
    """

    __slots__: List[str] = [
        "reseller_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "reseller_table",
                "resellerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerGetResponse(OCIResponse):
    """
    Response to the `ResellerGetRequest()`.

    Replaced by: `ResellerGetResponse22()`

    Attributes:
        reseller_name (str): resellerName *Optional*
    """

    __slots__: List[str] = [
        "reseller_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("reseller_name", "resellerName", str),)


class ResellerGetResponse22(OCIResponse):
    """
    Response to the `ResellerGetRequest22()`.

    Replaced by: `ResellerGetResponse22V2()`

    Attributes:
        reseller_name (str): resellerName *Optional*
    """

    __slots__: List[str] = [
        "reseller_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("reseller_name", "resellerName", str),)


class ResellerGetResponse22V2(OCIResponse):
    """
    Response to the `ResellerGetRequest22V2()`.


    Attributes:
        reseller_name (str): resellerName *Optional*
        reseller_id (str): resellerId
        reseller_external_id (str): resellerExternalId *Optional*
    """

    __slots__: List[str] = [
        "reseller_name",
        "reseller_id",
        "reseller_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("reseller_name", "resellerName", str),
            E("reseller_id", "resellerId", str, is_required=True),
            E("reseller_external_id", "resellerExternalId", str),
        )


class ResellerIntegratedIMPGetResponse(OCIResponse):
    """
    Response to the `ResellerIntegratedIMPGetRequest()`.

    The response contains the reseller Integrated IMP service attributes.  Replaced by:
    `ResellerIntegratedIMPGetResponse22()` in AS data mode

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        use_system_messaging_server (bool): useSystemMessagingServer
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        bosh_url (str): boshURL *Optional*
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
        "service_port",
        "use_system_messaging_server",
        "provisioning_url",
        "provisioning_user_id",
        "bosh_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "use_system_messaging_server",
                "useSystemMessagingServer",
                bool,
                is_required=True,
            ),
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E("bosh_url", "boshURL", str),
        )


class ResellerIntegratedIMPGetResponse22(OCIResponse):
    """
    Response to the `ResellerIntegratedIMPGetRequest22()`.

    The response contains the reseller Integrated IMP service attributes.

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        use_system_messaging_server (bool): useSystemMessagingServer
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        bosh_url (str): boshURL *Optional*
        default_imp_id_type (str): defaultImpIdType
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
        "service_port",
        "use_system_messaging_server",
        "provisioning_url",
        "provisioning_user_id",
        "bosh_url",
        "default_imp_id_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "use_system_messaging_server",
                "useSystemMessagingServer",
                bool,
                is_required=True,
            ),
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E("bosh_url", "boshURL", str),
            E("default_imp_id_type", "defaultImpIdType", str, is_required=True),
        )


class ResellerMailParametersGetResponse(OCIResponse):
    """
    Response to `ResellerMailParametersGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress *Optional*
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str),)


class ResellerMeetMeConferencingGetResponse(OCIResponse):
    """
    Response to `ResellerMeetMeConferencingGetRequest()`.


    Attributes:
        conference_from_address (str): conferenceFromAddress *Optional*
        max_allocated_ports (int): maxAllocatedPorts *Optional*
    """

    __slots__: List[str] = [
        "conference_from_address",
        "max_allocated_ports",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_from_address", "conferenceFromAddress", str),
            E("max_allocated_ports", "maxAllocatedPorts", int),
        )


class ResellerMeetMeConferencingGetResponse22(OCIResponse):
    """
    Response to `ResellerMeetMeConferencingGetRequest22()`.


    Attributes:
        conference_from_address (str): conferenceFromAddress *Optional*
        max_allocated_ports (int): maxAllocatedPorts *Optional*
        disable_unlimited_meet_me_ports (bool): disableUnlimitedMeetMePorts *Optional*
        enable_max_allocated_ports (bool): enableMaxAllocatedPorts *Optional*
    """

    __slots__: List[str] = [
        "conference_from_address",
        "max_allocated_ports",
        "disable_unlimited_meet_me_ports",
        "enable_max_allocated_ports",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_from_address", "conferenceFromAddress", str),
            E("max_allocated_ports", "maxAllocatedPorts", int),
            E("disable_unlimited_meet_me_ports", "disableUnlimitedMeetMePorts", bool),
            E("enable_max_allocated_ports", "enableMaxAllocatedPorts", bool),
        )


class ResellerNetworkClassOfServiceGetAssignedListResponse(OCIResponse):
    """
    Response to `ResellerNetworkClassOfServiceGetAssignedListRequest()`.

    Contains a table of all Network Classes of Service assigned to the reseller.  The
    column headings are: "Name", "Description" and "Default".

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerNetworkClassOfServiceGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to `ResellerNetworkClassOfServiceGetAssignedServiceProviderListRequest()`.

    Contains a table of Service Providers that have the Network Class of Service assigned.
    The column headings are: "Service Provider Id" and "Service Provider Name".

    Attributes:
        sp_table (List(spTable)): spTable - *Table* array of spTable named tuples
    """

    __slots__: List[str] = [
        "sp_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "sp_table",
                "spTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerResourcePriorityGetResponse(OCIResponse):
    """
    Response to the `ResellerResourcePriorityGetRequest()`.

    The response contains the reseller Resource Priority service attributes.  If
    useSystemSettings is true, the parameters sendResourcePriorityToNetwork and
    resourcePriority will not be returned in the response.

    Attributes:
        use_system_settings (bool): useSystemSettings
        send_resource_priority_to_network (bool): sendResourcePriorityToNetwork
        resource_priority (str): resourcePriority
    """

    __slots__: List[str] = [
        "use_system_settings",
        "send_resource_priority_to_network",
        "resource_priority",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_system_settings", "useSystemSettings", bool, is_required=True),
            E(
                "send_resource_priority_to_network",
                "sendResourcePriorityToNetwork",
                bool,
                is_required=True,
            ),
            E("resource_priority", "resourcePriority", str, is_required=True),
        )


class ResellerServiceAuthorizationGetResponse(OCIResponse):
    """
    Response to the `ResellerServiceAuthorizationGetRequest()`.


    Attributes:
        service_offering (str): serviceOffering *Optional*
    """

    __slots__: List[str] = [
        "service_offering",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("service_offering", "serviceOffering", str),)


class ResellerStirShakenGetResponse(OCIResponse):
    """
    Response to the `ResellerStirShakenGetRequest()`.


    Attributes:
        use_parent_level_settings (bool): useParentLevelSettings
        signing_policy (str): signingPolicy
        tagging_policy (str): taggingPolicy
        sign_emergency_calls (bool): signEmergencyCalls
        tag_emergency_calls (bool): tagEmergencyCalls
        signing_service_url (str): signingServiceURL *Optional*
        tag_from_or_pai (str): tagFromOrPAI
        verstat_tag (str): verstatTag
        use_os_value_for_orig_id (bool): useOSValueForOrigId
        orig_uuid (str): origUUID *Optional*
        attestation_level (str): attestationLevel
        enable_verification (bool): enableVerification
        verification_service_url (str): verificationServiceURL *Optional*
        verification_error_handling (str): verificationErrorHandling
        proxy_verstat_to_cnam_subscribe (bool): proxyVerstatToCNAMSubscribe
        use_unknown_headers_from_cnam_notify (bool): useUnknownHeadersFromCNAMNotify
        enable_signing_for_unscreened_trunk_group_originations (bool):
            enableSigningForUnscreenedTrunkGroupOriginations
        enable_tagging_for_unscreened_trunk_group_originations (bool):
            enableTaggingForUnscreenedTrunkGroupOriginations
        unscreened_trunk_group_origination_attestation_level (str):
            unscreenedTrunkGroupOriginationAttestationLevel
        verify_gets_calls (bool): verifyGETSCalls
    """

    __slots__: List[str] = [
        "use_parent_level_settings",
        "signing_policy",
        "tagging_policy",
        "sign_emergency_calls",
        "tag_emergency_calls",
        "signing_service_url",
        "tag_from_or_pai",
        "verstat_tag",
        "use_os_value_for_orig_id",
        "orig_uuid",
        "attestation_level",
        "enable_verification",
        "verification_service_url",
        "verification_error_handling",
        "proxy_verstat_to_cnam_subscribe",
        "use_unknown_headers_from_cnam_notify",
        "enable_signing_for_unscreened_trunk_group_originations",
        "enable_tagging_for_unscreened_trunk_group_originations",
        "unscreened_trunk_group_origination_attestation_level",
        "verify_gets_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_parent_level_settings",
                "useParentLevelSettings",
                bool,
                is_required=True,
            ),
            E("signing_policy", "signingPolicy", str, is_required=True),
            E("tagging_policy", "taggingPolicy", str, is_required=True),
            E("sign_emergency_calls", "signEmergencyCalls", bool, is_required=True),
            E("tag_emergency_calls", "tagEmergencyCalls", bool, is_required=True),
            E("signing_service_url", "signingServiceURL", str),
            E("tag_from_or_pai", "tagFromOrPAI", str, is_required=True),
            E("verstat_tag", "verstatTag", str, is_required=True),
            E(
                "use_os_value_for_orig_id",
                "useOSValueForOrigId",
                bool,
                is_required=True,
            ),
            E("orig_uuid", "origUUID", str),
            E("attestation_level", "attestationLevel", str, is_required=True),
            E("enable_verification", "enableVerification", bool, is_required=True),
            E("verification_service_url", "verificationServiceURL", str),
            E(
                "verification_error_handling",
                "verificationErrorHandling",
                str,
                is_required=True,
            ),
            E(
                "proxy_verstat_to_cnam_subscribe",
                "proxyVerstatToCNAMSubscribe",
                bool,
                is_required=True,
            ),
            E(
                "use_unknown_headers_from_cnam_notify",
                "useUnknownHeadersFromCNAMNotify",
                bool,
                is_required=True,
            ),
            E(
                "enable_signing_for_unscreened_trunk_group_originations",
                "enableSigningForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "enable_tagging_for_unscreened_trunk_group_originations",
                "enableTaggingForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_trunk_group_origination_attestation_level",
                "unscreenedTrunkGroupOriginationAttestationLevel",
                str,
                is_required=True,
            ),
            E("verify_gets_calls", "verifyGETSCalls", bool, is_required=True),
        )


class ResellerVoiceMessagingGroupGetResponse(OCIResponse):
    """
    Response to `ResellerVoiceMessagingGroupGetRequest()`.


    Attributes:
        delivery_from_address (str): deliveryFromAddress *Optional*
        notification_from_address (str): notificationFromAddress *Optional*
        voice_portal_lockout_from_address (str): voicePortalLockoutFromAddress *Optional*
    """

    __slots__: List[str] = [
        "delivery_from_address",
        "notification_from_address",
        "voice_portal_lockout_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("delivery_from_address", "deliveryFromAddress", str),
            E("notification_from_address", "notificationFromAddress", str),
            E(
                "voice_portal_lockout_from_address",
                "voicePortalLockoutFromAddress",
                str,
            ),
        )


class ResellerXsiPolicyProfileGetAssignedListResponse(OCIResponse):
    """
    Response to `ResellerXsiPolicyProfileGetAssignedListRequest()`.

    Contains a table of all Xsi Policy Profile assigned to.  The column headings are:
    "Name", "Level", "Description" and "Default".

    Attributes:
        assigned_table (List(assignedTable)): assignedTable - *Table* array of
            assignedTable named tuples
    """

    __slots__: List[str] = [
        "assigned_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "assigned_table",
                "assignedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ResellerXsiPolicyProfileGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to `ResellerXsiPolicyProfileGetAssignedServiceProviderListRequest()`.

    Contains a table of Service Providers that have the Xsi Policy Profile assigned.  The
    column headings are: "Organization ID", "Organization Name", "Organization Type".

    Attributes:
        svc_provider_table (List(svcProviderTable)): svcProviderTable - *Table* array of
            svcProviderTable named tuples
    """

    __slots__: List[str] = [
        "svc_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "svc_provider_table",
                "svcProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceCustomTagGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceCustomTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Actual Tag Value". In XS data mode, the column headings are: "Tag Name",
    "Tag Value", "Actual Tag Value" if request is invoked by an admin without system
    privileges.  "Tag Name", "Tag Value", "Is Encrypted", "Actual Tag Value" if request is
    invoked by an admin with system privileges.

    Attributes:
        device_custom_tags_table (List(deviceCustomTagsTable)): deviceCustomTagsTable -
            *Table* array of deviceCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_custom_tags_table",
                "deviceCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceDeviceActivationGetResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceDeviceActivationGetRequest()`.

    The response contains the activation code (if available), the expiry time (if
    available) and the activation state.  The expiryTime is represented as a timestamp,
    i.e.  the number of milliseconds since January 1, 1970, 00:00:00 GMT.

    Attributes:
        activation_code (str): activationCode *Optional*
        expiry_time (int): expiryTime *Optional*
        activation_state (str): activationState
    """

    __slots__: List[str] = [
        "activation_code",
        "expiry_time",
        "activation_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("activation_code", "activationCode", str),
            E("expiry_time", "expiryTime", int),
            E("activation_state", "activationState", str, is_required=True),
        )


class ServiceProviderAccessDeviceFileGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetListRequest()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Type", "File Format", "Is
    Authenticated".

    Replaced By: `ServiceProviderAccessDeviceFileGetListResponse14sp8()`

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceFileGetListResponse14sp8(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetListRequest14sp8()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Format", "Is Authenticated",
    "Access URL", "Repository URL", "Template URL", "Extended Capture URL", "Is File
    Linked". The following column is only populated in AS data mode for leaf devices.  "Is
    File Linked"

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceFileGetResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetRequest()`.

    Replaced By: `ServiceProviderAccessDeviceFileGetResponse14sp8()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class ServiceProviderAccessDeviceFileGetResponse14sp8(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetRequest14sp8()`.

    Replaced by: `ServiceProviderAccessDeviceFileGetResponse16sp1()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class ServiceProviderAccessDeviceFileGetResponse16sp1(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetRequest16sp1()`.

    Replaced by: `ServiceProviderAccessDeviceFileGetResponse20()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class ServiceProviderAccessDeviceFileGetResponse20(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceFileGetRequest21()`.


    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        extended_capture_enabled (bool): extendedCaptureEnabled *Optional*
        extended_capture_url (str): extendedCaptureURL *Optional*
        allow_upload_from_device (bool): allowUploadFromDevice *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
        "extended_capture_enabled",
        "extended_capture_url",
        "allow_upload_from_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("extended_capture_enabled", "extendedCaptureEnabled", bool),
            E("extended_capture_url", "extendedCaptureURL", str),
            E("allow_upload_from_device", "allowUploadFromDevice", bool),
        )


class ServiceProviderAccessDeviceGetAvailableCustomTagListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetAvailableCustomTagListRequest()`.

    Contains a table of all available custom tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Tag Level", "Tag Set Name", "Region Name". In XS data mode: the column
    headings are: "Tag Name", "Tag Value", "Tag Level", "Tag Set Name", "Is Encrypted" if
    request is invoked by a System administrator or by an administrator with higher
    priviledges, otherwise the column headings are: "Tag Name", "Tag Value", "Tag Level",
    "Tag Source", "Tag Set Name". "Tag Level" can take the value: "System Default",
    "System", "Service Provider", "Group" or "Device Profile".

    Attributes:
        device_available_custom_tags_table (List(deviceAvailableCustomTagsTable)):
            deviceAvailableCustomTagsTable - *Table* array of
            deviceAvailableCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_available_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_available_custom_tags_table",
                "deviceAvailableCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceGetEnhancedConfigurationTypeListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetEnhancedConfigurationTypeListRequest()`.


    Attributes:
        device_type (List[str]): deviceType *Optional*
    """

    __slots__: List[str] = [
        "device_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("device_type", "deviceType", str, is_array=True),)


class ServiceProviderAccessDeviceGetEnhancedConfigurationTypeResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetEnhancedConfigurationTypeRequest()`.


    Attributes:
        supports_enhanced_configuration (bool): supportsEnhancedConfiguration
        supports_reset (bool): supportsReset
        configuration_type (str): configurationType *Optional*
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "supports_enhanced_configuration",
        "supports_reset",
        "configuration_type",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supports_enhanced_configuration",
                "supportsEnhancedConfiguration",
                bool,
                is_required=True,
            ),
            E("supports_reset", "supportsReset", bool, is_required=True),
            E("configuration_type", "configurationType", str),
            E("configuration_file_name", "configurationFileName", str),
        )


class ServiceProviderAccessDeviceGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetListRequest()`.

    Contains a table of devices configured in the service provider.  The column headings
    are: "Device Name", "Device Type", "Available Ports", "Net Address", "MAC Address",
    "Status", "Version", and "Access Device External Id". The following columns are only
    populated in AS data mode: "Access Device External Id"

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceGetNativeTagsWithLogicListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetNativeTagsWithLogicListRequest()`.

    Contains a table of all native tags with logic managed by the Device Management System
    on a per-device profile basis.  The column headings are: "Tag Name", "Tag Value".

    Attributes:
        device_native_tags_with_logic_table (List(deviceNativeTagsWithLogicTable)):
            deviceNativeTagsWithLogicTable - *Table* array of
            deviceNativeTagsWithLogicTable named tuples
    """

    __slots__: List[str] = [
        "device_native_tags_with_logic_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_native_tags_with_logic_table",
                "deviceNativeTagsWithLogicTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceGetPagedSortedListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetPagedSortedListRequest()`.

    Contains a table of devices configured at service provider level.  The column headings
    are: "Device Name", "Device Type", "Available Ports", "Net Address", "MAC Address",
    "Status", "Version", and "Support Visual Device Management API". When CloudPBX is not
    licensed, the column "Support Visual Device Management API" values are not returned.

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceGetUserListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetUserListRequest()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "Group Id", "User Id", "User Type", "Endpoint Type", "Primary
    Line/Port", "Order", "Extension", "Department", "Email Address", "Private Identity".
    In IMS mode, the table will contain a row for each TEL-URI in the Phone Number column.
    In standalone mode, rows for the alternate numbers are not included.  The User Type
    column contains one of the enumerated UserType values.  The Endpoint Type column
    contains one of the enumerated EndpointType values.  The Private Identity column is
    empty is AS mode.  Replaced by:
    `ServiceProviderAccessDeviceGetUserListResponse21sp1()` in AS data mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceGetUserListResponse21sp1(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetUserListRequest21sp1()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "Group Id", "User Id", "User Type", "Endpoint Type", "Primary
    Line/Port", "Order", "Extension", "Department", "Email Address", "Private Identity".
    In IMS mode, the table will contain a row for each TEL-URI in the Phone Number column.
    In standalone mode, rows for the alternate numbers are not included.  The User Type
    column contains one of the enumerated UserType values.  The Endpoint Type column
    contains one of the enumerated EndpointType21sp1 values.  The value Mobility in
    Endpoint Type column is only applicable in AS data mode.  The Private Identity column
    is empty is AS mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAccessDeviceTagSetGetResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceTagSetGetRequest()`.

    The response includes a tag set name defined in the access device.

    Attributes:
        tag_set_name (str): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str),)


class ServiceProviderAdminAlternateIdGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderAdminAlternateIdGetListRequest()`.

    Contains a table of the main admin user id and the alternate admin user ids, the
    column headings are: "User Id", "Description", "Alternate". The possible values for
    "Alternate" are "true" and "false". The "Description" is only present for alternate
    admin user Ids.

    Attributes:
        admin_user_id_table (List(adminUserIdTable)): adminUserIdTable - *Table* array of
            adminUserIdTable named tuples
    """

    __slots__: List[str] = [
        "admin_user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "admin_user_id_table",
                "adminUserIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAdminGetListResponse14(OCIResponse):
    """
    Response to `ServiceProviderAdminGetListRequest14()`.

    Contains a 7 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Administrator Type", "Language", "Locale" and "Encoding". The following
    columns are only returned in AS data mode: "Locale" and "Encoding"

    Attributes:
        service_provider_admin_table (List(serviceProviderAdminTable)):
            serviceProviderAdminTable - *Table* array of serviceProviderAdminTable named
            tuples
    """

    __slots__: List[str] = [
        "service_provider_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_admin_table",
                "serviceProviderAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAdminGetPagedSortedListResponse(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPagedSortedListRequest()`.

    Contains a 7 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Administrator Type", "Language", "Locale" and "Encoding". The following
    columns are only returned in AS data mode: "Locale" and "Encoding".

    Attributes:
        service_provider_admin_table (List(serviceProviderAdminTable)):
            serviceProviderAdminTable - *Table* array of serviceProviderAdminTable named
            tuples
    """

    __slots__: List[str] = [
        "service_provider_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_admin_table",
                "serviceProviderAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderAdminGetPolicyResponse14(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest14()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess is returned only for the enterprise administrator.

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        web_branding_access (str): webBrandingAccess
        network_policy_access (str): networkPolicyAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "service_access",
        "service_pack_access",
        "web_branding_access",
        "network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("network_policy_access", "networkPolicyAccess", str),
        )


class ServiceProviderAdminGetPolicyResponse16sp1(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest16sp1()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess is returned only for the enterprise administrator.  Replaced by:
    `ServiceProviderAdminGetPolicyResponse17()`

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        network_policy_access (str): networkPolicyAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("network_policy_access", "networkPolicyAccess", str),
        )


class ServiceProviderAdminGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest16sp1()`.

    Response to `ServiceProviderAdminGetPolicyRequest16sp2()`. Contains the policy
    settings for the service provider administrator.  The networkPolicyAccess is returned
    only for the enterprise administrator.

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        network_policy_access (str): networkPolicyAccess *Optional*
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "network_policy_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("network_policy_access", "networkPolicyAccess", str),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class ServiceProviderAdminGetPolicyResponse17(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest17()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess is returned only for the enterprise administrator.

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        office_zone_access (str): officeZoneAccess
        network_policy_access (str): networkPolicyAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "office_zone_access",
        "network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E("network_policy_access", "networkPolicyAccess", str),
        )


class ServiceProviderAdminGetPolicyResponse17sp1(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest17sp1()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess is returned only for the enterprise administrator.  The following
    elements are only used in XS data mode: communicationBarringAccess

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        office_zone_access (str): officeZoneAccess
        communication_barring_access (str): communicationBarringAccess
        network_policy_access (str): networkPolicyAccess *Optional*
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "office_zone_access",
        "communication_barring_access",
        "network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "communication_barring_access",
                "communicationBarringAccess",
                str,
                is_required=True,
            ),
            E("network_policy_access", "networkPolicyAccess", str),
        )


class ServiceProviderAdminGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest17sp3()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess is returned only for the enterprise administrator.  The following
    elements are only used in AS data mode: dialableCallerIDAccess The following elements
    are only used in XS data mode: communicationBarringAccess

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        office_zone_access (str): officeZoneAccess
        communication_barring_access (str): communicationBarringAccess
        network_policy_access (str): networkPolicyAccess *Optional*
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "office_zone_access",
        "communication_barring_access",
        "network_policy_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "communication_barring_access",
                "communicationBarringAccess",
                str,
                is_required=True,
            ),
            E("network_policy_access", "networkPolicyAccess", str),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class ServiceProviderAdminGetPolicyResponse18(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest18()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess and numberActivationAccess are returned only for the enterprise
    administrator.  The following elements are only used in AS data mode:
    dialableCallerIDAccess Replaced by: `ServiceProviderAdminGetPolicyResponse20()` in AS
    data mode

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        office_zone_access (str): officeZoneAccess
        communication_barring_access (str): communicationBarringAccess
        network_policy_access (str): networkPolicyAccess *Optional*
        number_activation_access (str): numberActivationAccess *Optional*
        dialable_caller_id_access (str): dialableCallerIDAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "office_zone_access",
        "communication_barring_access",
        "network_policy_access",
        "number_activation_access",
        "dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "communication_barring_access",
                "communicationBarringAccess",
                str,
                is_required=True,
            ),
            E("network_policy_access", "networkPolicyAccess", str),
            E("number_activation_access", "numberActivationAccess", str),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class ServiceProviderAdminGetPolicyResponse20(OCIResponse):
    """
    Response to `ServiceProviderAdminGetPolicyRequest20()`.

    Contains the policy settings for the service provider administrator.  The
    networkPolicyAccess and numberActivationAccess are returned only for the enterprise
    administrator.  The following elements are only used in AS data mode:
    dialableCallerIDAccess verifyTranslationAndRoutingAccess

    Attributes:
        profile_access (str): profileAccess
        group_access (str): groupAccess
        user_access (str): userAccess
        admin_access (str): adminAccess
        department_access (str): departmentAccess
        access_device_access (str): accessDeviceAccess
        phone_number_extension_access (str): phoneNumberExtensionAccess
        calling_line_id_number_access (str): callingLineIdNumberAccess
        service_access (str): serviceAccess
        service_pack_access (str): servicePackAccess
        session_admission_control_access (str): sessionAdmissionControlAccess
        web_branding_access (str): webBrandingAccess
        office_zone_access (str): officeZoneAccess
        communication_barring_access (str): communicationBarringAccess
        network_policy_access (str): networkPolicyAccess *Optional*
        number_activation_access (str): numberActivationAccess *Optional*
        dialable_caller_id_access (str): dialableCallerIDAccess
        verify_translation_and_routing_access (str): verifyTranslationAndRoutingAccess
    """

    __slots__: List[str] = [
        "profile_access",
        "group_access",
        "user_access",
        "admin_access",
        "department_access",
        "access_device_access",
        "phone_number_extension_access",
        "calling_line_id_number_access",
        "service_access",
        "service_pack_access",
        "session_admission_control_access",
        "web_branding_access",
        "office_zone_access",
        "communication_barring_access",
        "network_policy_access",
        "number_activation_access",
        "dialable_caller_id_access",
        "verify_translation_and_routing_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile_access", "profileAccess", str, is_required=True),
            E("group_access", "groupAccess", str, is_required=True),
            E("user_access", "userAccess", str, is_required=True),
            E("admin_access", "adminAccess", str, is_required=True),
            E("department_access", "departmentAccess", str, is_required=True),
            E("access_device_access", "accessDeviceAccess", str, is_required=True),
            E(
                "phone_number_extension_access",
                "phoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_number_access",
                "callingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E("service_access", "serviceAccess", str, is_required=True),
            E("service_pack_access", "servicePackAccess", str, is_required=True),
            E(
                "session_admission_control_access",
                "sessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E("web_branding_access", "webBrandingAccess", str, is_required=True),
            E("office_zone_access", "officeZoneAccess", str, is_required=True),
            E(
                "communication_barring_access",
                "communicationBarringAccess",
                str,
                is_required=True,
            ),
            E("network_policy_access", "networkPolicyAccess", str),
            E("number_activation_access", "numberActivationAccess", str),
            E(
                "dialable_caller_id_access",
                "dialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "verify_translation_and_routing_access",
                "verifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
        )


class ServiceProviderAdminGetResponse14(OCIResponse):
    """
    Response to the `ServiceProviderAdminGetRequest14()`.

    The response contains the service provider administrators profile information.
    Replaced by `ServiceProviderAdminGetResponse21sp1()`.

    Attributes:
        service_provider_id (str): serviceProviderId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        administrator_type (str): administratorType
    """

    __slots__: List[str] = [
        "service_provider_id",
        "first_name",
        "last_name",
        "language",
        "administrator_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("administrator_type", "administratorType", str, is_required=True),
        )


class ServiceProviderAdminGetResponse21sp1(OCIResponse):
    """
    Response to the `ServiceProviderAdminGetRequest21sp1()`.

    The response contains the service provider administrators profile information.
    Replaced by: `ServiceProviderAdminGetResponse22()`.

    Attributes:
        service_provider_id (str): serviceProviderId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        administrator_type (str): administratorType
        locale (str): locale
        encoding (str): encoding
    """

    __slots__: List[str] = [
        "service_provider_id",
        "first_name",
        "last_name",
        "language",
        "administrator_type",
        "locale",
        "encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("administrator_type", "administratorType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
        )


class ServiceProviderAdminGetResponse22(OCIResponse):
    """
    Response to the `ServiceProviderAdminGetRequest22()`.

    The response contains the service provider administrators profile information.

    Attributes:
        service_provider_id (str): serviceProviderId
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        administrator_type (str): administratorType
        locale (str): locale
        encoding (str): encoding
    """

    __slots__: List[str] = [
        "service_provider_id",
        "first_name",
        "last_name",
        "language",
        "administrator_type",
        "locale",
        "encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("administrator_type", "administratorType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
        )


class ServiceProviderAdministratorPasswordRulesGetResponse(OCIResponse):
    """
    Response to `ServiceProviderAdministratorPasswordRulesGetRequest()`.


    Attributes:
        use_external_authentication (bool): useExternalAuthentication *Optional*
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers *Optional*
        disallow_user_id (bool): disallowUserId *Optional*
        disallow_old_password (bool): disallowOldPassword *Optional*
        disallow_reversed_old_password (bool): disallowReversedOldPassword *Optional*
        restrict_min_digits (bool): restrictMinDigits *Optional*
        min_digits (int): minDigits *Optional*
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters *Optional*
        min_upper_case_letters (int): minUpperCaseLetters *Optional*
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters *Optional*
        min_lower_case_letters (int): minLowerCaseLetters *Optional*
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters *Optional*
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters *Optional*
        min_length (int): minLength *Optional*
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        password_expires_days (int): passwordExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail *Optional*
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_previous_passwords (bool): disallowPreviousPasswords *Optional*
        number_of_previous_passwords (int): numberOfPreviousPasswords *Optional*
    """

    __slots__: List[str] = [
        "use_external_authentication",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_external_authentication", "useExternalAuthentication", bool),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
            ),
            E("disallow_user_id", "disallowUserId", bool),
            E("disallow_old_password", "disallowOldPassword", bool),
            E("disallow_reversed_old_password", "disallowReversedOldPassword", bool),
            E("restrict_min_digits", "restrictMinDigits", bool),
            E("min_digits", "minDigits", int),
            E("restrict_min_upper_case_letters", "restrictMinUpperCaseLetters", bool),
            E("min_upper_case_letters", "minUpperCaseLetters", int),
            E("restrict_min_lower_case_letters", "restrictMinLowerCaseLetters", bool),
            E("min_lower_case_letters", "minLowerCaseLetters", int),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
            ),
            E("min_non_alphanumeric_characters", "minNonAlphanumericCharacters", int),
            E("min_length", "minLength", int),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("password_expires_days", "passwordExpiresDays", int),
            E("send_login_disabled_notify_email", "sendLoginDisabledNotifyEmail", bool),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E("disallow_previous_passwords", "disallowPreviousPasswords", bool),
            E("number_of_previous_passwords", "numberOfPreviousPasswords", int),
        )


class ServiceProviderAdviceOfChargeGetResponse(OCIResponse):
    """
    Response to `ServiceProviderAdviceOfChargeGetRequest()`.

    Contains a list of Advice of Charge service provider parameters.

    Attributes:
        use_sp_level_ao_c_settings (bool): useSPLevelAoCSettings
        delay_between_notification_seconds (int): delayBetweenNotificationSeconds
    """

    __slots__: List[str] = [
        "use_sp_level_ao_c_settings",
        "delay_between_notification_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_sp_level_ao_c_settings",
                "useSPLevelAoCSettings",
                bool,
                is_required=True,
            ),
            E(
                "delay_between_notification_seconds",
                "delayBetweenNotificationSeconds",
                int,
                is_required=True,
            ),
        )


class ServiceProviderAnswerConfirmationGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderAnswerConfirmationGetRequest()`.

    Replaced By: `ServiceProviderAnswerConfirmationGetResponse16()`

    Attributes:
        announcement_message_selection (str): announcementMessageSelection
        confirmation_message_audio_file_description (str):
            confirmationMessageAudioFileDescription *Optional*
        confirmation_timout_seconds (int): confirmationTimoutSeconds
    """

    __slots__: List[str] = [
        "announcement_message_selection",
        "confirmation_message_audio_file_description",
        "confirmation_timout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_message_selection",
                "announcementMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "confirmation_message_audio_file_description",
                "confirmationMessageAudioFileDescription",
                str,
            ),
            E(
                "confirmation_timout_seconds",
                "confirmationTimoutSeconds",
                int,
                is_required=True,
            ),
        )


class ServiceProviderAnswerConfirmationGetResponse16(OCIResponse):
    """
    Response to the `ServiceProviderAnswerConfirmationGetRequest16()`.


    Attributes:
        announcement_message_selection (str): announcementMessageSelection
        confirmation_message_audio_file_description (str):
            confirmationMessageAudioFileDescription *Optional*
        confirmation_message_media_type (str): confirmationMessageMediaType *Optional*
        confirmation_timout_seconds (int): confirmationTimoutSeconds
    """

    __slots__: List[str] = [
        "announcement_message_selection",
        "confirmation_message_audio_file_description",
        "confirmation_message_media_type",
        "confirmation_timout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_message_selection",
                "announcementMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "confirmation_message_audio_file_description",
                "confirmationMessageAudioFileDescription",
                str,
            ),
            E("confirmation_message_media_type", "confirmationMessageMediaType", str),
            E(
                "confirmation_timout_seconds",
                "confirmationTimoutSeconds",
                int,
                is_required=True,
            ),
        )


class ServiceProviderApplicationServerSetGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderApplicationServerSetGetRequest()`.

    The response contains the service provider or enterprise's Application Server set
    information.

    Attributes:
        application_server_set_name (str): applicationServerSetName *Optional*
    """

    __slots__: List[str] = [
        "application_server_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("application_server_set_name", "applicationServerSetName", str),)


class ServiceProviderBroadWorksCommunicatorGetResponse(OCIResponse):
    """
    Response to `ServiceProviderBroadWorksCommunicatorGetRequest()`.


    Attributes:
        configuration_server_url (str): configurationServerURL *Optional*
    """

    __slots__: List[str] = [
        "configuration_server_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("configuration_server_url", "configurationServerURL", str),)


class ServiceProviderBroadWorksMobilityGetResponse(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest()`.


    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
        )


class ServiceProviderBroadWorksMobilityGetResponse19sp1(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest19sp1()`.

    Replaced by: `ServiceProviderBroadWorksMobilityGetResponse22()` in AS data mode

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderBroadWorksMobilityGetResponse21sp1(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest21sp1()`.

    Replaced by `ServiceProviderBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery_access_locations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderBroadWorksMobilityGetResponse22(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest22()`.

    Replaced by `ServiceProviderBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderBroadWorksMobilityGetResponse22V2(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest22V2()`.

    Replaced by `ServiceProviderBroadWorksMobilityGetResponse22V3()`.

    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderBroadWorksMobilityGetResponse22V3(OCIResponse):
    """
    The response to a `ServiceProviderBroadWorksMobilityGetRequest22V3()`.


    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
        network_translation_index (str): networkTranslationIndex *Optional*
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
        "network_translation_index",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
        )


class ServiceProviderBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderBroadWorksMobilityMobileSubscriberDirectoryNumberGetAvailableListRequest()`.

    Contains a list of available Mobile Subscriber Directory Numbers not yet assigned to
    any group.

    Attributes:
        available_mobile_subscriber_directory_number (List[str]):
            availableMobileSubscriberDirectoryNumber *Optional*
    """

    __slots__: List[str] = [
        "available_mobile_subscriber_directory_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_mobile_subscriber_directory_number",
                "availableMobileSubscriberDirectoryNumber",
                str,
                is_array=True,
            ),
        )


class ServiceProviderBroadWorksMobilityMobileSubscriberDirectoryNumberGetSummaryListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderBroadWorksMobilityMobileSubscriberDirectoryNumberGetSummaryListRequest()`.

    The column headings are "Phone Number", "Group Id" and "Mobile Network".

    Attributes:
        mobile_subscriber_directory_numbers_summary_table
            (List(mobileSubscriberDirectoryNumbersSummaryTable)):
            mobileSubscriberDirectoryNumbersSummaryTable - *Table* array of
            mobileSubscriberDirectoryNumbersSummaryTable named tuples
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_numbers_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_numbers_summary_table",
                "mobileSubscriberDirectoryNumbersSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse14(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest14()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
        )


class ServiceProviderCallProcessingGetPolicyResponse14sp1(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest14sp1()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse14sp4(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest14sp4()`.

    Replaced By : `ServiceProviderCallProcessingGetPolicyResponse15()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse14sp7(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest14sp7()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse15(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest15()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse15sp2(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest15sp2()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse16(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest16()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest16sp2()`.


    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse17(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest17()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest17sp3()`.

    The following elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse17sp4(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest17sp4()`.

    The following elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity

    Replaced By : `ServiceProviderCallProcessingGetPolicyResponse18sp1()`

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse18sp1(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest18sp1()`.

    The following elements are only used in AS data mode : useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    Replaced by: `ServiceProviderCallProcessingGetPolicyResponse19sp1()`

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
        )


class ServiceProviderCallProcessingGetPolicyResponse19sp1(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest19sp1()`.

    The following elements are only used in AS data mode : useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    Replaced by: `ServiceProviderCallProcessingGetPolicyResponse21sp1()`

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
        )


class ServiceProviderCallProcessingGetPolicyResponse21sp1(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest21sp1()`.

    The following elements are only used in AS data mode : useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.  Replaced by:
    `ServiceProviderCallProcessingGetPolicyResponse21sp2()`

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "enable_phone_list_lookup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse21sp2(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest21sp2()`.

    The following elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.  The following
    elements are only used in XS data mode and not returned in AS data mode:
    routeOverrideDomain routeOverridePrefix Replaced by:
    `ServiceProviderCallProcessingGetPolicyResponse22()` in AS data mode

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "enable_phone_list_lookup",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class ServiceProviderCallProcessingGetPolicyResponse22(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest22()`.

    The following elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `ServiceProviderCallProcessingGetPolicyResponse22V2()` in AS data mode.

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class ServiceProviderCallProcessingGetPolicyResponse22V2(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest22V2()`.

    The following elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `ServiceProviderCallProcessingGetPolicyResponse22V3()` in AS data mode.

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderCallProcessingGetPolicyResponse22V3(OCIResponse):
    """
    Response to `ServiceProviderCallProcessingGetPolicyRequest22V3()`.

    The following elements are not returned for a service provider:
    enableGatewayRoutePolicy networkCallsGatewayRouteIdentity
    networkURLCallsGatewayRouteIdentity emergencyCallsGatewayRouteIdentity
    repairCallsGatewayRouteIdentity callTypingErrorsGatewayRouteIdentity The following
    elements are only used in AS data mode: useServiceProviderDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    enterpriseCallsCLIDPolicy, value "Use Location Code plus Extension" is returned in XS
    data mode.  groupCallsCLIDPolicy, value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  The following elements are only used in AS data mode and
    not returned in XS data mode: enableGatewayRoutePolicy
    networkCallsGatewayRouteIdentity networkURLCallsGatewayRouteIdentity
    emergencyCallsGatewayRouteIdentity repairCallsGatewayRouteIdentity
    callTypingErrorsGatewayRouteIdentity The following elements are only used in XS data
    mode and not returned in AS data mode: routeOverrideDomain routeOverridePrefix

    Attributes:
        use_service_provider_dclid_setting (bool): useServiceProviderDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        use_setting_level (str): useSettingLevel
        conference_uri (str): conferenceURI *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        group_calls_clid_policy (str): groupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        enable_gateway_route_policy (bool): enableGatewayRoutePolicy *Optional*
        network_calls_gateway_route_identity (str): networkCallsGatewayRouteIdentity
            *Optional*
        network_url_calls_gateway_route_identity (str):
            networkURLCallsGatewayRouteIdentity *Optional*
        emergency_calls_gateway_route_identity (str): emergencyCallsGatewayRouteIdentity
            *Optional*
        repair_calls_gateway_route_identity (str): repairCallsGatewayRouteIdentity
            *Optional*
        call_typing_errors_gateway_route_identity (str):
            callTypingErrorsGatewayRouteIdentity *Optional*
    """

    __slots__: List[str] = [
        "use_service_provider_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "enforce_enterprise_calling_line_identity_restriction",
        "use_setting_level",
        "conference_uri",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
        "enable_gateway_route_policy",
        "network_calls_gateway_route_identity",
        "network_url_calls_gateway_route_identity",
        "emergency_calls_gateway_route_identity",
        "repair_calls_gateway_route_identity",
        "call_typing_errors_gateway_route_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_dclid_setting",
                "useServiceProviderDCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("conference_uri", "conferenceURI", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("group_calls_clid_policy", "groupCallsCLIDPolicy", str, is_required=True),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("enable_gateway_route_policy", "enableGatewayRoutePolicy", bool),
            E(
                "network_calls_gateway_route_identity",
                "networkCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "network_url_calls_gateway_route_identity",
                "networkURLCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "emergency_calls_gateway_route_identity",
                "emergencyCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "repair_calls_gateway_route_identity",
                "repairCallsGatewayRouteIdentity",
                str,
            ),
            E(
                "call_typing_errors_gateway_route_identity",
                "callTypingErrorsGatewayRouteIdentity",
                str,
            ),
        )


class ServiceProviderCommunicationBarringCriteriaGetAssignedListResponse(OCIResponse):
    """
    Response to `ServiceProviderCommunicationBarringCriteriaGetAssignedListRequest()`.

    Contains a table of all Communication Barring Criteria assigned to the service
    provider.  The column headings are: "Name" and "Description".

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringDigitPatternCriteriaGetListResponse(
    OCIResponse,
):
    """
    Response to the
    `ServiceProviderCommunicationBarringDigitPatternCriteriaGetListRequest()`.

    The response contains a table of all Digit Pattern Criteria defined for the service
    provider.  The column headings are "Name" and "Description"

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringDigitPatternCriteriaGetPatternListResponse(
    OCIResponse,
):
    """
    Response to the
    `ServiceProviderCommunicationBarringDigitPatternCriteriaGetPatternListRequest()`.

    The response contains the Digit Pattern Criteria information.

    Attributes:
        match_digit_pattern (List[str]): matchDigitPattern *Optional*
    """

    __slots__: List[str] = [
        "match_digit_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("match_digit_pattern", "matchDigitPattern", str, is_array=True),)


class ServiceProviderCommunicationBarringDigitPatternCriteriaGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderCommunicationBarringDigitPatternCriteriaGetRequest()`.

    The response contains the Digit Pattern Criteria information.

    Attributes:
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("description", "description", str),)


class ServiceProviderCommunicationBarringIncomingCriteriaGetAssignedListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderCommunicationBarringIncomingCriteriaGetAssignedListRequest()`.

    Contains a table of all Communication Barring Incoming Criteria assigned to the
    service provider.  The column headings are: "Name" and "Description".

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringProfileGetAssignedGroupListResponse(
    OCIResponse,
):
    """
    Response to `ServiceProviderCommunicationBarringProfileGetAssignedGroupListRequest()`.

    Contains a table of groups that have the Communication Barring Profile assigned.  The
    column headings are: "Group Id" and "Group Name".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringProfileGetCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to ServiceProviderCommunicationBarring
    `ProfileGetCriteriaUsageListRequest()`.

    Contains a table of profiles that have the Communication Barring Criteria assigned.
    The column headings are: "Name" and "Description".

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringProfileGetDigitPatternCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `ServiceProviderCommunicationBarringProfileGetDigitPatternCriteriaUsageListRequest()`.

    The response contains a table of all Profiles that use the specific Digit Pattern
    Criteria.  The column headings are "Name" and "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringProfileGetIncomingCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderCommunicationBarringProfileGetIncomingCriteriaUsageListRequest()`.

    Contains a table of profiles that have the Communication Barring Incoming Criteria
    assigned.  The column headings are: "Name" and "Description".

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderCommunicationBarringProfileGetListResponse(OCIResponse):
    """
    Response to the `ServiceProviderCommunicationBarringProfileGetListRequest()`.

    The response contains a table of all Communication Barring Profiles for the service
    provider.  The column headings are "Default" , "Name" and "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDeviceActivationPolicyGetResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceActivationPolicyGetRequest()`.


    Attributes:
        use_service_provider_settings (bool): useServiceProviderSettings
        allow_activation_code_request_by_user (bool): allowActivationCodeRequestByUser
        send_activation_code_in_email (bool): sendActivationCodeInEmail
    """

    __slots__: List[str] = [
        "use_service_provider_settings",
        "allow_activation_code_request_by_user",
        "send_activation_code_in_email",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_settings",
                "useServiceProviderSettings",
                bool,
                is_required=True,
            ),
            E(
                "allow_activation_code_request_by_user",
                "allowActivationCodeRequestByUser",
                bool,
                is_required=True,
            ),
            E(
                "send_activation_code_in_email",
                "sendActivationCodeInEmail",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderDeviceManagementEventGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceManagementEventGetListRequest()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time". "Event Id" is a unique identifer
    for the event.  "Status" can be: Pending, Queued, In Progress, Process On Other Host,
    Stale, Completed, Canceled.  "Action" can be: Delete, Download, Rebuild, Reset,
    Upload.  "Level" can be: Device, Device Type, Device Type Group, Group, User.  "Type"
    can be: Automatic, Manual.  "Additional Info" includes the affected device type,
    device or group.  It depends on the level of the event: Device Profile: "Device Name"
    "Service Provider Id" "Group Id" Device Type: "Device Type Name" Device Type Group:
    "Service Provider Id" "Group Id" "Device Type Name" Group: "Service Provider Id"
    "Group Id" User: "User Id" "Is Local" is set to "yes" if the event is processed on the
    server who received the request, "no" otherwise meaning that the event is processed on
    another server.  "Completion %" provides an estimate of the completion of the event.
    A percentage is given, the current number of completed expanded event, and the total
    number of expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of
    files that were pushed, not pushed because of same hash, and not pushed when
    processing the event.  "LoginId" is the user or admin id who triggered the event.
    "Start Time" is the date when the event was started.  The display shows the month,
    days, hours, and minutes (MM-dd hh:mm). "Process Time" is the time taken to process
    the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). Each row
    represents an event sorted by priority of processing.  The first row in the table is
    an event that has an associated expanded event currently being processed or next in
    line to be processed.  Deprecated by:
    `ServiceProviderDeviceManagementEventGetListResponse22()`.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDeviceManagementEventGetListResponse22(OCIResponse):
    """
    Response to `ServiceProviderDeviceManagementEventGetListRequest22()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time", "Rx Time", "Total Time", "Request",
    "Priority". "Event Id" is a unique identifer for the event.  "Status" can be: Pending,
    Queued, In Progress, Process On Other Host, Stale, Completed, Canceled.  "Action" can
    be: Delete, Download, Rebuild, Reset, Upload.  "Level" can be: Device, Device Type,
    Device Type Group, Group, User.  "Type" can be: Automatic, Manual.  "Additional Info"
    includes the affected device type, device or group.  It depends on the level of the
    event: Device Profile: "Device Name" "Service Provider Id" "Group Id" Device Type:
    "Device Type Name" Device Type Service Provider: "Service Provider Id" "Device Type
    Name" Service Provider: "Service Provider Id" Device Type Group: "Service Provider Id"
    "Group Id" "Device Type Name" Group: "Service Provider Id" "Group Id" User: "User Id"
    "Is Local" is set to "yes" if the event is processed on the server who received the
    request, "no" otherwise meaning that the event is processed on another server.
    "Completion %" provides an estimate of the completion of the event.  A percentage is
    given, the current number of completed expanded event, and the total number of
    expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of files that
    were pushed, not pushed because of same hash, and not pushed when processing the
    event.  "LoginId" is the user or admin id who triggered the event.  "Start Time" is
    the date when the event's processing started.  The display shows the month, day,
    hours, minutes, and seconds (MM-dd hh:mm:ss). "Process Time" is the time taken to
    process the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). "Rx
    Time" is the date when the event was received via OCI-P and stored in the system.  The
    display shows the month, day, hours, minutes, and seconds (MM-dd hh:mm:ss). "Total
    Time" is the total time the event was in the system, from the moment it was received
    and stored until its processing ended, in hours, minutes, seconds, and milliseconds
    (hhhh:mm:ss.SSS). "Request" is the name of the OCI-P request that triggered the event.
    "Priority" is the priority of the event.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDeviceManagementGetAccessDeviceCountForDeviceTypeServiceProviderResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderDeviceManagementGetAccessDeviceCountForDeviceTypeServiceProviderRequest()`.


    Attributes:
        access_device_count (int): accessDeviceCount
    """

    __slots__: List[str] = [
        "access_device_count",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("access_device_count", "accessDeviceCount", int, is_required=True),)


class ServiceProviderDeviceProfileAuthenticationPasswordRulesGetResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceProfileAuthenticationPasswordRulesGetRequest()`.

    Contains the device profile authentication password rules for the service provider.

    Attributes:
        use_service_provider_settings (bool): useServiceProviderSettings
        disallow_authentication_name (bool): disallowAuthenticationName
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        send_permanent_lockout_notification (bool): sendPermanentLockoutNotification
        permanent_lockout_notify_email_address (str): permanentLockoutNotifyEmailAddress
            *Optional*
        device_profile_authentication_lockout_type (str):
            deviceProfileAuthenticationLockoutType
        device_profile_temporary_lockout_threshold (int):
            deviceProfileTemporaryLockoutThreshold
        device_profile_wait_algorithm (str): deviceProfileWaitAlgorithm
        device_profile_lockout_fixed_minutes (str): deviceProfileLockoutFixedMinutes
        device_profile_permanent_lockout_threshold (int):
            deviceProfilePermanentLockoutThreshold
    """

    __slots__: List[str] = [
        "use_service_provider_settings",
        "disallow_authentication_name",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "send_permanent_lockout_notification",
        "permanent_lockout_notify_email_address",
        "device_profile_authentication_lockout_type",
        "device_profile_temporary_lockout_threshold",
        "device_profile_wait_algorithm",
        "device_profile_lockout_fixed_minutes",
        "device_profile_permanent_lockout_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_settings",
                "useServiceProviderSettings",
                bool,
                is_required=True,
            ),
            E(
                "disallow_authentication_name",
                "disallowAuthenticationName",
                bool,
                is_required=True,
            ),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "send_permanent_lockout_notification",
                "sendPermanentLockoutNotification",
                bool,
                is_required=True,
            ),
            E(
                "permanent_lockout_notify_email_address",
                "permanentLockoutNotifyEmailAddress",
                str,
            ),
            E(
                "device_profile_authentication_lockout_type",
                "deviceProfileAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "device_profile_temporary_lockout_threshold",
                "deviceProfileTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "device_profile_wait_algorithm",
                "deviceProfileWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "device_profile_lockout_fixed_minutes",
                "deviceProfileLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "device_profile_permanent_lockout_threshold",
                "deviceProfilePermanentLockoutThreshold",
                int,
                is_required=True,
            ),
        )


class ServiceProviderDeviceTypeCustomTagGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceTypeCustomTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System
    on a per-device type basis for a service provider.  In As data mode, the column
    headings are: "Tag Name", "Tag Value". In XS data mode, the column headings are: "Tag
    Name", "Tag Value" if request is invoked by an admin without system privileges.  "Tag
    Name", "Tag Value", "Is Encrypted" if request is invoked by an admin with system
    privileges.

    Attributes:
        service_provider_device_type_custom_tags_table
            (List(serviceProviderDeviceTypeCustomTagsTable)):
            serviceProviderDeviceTypeCustomTagsTable - *Table* array of
            serviceProviderDeviceTypeCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_device_type_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_device_type_custom_tags_table",
                "serviceProviderDeviceTypeCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDeviceTypeFileGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceTypeFileGetListRequest()`.

    Contains a table of device type files managed by the Device Management System, on a
    per-service provider basis.  The column headings are: "File Format", "Is
    Authenticated", "Access URL", "Repository URL", "Template URL".

    Attributes:
        service_provider_device_type_files_table
            (List(serviceProviderDeviceTypeFilesTable)):
            serviceProviderDeviceTypeFilesTable - *Table* array of
            serviceProviderDeviceTypeFilesTable named tuples
        service_provider_has_customizable_dynamic_files (bool):
            serviceProviderHasCustomizableDynamicFiles
    """

    __slots__: List[str] = [
        "service_provider_device_type_files_table",
        "service_provider_has_customizable_dynamic_files",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_device_type_files_table",
                "serviceProviderDeviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "service_provider_has_customizable_dynamic_files",
                "serviceProviderHasCustomizableDynamicFiles",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderDeviceTypeFileGetResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceTypeFileGetRequest()`.


    Attributes:
        file_source (str): fileSource *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class ServiceProviderDeviceTypeTagSetGetResponse(OCIResponse):
    """
    Response to `ServiceProviderDeviceTypeGetRequest()`.


    Attributes:
        tag_set_name (str): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str),)


class ServiceProviderDialPlanPolicyGetAccessCodeListResponse(OCIResponse):
    """
    Response to `ServiceProviderDialPlanPolicyGetAccessCodeListRequest()`.

    Contains a table with column headings: "Access Code", "Enable Secondary Dial Tone",
    "Description".

    Attributes:
        access_code_table (List(accessCodeTable)): accessCodeTable - *Table* array of
            accessCodeTable named tuples
    """

    __slots__: List[str] = [
        "access_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_code_table",
                "accessCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDialPlanPolicyGetAccessCodeResponse(OCIResponse):
    """
    Response to `ServiceProviderDialPlanPolicyGetAccessCodeRequest()`

    Attributes:
        include_code_for_network_translations_and_routing (bool):
            includeCodeForNetworkTranslationsAndRouting
        include_code_for_screening_services (bool): includeCodeForScreeningServices
        enable_secondary_dial_tone (bool): enableSecondaryDialTone
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "include_code_for_network_translations_and_routing",
        "include_code_for_screening_services",
        "enable_secondary_dial_tone",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "include_code_for_network_translations_and_routing",
                "includeCodeForNetworkTranslationsAndRouting",
                bool,
                is_required=True,
            ),
            E(
                "include_code_for_screening_services",
                "includeCodeForScreeningServices",
                bool,
                is_required=True,
            ),
            E(
                "enable_secondary_dial_tone",
                "enableSecondaryDialTone",
                bool,
                is_required=True,
            ),
            E("description", "description", str),
        )


class ServiceProviderDialPlanPolicyGetResponse(OCIResponse):
    """
    Response to `ServiceProviderDialPlanPolicyGetRequest()` Replaced by:
    `ServiceProviderDialPlanPolicyGetResponse17()`

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class ServiceProviderDialPlanPolicyGetResponse17(OCIResponse):
    """
    Response to `ServiceProviderDialPlanPolicyGetRequest17()`

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class ServiceProviderDialPlanPolicyGetResponse22(OCIResponse):
    """
    Response to `ServiceProviderDialPlanPolicyGetRequest22()` The following elements are
    only used in AS data mode: overrideResolvedDeviceDigitMap The following elements are
    only used in AS data mode and not returned in XS data mode: deviceDigitMap

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
        override_resolved_device_digit_map (bool): overrideResolvedDeviceDigitMap
        device_digit_map (str): deviceDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
        "override_resolved_device_digit_map",
        "device_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
            E(
                "override_resolved_device_digit_map",
                "overrideResolvedDeviceDigitMap",
                bool,
                is_required=True,
            ),
            E("device_digit_map", "deviceDigitMap", str),
        )


class ServiceProviderDialableCallerIDCriteriaGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderDialableCallerIDCriteriaGetRequest()`.

    The response contains the Dialable Caller ID Criteria information.

    Attributes:
        description (str): description *Optional*
        prefix_digits (str): prefixDigits *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
    """

    __slots__: List[str] = [
        "description",
        "prefix_digits",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("prefix_digits", "prefixDigits", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
        )


class ServiceProviderDialableCallerIDGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderDialableCallerIDGetRequest()`.

    The criteria table?s column headings are ?Active?, "Name", "Description", ?Prefix
    Digits?, and ?Priority?.

    Attributes:
        use_service_provider_criteria (bool): useServiceProviderCriteria
        ns_screening_failure_policy (str): nsScreeningFailurePolicy
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "use_service_provider_criteria",
        "ns_screening_failure_policy",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_criteria",
                "useServiceProviderCriteria",
                bool,
                is_required=True,
            ),
            E(
                "ns_screening_failure_policy",
                "nsScreeningFailurePolicy",
                str,
                is_required=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDigitCollectionGetResponse13mp4(OCIResponse):
    """
    Response to `ServiceProviderDigitCollectionGetRequest13mp4()`.


    Attributes:
        access_code (str): accessCode *Optional*
        public_digit_map (str): publicDigitMap *Optional*
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "access_code",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("access_code", "accessCode", str),
            E("public_digit_map", "publicDigitMap", str),
            E("private_digit_map", "privateDigitMap", str),
        )


class ServiceProviderDnGetAvailableListResponse(OCIResponse):
    """
    Response to `ServiceProviderDnGetAvailableListRequest()`.

    Contains a list of available DNs not yet assigned to any group.

    Attributes:
        available_dn (List[str]): availableDn *Optional*
    """

    __slots__: List[str] = [
        "available_dn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("available_dn", "availableDn", str, is_array=True),)


class ServiceProviderDnGetSummaryListResponse(OCIResponse):
    """
    Response to `ServiceProviderDnGetSummaryListRequest()`.

    The column headings are "Phone Numbers, "Group Id" and "Can Delete"

    Attributes:
        dn_summary_table (List(dnSummaryTable)): dnSummaryTable - *Table* array of
            dnSummaryTable named tuples
    """

    __slots__: List[str] = [
        "dn_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_summary_table",
                "dnSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDomainGetAssignedGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderDomainGetAssignedGroupListRequest()`.

    Contains a table with column headings: "Group Id", "Group Name" and a row for each
    group.

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderDomainGetAssignedListResponse(OCIResponse):
    """
    Contains a simple list of service provider domain names.

    Replaced by `ServiceProviderDomainGetAssignedListResponse22()`

    Attributes:
        service_provider_default_domain (str): serviceProviderDefaultDomain
        domain (List[str]): domain *Optional*
    """

    __slots__: List[str] = [
        "service_provider_default_domain",
        "domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_default_domain",
                "serviceProviderDefaultDomain",
                str,
                is_required=True,
            ),
            E("domain", "domain", str, is_array=True),
        )


class ServiceProviderDomainGetAssignedListResponse22(OCIResponse):
    """
    Contains a simple list of service provider domain names.


    Attributes:
        service_provider_default_domain (str): serviceProviderDefaultDomain
        domain (List[str]): domain *Optional*
    """

    __slots__: List[str] = [
        "service_provider_default_domain",
        "domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_default_domain",
                "serviceProviderDefaultDomain",
                str,
                is_required=True,
            ),
            E("domain", "domain", str, is_array=True),
        )


class ServiceProviderEmergencyCallNotificationGetResponse(OCIResponse):
    """
    Response to `ServiceProviderEmergencyCallNotificationGetRequest()`.


    Attributes:
        send_emergency_call_notification_email (bool): sendEmergencyCallNotificationEmail
        emergency_call_notify_email_address (str): emergencyCallNotifyEmailAddress
            *Optional*
        allow_group_override (bool): allowGroupOverride
    """

    __slots__: List[str] = [
        "send_emergency_call_notification_email",
        "emergency_call_notify_email_address",
        "allow_group_override",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_emergency_call_notification_email",
                "sendEmergencyCallNotificationEmail",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_notify_email_address",
                "emergencyCallNotifyEmailAddress",
                str,
            ),
            E("allow_group_override", "allowGroupOverride", bool, is_required=True),
        )


class ServiceProviderEndpointGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderEndpointGetListRequest()`.

    The column headings for the endpointTable are: "Group Id", "Line/Port", "Last Name",
    "First Name", "User Id", "User Type", "Phone Number", "Extension", "Device Type",
    "Device Name", "Net Address", "MAC Address", "Department", "Email Address". Possible
    values for User Type are "User", "CCBasic", "CCStandard", "CCPremium", "RP", "MOH",
    "MOHVideo".

    Attributes:
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
    """

    __slots__: List[str] = [
        "endpoint_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderEnhancedCallLogsGetResponse(OCIResponse):
    """
    Response to `ServiceProviderEnhancedCallLogsGetRequest()`.


    Attributes:
        max_logged_calls (int): maxLoggedCalls
        call_expiration_days (int): callExpirationDays
    """

    __slots__: List[str] = [
        "max_logged_calls",
        "call_expiration_days",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_logged_calls", "maxLoggedCalls", int, is_required=True),
            E("call_expiration_days", "callExpirationDays", int, is_required=True),
        )


class ServiceProviderEnhancedCallLogsGetResponse17sp4(OCIResponse):
    """
    Response to `ServiceProviderEnhancedCallLogsGetRequest17sp4()`.


    Attributes:
        max_logged_calls (int): maxLoggedCalls
        call_expiration_days (int): callExpirationDays
    """

    __slots__: List[str] = [
        "max_logged_calls",
        "call_expiration_days",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_logged_calls", "maxLoggedCalls", int, is_required=True),
            E("call_expiration_days", "callExpirationDays", int, is_required=True),
        )


class ServiceProviderEnhancedCallLogsSchemaInstanceGetResponse(OCIResponse):
    """
    Response to `ServiceProviderEnhancedCallLogsSchemaInstanceGetRequest()`.


    Attributes:
        name (str): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str),)


class ServiceProviderExtensionLengthGetResponse(OCIResponse):
    """
    Response to `ServiceProviderExtensionLengthGetRequest()`.


    Attributes:
        default_extension_length (int): defaultExtensionLength *Optional*
        location_routing_prefix_digit (int): locationRoutingPrefixDigit *Optional*
        location_code_length (int): locationCodeLength *Optional*
    """

    __slots__: List[str] = [
        "default_extension_length",
        "location_routing_prefix_digit",
        "location_code_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_extension_length", "defaultExtensionLength", int),
            E("location_routing_prefix_digit", "locationRoutingPrefixDigit", int),
            E("location_code_length", "locationCodeLength", int),
        )


class ServiceProviderExternalCustomRingbackGetResponse(OCIResponse):
    """
    Response to `ServiceProviderExternalCustomRingbackGetRequest()`.


    Attributes:
        prefix_digits (str): prefixDigits *Optional*
        server_net_address (str): serverNetAddress *Optional*
        server_port (int): serverPort *Optional*
        timeout_seconds (int): timeoutSeconds
    """

    __slots__: List[str] = [
        "prefix_digits",
        "server_net_address",
        "server_port",
        "timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("prefix_digits", "prefixDigits", str),
            E("server_net_address", "serverNetAddress", str),
            E("server_port", "serverPort", int),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
        )


class ServiceProviderFileRepositoryDeviceUserGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderFileRepositoryDeviceUserGetListRequest()`.

    Contains a table with column headings : "User Name","Allow Delete","Allow Get","Allow
    Put" in a row for each file repository service provider user.

    Attributes:
        file_repository_user_table (List(fileRepositoryUserTable)):
            fileRepositoryUserTable - *Table* array of fileRepositoryUserTable named
            tuples
    """

    __slots__: List[str] = [
        "file_repository_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_table",
                "fileRepositoryUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderGetDefaultResponse(OCIResponse):
    """
    Response to the `ServiceProviderGetDefaultRequest()`.

    All values are default values for a service provider or enterprise's profile.  The
    following elements are only used in AS and XS data mode and not returned in Amplify
    data mode.  defaultDomain

    Attributes:
        is_enterprise (bool): isEnterprise
        default_domain (str): defaultDomain *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "default_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("default_domain", "defaultDomain", str),
        )


class ServiceProviderGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderGetListRequest()`.

    Contains a 3 column table with column headings "Service Provider Id", "Service
    Provider Name", "Is Enterprise" and "Reseller Id" and a row for each service provider
    or enterprise.  The following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderGetPagedSortedListResponse(OCIResponse):
    """
    Response to `ServiceProviderGetPagedSortedListRequest()`.

    Contains a table with column headings "Service Provider Id", "Service Provider Name"
    and "Is Enterprise", "Reseller Id" and "Service Provider External Id" and a row for
    each service provider or enterprise.  The following columns are only populated in AS
    data mode: "Reseller Id", "Service Provider External Id

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderGroupPagingTargetsCapacityGetResponse(OCIResponse):
    """
    Response to `ServiceProviderGroupPagingTargetsCapacityGetRequest()`.

    Replaced by: `ServiceProviderGroupPagingTargetsCapacityGetResponse22()` in AS data
    mode.

    Attributes:
        maximum_target_users (int): maximumTargetUsers
    """

    __slots__: List[str] = [
        "maximum_target_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("maximum_target_users", "maximumTargetUsers", int, is_required=True),)


class ServiceProviderGroupPagingTargetsCapacityGetResponse22(OCIResponse):
    """
    Response to `ServiceProviderGroupPagingTargetsCapacityGetRequest22()`.


    Attributes:
        maximum_target_users (int): maximumTargetUsers
    """

    __slots__: List[str] = [
        "maximum_target_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("maximum_target_users", "maximumTargetUsers", int, is_required=True),)


class ServiceProviderHPBXAlternateCarrierSelectionGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderHPBXAlternateCarrierSelectionGetRequest()`.


    Attributes:
        process_cbc_carrier_selection (bool): processCbcCarrierSelection
        preselected_local_carrier (str): preselectedLocalCarrier *Optional*
        preselected_distant_carrier (str): preselectedDistantCarrier *Optional*
    """

    __slots__: List[str] = [
        "process_cbc_carrier_selection",
        "preselected_local_carrier",
        "preselected_distant_carrier",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "process_cbc_carrier_selection",
                "processCbcCarrierSelection",
                bool,
                is_required=True,
            ),
            E("preselected_local_carrier", "preselectedLocalCarrier", str),
            E("preselected_distant_carrier", "preselectedDistantCarrier", str),
        )


class ServiceProviderIMRNGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderIMRNGetListRequest()`.


    Attributes:
        imrn (List[str]): imrn *Optional*
    """

    __slots__: List[str] = [
        "imrn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("imrn", "imrn", str, is_array=True),)


class ServiceProviderInCallServiceActivationGetResponse(OCIResponse):
    """
    Response to `ServiceProviderInCallServiceActivationGetRequest()`.

    Replaced by: `ServiceProviderInCallServiceActivationGetResponse17()`

    Attributes:
        activation_digits (str): activationDigits
    """

    __slots__: List[str] = [
        "activation_digits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("activation_digits", "activationDigits", str, is_required=True),)


class ServiceProviderInCallServiceActivationGetResponse17(OCIResponse):
    """
    Response to `ServiceProviderInCallServiceActivationGetRequest17()`.


    Attributes:
        flash_activation_digits (str): flashActivationDigits
        call_transfer_activation_digits (str): callTransferActivationDigits
    """

    __slots__: List[str] = [
        "flash_activation_digits",
        "call_transfer_activation_digits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "flash_activation_digits",
                "flashActivationDigits",
                str,
                is_required=True,
            ),
            E(
                "call_transfer_activation_digits",
                "callTransferActivationDigits",
                str,
                is_required=True,
            ),
        )


class ServiceProviderIntegratedIMPGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderIntegratedIMPGetRequest()`.

    The response contains the service provider Integrated IMP service attributes.
    Replaced by: `ServiceProviderIntegratedIMPGetResponse21()` in AS data mode

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
        )


class ServiceProviderIntegratedIMPGetResponse21(OCIResponse):
    """
    Response to the `ServiceProviderIntegratedIMPGetRequest21()`.

    The response contains the service provider Integrated IMP service attributes.  If the
    service provider is within a reseller, useSystemServiceDomain means using reseller
    level service domain setting.  And useSystemMessagingServer means using the reseller
    level messaging server setting.  Replaced by:
    `ServiceProviderIntegratedIMPGetResponse21sp1()` in AS data mode

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        use_system_messaging_server (bool): useSystemMessagingServer
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        bosh_url (str): boshURL *Optional*
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
        "service_port",
        "use_system_messaging_server",
        "provisioning_url",
        "provisioning_user_id",
        "bosh_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "use_system_messaging_server",
                "useSystemMessagingServer",
                bool,
                is_required=True,
            ),
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E("bosh_url", "boshURL", str),
        )


class ServiceProviderIntegratedIMPGetResponse21sp1(OCIResponse):
    """
    Response to the `ServiceProviderIntegratedIMPGetRequest21sp1()`.

    The response contains the service provider Integrated IMP service attributes.
    Replaced by: `ServiceProviderIntegratedIMPGetResponse22()` in AS data mode

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        use_system_messaging_server (bool): useSystemMessagingServer
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        bosh_url (str): boshURL *Optional*
        default_imp_id_type (str): defaultImpIdType
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
        "service_port",
        "use_system_messaging_server",
        "provisioning_url",
        "provisioning_user_id",
        "bosh_url",
        "default_imp_id_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "use_system_messaging_server",
                "useSystemMessagingServer",
                bool,
                is_required=True,
            ),
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E("bosh_url", "boshURL", str),
            E("default_imp_id_type", "defaultImpIdType", str, is_required=True),
        )


class ServiceProviderIntegratedIMPGetResponse22(OCIResponse):
    """
    Response to the `ServiceProviderIntegratedIMPGetRequest22()`.

    The response contains the service provider Integrated IMP service attributes.  If the
    service provider is within a reseller, useSystemServiceDomain means using reseller
    level service domain setting.  And useSystemMessagingServer means using the reseller
    level messaging server setting.  The element useResellerIMPIdSetting means using the
    reseller level IMP User ID setting.

    Attributes:
        use_system_service_domain (bool): useSystemServiceDomain
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        use_system_messaging_server (bool): useSystemMessagingServer
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        bosh_url (str): boshURL *Optional*
        default_imp_id_type (str): defaultImpIdType *Optional*
        use_reseller_imp_id_setting (bool): useResellerIMPIdSetting *Optional*
    """

    __slots__: List[str] = [
        "use_system_service_domain",
        "service_domain",
        "service_port",
        "use_system_messaging_server",
        "provisioning_url",
        "provisioning_user_id",
        "bosh_url",
        "default_imp_id_type",
        "use_reseller_imp_id_setting",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_service_domain",
                "useSystemServiceDomain",
                bool,
                is_required=True,
            ),
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "use_system_messaging_server",
                "useSystemMessagingServer",
                bool,
                is_required=True,
            ),
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E("bosh_url", "boshURL", str),
            E("default_imp_id_type", "defaultImpIdType", str),
            E("use_reseller_imp_id_setting", "useResellerIMPIdSetting", bool),
        )


class ServiceProviderLanguageGetAvailableListResponse(OCIResponse):
    """
    Response to `ServiceProviderLanguageGetAvailableListRequest()`.

    The language table column headings are: "Language", "Locale" and "Encoding".

    Attributes:
        default_language (str): defaultLanguage
        language_table (List(languageTable)): languageTable - *Table* array of
            languageTable named tuples
    """

    __slots__: List[str] = [
        "default_language",
        "language_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_language", "defaultLanguage", str, is_required=True),
            E(
                "language_table",
                "languageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderLanguageGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderLanguageGetListRequest()`.


    Attributes:
        language (List[str]): language *Optional*
        default_language (str): defaultLanguage *Optional*
    """

    __slots__: List[str] = [
        "language",
        "default_language",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("language", "language", str, is_array=True),
            E("default_language", "defaultLanguage", str),
        )


class ServiceProviderMWIDeliveryToMobileEndpointGetResponse(OCIResponse):
    """
    Response to `ServiceProviderMWIDeliveryToMobileEndpointGetRequest()`.

    The templateActivationTable contains the list of templates defined for the service
    provider.  The column headings are "Enable", "Language", "Type".

    Attributes:
        template_activation_table (List(templateActivationTable)): templateActivationTable
            - *Table* array of templateActivationTable named tuples
    """

    __slots__: List[str] = [
        "template_activation_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "template_activation_table",
                "templateActivationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderMaliciousCallTraceGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderMaliciousCallTraceGetRequest()`.

    The response contains the service provider Malicious Call Trace settings.

    Attributes:
        use_system_play_mct_warning_announcement (bool):
            useSystemPlayMCTWarningAnnouncement
        play_mct_warning_announcement (bool): playMCTWarningAnnouncement
    """

    __slots__: List[str] = [
        "use_system_play_mct_warning_announcement",
        "play_mct_warning_announcement",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_system_play_mct_warning_announcement",
                "useSystemPlayMCTWarningAnnouncement",
                bool,
                is_required=True,
            ),
            E(
                "play_mct_warning_announcement",
                "playMCTWarningAnnouncement",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderNetworkClassOfServiceGetAssignedGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderNetworkClassOfServiceGetAssignedGroupListRequest()`.

    Contains a table of groups that have the Network Class of Service assigned.  The
    column headings are: "Group Id" and "Group Name".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderNetworkClassOfServiceGetAssignedListResponse(OCIResponse):
    """
    Response to `ServiceProviderNetworkClassOfServiceGetAssignedListRequest()`.

    Contains a table of all Network Classes of Service assigned to the service provider.
    The column headings are: "Name", "Description" and "Default".

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderNumberPortabilityQueryGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderNumberPortabilityQueryGetRequest()`.

    The response contains the service provider number portability query information.

    Attributes:
        enable_number_portability_query_for_outgoing_calls (bool):
            enableNumberPortabilityQueryForOutgoingCalls
        enable_number_portability_query_for_incoming_calls (bool):
            enableNumberPortabilityQueryForIncomingCalls
        enable_number_portability_query_for_network_calls_only (bool):
            enableNumberPortabilityQueryForNetworkCallsOnly
        digit_pattern (List[str]): digitPattern *Optional*
    """

    __slots__: List[str] = [
        "enable_number_portability_query_for_outgoing_calls",
        "enable_number_portability_query_for_incoming_calls",
        "enable_number_portability_query_for_network_calls_only",
        "digit_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_number_portability_query_for_outgoing_calls",
                "enableNumberPortabilityQueryForOutgoingCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_number_portability_query_for_incoming_calls",
                "enableNumberPortabilityQueryForIncomingCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_number_portability_query_for_network_calls_only",
                "enableNumberPortabilityQueryForNetworkCallsOnly",
                bool,
                is_required=True,
            ),
            E("digit_pattern", "digitPattern", str, is_array=True),
        )


class ServiceProviderOfficeZoneGetAssignedGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderOfficeZoneGetAssignedGroupListRequest()`.

    Contains a table of groups that have the Office Zone assigned.  The column headings
    are: "Group Id" and "Group Name".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderOfficeZoneGetAssignedListResponse(OCIResponse):
    """
    Response to `ServiceProviderOfficeZoneGetAssignedListRequest()`.

    Contains a table of all Office Zones assigned to the service provider.  The column
    headings are: "Name", "Description" and "Default".

    Attributes:
        office_zone_table (List(officeZoneTable)): officeZoneTable - *Table* array of
            officeZoneTable named tuples
    """

    __slots__: List[str] = [
        "office_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "office_zone_table",
                "officeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderPasswordRulesGetResponse13mp2(OCIResponse):
    """
    Response to `ServiceProviderPasswordRulesGetRequest13mp2()`.

    Contains the group, department administrator and/or user password rules setting.

    Replaced By: `ServiceProviderPasswordRulesGetResponse16()`

    Attributes:
        service_provider_id (str): serviceProviderId
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
    """

    __slots__: List[str] = [
        "service_provider_id",
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderPasswordRulesGetResponse16(OCIResponse):
    """
    Response to `ServiceProviderPasswordRulesGetRequest16()`.

    Contains the group, department administrator and/or user password rules setting.
    Replaced by: `ServiceProviderPasswordRulesGetResponse22()` in AS data mode.

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
        )


class ServiceProviderPasswordRulesGetResponse22(OCIResponse):
    """
    Response to `ServiceProviderPasswordRulesGetRequest22()`.

    Contains the group, department administrator and/or user password rules setting.

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
        force_password_change_after_reset (bool): forcePasswordChangeAfterReset
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
        "force_password_change_after_reset",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
            E(
                "force_password_change_after_reset",
                "forcePasswordChangeAfterReset",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderPortalPasscodeRulesGetResponse(OCIResponse):
    """
    Response to `ServiceProviderPortalPasscodeRulesGetRequest()`.

    Contains the service provider's passcode rules setting.

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class ServiceProviderPortalPasscodeRulesGetResponse19(OCIResponse):
    """
    Response to `ServiceProviderPortalPasscodeRulesGetRequest19()`.

    Contains the service provider's passcode rules setting.  The following elements are
    only used in AS data mode: numberOfRepeatedDigits disallowRepeatedPatterns
    disallowContiguousSequences numberOfAscendingDigits numberOfDescendingDigits
    numberOfPreviousPasscodes Replaced by:
    `ServiceProviderPortalPasscodeRulesGetResponse22()` in AS data mode.

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        number_of_repeated_digits (int): numberOfRepeatedDigits
        disallow_repeated_patterns (bool): disallowRepeatedPatterns
        disallow_contiguous_sequences (bool): disallowContiguousSequences
        number_of_ascending_digits (int): numberOfAscendingDigits
        number_of_descending_digits (int): numberOfDescendingDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        number_of_previous_passcodes (int): numberOfPreviousPasscodes
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "number_of_repeated_digits",
        "disallow_repeated_patterns",
        "disallow_contiguous_sequences",
        "number_of_ascending_digits",
        "number_of_descending_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "number_of_previous_passcodes",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E(
                "number_of_repeated_digits",
                "numberOfRepeatedDigits",
                int,
                is_required=True,
            ),
            E(
                "disallow_repeated_patterns",
                "disallowRepeatedPatterns",
                bool,
                is_required=True,
            ),
            E(
                "disallow_contiguous_sequences",
                "disallowContiguousSequences",
                bool,
                is_required=True,
            ),
            E(
                "number_of_ascending_digits",
                "numberOfAscendingDigits",
                int,
                is_required=True,
            ),
            E(
                "number_of_descending_digits",
                "numberOfDescendingDigits",
                int,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "number_of_previous_passcodes",
                "numberOfPreviousPasscodes",
                int,
                is_required=True,
            ),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class ServiceProviderPortalPasscodeRulesGetResponse22(OCIResponse):
    """
    Response to `ServiceProviderPortalPasscodeRulesGetRequest22()`.

    Contains the service provider's passcode rules setting.  The following elements are
    only used in AS data mode: numberOfRepeatedDigits disallowRepeatedPatterns
    disallowContiguousSequences numberOfAscendingDigits numberOfDescendingDigits
    numberOfPreviousPasscodes enableDefaultPasscode defaultPasscode

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        number_of_repeated_digits (int): numberOfRepeatedDigits
        disallow_repeated_patterns (bool): disallowRepeatedPatterns
        disallow_contiguous_sequences (bool): disallowContiguousSequences
        number_of_ascending_digits (int): numberOfAscendingDigits
        number_of_descending_digits (int): numberOfDescendingDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        number_of_previous_passcodes (int): numberOfPreviousPasscodes
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        enable_default_passcode (bool): enableDefaultPasscode
        default_passcode (str): defaultPasscode *Optional*
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "number_of_repeated_digits",
        "disallow_repeated_patterns",
        "disallow_contiguous_sequences",
        "number_of_ascending_digits",
        "number_of_descending_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "number_of_previous_passcodes",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "enable_default_passcode",
        "default_passcode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E(
                "number_of_repeated_digits",
                "numberOfRepeatedDigits",
                int,
                is_required=True,
            ),
            E(
                "disallow_repeated_patterns",
                "disallowRepeatedPatterns",
                bool,
                is_required=True,
            ),
            E(
                "disallow_contiguous_sequences",
                "disallowContiguousSequences",
                bool,
                is_required=True,
            ),
            E(
                "number_of_ascending_digits",
                "numberOfAscendingDigits",
                int,
                is_required=True,
            ),
            E(
                "number_of_descending_digits",
                "numberOfDescendingDigits",
                int,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "number_of_previous_passcodes",
                "numberOfPreviousPasscodes",
                int,
                is_required=True,
            ),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "enable_default_passcode",
                "enableDefaultPasscode",
                bool,
                is_required=True,
            ),
            E("default_passcode", "defaultPasscode", str),
        )


class ServiceProviderPreferredCarrierGetAvailableCountryCodeListResponse(OCIResponse):
    """
    Response to a `ServiceProviderPreferredCarrierGetAvailableCountryCodeListRequest()`.

    Contains the default country code and the list of unused country codes for a service
    provider / enterprise.

    Attributes:
        default_country_code (str): defaultCountryCode *Optional*
        country_code (List[str]): countryCode *Optional*
    """

    __slots__: List[str] = [
        "default_country_code",
        "country_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_country_code", "defaultCountryCode", str),
            E("country_code", "countryCode", str, is_array=True),
        )


class ServiceProviderPreferredCarrierGetCarrierListResponse(OCIResponse):
    """
    Response to a `ServiceProviderPreferredCarrierGetCarrierListRequest()`.

    Contains the lists of carriers for a specified country code for a service provider /
    enterprise.

    Attributes:
        intra_lata_carrier (List[str]): intraLataCarrier *Optional*
        inter_lata_carrier (List[str]): interLataCarrier *Optional*
        international_carrier (List[str]): internationalCarrier *Optional*
    """

    __slots__: List[str] = [
        "intra_lata_carrier",
        "inter_lata_carrier",
        "international_carrier",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("intra_lata_carrier", "intraLataCarrier", str, is_array=True),
            E("inter_lata_carrier", "interLataCarrier", str, is_array=True),
            E("international_carrier", "internationalCarrier", str, is_array=True),
        )


class ServiceProviderPreferredCarrierGetListResponse(OCIResponse):
    """
    Response to a `ServiceProviderPreferredCarrierGetListRequest()`.

    Contains a table with one row per carrier.  The table columns are: "Country Code",
    "Intra-Lata PIC", "Inter-Lata PIC", "International PIC".

    Attributes:
        service_provider_carrier_table (List(serviceProviderCarrierTable)):
            serviceProviderCarrierTable - *Table* array of serviceProviderCarrierTable
            named tuples
    """

    __slots__: List[str] = [
        "service_provider_carrier_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_carrier_table",
                "serviceProviderCarrierTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderPreferredCarrierGetResponse(OCIResponse):
    """
    Response to a `ServiceProviderPreferredCarrierGetRequest()`.

    Contains the currently configured carriers for a specified country code for a service
    provider / enterprise.

    Attributes:
        intra_lata_carrier (str): intraLataCarrier *Optional*
        inter_lata_carrier (str): interLataCarrier *Optional*
        international_carrier (str): internationalCarrier *Optional*
    """

    __slots__: List[str] = [
        "intra_lata_carrier",
        "inter_lata_carrier",
        "international_carrier",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("intra_lata_carrier", "intraLataCarrier", str),
            E("inter_lata_carrier", "interLataCarrier", str),
            E("international_carrier", "internationalCarrier", str),
        )


class ServiceProviderRouteListEnterpriseTrunkNumberPrefixGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderRouteListEnterpriseTrunkNumberPrefixGetAvailableListRequest()`.

    Contains a list of available number prefixes not yet assigned to any group.  The
    column headings are "Number Prefix"","Is Active", “Extension Range Start” and
    “Extension Range End”.

    Attributes:
        available_number_prefix_table (List(availableNumberPrefixTable)):
            availableNumberPrefixTable - *Table* array of availableNumberPrefixTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_prefix_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_prefix_table",
                "availableNumberPrefixTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRouteListEnterpriseTrunkNumberPrefixGetSummaryListResponse(
    OCIResponse,
):
    """
    Response to `ServiceProviderRouteListEnterpriseTrunkPrefixGetSummaryListRequest()`.

    The column headings are "Number Prefix", "Group Id" ","Is Active", “Extension Range
    Start” and “Extension Range End”.

    Attributes:
        prefix_summary_table (List(prefixSummaryTable)): prefixSummaryTable - *Table*
            array of prefixSummaryTable named tuples
    """

    __slots__: List[str] = [
        "prefix_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "prefix_summary_table",
                "prefixSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRouteListEnterpriseTrunkNumberRangeGetAvailableListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderRouteListEnterpriseTrunkNumberRangeGetAvailableListRequest()`.

    Contains a list of available number ranges not yet assigned to any group.  The column
    headings are "Number Range Start", "Number Range End","Is Active" and "Extension
    Length".

    Attributes:
        available_number_range_table (List(availableNumberRangeTable)):
            availableNumberRangeTable - *Table* array of availableNumberRangeTable named
            tuples
    """

    __slots__: List[str] = [
        "available_number_range_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_number_range_table",
                "availableNumberRangeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRouteListEnterpriseTrunkNumberRangeGetSummaryListResponse(
    OCIResponse,
):
    """
    Response to
    `ServiceProviderRouteListEnterpriseTrunkNumberRangeGetSummaryListRequest()`.

    The column headings are "Number Range Start", "Number Range End", "Group Id", "Is
    Active" and "Extension Length".

    Attributes:
        number_range_summary_table (List(numberRangeSummaryTable)):
            numberRangeSummaryTable - *Table* array of numberRangeSummaryTable named
            tuples
    """

    __slots__: List[str] = [
        "number_range_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_range_summary_table",
                "numberRangeSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRoutePointExternalSystemGetAssignedGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderRoutePointExternalSystemGetAssignedGroupListRequest()`.

    Contains a table with column headings: "Group Id", "Group Name" and a row for each
    group.

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRoutePointExternalSystemGetAssignedListResponse(OCIResponse):
    """
    Response to the `ServiceProviderRoutePointExternalSystemGetAssignedListRequest()`.

    Contains a table of all Route Point External Systems assigned to the service provider.
    The column headings are: "Name" and "Description".

    Attributes:
        external_system_table (List(externalSystemTable)): externalSystemTable - *Table*
            array of externalSystemTable named tuples
    """

    __slots__: List[str] = [
        "external_system_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "external_system_table",
                "externalSystemTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderRoutingProfileGetResponse(OCIResponse):
    """
    Response to `ServiceProviderRoutingProfileGetRequest()`.


    Attributes:
        routing_profile (str): routingProfile *Optional*
    """

    __slots__: List[str] = [
        "routing_profile",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("routing_profile", "routingProfile", str),)


class ServiceProviderSIPAuthenticationPasswordRulesGetResponse(OCIResponse):
    """
    Response to `ServiceProviderSIPAuthenticationPasswordRulesGetRequest()`.

    Contains the SIP authentication password rules for the service provider.

    Attributes:
        use_service_provider_settings (bool): useServiceProviderSettings
        disallow_authentication_name (bool): disallowAuthenticationName
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        send_permanent_lockout_notification (bool): sendPermanentLockoutNotification
        permanent_lockout_notify_email_address (str): permanentLockoutNotifyEmailAddress
            *Optional*
        endpoint_authentication_lockout_type (str): endpointAuthenticationLockoutType
        endpoint_temporary_lockout_threshold (int): endpointTemporaryLockoutThreshold
        endpoint_wait_algorithm (str): endpointWaitAlgorithm
        endpoint_lockout_fixed_minutes (str): endpointLockoutFixedMinutes
        endpoint_permanent_lockout_threshold (int): endpointPermanentLockoutThreshold
        trunk_group_temporary_lockout_threshold (int): trunkGroupTemporaryLockoutThreshold
        trunk_group_authentication_lockout_type (str): trunkGroupAuthenticationLockoutType
        trunk_group_wait_algorithm (str): trunkGroupWaitAlgorithm
        trunk_group_lockout_fixed_minutes (str): trunkGroupLockoutFixedMinutes
        trunk_group_permanent_lockout_threshold (int): trunkGroupPermanentLockoutThreshold
    """

    __slots__: List[str] = [
        "use_service_provider_settings",
        "disallow_authentication_name",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "send_permanent_lockout_notification",
        "permanent_lockout_notify_email_address",
        "endpoint_authentication_lockout_type",
        "endpoint_temporary_lockout_threshold",
        "endpoint_wait_algorithm",
        "endpoint_lockout_fixed_minutes",
        "endpoint_permanent_lockout_threshold",
        "trunk_group_temporary_lockout_threshold",
        "trunk_group_authentication_lockout_type",
        "trunk_group_wait_algorithm",
        "trunk_group_lockout_fixed_minutes",
        "trunk_group_permanent_lockout_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_service_provider_settings",
                "useServiceProviderSettings",
                bool,
                is_required=True,
            ),
            E(
                "disallow_authentication_name",
                "disallowAuthenticationName",
                bool,
                is_required=True,
            ),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "send_permanent_lockout_notification",
                "sendPermanentLockoutNotification",
                bool,
                is_required=True,
            ),
            E(
                "permanent_lockout_notify_email_address",
                "permanentLockoutNotifyEmailAddress",
                str,
            ),
            E(
                "endpoint_authentication_lockout_type",
                "endpointAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "endpoint_temporary_lockout_threshold",
                "endpointTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "endpoint_wait_algorithm",
                "endpointWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "endpoint_lockout_fixed_minutes",
                "endpointLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "endpoint_permanent_lockout_threshold",
                "endpointPermanentLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "trunk_group_temporary_lockout_threshold",
                "trunkGroupTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "trunk_group_authentication_lockout_type",
                "trunkGroupAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_wait_algorithm",
                "trunkGroupWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_lockout_fixed_minutes",
                "trunkGroupLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_permanent_lockout_threshold",
                "trunkGroupPermanentLockoutThreshold",
                int,
                is_required=True,
            ),
        )


class ServiceProviderScheduleGetEventListResponse(OCIResponse):
    """
    Response to `ServiceProviderScheduleGetEventListRequest()`.

    The response contains a list of events.

    Attributes:
        event_name (List[str]): eventName *Optional*
    """

    __slots__: List[str] = [
        "event_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("event_name", "eventName", str, is_array=True),)


class ServiceProviderServiceGetAuthorizationListResponse(OCIResponse):
    """
    Response to `ServiceProviderServiceGetAuthorizationListRequest()`.

    Contains two tables, one for the group services and one for the user services.  The
    Group Service table has column headings: "Service Name", "Authorized", "Assigned",
    "Limited", "Quantity", "Allocated", "Licensed", "Service Pack Allocation" The User
    Service table has column headings: "Service Name", "Authorized", "Assigned",
    "Limited", "Quantity", "Allocated", "Licensed", "Service Pack Allocation", "User
    Assignable", "Service Pack Assignable".

    Attributes:
        group_services_authorization_table (List(groupServicesAuthorizationTable)):
            groupServicesAuthorizationTable - *Table* array of
            groupServicesAuthorizationTable named tuples
        user_services_authorization_table (List(userServicesAuthorizationTable)):
            userServicesAuthorizationTable - *Table* array of
            userServicesAuthorizationTable named tuples
    """

    __slots__: List[str] = [
        "group_services_authorization_table",
        "user_services_authorization_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_services_authorization_table",
                "groupServicesAuthorizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_services_authorization_table",
                "userServicesAuthorizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderServiceGetUserAssignableListResponse(OCIResponse):
    """
    Response to `ServiceProviderServiceGetUserAssignableListRequest()`.


    Attributes:
        service_name (List[str]): serviceName *Optional*
    """

    __slots__: List[str] = [
        "service_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("service_name", "serviceName", str, is_array=True),)


class ServiceProviderServicePackGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackGetListRequest()`.


    Attributes:
        service_pack_name (List[str]): servicePackName *Optional*
    """

    __slots__: List[str] = [
        "service_pack_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("service_pack_name", "servicePackName", str, is_array=True),)


class ServiceProviderServicePackGetServiceUsageListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackGetServiceUsageListRequest()`.

    The column headings are "Service Pack Name", "Total Packs" and "Allocated to Groups"

    Attributes:
        service_usage_table (List(serviceUsageTable)): serviceUsageTable - *Table* array
            of serviceUsageTable named tuples
    """

    __slots__: List[str] = [
        "service_usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_usage_table",
                "serviceUsageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderServicePackGetUtilizationListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackGetUtilizationListRequest()`.

    For each service pack, a table of groups utilizing the pack is returned.  The
    utilization table column headings are "Group", "Total Packs" and "Assigned".

    Attributes:
        service_pack_name (List[str]): servicePackName *Optional*
        service_utilization_table (List(serviceUtilizationTable)): serviceUtilizationTable
            - *Table* array of serviceUtilizationTable named tuples *Optional*
    """

    __slots__: List[str] = [
        "service_pack_name",
        "service_utilization_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_pack_name", "servicePackName", str, is_array=True),
            E(
                "service_utilization_table",
                "serviceUtilizationTable",
                list,
                is_complex=True,
                is_array=True,
                is_table=True,
            ),
        )


class ServiceProviderServicePackMigrationTaskGetAvailableGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetAvailableGroupListRequest()`.

    The groupTable column headings are: "Group Id", "Group Name", "User Count".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderServicePackMigrationTaskGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetListRequest()`.

    Contains a table with a row for each service pack migration task and column headings :
    "Start Timestamp Milliseconds", "Name", "Status", "Error Count", "Users Processed",
    "Users Total". The start timestamp column is the number of milliseconds since the
    standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.

    Replaced By : `ServiceProviderServicePackMigrationTaskGetListResponse21()` in AS data
    mode

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderServicePackMigrationTaskGetListResponse21(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetListRequest21()`.

    Contains a table with a row for each service pack migration task and column headings :
    "Start Timestamp Milliseconds", "Name", "Status", "Error Count", "Users Processed",
    "Users Total". The start timestamp column is the number of milliseconds since the
    standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT. The
    status column is the task status which can be Awaiting edit, Pending, Processing,
    Terminating, Terminated, Stopped by system, Completed, or Expired.

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderServicePackMigrationTaskGetResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetRequest()`.

    The groupTable column headings are: "Migrate", "Group Id", "Group Name", "User Count".

    Replaced By: `ServiceProviderServicePackMigrationTaskGetResponse14sp4()`

    Attributes:
        task_name (str): taskName
        start_timestamp (str): startTimestamp *Optional*
        max_duration_hours (int): maxDurationHours
        send_report_email (bool): sendReportEmail
        report_delivery_email_address (str): reportDeliveryEmailAddress *Optional*
        abort_on_error (bool): abortOnError
        abort_error_threshold (int): abortErrorThreshold *Optional*
        report_all_users (bool): reportAllUsers
        automatically_increment_service_quantity (bool):
            automaticallyIncrementServiceQuantity
        error_count (int): errorCount
        status (str): status
        groups_processed (int): groupsProcessed
        groups_total (int): groupsTotal
        users_processed (int): usersProcessed
        users_total (int): usersTotal
        user_selection_type (str): userSelectionType
        report_file_path_name (str): reportFilePathName
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
        user_selection_service_pack_name (List[str]): userSelectionServicePackName
            *Optional*
        user_selection_service_name (List[str]): userSelectionServiceName *Optional*
        remove_service_pack_name (List[str]): removeServicePackName *Optional*
        remove_service_name (List[str]): removeServiceName *Optional*
        assign_service_pack_name (List[str]): assignServicePackName *Optional*
        assign_service_name (List[str]): assignServiceName *Optional*
    """

    __slots__: List[str] = [
        "task_name",
        "start_timestamp",
        "max_duration_hours",
        "send_report_email",
        "report_delivery_email_address",
        "abort_on_error",
        "abort_error_threshold",
        "report_all_users",
        "automatically_increment_service_quantity",
        "error_count",
        "status",
        "groups_processed",
        "groups_total",
        "users_processed",
        "users_total",
        "user_selection_type",
        "report_file_path_name",
        "group_table",
        "user_selection_service_pack_name",
        "user_selection_service_name",
        "remove_service_pack_name",
        "remove_service_name",
        "assign_service_pack_name",
        "assign_service_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("task_name", "taskName", str, is_required=True),
            E("start_timestamp", "startTimestamp", str),
            E("max_duration_hours", "maxDurationHours", int, is_required=True),
            E("send_report_email", "sendReportEmail", bool, is_required=True),
            E("report_delivery_email_address", "reportDeliveryEmailAddress", str),
            E("abort_on_error", "abortOnError", bool, is_required=True),
            E("abort_error_threshold", "abortErrorThreshold", int),
            E("report_all_users", "reportAllUsers", bool, is_required=True),
            E(
                "automatically_increment_service_quantity",
                "automaticallyIncrementServiceQuantity",
                bool,
                is_required=True,
            ),
            E("error_count", "errorCount", int, is_required=True),
            E("status", "status", str, is_required=True),
            E("groups_processed", "groupsProcessed", int, is_required=True),
            E("groups_total", "groupsTotal", int, is_required=True),
            E("users_processed", "usersProcessed", int, is_required=True),
            E("users_total", "usersTotal", int, is_required=True),
            E("user_selection_type", "userSelectionType", str, is_required=True),
            E("report_file_path_name", "reportFilePathName", str, is_required=True),
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_selection_service_pack_name",
                "userSelectionServicePackName",
                str,
                is_array=True,
            ),
            E(
                "user_selection_service_name",
                "userSelectionServiceName",
                str,
                is_array=True,
            ),
            E("remove_service_pack_name", "removeServicePackName", str, is_array=True),
            E("remove_service_name", "removeServiceName", str, is_array=True),
            E("assign_service_pack_name", "assignServicePackName", str, is_array=True),
            E("assign_service_name", "assignServiceName", str, is_array=True),
        )


class ServiceProviderServicePackMigrationTaskGetResponse14sp4(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetRequest14sp4()`.

    The groupTable column headings are: "Group Id", "Group Name", "User Count".

    Replaced By: `ServiceProviderServicePackMigrationTaskGetResponse21()` in AS data mode

    Attributes:
        task_name (str): taskName
        start_timestamp (str): startTimestamp *Optional*
        max_duration_hours (int): maxDurationHours
        send_report_email (bool): sendReportEmail
        report_delivery_email_address (str): reportDeliveryEmailAddress *Optional*
        abort_on_error (bool): abortOnError
        abort_error_threshold (int): abortErrorThreshold *Optional*
        report_all_users (bool): reportAllUsers
        automatically_increment_service_quantity (bool):
            automaticallyIncrementServiceQuantity
        error_count (int): errorCount
        status (str): status
        groups_processed (int): groupsProcessed
        groups_total (int): groupsTotal
        users_processed (int): usersProcessed
        users_total (int): usersTotal
        user_selection_type (str): userSelectionType
        report_file_path_name (str): reportFilePathName
        migrate_all_groups (bool): migrateAllGroups *Optional*
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples *Optional*
        user_selection_service_pack_name (List[str]): userSelectionServicePackName
            *Optional*
        user_selection_service_name (List[str]): userSelectionServiceName *Optional*
        remove_service_pack_name (List[str]): removeServicePackName *Optional*
        remove_service_name (List[str]): removeServiceName *Optional*
        assign_service_pack_name (List[str]): assignServicePackName *Optional*
        assign_service_name (List[str]): assignServiceName *Optional*
    """

    __slots__: List[str] = [
        "task_name",
        "start_timestamp",
        "max_duration_hours",
        "send_report_email",
        "report_delivery_email_address",
        "abort_on_error",
        "abort_error_threshold",
        "report_all_users",
        "automatically_increment_service_quantity",
        "error_count",
        "status",
        "groups_processed",
        "groups_total",
        "users_processed",
        "users_total",
        "user_selection_type",
        "report_file_path_name",
        "migrate_all_groups",
        "group_table",
        "user_selection_service_pack_name",
        "user_selection_service_name",
        "remove_service_pack_name",
        "remove_service_name",
        "assign_service_pack_name",
        "assign_service_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("task_name", "taskName", str, is_required=True),
            E("start_timestamp", "startTimestamp", str),
            E("max_duration_hours", "maxDurationHours", int, is_required=True),
            E("send_report_email", "sendReportEmail", bool, is_required=True),
            E("report_delivery_email_address", "reportDeliveryEmailAddress", str),
            E("abort_on_error", "abortOnError", bool, is_required=True),
            E("abort_error_threshold", "abortErrorThreshold", int),
            E("report_all_users", "reportAllUsers", bool, is_required=True),
            E(
                "automatically_increment_service_quantity",
                "automaticallyIncrementServiceQuantity",
                bool,
                is_required=True,
            ),
            E("error_count", "errorCount", int, is_required=True),
            E("status", "status", str, is_required=True),
            E("groups_processed", "groupsProcessed", int, is_required=True),
            E("groups_total", "groupsTotal", int, is_required=True),
            E("users_processed", "usersProcessed", int, is_required=True),
            E("users_total", "usersTotal", int, is_required=True),
            E("user_selection_type", "userSelectionType", str, is_required=True),
            E("report_file_path_name", "reportFilePathName", str, is_required=True),
            E("migrate_all_groups", "migrateAllGroups", bool),
            E("group_table", "groupTable", list, is_complex=True, is_table=True),
            E(
                "user_selection_service_pack_name",
                "userSelectionServicePackName",
                str,
                is_array=True,
            ),
            E(
                "user_selection_service_name",
                "userSelectionServiceName",
                str,
                is_array=True,
            ),
            E("remove_service_pack_name", "removeServicePackName", str, is_array=True),
            E("remove_service_name", "removeServiceName", str, is_array=True),
            E("assign_service_pack_name", "assignServicePackName", str, is_array=True),
            E("assign_service_name", "assignServiceName", str, is_array=True),
        )


class ServiceProviderServicePackMigrationTaskGetResponse21(OCIResponse):
    """
    Response to `ServiceProviderServicePackMigrationTaskGetRequest21()`.

    The groupTable column headings are: "Group Id", "Group Name", and "User Count".

    Attributes:
        task_name (str): taskName
        start_timestamp (str): startTimestamp *Optional*
        actual_start_timestamp (str): actualStartTimestamp *Optional*
        expire_after_num_hours (int): expireAfterNumHours
        max_duration_hours (int): maxDurationHours
        send_report_email (bool): sendReportEmail
        report_delivery_email_address (str): reportDeliveryEmailAddress *Optional*
        abort_on_error (bool): abortOnError
        abort_error_threshold (int): abortErrorThreshold *Optional*
        report_all_users (bool): reportAllUsers
        automatically_increment_service_quantity (bool):
            automaticallyIncrementServiceQuantity
        error_count (int): errorCount
        status (str): status
        groups_processed (int): groupsProcessed
        groups_total (int): groupsTotal
        users_processed (int): usersProcessed
        users_total (int): usersTotal
        user_selection_type (str): userSelectionType
        report_file_path_name (str): reportFilePathName
        migrate_all_groups (bool): migrateAllGroups *Optional*
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples *Optional*
        user_selection_service_pack_name (List[str]): userSelectionServicePackName
            *Optional*
        user_selection_service_name (List[str]): userSelectionServiceName *Optional*
        remove_service_pack_name (List[str]): removeServicePackName *Optional*
        remove_service_name (List[str]): removeServiceName *Optional*
        assign_service_pack_name (List[str]): assignServicePackName *Optional*
        assign_service_name (List[str]): assignServiceName *Optional*
    """

    __slots__: List[str] = [
        "task_name",
        "start_timestamp",
        "actual_start_timestamp",
        "expire_after_num_hours",
        "max_duration_hours",
        "send_report_email",
        "report_delivery_email_address",
        "abort_on_error",
        "abort_error_threshold",
        "report_all_users",
        "automatically_increment_service_quantity",
        "error_count",
        "status",
        "groups_processed",
        "groups_total",
        "users_processed",
        "users_total",
        "user_selection_type",
        "report_file_path_name",
        "migrate_all_groups",
        "group_table",
        "user_selection_service_pack_name",
        "user_selection_service_name",
        "remove_service_pack_name",
        "remove_service_name",
        "assign_service_pack_name",
        "assign_service_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("task_name", "taskName", str, is_required=True),
            E("start_timestamp", "startTimestamp", str),
            E("actual_start_timestamp", "actualStartTimestamp", str),
            E("expire_after_num_hours", "expireAfterNumHours", int, is_required=True),
            E("max_duration_hours", "maxDurationHours", int, is_required=True),
            E("send_report_email", "sendReportEmail", bool, is_required=True),
            E("report_delivery_email_address", "reportDeliveryEmailAddress", str),
            E("abort_on_error", "abortOnError", bool, is_required=True),
            E("abort_error_threshold", "abortErrorThreshold", int),
            E("report_all_users", "reportAllUsers", bool, is_required=True),
            E(
                "automatically_increment_service_quantity",
                "automaticallyIncrementServiceQuantity",
                bool,
                is_required=True,
            ),
            E("error_count", "errorCount", int, is_required=True),
            E("status", "status", str, is_required=True),
            E("groups_processed", "groupsProcessed", int, is_required=True),
            E("groups_total", "groupsTotal", int, is_required=True),
            E("users_processed", "usersProcessed", int, is_required=True),
            E("users_total", "usersTotal", int, is_required=True),
            E("user_selection_type", "userSelectionType", str, is_required=True),
            E("report_file_path_name", "reportFilePathName", str, is_required=True),
            E("migrate_all_groups", "migrateAllGroups", bool),
            E("group_table", "groupTable", list, is_complex=True, is_table=True),
            E(
                "user_selection_service_pack_name",
                "userSelectionServicePackName",
                str,
                is_array=True,
            ),
            E(
                "user_selection_service_name",
                "userSelectionServiceName",
                str,
                is_array=True,
            ),
            E("remove_service_pack_name", "removeServicePackName", str, is_array=True),
            E("remove_service_name", "removeServiceName", str, is_array=True),
            E("assign_service_pack_name", "assignServicePackName", str, is_array=True),
            E("assign_service_name", "assignServiceName", str, is_array=True),
        )


class ServiceProviderServicePhoneNumberLookupResponse(OCIResponse):
    """
    Response to the `ServiceProviderServicePhoneNumberLookupRequest()`.

    The column headings for the userTable are: "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension" and
    "Department".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderSessionAdmissionControlGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderSessionAdmissionControlGetRequest()`.

    The response contains the session admission control capacity allocated for the service
    provider.

    Attributes:
        restrict_aggregate_sessions (bool): restrictAggregateSessions
        max_sessions (int): maxSessions *Optional*
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        count_intra_service_provider_sessions (bool): countIntraServiceProviderSessions
    """

    __slots__: List[str] = [
        "restrict_aggregate_sessions",
        "max_sessions",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "count_intra_service_provider_sessions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "restrict_aggregate_sessions",
                "restrictAggregateSessions",
                bool,
                is_required=True,
            ),
            E("max_sessions", "maxSessions", int),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E(
                "count_intra_service_provider_sessions",
                "countIntraServiceProviderSessions",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderSessionAdmissionControlWhiteListGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderSessionAdmissionControlWhiteListGetRequest()`.

    The response contains the White List information.

    Attributes:
        match_digit_pattern (List[str]): matchDigitPattern *Optional*
        enable_white_list (bool): enableWhiteList
    """

    __slots__: List[str] = [
        "match_digit_pattern",
        "enable_white_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("match_digit_pattern", "matchDigitPattern", str, is_array=True),
            E("enable_white_list", "enableWhiteList", bool, is_required=True),
        )


class ServiceProviderStirShakenGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderStirShakenGetRequest()`.


    Attributes:
        use_parent_level_settings (bool): useParentLevelSettings
        signing_policy (str): signingPolicy
        tagging_policy (str): taggingPolicy
        signing_service_url (str): signingServiceURL *Optional*
        tag_from_or_pai (str): tagFromOrPAI
        verstat_tag (str): verstatTag
        use_os_value_for_orig_id (bool): useOSValueForOrigId
        orig_uuid (str): origUUID *Optional*
        attestation_level (str): attestationLevel
        enable_verification (bool): enableVerification
        verification_service_url (str): verificationServiceURL *Optional*
        verification_error_handling (str): verificationErrorHandling
        proxy_verstat_to_cnam_subscribe (bool): proxyVerstatToCNAMSubscribe
        use_unknown_headers_from_cnam_notify (bool): useUnknownHeadersFromCNAMNotify
        enable_signing_for_unscreened_trunk_group_originations (bool):
            enableSigningForUnscreenedTrunkGroupOriginations
        enable_tagging_for_unscreened_trunk_group_originations (bool):
            enableTaggingForUnscreenedTrunkGroupOriginations
        unscreened_trunk_group_origination_attestation_level (str):
            unscreenedTrunkGroupOriginationAttestationLevel
    """

    __slots__: List[str] = [
        "use_parent_level_settings",
        "signing_policy",
        "tagging_policy",
        "signing_service_url",
        "tag_from_or_pai",
        "verstat_tag",
        "use_os_value_for_orig_id",
        "orig_uuid",
        "attestation_level",
        "enable_verification",
        "verification_service_url",
        "verification_error_handling",
        "proxy_verstat_to_cnam_subscribe",
        "use_unknown_headers_from_cnam_notify",
        "enable_signing_for_unscreened_trunk_group_originations",
        "enable_tagging_for_unscreened_trunk_group_originations",
        "unscreened_trunk_group_origination_attestation_level",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_parent_level_settings",
                "useParentLevelSettings",
                bool,
                is_required=True,
            ),
            E("signing_policy", "signingPolicy", str, is_required=True),
            E("tagging_policy", "taggingPolicy", str, is_required=True),
            E("signing_service_url", "signingServiceURL", str),
            E("tag_from_or_pai", "tagFromOrPAI", str, is_required=True),
            E("verstat_tag", "verstatTag", str, is_required=True),
            E(
                "use_os_value_for_orig_id",
                "useOSValueForOrigId",
                bool,
                is_required=True,
            ),
            E("orig_uuid", "origUUID", str),
            E("attestation_level", "attestationLevel", str, is_required=True),
            E("enable_verification", "enableVerification", bool, is_required=True),
            E("verification_service_url", "verificationServiceURL", str),
            E(
                "verification_error_handling",
                "verificationErrorHandling",
                str,
                is_required=True,
            ),
            E(
                "proxy_verstat_to_cnam_subscribe",
                "proxyVerstatToCNAMSubscribe",
                bool,
                is_required=True,
            ),
            E(
                "use_unknown_headers_from_cnam_notify",
                "useUnknownHeadersFromCNAMNotify",
                bool,
                is_required=True,
            ),
            E(
                "enable_signing_for_unscreened_trunk_group_originations",
                "enableSigningForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "enable_tagging_for_unscreened_trunk_group_originations",
                "enableTaggingForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_trunk_group_origination_attestation_level",
                "unscreenedTrunkGroupOriginationAttestationLevel",
                str,
                is_required=True,
            ),
        )


class ServiceProviderTemplateOnlyDeviceFileGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderTemplateOnlyDeviceFileGetListRequest()`.

    Contains a list of template files used to support a Visual Device Management device.

    Attributes:
        template_file_url (List[str]): templateFileUrl *Optional*
    """

    __slots__: List[str] = [
        "template_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("template_file_url", "templateFileUrl", str, is_array=True),)


class ServiceProviderThirdPartyEmergencyCallingGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderThirdPartyEmergencyCallingGetRequest()`.

    The response contains the third-party emergency call service settings for the service
    provider.

    Attributes:
        allow_activation (bool): allowActivation
        customer_id (str): customerId *Optional*
        has_group_enabled (bool): hasGroupEnabled
    """

    __slots__: List[str] = [
        "allow_activation",
        "customer_id",
        "has_group_enabled",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_activation", "allowActivation", bool, is_required=True),
            E("customer_id", "customerId", str),
            E("has_group_enabled", "hasGroupEnabled", bool, is_required=True),
        )


class ServiceProviderVoiceMessagingGroupGetPasscodeRulesResponse(OCIResponse):
    """
    Response to `ServiceProviderVoiceMessagingGroupGetPasscodeRulesRequest()`.

    Contains the service provider's voice portal passcode rules setting.

    Replaced By: `ServiceProviderPortalPasscodeRulesGetResponse()`

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class ServiceProviderVoiceMessagingGroupGetResponse(OCIResponse):
    """
    Response to `ServiceProviderVoiceMessagingGroupGetRequest()`.

    Contains the service provider's or enterprise's voice messaging settings.

    Attributes:
        delivery_from_address (str): deliveryFromAddress *Optional*
        notification_from_address (str): notificationFromAddress *Optional*
        voice_portal_lockout_from_address (str): voicePortalLockoutFromAddress *Optional*
        use_system_default_delivery_from_address (bool):
            useSystemDefaultDeliveryFromAddress
        use_system_default_notification_from_address (bool):
            useSystemDefaultNotificationFromAddress
        use_system_default_voice_portal_lockout_from_address (bool):
            useSystemDefaultVoicePortalLockoutFromAddress
    """

    __slots__: List[str] = [
        "delivery_from_address",
        "notification_from_address",
        "voice_portal_lockout_from_address",
        "use_system_default_delivery_from_address",
        "use_system_default_notification_from_address",
        "use_system_default_voice_portal_lockout_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("delivery_from_address", "deliveryFromAddress", str),
            E("notification_from_address", "notificationFromAddress", str),
            E(
                "voice_portal_lockout_from_address",
                "voicePortalLockoutFromAddress",
                str,
            ),
            E(
                "use_system_default_delivery_from_address",
                "useSystemDefaultDeliveryFromAddress",
                bool,
                is_required=True,
            ),
            E(
                "use_system_default_notification_from_address",
                "useSystemDefaultNotificationFromAddress",
                bool,
                is_required=True,
            ),
            E(
                "use_system_default_voice_portal_lockout_from_address",
                "useSystemDefaultVoicePortalLockoutFromAddress",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderVoiceMessagingGroupGetVoicePortalBrandingResponse(OCIResponse):
    """
    Response to the `ServiceProviderVoiceMessagingGroupGetVoicePortalBrandingRequest()`.

    Replaced By: `ServiceProviderVoiceMessagingGroupGetVoicePortalBrandingResponse16()`

    Attributes:
        voice_portal_greeting_selection (str): voicePortalGreetingSelection
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_messaging_greeting_selection (str): voiceMessagingGreetingSelection
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
    """

    __slots__: List[str] = [
        "voice_portal_greeting_selection",
        "voice_portal_greeting_file_description",
        "voice_messaging_greeting_selection",
        "voice_messaging_greeting_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_portal_greeting_selection",
                "voicePortalGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_selection",
                "voiceMessagingGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
        )


class ServiceProviderVoiceMessagingGroupGetVoicePortalBrandingResponse16(OCIResponse):
    """
    Response to the `ServiceProviderVoiceMessagingGroupGetVoicePortalBrandingRequest16()`.


    Attributes:
        voice_portal_greeting_selection (str): voicePortalGreetingSelection
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_portal_greeting_media_file_type (str): voicePortalGreetingMediaFileType
            *Optional*
        voice_messaging_greeting_selection (str): voiceMessagingGreetingSelection
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
        voice_messaging_greeting_media_file_type (str):
            voiceMessagingGreetingMediaFileType *Optional*
    """

    __slots__: List[str] = [
        "voice_portal_greeting_selection",
        "voice_portal_greeting_file_description",
        "voice_portal_greeting_media_file_type",
        "voice_messaging_greeting_selection",
        "voice_messaging_greeting_file_description",
        "voice_messaging_greeting_media_file_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_portal_greeting_selection",
                "voicePortalGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_portal_greeting_media_file_type",
                "voicePortalGreetingMediaFileType",
                str,
            ),
            E(
                "voice_messaging_greeting_selection",
                "voiceMessagingGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_media_file_type",
                "voiceMessagingGreetingMediaFileType",
                str,
            ),
        )


class ServiceProviderVoiceMessagingGroupGetVoicePortalResponse(OCIResponse):
    """
    Response to `ServiceProviderVoiceMessagingGroupGetVoicePortalRequest()`.


    Attributes:
        voice_portal_scope (str): voicePortalScope
    """

    __slots__: List[str] = [
        "voice_portal_scope",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("voice_portal_scope", "voicePortalScope", str, is_required=True),)


class ServiceProviderXsiPolicyProfileGetAssignedGroupListResponse(OCIResponse):
    """
    Response to `ServiceProviderXsiPolicyProfileGetAssignedGroupListRequest()`.

    Contains a table of group that have the group Xsi Policy Profile assigned.  The column
    headings are: "Group Id", "Group Name".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderXsiPolicyProfileGetAssignedListResponse(OCIResponse):
    """
    Response to `ServiceProviderXsiPolicyProfileGetAssignedListRequest()`.

    Contains a table of all Xsi Policy Profile assigned to.  The column headings are:
    "Name", "Level", "Description" and "Default".

    Attributes:
        assigned_table (List(assignedTable)): assignedTable - *Table* array of
            assignedTable named tuples
    """

    __slots__: List[str] = [
        "assigned_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "assigned_table",
                "assignedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderZoneCallingRestrictionsGetResponse(OCIResponse):
    """
    Response to `ServiceProviderZoneCallingRestrictionsGetRequest()`

    Attributes:
        enable_zone_calling_restrictions (bool): enableZoneCallingRestrictions
        enable_origination_roaming_restrictions (bool):
            enableOriginationRoamingRestrictions
        enable_emergency_origination_roaming_restrictions (bool):
            enableEmergencyOriginationRoamingRestrictions
        enable_termination_roaming_restrictions (bool):
            enableTerminationRoamingRestrictions
    """

    __slots__: List[str] = [
        "enable_zone_calling_restrictions",
        "enable_origination_roaming_restrictions",
        "enable_emergency_origination_roaming_restrictions",
        "enable_termination_roaming_restrictions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_zone_calling_restrictions",
                "enableZoneCallingRestrictions",
                bool,
                is_required=True,
            ),
            E(
                "enable_origination_roaming_restrictions",
                "enableOriginationRoamingRestrictions",
                bool,
                is_required=True,
            ),
            E(
                "enable_emergency_origination_roaming_restrictions",
                "enableEmergencyOriginationRoamingRestrictions",
                bool,
                is_required=True,
            ),
            E(
                "enable_termination_roaming_restrictions",
                "enableTerminationRoamingRestrictions",
                bool,
                is_required=True,
            ),
        )


class SystemASRParametersGetResponse(OCIResponse):
    """
    Response to `SystemASRParametersGetRequest()`.

    Contains a list of system Application Server Registration parameters.

    Replaced By: `SystemASRParametersGetResponse14sp5()`

    Attributes:
        max_transmissions (int): maxTransmissions
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        listening_port (int): listeningPort
    """

    __slots__: List[str] = [
        "max_transmissions",
        "retransmission_delay_milli_seconds",
        "listening_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("listening_port", "listeningPort", int, is_required=True),
        )


class SystemASRParametersGetResponse14sp5(OCIResponse):
    """
    Response to `SystemASRParametersGetRequest14sp5()`.

    Contains a list of system Application Server Registration parameters.

    Attributes:
        max_transmissions (int): maxTransmissions
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        listening_port (int): listeningPort
        source_address (str): sourceAddress *Optional*
    """

    __slots__: List[str] = [
        "max_transmissions",
        "retransmission_delay_milli_seconds",
        "listening_port",
        "source_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("listening_port", "listeningPort", int, is_required=True),
            E("source_address", "sourceAddress", str),
        )


class SystemASRParametersGetResponse14sp7(OCIResponse):
    """
    Response to `SystemASRParametersGetRequest14sp7()`.

    Contains a list of system Application Server Registration parameters.  Replaced by:
    `SystemASRParametersGetResponse23()` in AS data mode.

    Attributes:
        max_transmissions (int): maxTransmissions
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        listening_port (int): listeningPort
    """

    __slots__: List[str] = [
        "max_transmissions",
        "retransmission_delay_milli_seconds",
        "listening_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("listening_port", "listeningPort", int, is_required=True),
        )


class SystemASRParametersGetResponse23(OCIResponse):
    """
    Response to `SystemASRParametersGetRequest23()`.

    Contains a list of system Application Server Registration parameters.  The following
    elements are only used in AS data mode: enableCustomMessageControl, value "false" is
    returned in XS data mode customNumberOfUsersPerMessage, value "10" is returned in XS
    data mode customMessageIntervalMilliseconds, value "100000" is returned in XS data
    mode

    Attributes:
        max_transmissions (int): maxTransmissions
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        listening_port (int): listeningPort
        enable_custom_message_control (bool): enableCustomMessageControl
        custom_number_of_users_per_message (int): customNumberOfUsersPerMessage
        custom_message_interval_milliseconds (int): customMessageIntervalMilliseconds
    """

    __slots__: List[str] = [
        "max_transmissions",
        "retransmission_delay_milli_seconds",
        "listening_port",
        "enable_custom_message_control",
        "custom_number_of_users_per_message",
        "custom_message_interval_milliseconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("listening_port", "listeningPort", int, is_required=True),
            E(
                "enable_custom_message_control",
                "enableCustomMessageControl",
                bool,
                is_required=True,
            ),
            E(
                "custom_number_of_users_per_message",
                "customNumberOfUsersPerMessage",
                int,
                is_required=True,
            ),
            E(
                "custom_message_interval_milliseconds",
                "customMessageIntervalMilliseconds",
                int,
                is_required=True,
            ),
        )


class SystemAccessDeviceCustomTagGetListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceCustomTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Actual Tag Value". In XS data mode, the column headings are: "Tag Name",
    "Tag Value", "Is Encrypted", "Actual Tag Value".

    Attributes:
        device_custom_tags_table (List(deviceCustomTagsTable)): deviceCustomTagsTable -
            *Table* array of deviceCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_custom_tags_table",
                "deviceCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceDeviceActivationGetResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceDeviceActivationGetRequest()`.

    The response contains the activation code (if available), the expiry time (if
    available) and the activation state.  The expiryTime is represented as a timestamp,
    i.e.  the number of milliseconds since January 1, 1970, 00:00:00 GMT.

    Attributes:
        activation_code (str): activationCode *Optional*
        expiry_time (int): expiryTime *Optional*
        activation_state (str): activationState
    """

    __slots__: List[str] = [
        "activation_code",
        "expiry_time",
        "activation_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("activation_code", "activationCode", str),
            E("expiry_time", "expiryTime", int),
            E("activation_state", "activationState", str, is_required=True),
        )


class SystemAccessDeviceFileGetListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetListRequest()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Type", "File Format", "Is
    Authenticated".

    Replaced By: `SystemAccessDeviceFileGetListResponse14sp8()`

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceFileGetListResponse14sp8(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetListRequest14sp8()`.

    Contains a table of device files managed by the Device Management System on a per-
    device profile basis.  The column headings are: "File Format", "Is Authenticated",
    "Access URL", "Repository URL", "Template URL", "Extended Capture URL", "Is File
    Linked". The following column is only populated in AS data mode for leaf devices.  "Is
    File Linked"

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceFileGetResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetRequest()`.

    Replaced By: `SystemAccessDeviceFileGetResponse14sp8()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class SystemAccessDeviceFileGetResponse14sp8(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetRequest14sp8()`.

    Replaced by: `SystemAccessDeviceFileGetResponse16sp1()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
        )


class SystemAccessDeviceFileGetResponse16sp1(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetRequest16sp1()`.

    Replaced by: `SystemAccessDeviceFileGetResponse20()`

    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class SystemAccessDeviceFileGetResponse20(OCIResponse):
    """
    Response to `SystemAccessDeviceFileGetRequest20()`.


    Attributes:
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        extended_capture_enabled (bool): extendedCaptureEnabled *Optional*
        extended_capture_url (str): extendedCaptureURL *Optional*
    """

    __slots__: List[str] = [
        "file_source",
        "configuration_file_name",
        "access_url",
        "repository_url",
        "template_url",
        "extended_capture_enabled",
        "extended_capture_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("extended_capture_enabled", "extendedCaptureEnabled", bool),
            E("extended_capture_url", "extendedCaptureURL", str),
        )


class SystemAccessDeviceGetAllResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetAllRequest()`.

    Contains a table of devices configured in the entire system.  The column headings are:
    "Service Provider Id", "Is Enterprise", "Group Id", "Device Name", "Device Type", "Net
    Address", "MAC Address", "Status", "Reseller Id", "Access Device External Id". The
    following columns are only returned in AS data mode: "Reseller Id" "Access Device
    External Id"

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetAvailableCustomTagListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetAvailableCustomTagListRequest()`.

    Contains a table of all available custom tags managed by the Device Management System
    on a per-device profile basis.  In AS data mode, the column headings are: "Tag Name",
    "Tag Value", "Tag Level", "Tag Set Name", "Region Name". In XS data mode, the column
    headings are: "Tag Name", "Tag Value", "Tag Level", "Tag Set Name", "Is Encrypted".
    "Tag Level" can take the value: "System Default", "System", "Service Provider",
    "Group" or "Device Profile".

    Attributes:
        device_available_custom_tags_table (List(deviceAvailableCustomTagsTable)):
            deviceAvailableCustomTagsTable - *Table* array of
            deviceAvailableCustomTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_available_custom_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_available_custom_tags_table",
                "deviceAvailableCustomTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetListResponse14(OCIResponse):
    """
    Response to `SystemAccessDeviceGetListRequest14()`.

    Contains a table of devices defined at the System-level.  The column headings are:
    "Device Name", "Device Type", "Available Ports", "Net Address" and "MAC Address",
    "Status", "Version", and "Access Device External Id". The following columns are only
    returned in AS data mode: "Access Device External Id"

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetNativeTagsWithLogicListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetNativeTagsWithLogicListRequest()`.

    Contains a table of all native tags with logic managed by the Device Management System
    on a per-device profile basis.  The column headings are: "Tag Name", "Tag Value".

    Attributes:
        device_native_tags_with_logic_table (List(deviceNativeTagsWithLogicTable)):
            deviceNativeTagsWithLogicTable - *Table* array of
            deviceNativeTagsWithLogicTable named tuples
    """

    __slots__: List[str] = [
        "device_native_tags_with_logic_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_native_tags_with_logic_table",
                "deviceNativeTagsWithLogicTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetPagedSortedListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetPagedSortedListRequest()`.

    Contains a table of devices configured at system level.  The column headings are:
    "Device Name", "Device Type", "Available Ports", "Net Address", "MAC Address",
    "Status", "Version", and "Support Visual Device Management API". When CloudPBX is not
    licensed, the column "Support Visual Device Management API" values are not returned.

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetUserListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetUserListRequest()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "Service Provider Id", "Group Id", "User Id", "User Type",
    "Endpoint Type", "Primary Line/Port", "Order", "Extension", "Department", "Email
    Address", "Private Identity". If the identity/device profile is an identity, the table
    will contain a row for each TEL-URI in the Phone Number column.  If the
    identity/device profile is a real device, rows for the alternate numbers are not
    included.  The User Type column contains one of the enumerated UserType values.  The
    Endpoint Type column contains one of the enumerated EndpointType values.  The Private
    Identity column is empty is AS mode.  Replaced by:
    `SystemAccessDeviceGetUserListResponse21sp1()` in AS data mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceGetUserListResponse21sp1(OCIResponse):
    """
    Response to `SystemAccessDeviceGetUserListRequest21sp1()`.

    The column headings for the deviceUserTable are: "Line/Port", "Last Name", "First
    Name", "Phone Number", "Service Provider Id", "Group Id", "User Id", "User Type",
    "Endpoint Type", "Primary Line/Port", "Order", "Extension", "Department", "Email
    Address", "Private Identity". If the identity/device profile is an identity, the table
    will contain a row for each TEL-URI in the Phone Number column.  If the
    identity/device profile is a real device, rows for the alternate numbers are not
    included.  The User Type column contains one of the enumerated UserType values.  The
    Endpoint Type column contains one of the enumerated EndpointType21sp1 values.  The
    value Mobility in Endpoint Type column is only applicable in AS data mode.  The
    Private Identity column is empty is AS mode.

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceMonitorGetDeviceTypeListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceMonitorGetDeviceTypeListRequest()`.


    Attributes:
        device_type (List[str]): deviceType *Optional*
    """

    __slots__: List[str] = [
        "device_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("device_type", "deviceType", str, is_array=True),)


class SystemAccessDeviceMonitorParametersGetResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceMonitorParametersGetListRequest()`.

    Contains a list of system Access Device Monitor parameters.

    Attributes:
        polling_interval_minutes (int): pollingIntervalMinutes
    """

    __slots__: List[str] = [
        "polling_interval_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "polling_interval_minutes",
                "pollingIntervalMinutes",
                int,
                is_required=True,
            ),
        )


class SystemAccessDeviceTagSetGetResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceTagSetGetRequest()`.

    The response includes a tag set name defined in the access device.

    Attributes:
        tag_set_name (str): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str),)


class SystemAccessDeviceTypeGetEnhancedConfigurableListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceTypeGetEnhancedConfigurableListRequest()`.

    Contains a table with columns: "Access Device Type", "Enhanced Configuration Type",
    "Supports Reset". The "Enhanced Configuration Type" column contains one of the
    AccessDeviceEnhancedConfigurationType14 enumerated values.  The "Supports Reset"
    column is a boolean flag indicating the device can be remotely reset.

    Attributes:
        device_type_table (List(deviceTypeTable)): deviceTypeTable - *Table* array of
            deviceTypeTable named tuples
    """

    __slots__: List[str] = [
        "device_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_table",
                "deviceTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccessDeviceTypeGetListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceTypeGetListRequest()`.


    Attributes:
        device_type (List[str]): deviceType
    """

    __slots__: List[str] = [
        "device_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("device_type", "deviceType", str, is_required=True, is_array=True),)


class SystemAccountingGetChargingFunctionElementServerListResponse(OCIResponse):
    """
    Response to `SystemAccountingGetChargingFunctionElementServerListRequest()`.

    The accounting charging function element Server table column headings are: "Address",
    "Extended Net Address", "Type", "Description".

    Attributes:
        charging_function_element_server_table (List(chargingFunctionElementServerTable)):
            chargingFunctionElementServerTable - *Table* array of
            chargingFunctionElementServerTable named tuples
    """

    __slots__: List[str] = [
        "charging_function_element_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "charging_function_element_server_table",
                "chargingFunctionElementServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccountingGetRadiusServerListResponse(OCIResponse):
    """
    Response to `SystemAccountingGetRadiusServerListRequest()`.

    The Radius Server table column headings are: "Net Address", "Port", "Description"

    Attributes:
        radius_server_table (List(radiusServerTable)): radiusServerTable - *Table* array
            of radiusServerTable named tuples
    """

    __slots__: List[str] = [
        "radius_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "radius_server_table",
                "radiusServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAccountingInhibitedAttributeValuePairCodeGetListResponse(OCIResponse):
    """
    Response to `SystemAccountingInhibitedAttributeValuePairCodeGetListRequest()`.

    Contains a 2 column table with column headings "Attribute Value Pair Code" and "Vendor
    Id".

    Attributes:
        inhibited_attribute_value_pair_code_table
            (List(inhibitedAttributeValuePairCodeTable)):
            inhibitedAttributeValuePairCodeTable - *Table* array of
            inhibitedAttributeValuePairCodeTable named tuples
    """

    __slots__: List[str] = [
        "inhibited_attribute_value_pair_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "inhibited_attribute_value_pair_code_table",
                "inhibitedAttributeValuePairCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAdminGetListResponse(OCIResponse):
    """
    Response to `SystemAdminGetListRequest()`.

    Contains a 6 column table with column headings "Administrator ID", "Last Name", "First
    Name", "Type", "Read Only", "Language".

    Attributes:
        system_admin_table (List(systemAdminTable)): systemAdminTable - *Table* array of
            systemAdminTable named tuples
    """

    __slots__: List[str] = [
        "system_admin_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "system_admin_table",
                "systemAdminTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAdminGetResponse(OCIResponse):
    """
    Response to the `SystemAdminGetRequest()`.

    The response contains the system or provisioning administrators profile information.

    Attributes:
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
        admin_type (str): adminType
        read_only (bool): readOnly
    """

    __slots__: List[str] = [
        "first_name",
        "last_name",
        "language",
        "admin_type",
        "read_only",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
            E("admin_type", "adminType", str, is_required=True),
            E("read_only", "readOnly", bool, is_required=True),
        )


class SystemAdviceOfChargeCostInformationSourceGetListResponse(OCIResponse):
    """
    Response to `SystemAdviceOfChargeCostInformationSourceGetListRequest()`.

    Contains a table with column headings: "PeerIdentity", "Priority"

    Attributes:
        cost_information_source_table (List(costInformationSourceTable)):
            costInformationSourceTable - *Table* array of costInformationSourceTable named
            tuples
    """

    __slots__: List[str] = [
        "cost_information_source_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "cost_information_source_table",
                "costInformationSourceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAdviceOfChargeGetResponse(OCIResponse):
    """
    Response to `SystemAdviceOfChargeGetRequest()`.

    Contains a list of system Advice of Charge parameters.  Replaced by:
    `SystemAdviceOfChargeGetResponse19sp1()`

    Attributes:
        delay_between_notification_seconds (int): delayBetweenNotificationSeconds
        incoming_aoc_handling (str): incomingAocHandling
        cost_information_source (str): costInformationSource *Optional*
    """

    __slots__: List[str] = [
        "delay_between_notification_seconds",
        "incoming_aoc_handling",
        "cost_information_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "delay_between_notification_seconds",
                "delayBetweenNotificationSeconds",
                int,
                is_required=True,
            ),
            E("incoming_aoc_handling", "incomingAocHandling", str, is_required=True),
            E("cost_information_source", "costInformationSource", str),
        )


class SystemAdviceOfChargeGetResponse19sp1(OCIResponse):
    """
    Response to `SystemAdviceOfChargeGetRequest()`.

    Contains a list of system Advice of Charge parameters.

    Attributes:
        delay_between_notification_seconds (int): delayBetweenNotificationSeconds
        incoming_aoc_handling (str): incomingAocHandling
        use_ocs_enquiry (bool): useOCSEnquiry
        ocs_enquiry_type (str): OCSEnquiryType
    """

    __slots__: List[str] = [
        "delay_between_notification_seconds",
        "incoming_aoc_handling",
        "use_ocs_enquiry",
        "ocs_enquiry_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "delay_between_notification_seconds",
                "delayBetweenNotificationSeconds",
                int,
                is_required=True,
            ),
            E("incoming_aoc_handling", "incomingAocHandling", str, is_required=True),
            E("use_ocs_enquiry", "useOCSEnquiry", bool, is_required=True),
            E("ocs_enquiry_type", "OCSEnquiryType", str, is_required=True),
        )


class SystemAliasGetListResponse(OCIResponse):
    """
    Response to `SystemAliasGetListRequest()`.

    Contains the list of all network alias' for the Application Server.

    Attributes:
        alias_net_address (List[str]): aliasNetAddress *Optional*
    """

    __slots__: List[str] = [
        "alias_net_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("alias_net_address", "aliasNetAddress", str, is_array=True),)


class SystemAlternateUserIdGetListResponse(OCIResponse):
    """
    Response to `SystemAlternateUserIdGetListRequest()`.

    The "User Type" column contains the corresponding enumerated UserType value.  Contains
    a table of alternate user ids, the column headings are: "User Id", "Alternate User
    Id", "Group Id", "Organization Id", "Reseller Id" and "User Type". The following
    columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        alternate_user_id_table (List(alternateUserIdTable)): alternateUserIdTable -
            *Table* array of alternateUserIdTable named tuples
    """

    __slots__: List[str] = [
        "alternate_user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alternate_user_id_table",
                "alternateUserIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAnonymousCallRejectionGetResponse(OCIResponse):
    """
    Response to the `SystemAnonymousCallRejectionGetRequest()`.

    The response contains the anonymous call rejection system.".

    Attributes:
        pai_required (bool): paiRequired
        screen_only_local_calls (bool): screenOnlyLocalCalls
    """

    __slots__: List[str] = [
        "pai_required",
        "screen_only_local_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pai_required", "paiRequired", bool, is_required=True),
            E(
                "screen_only_local_calls",
                "screenOnlyLocalCalls",
                bool,
                is_required=True,
            ),
        )


class SystemApplicationControllerGetListResponse(OCIResponse):
    """
    Response to the `SystemApplicationControllerGetListRequest()`.

    Contains a table with column headings: "Name", "Subscriber Id", "Channel Set Id",
    "Status". The column values for "Status" can either be "ready" or "notReady".

    Attributes:
        application_controller_table (List(applicationControllerTable)):
            applicationControllerTable - *Table* array of applicationControllerTable named
            tuples
    """

    __slots__: List[str] = [
        "application_controller_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "application_controller_table",
                "applicationControllerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemAuthenticationLockoutSettingsGetResponse(OCIResponse):
    """
    Response to `SystemAuthenticationLockoutSettingsGetRequest()`.

    Contains the authentication lockout settings in the system.

    Attributes:
        counter_reset_interval_days (int): counterResetIntervalDays
        counter_reset_hour (int): counterResetHour
        counter_reset_minute (int): counterResetMinute
        emergency_sip_bypass_allowed (bool): emergencySIPBypassAllowed
    """

    __slots__: List[str] = [
        "counter_reset_interval_days",
        "counter_reset_hour",
        "counter_reset_minute",
        "emergency_sip_bypass_allowed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "counter_reset_interval_days",
                "counterResetIntervalDays",
                int,
                is_required=True,
            ),
            E("counter_reset_hour", "counterResetHour", int, is_required=True),
            E("counter_reset_minute", "counterResetMinute", int, is_required=True),
            E(
                "emergency_sip_bypass_allowed",
                "emergencySIPBypassAllowed",
                bool,
                is_required=True,
            ),
        )


class SystemAutomaticCallbackGetReleaseCauseListResponse(OCIResponse):
    """
    Response to `SystemAutomaticCallbackGetReleaseCauseListRequest()`.


    Attributes:
        release_cause (List[str]): releaseCause *Optional*
    """

    __slots__: List[str] = [
        "release_cause",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("release_cause", "releaseCause", str, is_array=True),)


class SystemAutomaticCallbackGetResponse(OCIResponse):
    """
    Response to `SystemAutomaticCallbackGetRequest()`.

    Replaced By: `SystemAutomaticCallbackGetResponse15()`

    Attributes:
        monitor_minutes (int): monitorMinutes
        wait_between_retry_originator_minutes (int): waitBetweenRetryOriginatorMinutes
        max_monitors_per_originator (int): maxMonitorsPerOriginator
        max_callback_rings (int): maxCallbackRings
        max_retry_originator_minutes (int): maxRetryOriginatorMinutes
    """

    __slots__: List[str] = [
        "monitor_minutes",
        "wait_between_retry_originator_minutes",
        "max_monitors_per_originator",
        "max_callback_rings",
        "max_retry_originator_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("monitor_minutes", "monitorMinutes", int, is_required=True),
            E(
                "wait_between_retry_originator_minutes",
                "waitBetweenRetryOriginatorMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_monitors_per_originator",
                "maxMonitorsPerOriginator",
                int,
                is_required=True,
            ),
            E("max_callback_rings", "maxCallbackRings", int, is_required=True),
            E(
                "max_retry_originator_minutes",
                "maxRetryOriginatorMinutes",
                int,
                is_required=True,
            ),
        )


class SystemAutomaticCallbackGetResponse15(OCIResponse):
    """
    Response to `SystemAutomaticCallbackGetRequest15()`.

    Replaced By: `SystemAutomaticCallbackGetResponse15sp2()`

    Attributes:
        monitor_minutes (int): monitorMinutes
        max_monitors_per_originator (int): maxMonitorsPerOriginator
        max_callback_rings (int): maxCallbackRings
        max_monitors_per_terminator (int): maxMonitorsPerTerminator
        terminator_idle_guard_seconds (int): terminatorIdleGuardSeconds
    """

    __slots__: List[str] = [
        "monitor_minutes",
        "max_monitors_per_originator",
        "max_callback_rings",
        "max_monitors_per_terminator",
        "terminator_idle_guard_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("monitor_minutes", "monitorMinutes", int, is_required=True),
            E(
                "max_monitors_per_originator",
                "maxMonitorsPerOriginator",
                int,
                is_required=True,
            ),
            E("max_callback_rings", "maxCallbackRings", int, is_required=True),
            E(
                "max_monitors_per_terminator",
                "maxMonitorsPerTerminator",
                int,
                is_required=True,
            ),
            E(
                "terminator_idle_guard_seconds",
                "terminatorIdleGuardSeconds",
                int,
                is_required=True,
            ),
        )


class SystemAutomaticCallbackGetResponse15sp2(OCIResponse):
    """
    Response to `SystemAutomaticCallbackGetRequest15sp2()`.


    Attributes:
        monitor_minutes (int): monitorMinutes
        max_monitors_per_originator (int): maxMonitorsPerOriginator
        max_callback_rings (int): maxCallbackRings
        max_monitors_per_terminator (int): maxMonitorsPerTerminator
        terminator_idle_guard_seconds (int): terminatorIdleGuardSeconds
        callback_method (str): callbackMethod
        polling_interval_seconds (int): pollingIntervalSeconds
    """

    __slots__: List[str] = [
        "monitor_minutes",
        "max_monitors_per_originator",
        "max_callback_rings",
        "max_monitors_per_terminator",
        "terminator_idle_guard_seconds",
        "callback_method",
        "polling_interval_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("monitor_minutes", "monitorMinutes", int, is_required=True),
            E(
                "max_monitors_per_originator",
                "maxMonitorsPerOriginator",
                int,
                is_required=True,
            ),
            E("max_callback_rings", "maxCallbackRings", int, is_required=True),
            E(
                "max_monitors_per_terminator",
                "maxMonitorsPerTerminator",
                int,
                is_required=True,
            ),
            E(
                "terminator_idle_guard_seconds",
                "terminatorIdleGuardSeconds",
                int,
                is_required=True,
            ),
            E("callback_method", "callbackMethod", str, is_required=True),
            E(
                "polling_interval_seconds",
                "pollingIntervalSeconds",
                int,
                is_required=True,
            ),
        )


class SystemAutomaticCallbackGetResponse17(OCIResponse):
    """
    Response to `SystemAutomaticCallbackGetRequest17()`.


    Attributes:
        monitor_minutes (int): monitorMinutes
        max_monitors_per_originator (int): maxMonitorsPerOriginator
        max_callback_rings (int): maxCallbackRings
        max_monitors_per_terminator (int): maxMonitorsPerTerminator
        terminator_idle_guard_seconds (int): terminatorIdleGuardSeconds
        callback_method (str): callbackMethod
        polling_interval_seconds (int): pollingIntervalSeconds
        activation_digit (int): activationDigit
    """

    __slots__: List[str] = [
        "monitor_minutes",
        "max_monitors_per_originator",
        "max_callback_rings",
        "max_monitors_per_terminator",
        "terminator_idle_guard_seconds",
        "callback_method",
        "polling_interval_seconds",
        "activation_digit",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("monitor_minutes", "monitorMinutes", int, is_required=True),
            E(
                "max_monitors_per_originator",
                "maxMonitorsPerOriginator",
                int,
                is_required=True,
            ),
            E("max_callback_rings", "maxCallbackRings", int, is_required=True),
            E(
                "max_monitors_per_terminator",
                "maxMonitorsPerTerminator",
                int,
                is_required=True,
            ),
            E(
                "terminator_idle_guard_seconds",
                "terminatorIdleGuardSeconds",
                int,
                is_required=True,
            ),
            E("callback_method", "callbackMethod", str, is_required=True),
            E(
                "polling_interval_seconds",
                "pollingIntervalSeconds",
                int,
                is_required=True,
            ),
            E("activation_digit", "activationDigit", int, is_required=True),
        )


class SystemAutomaticCollectCallGetResponse(OCIResponse):
    """
    Response to the `SystemAutomaticCollectCallGetRequest()`.

    Returns system Automatic Collect Call service settings.  Replaced by
    `SystemAutomaticCollectCallGetResponse22()` in AS mode.

    Attributes:
        enable_automatic_collect_call (bool): enableAutomaticCollectCall
        enable_connect_tone (bool): enableConnectTone
    """

    __slots__: List[str] = [
        "enable_automatic_collect_call",
        "enable_connect_tone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_automatic_collect_call",
                "enableAutomaticCollectCall",
                bool,
                is_required=True,
            ),
            E("enable_connect_tone", "enableConnectTone", bool, is_required=True),
        )


class SystemAutomaticCollectCallGetResponse22(OCIResponse):
    """
    Response to the `SystemAutomaticCollectCallGetRequest22()`.

    Returns system Automatic Collect Call service settings.

    Attributes:
        enable_automatic_collect_call (bool): enableAutomaticCollectCall
        enable_connect_tone (bool): enableConnectTone
        include_country_code_in_cic (bool): includeCountryCodeInCic
    """

    __slots__: List[str] = [
        "enable_automatic_collect_call",
        "enable_connect_tone",
        "include_country_code_in_cic",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_automatic_collect_call",
                "enableAutomaticCollectCall",
                bool,
                is_required=True,
            ),
            E("enable_connect_tone", "enableConnectTone", bool, is_required=True),
            E(
                "include_country_code_in_cic",
                "includeCountryCodeInCic",
                bool,
                is_required=True,
            ),
        )


class SystemAutomaticCollectCallPrefixDigitsGetListResponse(OCIResponse):
    """
    Response to the `SystemAutomaticCollectCallPrefixDigitsGetListRequest()`.

    Contains a table with column headings: "Country Code", "Prefix".

    Attributes:
        prefix_table (List(prefixTable)): prefixTable - *Table* array of prefixTable named
            tuples
    """

    __slots__: List[str] = [
        "prefix_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "prefix_table",
                "prefixTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBCCTGetOCIInterfaceAddressListResponse(OCIResponse):
    """
    Response to `SystemBCCTGetOCIInterfaceAddressListRequest()`.


    Attributes:
        interface_net_address (List[str]): interfaceNetAddress *Optional*
    """

    __slots__: List[str] = [
        "interface_net_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("interface_net_address", "interfaceNetAddress", str, is_array=True),)


class SystemBroadCloudGetResponse(OCIResponse):
    """
    Response to the `SystemBroadCloudGetRequest()`.

    The response contains the system interface attributes for Messaging Server/BroadCloud.

    Attributes:
        provisioning_url (str): provisioningUrl *Optional*
        provisioning_user_id (str): provisioningUserId *Optional*
        enable_synchronization (bool): enableSynchronization
    """

    __slots__: List[str] = [
        "provisioning_url",
        "provisioning_user_id",
        "enable_synchronization",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("provisioning_url", "provisioningUrl", str),
            E("provisioning_user_id", "provisioningUserId", str),
            E(
                "enable_synchronization",
                "enableSynchronization",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksAnywhereGetResponse(OCIResponse):
    """
    The response to a `SystemBroadWorksAnywhereGetRequest()`.


    Attributes:
        enable_transfer_notification (bool): enableTransferNotification
    """

    __slots__: List[str] = [
        "enable_transfer_notification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_transfer_notification",
                "enableTransferNotification",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksMobileManagerGetResponse(OCIResponse):
    """
    Response to the `SystemBroadWorksMobileManagerGetRequest()`

    Attributes:
        scf_api_net_address1 (str): scfApiNetAddress1 *Optional*
        scf_api_net_address2 (str): scfApiNetAddress2 *Optional*
        user_name (str): userName *Optional*
        email_from_address (str): emailFromAddress *Optional*
        scf_ims_only (bool): scfIMSOnly
        signaling_ip_address (str): signalingIPAddress *Optional*
        signaling_port (int): signalingPort *Optional*
    """

    __slots__: List[str] = [
        "scf_api_net_address1",
        "scf_api_net_address2",
        "user_name",
        "email_from_address",
        "scf_ims_only",
        "signaling_ip_address",
        "signaling_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("scf_api_net_address1", "scfApiNetAddress1", str),
            E("scf_api_net_address2", "scfApiNetAddress2", str),
            E("user_name", "userName", str),
            E("email_from_address", "emailFromAddress", str),
            E("scf_ims_only", "scfIMSOnly", bool, is_required=True),
            E("signaling_ip_address", "signalingIPAddress", str),
            E("signaling_port", "signalingPort", int),
        )


class SystemBroadWorksMobilityGeographicalPoolGetListResponse(OCIResponse):
    """
    Response to the `SystemBroadWorksMobilityGeographicalPoolGetListRequest()`.

    Contains a table with column headings: “Pool”, "Country Code", "Is Default",
    “Description”.

    Attributes:
        geographical_pool_table (List(geographicalPoolTable)): geographicalPoolTable -
            *Table* array of geographicalPoolTable named tuples
    """

    __slots__: List[str] = [
        "geographical_pool_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "geographical_pool_table",
                "geographicalPoolTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBroadWorksMobilityGeographicalPoolIMRNGetListResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityGeographicalPoolIMRNGetListRequest()`.


    Attributes:
        country_code (str): countryCode
        imrn_number (List[str]): imrnNumber *Optional*
    """

    __slots__: List[str] = [
        "country_code",
        "imrn_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("country_code", "countryCode", str, is_required=True),
            E("imrn_number", "imrnNumber", str, is_array=True),
        )


class SystemBroadWorksMobilityGeographicalPoolPrefixGetListResponse(OCIResponse):
    """
    Response to the `SystemBroadWorksMobilityGetGeographicalPoolPrefixListRequest()`.


    Attributes:
        country_code (str): countryCode
        prefix (List[str]): prefix *Optional*
    """

    __slots__: List[str] = [
        "country_code",
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("country_code", "countryCode", str, is_required=True),
            E("prefix", "prefix", str, is_array=True),
        )


class SystemBroadWorksMobilityGetIMRNListResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityDnGetListRequest()`.


    Attributes:
        imrn_number (List[str]): imrnNumber *Optional*
    """

    __slots__: List[str] = [
        "imrn_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("imrn_number", "imrnNumber", str, is_array=True),)


class SystemBroadWorksMobilityGetMobileNetworkIMRNListResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityGetMobileNetworkIMRNListRequest()`.


    Attributes:
        imrn_number (List[str]): imrnNumber *Optional*
    """

    __slots__: List[str] = [
        "imrn_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("imrn_number", "imrnNumber", str, is_array=True),)


class SystemBroadWorksMobilityGetResponse(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest()`.

    Replaced by: `SystemBroadWorksMobilityGetResponse17sp4()`.

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        scf_signaling_ip_address (str): scfSignalingIPAddress *Optional*
        scf_signaling_port (int): scfSignalingPort *Optional*
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "scf_signaling_ip_address",
        "scf_signaling_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E("scf_signaling_ip_address", "scfSignalingIPAddress", str),
            E("scf_signaling_port", "scfSignalingPort", int),
        )


class SystemBroadWorksMobilityGetResponse17sp4(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest17sp4()`.


    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        scf_signaling_net_address (str): scfSignalingNetAddress *Optional*
        scf_signaling_port (int): scfSignalingPort *Optional*
        refresh_period_seconds (int): refreshPeriodSeconds
        max_consecutive_failures (int): maxConsecutiveFailures
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "scf_signaling_net_address",
        "scf_signaling_port",
        "refresh_period_seconds",
        "max_consecutive_failures",
        "max_response_wait_time_milliseconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E("scf_signaling_net_address", "scfSignalingNetAddress", str),
            E("scf_signaling_port", "scfSignalingPort", int),
            E("refresh_period_seconds", "refreshPeriodSeconds", int, is_required=True),
            E(
                "max_consecutive_failures",
                "maxConsecutiveFailures",
                int,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse19sp1(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest19sp1()`.

    Replaced by `SystemBroadWorksMobilityGetResponse21()`

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        scf_signaling_net_address (str): scfSignalingNetAddress *Optional*
        scf_signaling_port (int): scfSignalingPort *Optional*
        refresh_period_seconds (int): refreshPeriodSeconds
        max_consecutive_failures (int): maxConsecutiveFailures
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
        enable_announcement_suppression (bool): enableAnnouncementSuppression
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "scf_signaling_net_address",
        "scf_signaling_port",
        "refresh_period_seconds",
        "max_consecutive_failures",
        "max_response_wait_time_milliseconds",
        "enable_announcement_suppression",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E("scf_signaling_net_address", "scfSignalingNetAddress", str),
            E("scf_signaling_port", "scfSignalingPort", int),
            E("refresh_period_seconds", "refreshPeriodSeconds", int, is_required=True),
            E(
                "max_consecutive_failures",
                "maxConsecutiveFailures",
                int,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse21(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest21()`.

    Replaced by: `SystemBroadWorksMobilityGetResponse22()` in AS data mode

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse21sp1(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest21sp1()`.

    Replaced by `SystemBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "enable_internal_clid_delivery_access_locations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse22(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest22()`.

    Replaced by `SystemBroadWorksMobilityGetResponse22V2()`.

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        include_redirect_for_mobility_termination (bool):
            includeRedirectForMobilityTermination
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "enable_internal_clid_delivery",
        "include_redirect_for_mobility_termination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "include_redirect_for_mobility_termination",
                "includeRedirectForMobilityTermination",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse22V2(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest22V2()`.

    Replaced by `SystemBroadWorksMobilityGetResponse22V3()`.

    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        include_redirect_for_mobility_termination (bool):
            includeRedirectForMobilityTermination
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "enable_internal_clid_delivery",
        "include_redirect_for_mobility_termination",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "include_redirect_for_mobility_termination",
                "includeRedirectForMobilityTermination",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
        )


class SystemBroadWorksMobilityGetResponse22V3(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityGetRequest22V3()`.


    Attributes:
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        imrn_timeout_millisecnds (int): imrnTimeoutMillisecnds
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        include_redirect_for_mobility_termination (bool):
            includeRedirectForMobilityTermination
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
        network_translation_index (str): networkTranslationIndex *Optional*
    """

    __slots__: List[str] = [
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "imrn_timeout_millisecnds",
        "enable_internal_clid_delivery",
        "include_redirect_for_mobility_termination",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
        "network_translation_index",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "imrn_timeout_millisecnds",
                "imrnTimeoutMillisecnds",
                int,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "include_redirect_for_mobility_termination",
                "includeRedirectForMobilityTermination",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
        )


class SystemBroadWorksMobilityMobileNetworkGetListResponse(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityMobileNetworkGetListRequest()`.

    Contains a table with column headings: "Name", "SCF Signaling Net Address", "SCF
    Signaling Port"

    Attributes:
        mobile_network_table (List(mobileNetworkTable)): mobileNetworkTable - *Table*
            array of mobileNetworkTable named tuples
    """

    __slots__: List[str] = [
        "mobile_network_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_network_table",
                "mobileNetworkTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBroadWorksMobilityMobileNetworkGetResponse(OCIResponse):
    """
    The response to a `SystemBroadWorksMobilityMobileNetworkGetRequest()`.


    Attributes:
        scf_signaling_net_address (str): scfSignalingNetAddress *Optional*
        scf_signaling_port (int): scfSignalingPort *Optional*
        refresh_period_seconds (int): refreshPeriodSeconds
        max_consecutive_failures (int): maxConsecutiveFailures
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        service_access_code_list_name (str): serviceAccessCodeListName *Optional*
    """

    __slots__: List[str] = [
        "scf_signaling_net_address",
        "scf_signaling_port",
        "refresh_period_seconds",
        "max_consecutive_failures",
        "max_response_wait_time_milliseconds",
        "enable_announcement_suppression",
        "service_access_code_list_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("scf_signaling_net_address", "scfSignalingNetAddress", str),
            E("scf_signaling_port", "scfSignalingPort", int),
            E("refresh_period_seconds", "refreshPeriodSeconds", int, is_required=True),
            E(
                "max_consecutive_failures",
                "maxConsecutiveFailures",
                int,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E("service_access_code_list_name", "serviceAccessCodeListName", str),
        )


class SystemBroadWorksMobilityMobileSubscriberDirectoryNumberGetSummaryListResponse(
    OCIResponse,
):
    """
    Response to
    `SystemBroadWorksMobilityMobileSubscriberDirectoryNumberGetSummaryListRequest()`.

    The response contains a table with columns: "Mobile Number", "Mobile Network",
    "Service Provider Id", "Is Enterprise", "Group Id", "User Id", "Last Name", "First
    Name", "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension" and
    "Reseller Id". The following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        mobile_subscriber_directory_numbers_summary_table
            (List(mobileSubscriberDirectoryNumbersSummaryTable)):
            mobileSubscriberDirectoryNumbersSummaryTable - *Table* array of
            mobileSubscriberDirectoryNumbersSummaryTable named tuples
    """

    __slots__: List[str] = [
        "mobile_subscriber_directory_numbers_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "mobile_subscriber_directory_numbers_summary_table",
                "mobileSubscriberDirectoryNumbersSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBroadWorksMobilityServiceAccessCodeGetListResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityServiceAccessCodeGetListRequest()`.

    Contains a table with column headings: "Country Code", "Service Access Code",
    "Description". Replaced by SystemBroadWorksMobilityServiceAccessCodeGetListReponse21.

    Attributes:
        service_access_code_table (List(serviceAccessCodeTable)): serviceAccessCodeTable -
            *Table* array of serviceAccessCodeTable named tuples
    """

    __slots__: List[str] = [
        "service_access_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_access_code_table",
                "serviceAccessCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBroadWorksMobilityServiceAccessCodeGetListResponse21(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityServiceAccessCodeGetListRequest21()`.

    Contains a table with column headings: "Country Code", "Service Access Code",
    "Description"

    Attributes:
        service_access_code_table (List(serviceAccessCodeTable)): serviceAccessCodeTable -
            *Table* array of serviceAccessCodeTable named tuples
    """

    __slots__: List[str] = [
        "service_access_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_access_code_table",
                "serviceAccessCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBroadWorksMobilityServiceAccessCodeListGetListResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityServiceAccessCodeListGetListRequest()`.


    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class SystemBroadWorksMobilityServiceAccessCodeListUsageGetResponse(OCIResponse):
    """
    Response to `SystemBroadWorksMobilityServiceAccessCodeListUsageGetRequest()`.


    Attributes:
        mobile_network_name (List[str]): mobileNetworkName *Optional*
    """

    __slots__: List[str] = [
        "mobile_network_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("mobile_network_name", "mobileNetworkName", str, is_array=True),)


class SystemBroadWorksReceptionistEnterpriseGetResponse(OCIResponse):
    """
    Response to `SystemBroadWorksReceptionistEnterpriseGetRequest()`.

    Contains a list of BroadWorks Receptionist - Enterprise parameters.

    Attributes:
        max_monitored_users (int): maxMonitoredUsers
    """

    __slots__: List[str] = [
        "max_monitored_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("max_monitored_users", "maxMonitoredUsers", int, is_required=True),)


class SystemBusyLampFieldGetResponse(OCIResponse):
    """
    Response to `SystemBusyLampFieldGetRequest()`.


    Attributes:
        display_local_user_identity_last_name_first (bool):
            displayLocalUserIdentityLastNameFirst
    """

    __slots__: List[str] = [
        "display_local_user_identity_last_name_first",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "display_local_user_identity_last_name_first",
                "displayLocalUserIdentityLastNameFirst",
                bool,
                is_required=True,
            ),
        )


class SystemBusyLampFieldGetResponse18(OCIResponse):
    """
    Response to `SystemBusyLampFieldGetRequest18()`.

    The following elements are only used in AS data mode: forceUseOfTCP Replaced by:
    `SystemBusyLampFieldGetResponse23()` in AS data mode.

    Attributes:
        display_local_user_identity_last_name_first (bool):
            displayLocalUserIdentityLastNameFirst
        force_use_of_tcp (bool): forceUseOfTCP
    """

    __slots__: List[str] = [
        "display_local_user_identity_last_name_first",
        "force_use_of_tcp",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "display_local_user_identity_last_name_first",
                "displayLocalUserIdentityLastNameFirst",
                bool,
                is_required=True,
            ),
            E("force_use_of_tcp", "forceUseOfTCP", bool, is_required=True),
        )


class SystemBusyLampFieldGetResponse22(OCIResponse):
    """
    Response to `SystemBusyLampFieldGetRequest22()`.

    The following elements are only used in AS data mode: forceUseOfTCP Replaced by:
    `SystemBusyLampFieldGetResponse23V2()` in AS data mode.

    Attributes:
        display_local_user_identity_last_name_first (bool):
            displayLocalUserIdentityLastNameFirst
        force_use_of_tcp (bool): forceUseOfTCP
    """

    __slots__: List[str] = [
        "display_local_user_identity_last_name_first",
        "force_use_of_tcp",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "display_local_user_identity_last_name_first",
                "displayLocalUserIdentityLastNameFirst",
                bool,
                is_required=True,
            ),
            E("force_use_of_tcp", "forceUseOfTCP", bool, is_required=True),
        )


class SystemBusyLampFieldGetResponse23(OCIResponse):
    """
    Response to `SystemBusyLampFieldGetRequest23()`.

    The following elements are only used in AS data mode: forceUseOfTCP enableRedundancy,
    value "false" is returned in XS data mode redundancyTaskDelayMilliseconds, value
    "10000" is returned in Amplify and XS data mode redundancyTaskIntervalMilliseconds,
    value of "1000" is returned in Amplify and XS data mode
    maxNumberOfSubscriptionsPerRedundancyTaskInterval, value of "50" is returned in
    Amplify and XS data mode Replaced by: `SystemBusyLampFieldGetResponse23V2()` in AS
    data mode.

    Attributes:
        display_local_user_identity_last_name_first (bool):
            displayLocalUserIdentityLastNameFirst
        force_use_of_tcp (bool): forceUseOfTCP
        enable_redundancy (bool): enableRedundancy
        redundancy_task_delay_milliseconds (int): redundancyTaskDelayMilliseconds
        redundancy_task_interval_milliseconds (int): redundancyTaskIntervalMilliseconds
        max_number_of_subscriptions_per_redundancy_task_interval (int):
            maxNumberOfSubscriptionsPerRedundancyTaskInterval
    """

    __slots__: List[str] = [
        "display_local_user_identity_last_name_first",
        "force_use_of_tcp",
        "enable_redundancy",
        "redundancy_task_delay_milliseconds",
        "redundancy_task_interval_milliseconds",
        "max_number_of_subscriptions_per_redundancy_task_interval",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "display_local_user_identity_last_name_first",
                "displayLocalUserIdentityLastNameFirst",
                bool,
                is_required=True,
            ),
            E("force_use_of_tcp", "forceUseOfTCP", bool, is_required=True),
            E("enable_redundancy", "enableRedundancy", bool, is_required=True),
            E(
                "redundancy_task_delay_milliseconds",
                "redundancyTaskDelayMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "redundancy_task_interval_milliseconds",
                "redundancyTaskIntervalMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "max_number_of_subscriptions_per_redundancy_task_interval",
                "maxNumberOfSubscriptionsPerRedundancyTaskInterval",
                int,
                is_required=True,
            ),
        )


class SystemBusyLampFieldGetResponse23V2(OCIResponse):
    """
    Response to `SystemBusyLampFieldGetRequest23V2()`.

    The following elements are only used in AS data mode: forceUseOfTCP enableRedundancy,
    value "false" is returned in XS data mode redundancyTaskDelayMilliseconds, value
    "10000" is returned in Amplify and XS data mode redundancyTaskIntervalMilliseconds,
    value of "1000" is returned in Amplify and XS data mode
    maxNumberOfSubscriptionsPerRedundancyTaskInterval, value of "50" is returned in
    Amplify and XS data mode ignoreUnansweredTerminatingCalls, value “false” is returned
    in XS data mode

    Attributes:
        display_local_user_identity_last_name_first (bool):
            displayLocalUserIdentityLastNameFirst
        force_use_of_tcp (bool): forceUseOfTCP
        enable_redundancy (bool): enableRedundancy
        redundancy_task_delay_milliseconds (int): redundancyTaskDelayMilliseconds
        redundancy_task_interval_milliseconds (int): redundancyTaskIntervalMilliseconds
        max_number_of_subscriptions_per_redundancy_task_interval (int):
            maxNumberOfSubscriptionsPerRedundancyTaskInterval
        ignore_unanswered_terminating_calls (bool): ignoreUnansweredTerminatingCalls
    """

    __slots__: List[str] = [
        "display_local_user_identity_last_name_first",
        "force_use_of_tcp",
        "enable_redundancy",
        "redundancy_task_delay_milliseconds",
        "redundancy_task_interval_milliseconds",
        "max_number_of_subscriptions_per_redundancy_task_interval",
        "ignore_unanswered_terminating_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "display_local_user_identity_last_name_first",
                "displayLocalUserIdentityLastNameFirst",
                bool,
                is_required=True,
            ),
            E("force_use_of_tcp", "forceUseOfTCP", bool, is_required=True),
            E("enable_redundancy", "enableRedundancy", bool, is_required=True),
            E(
                "redundancy_task_delay_milliseconds",
                "redundancyTaskDelayMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "redundancy_task_interval_milliseconds",
                "redundancyTaskIntervalMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "max_number_of_subscriptions_per_redundancy_task_interval",
                "maxNumberOfSubscriptionsPerRedundancyTaskInterval",
                int,
                is_required=True,
            ),
            E(
                "ignore_unanswered_terminating_calls",
                "ignoreUnansweredTerminatingCalls",
                bool,
                is_required=True,
            ),
        )


class SystemBwDiameterBaseDataGetResponse(OCIResponse):
    """
    Response to `SystemBwDiameterBaseDataGetRequest()`.

    Contains a list of System Diameter base parameters.

    Attributes:
        xs_realm (str): xsRealm *Optional*
        xs_listening_port (int): xsListeningPort
        ps_realm (str): psRealm *Optional*
        ps_listening_port (int): psListeningPort
        ps_relay_through_xs (bool): psRelayThroughXs
        xs_relay_listening_port (int): xsRelayListeningPort
        tc_timer_seconds (int): tcTimerSeconds
        tw_timer_seconds (int): twTimerSeconds
        request_timer_seconds (int): requestTimerSeconds
        busy_peer_detection_outstanding_txn_count (int):
            busyPeerDetectionOutstandingTxnCount
        busy_peer_restore_outstanding_txn_count (int): busyPeerRestoreOutstandingTxnCount
        dynamic_entry_inactivity_timer_hours (int): dynamicEntryInactivityTimerHours
    """

    __slots__: List[str] = [
        "xs_realm",
        "xs_listening_port",
        "ps_realm",
        "ps_listening_port",
        "ps_relay_through_xs",
        "xs_relay_listening_port",
        "tc_timer_seconds",
        "tw_timer_seconds",
        "request_timer_seconds",
        "busy_peer_detection_outstanding_txn_count",
        "busy_peer_restore_outstanding_txn_count",
        "dynamic_entry_inactivity_timer_hours",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("xs_realm", "xsRealm", str),
            E("xs_listening_port", "xsListeningPort", int, is_required=True),
            E("ps_realm", "psRealm", str),
            E("ps_listening_port", "psListeningPort", int, is_required=True),
            E("ps_relay_through_xs", "psRelayThroughXs", bool, is_required=True),
            E("xs_relay_listening_port", "xsRelayListeningPort", int, is_required=True),
            E("tc_timer_seconds", "tcTimerSeconds", int, is_required=True),
            E("tw_timer_seconds", "twTimerSeconds", int, is_required=True),
            E("request_timer_seconds", "requestTimerSeconds", int, is_required=True),
            E(
                "busy_peer_detection_outstanding_txn_count",
                "busyPeerDetectionOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "busy_peer_restore_outstanding_txn_count",
                "busyPeerRestoreOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "dynamic_entry_inactivity_timer_hours",
                "dynamicEntryInactivityTimerHours",
                int,
                is_required=True,
            ),
        )


class SystemBwDiameterBaseDataGetResponse17sp3(OCIResponse):
    """
    Response to `SystemBwDiameterBaseDataGetRequest17sp3()`.

    Contains a list of System Diameter base parameters.

    Attributes:
        xs_realm (str): xsRealm *Optional*
        xs_listening_port (int): xsListeningPort
        ps_realm (str): psRealm *Optional*
        ps_listening_port (int): psListeningPort
        ps_relay_through_xs (bool): psRelayThroughXs
        xs_relay_listening_port (int): xsRelayListeningPort
        tc_timer_seconds (int): tcTimerSeconds
        tw_timer_seconds (int): twTimerSeconds
        request_timer_seconds (int): requestTimerSeconds
        busy_peer_detection_outstanding_txn_count (int):
            busyPeerDetectionOutstandingTxnCount
        busy_peer_restore_outstanding_txn_count (int): busyPeerRestoreOutstandingTxnCount
        dynamic_entry_inactivity_timer_hours (int): dynamicEntryInactivityTimerHours
        advertised_offline_billing_application (str): advertisedOfflineBillingApplication
        advertised_online_billing_application (str): advertisedOnlineBillingApplication
    """

    __slots__: List[str] = [
        "xs_realm",
        "xs_listening_port",
        "ps_realm",
        "ps_listening_port",
        "ps_relay_through_xs",
        "xs_relay_listening_port",
        "tc_timer_seconds",
        "tw_timer_seconds",
        "request_timer_seconds",
        "busy_peer_detection_outstanding_txn_count",
        "busy_peer_restore_outstanding_txn_count",
        "dynamic_entry_inactivity_timer_hours",
        "advertised_offline_billing_application",
        "advertised_online_billing_application",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("xs_realm", "xsRealm", str),
            E("xs_listening_port", "xsListeningPort", int, is_required=True),
            E("ps_realm", "psRealm", str),
            E("ps_listening_port", "psListeningPort", int, is_required=True),
            E("ps_relay_through_xs", "psRelayThroughXs", bool, is_required=True),
            E("xs_relay_listening_port", "xsRelayListeningPort", int, is_required=True),
            E("tc_timer_seconds", "tcTimerSeconds", int, is_required=True),
            E("tw_timer_seconds", "twTimerSeconds", int, is_required=True),
            E("request_timer_seconds", "requestTimerSeconds", int, is_required=True),
            E(
                "busy_peer_detection_outstanding_txn_count",
                "busyPeerDetectionOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "busy_peer_restore_outstanding_txn_count",
                "busyPeerRestoreOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "dynamic_entry_inactivity_timer_hours",
                "dynamicEntryInactivityTimerHours",
                int,
                is_required=True,
            ),
            E(
                "advertised_offline_billing_application",
                "advertisedOfflineBillingApplication",
                str,
                is_required=True,
            ),
            E(
                "advertised_online_billing_application",
                "advertisedOnlineBillingApplication",
                str,
                is_required=True,
            ),
        )


class SystemBwDiameterBaseDataGetResponse22(OCIResponse):
    """
    Response to `SystemBwDiameterBaseDataGetRequest22()`.

    Contains a list of System Diameter base parameters.

    Attributes:
        xs_realm (str): xsRealm *Optional*
        xs_listening_port (int): xsListeningPort
        xs_listening_port_enabled (bool): xsListeningPortEnabled
        xs_listening_secure_port (int): xsListeningSecurePort
        xs_listening_secure_port_enabled (bool): xsListeningSecurePortEnabled
        ps_realm (str): psRealm *Optional*
        ps_listening_port (int): psListeningPort
        ps_listening_port_enabled (bool): psListeningPortEnabled
        ps_listening_secure_port (int): psListeningSecurePort
        ps_listening_secure_port_enabled (bool): psListeningSecurePortEnabled
        ps_relay_through_xs (bool): psRelayThroughXs
        xs_relay_listening_port (int): xsRelayListeningPort
        tc_timer_seconds (int): tcTimerSeconds
        tw_timer_seconds (int): twTimerSeconds
        request_timer_seconds (int): requestTimerSeconds
        busy_peer_detection_outstanding_txn_count (int):
            busyPeerDetectionOutstandingTxnCount
        busy_peer_restore_outstanding_txn_count (int): busyPeerRestoreOutstandingTxnCount
        dynamic_entry_inactivity_timer_hours (int): dynamicEntryInactivityTimerHours
        advertised_offline_billing_application (str): advertisedOfflineBillingApplication
        advertised_online_billing_application (str): advertisedOnlineBillingApplication
        peer_discovery_mode (str): peerDiscoveryMode
        default_port (int): defaultPort
        default_secure_port (int): defaultSecurePort
    """

    __slots__: List[str] = [
        "xs_realm",
        "xs_listening_port",
        "xs_listening_port_enabled",
        "xs_listening_secure_port",
        "xs_listening_secure_port_enabled",
        "ps_realm",
        "ps_listening_port",
        "ps_listening_port_enabled",
        "ps_listening_secure_port",
        "ps_listening_secure_port_enabled",
        "ps_relay_through_xs",
        "xs_relay_listening_port",
        "tc_timer_seconds",
        "tw_timer_seconds",
        "request_timer_seconds",
        "busy_peer_detection_outstanding_txn_count",
        "busy_peer_restore_outstanding_txn_count",
        "dynamic_entry_inactivity_timer_hours",
        "advertised_offline_billing_application",
        "advertised_online_billing_application",
        "peer_discovery_mode",
        "default_port",
        "default_secure_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("xs_realm", "xsRealm", str),
            E("xs_listening_port", "xsListeningPort", int, is_required=True),
            E(
                "xs_listening_port_enabled",
                "xsListeningPortEnabled",
                bool,
                is_required=True,
            ),
            E(
                "xs_listening_secure_port",
                "xsListeningSecurePort",
                int,
                is_required=True,
            ),
            E(
                "xs_listening_secure_port_enabled",
                "xsListeningSecurePortEnabled",
                bool,
                is_required=True,
            ),
            E("ps_realm", "psRealm", str),
            E("ps_listening_port", "psListeningPort", int, is_required=True),
            E(
                "ps_listening_port_enabled",
                "psListeningPortEnabled",
                bool,
                is_required=True,
            ),
            E(
                "ps_listening_secure_port",
                "psListeningSecurePort",
                int,
                is_required=True,
            ),
            E(
                "ps_listening_secure_port_enabled",
                "psListeningSecurePortEnabled",
                bool,
                is_required=True,
            ),
            E("ps_relay_through_xs", "psRelayThroughXs", bool, is_required=True),
            E("xs_relay_listening_port", "xsRelayListeningPort", int, is_required=True),
            E("tc_timer_seconds", "tcTimerSeconds", int, is_required=True),
            E("tw_timer_seconds", "twTimerSeconds", int, is_required=True),
            E("request_timer_seconds", "requestTimerSeconds", int, is_required=True),
            E(
                "busy_peer_detection_outstanding_txn_count",
                "busyPeerDetectionOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "busy_peer_restore_outstanding_txn_count",
                "busyPeerRestoreOutstandingTxnCount",
                int,
                is_required=True,
            ),
            E(
                "dynamic_entry_inactivity_timer_hours",
                "dynamicEntryInactivityTimerHours",
                int,
                is_required=True,
            ),
            E(
                "advertised_offline_billing_application",
                "advertisedOfflineBillingApplication",
                str,
                is_required=True,
            ),
            E(
                "advertised_online_billing_application",
                "advertisedOnlineBillingApplication",
                str,
                is_required=True,
            ),
            E("peer_discovery_mode", "peerDiscoveryMode", str, is_required=True),
            E("default_port", "defaultPort", int, is_required=True),
            E("default_secure_port", "defaultSecurePort", int, is_required=True),
        )


class SystemBwDiameterPeerGetListResponse(OCIResponse):
    """
    Contains a 6 column table with column headings 'Instance', 'Identity', 'IP Address',
    'Port', 'Enabled' and 'Secure'.

    One row is present for each peer.

    Attributes:
        peer_table (List(peerTable)): peerTable - *Table* array of peerTable named tuples
    """

    __slots__: List[str] = [
        "peer_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "peer_table",
                "peerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBwDiameterRoutingPeerGetListResponse(OCIResponse):
    """
    Contains a 6 column table with column headings 'Instance', 'Realm', 'ApplicationID',
    'Identity, 'Priority', and 'Weight'.

    One row is present for each Diameter Routing Peer.

    Attributes:
        routing_peer_table (List(routingPeerTable)): routingPeerTable - *Table* array of
            routingPeerTable named tuples
    """

    __slots__: List[str] = [
        "routing_peer_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "routing_peer_table",
                "routingPeerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemBwDiameterRoutingRealmGetListResponse(OCIResponse):
    """
    Contains a 4 column table with column headings 'Instance', 'Realm', 'ApplicationID',
    and 'Default'.

    One row is present for each Diameter routing realm.

    Attributes:
        routing_realm_table (List(routingRealmTable)): routingRealmTable - *Table* array
            of routingRealmTable named tuples
    """

    __slots__: List[str] = [
        "routing_realm_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "routing_realm_table",
                "routingRealmTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCLIDDeliveryPrefixGetListResponse(OCIResponse):
    """
    Response to `SystemCLIDDeliveryPrefixGetListRequest()`.


    Attributes:
        prefix (List[str]): prefix *Optional*
    """

    __slots__: List[str] = [
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("prefix", "prefix", str, is_array=True),)


class SystemCPEConfigGetFileServerListResponse(OCIResponse):
    """
    Response to `SystemCPEConfigGetFileServerListRequest()`.

    The table columns are: "Device Type", "FTP Host Net Address", "FTP User Id",
    "Directory" and "Passive FTP".

    Replaced By: `SystemCPEConfigGetFileServerListResponse14sp6()`

    Attributes:
        file_server_table (List(fileServerTable)): fileServerTable - *Table* array of
            fileServerTable named tuples
    """

    __slots__: List[str] = [
        "file_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_server_table",
                "fileServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCPEConfigGetFileServerListResponse14sp6(OCIResponse):
    """
    Response to `SystemCPEConfigGetFileServerListRequest14sp6()`.

    The table columns are: "Device Type", "File Repository Name", "Directory", "Extended
    File Repository Name".

    Attributes:
        file_server_table (List(fileServerTable)): fileServerTable - *Table* array of
            fileServerTable named tuples
    """

    __slots__: List[str] = [
        "file_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_server_table",
                "fileServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCPEConfigParametersGetResponse(OCIResponse):
    """
    Response to `SystemCPEConfigParametersGetListRequest()`.

    Contains a list of system CPE Config parameters.

    Replaced By: `SystemCPEConfigParametersGetResponse14sp6()`

    Attributes:
        enable_ip_device_management (bool): enableIPDeviceManagement
        ftp_connect_timeout_seconds (int): ftpConnectTimeoutSeconds
        ftp_file_transfer_timeout_seconds (int): ftpFileTransferTimeoutSeconds
    """

    __slots__: List[str] = [
        "enable_ip_device_management",
        "ftp_connect_timeout_seconds",
        "ftp_file_transfer_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_ip_device_management",
                "enableIPDeviceManagement",
                bool,
                is_required=True,
            ),
            E(
                "ftp_connect_timeout_seconds",
                "ftpConnectTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "ftp_file_transfer_timeout_seconds",
                "ftpFileTransferTimeoutSeconds",
                int,
                is_required=True,
            ),
        )


class SystemCPEConfigParametersGetResponse14sp6(OCIResponse):
    """
    Response to `SystemCPEConfigParametersGetListRequest14sp6()`.

    Contains a list of system CPE Config parameters.  Replaced by:
    `SystemCPEConfigParametersGetResponse20()`

    Attributes:
        enable_ip_device_management (bool): enableIPDeviceManagement
        ftp_connect_timeout_seconds (int): ftpConnectTimeoutSeconds
        ftp_file_transfer_timeout_seconds (int): ftpFileTransferTimeoutSeconds
        pause_between_file_rebuild_milliseconds (int): pauseBetweenFileRebuildMilliseconds
        max_busy_time_minutes (int): maxBusyTimeMinutes
        device_access_app_server_cluster_name (str): deviceAccessAppServerClusterName
            *Optional*
        file_rebuild_immediate (OCI.fileRebuildImmediate): fileRebuildImmediate *Optional*
        file_rebuild_daily (OCI.fileRebuildDaily): fileRebuildDaily *Optional*
        file_rebuild_hourly (OCI.fileRebuildHourly): fileRebuildHourly *Optional*
    """

    __slots__: List[str] = [
        "enable_ip_device_management",
        "ftp_connect_timeout_seconds",
        "ftp_file_transfer_timeout_seconds",
        "pause_between_file_rebuild_milliseconds",
        "max_busy_time_minutes",
        "device_access_app_server_cluster_name",
        "file_rebuild_immediate",
        "file_rebuild_daily",
        "file_rebuild_hourly",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_ip_device_management",
                "enableIPDeviceManagement",
                bool,
                is_required=True,
            ),
            E(
                "ftp_connect_timeout_seconds",
                "ftpConnectTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "ftp_file_transfer_timeout_seconds",
                "ftpFileTransferTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "pause_between_file_rebuild_milliseconds",
                "pauseBetweenFileRebuildMilliseconds",
                int,
                is_required=True,
            ),
            E("max_busy_time_minutes", "maxBusyTimeMinutes", int, is_required=True),
            E(
                "device_access_app_server_cluster_name",
                "deviceAccessAppServerClusterName",
                str,
            ),
            E(
                "file_rebuild_immediate",
                "fileRebuildImmediate",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "file_rebuild_daily",
                "fileRebuildDaily",
                str,
                is_complex=True,
            ),  # unknown
            E(
                "file_rebuild_hourly",
                "fileRebuildHourly",
                str,
                is_complex=True,
            ),  # unknown
        )


class SystemCPEConfigParametersGetResponse20(OCIResponse):
    """
    Response to `SystemCPEConfigParametersGetListRequest20()`.

    Contains a list of system CPE Config parameters.  Replaced by:
    `SystemCPEConfigParametersGetResponse21()`

    Attributes:
        enable_ip_device_management (bool): enableIPDeviceManagement
        ftp_connect_timeout_seconds (int): ftpConnectTimeoutSeconds
        ftp_file_transfer_timeout_seconds (int): ftpFileTransferTimeoutSeconds
        pause_between_file_rebuild_milliseconds (int): pauseBetweenFileRebuildMilliseconds
        max_busy_time_minutes (int): maxBusyTimeMinutes
        device_access_app_server_cluster_name (str): deviceAccessAppServerClusterName
            *Optional*
    """

    __slots__: List[str] = [
        "enable_ip_device_management",
        "ftp_connect_timeout_seconds",
        "ftp_file_transfer_timeout_seconds",
        "pause_between_file_rebuild_milliseconds",
        "max_busy_time_minutes",
        "device_access_app_server_cluster_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_ip_device_management",
                "enableIPDeviceManagement",
                bool,
                is_required=True,
            ),
            E(
                "ftp_connect_timeout_seconds",
                "ftpConnectTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "ftp_file_transfer_timeout_seconds",
                "ftpFileTransferTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "pause_between_file_rebuild_milliseconds",
                "pauseBetweenFileRebuildMilliseconds",
                int,
                is_required=True,
            ),
            E("max_busy_time_minutes", "maxBusyTimeMinutes", int, is_required=True),
            E(
                "device_access_app_server_cluster_name",
                "deviceAccessAppServerClusterName",
                str,
            ),
        )


class SystemCPEConfigParametersGetResponse21(OCIResponse):
    """
    Response to `SystemCPEConfigParametersGetRequest21()`.

    Contains a list of system CPE Config parameters.  The following elements are only used
    in AS data mode: allowDeviceCredentialsRetrieval, value "false" is returned in XS data
    mode

    Attributes:
        enable_ip_device_management (bool): enableIPDeviceManagement
        ftp_connect_timeout_seconds (int): ftpConnectTimeoutSeconds
        ftp_file_transfer_timeout_seconds (int): ftpFileTransferTimeoutSeconds
        pause_between_file_rebuild_milliseconds (int): pauseBetweenFileRebuildMilliseconds
        device_access_app_server_cluster_name (str): deviceAccessAppServerClusterName
            *Optional*
        min_time_between_reset_milliseconds (int): minTimeBetweenResetMilliseconds
        always_push_files_on_rebuild (bool): alwaysPushFilesOnRebuild
        max_file_operation_retry_attempts (int): maxFileOperationRetryAttempts
        enable_auto_rebuild_config (bool): enableAutoRebuildConfig
        event_queue_size (int): eventQueueSize
        allow_device_credentials_retrieval (bool): allowDeviceCredentialsRetrieval
    """

    __slots__: List[str] = [
        "enable_ip_device_management",
        "ftp_connect_timeout_seconds",
        "ftp_file_transfer_timeout_seconds",
        "pause_between_file_rebuild_milliseconds",
        "device_access_app_server_cluster_name",
        "min_time_between_reset_milliseconds",
        "always_push_files_on_rebuild",
        "max_file_operation_retry_attempts",
        "enable_auto_rebuild_config",
        "event_queue_size",
        "allow_device_credentials_retrieval",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_ip_device_management",
                "enableIPDeviceManagement",
                bool,
                is_required=True,
            ),
            E(
                "ftp_connect_timeout_seconds",
                "ftpConnectTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "ftp_file_transfer_timeout_seconds",
                "ftpFileTransferTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "pause_between_file_rebuild_milliseconds",
                "pauseBetweenFileRebuildMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "device_access_app_server_cluster_name",
                "deviceAccessAppServerClusterName",
                str,
            ),
            E(
                "min_time_between_reset_milliseconds",
                "minTimeBetweenResetMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "always_push_files_on_rebuild",
                "alwaysPushFilesOnRebuild",
                bool,
                is_required=True,
            ),
            E(
                "max_file_operation_retry_attempts",
                "maxFileOperationRetryAttempts",
                int,
                is_required=True,
            ),
            E(
                "enable_auto_rebuild_config",
                "enableAutoRebuildConfig",
                bool,
                is_required=True,
            ),
            E("event_queue_size", "eventQueueSize", int, is_required=True),
            E(
                "allow_device_credentials_retrieval",
                "allowDeviceCredentialsRetrieval",
                bool,
                is_required=True,
            ),
        )


class SystemCallCenterEnhancedReportingBrandingGetResponse(OCIResponse):
    """
    Response to the `SystemCallCenterEnhancedReportingBrandingGetRequest()`.


    Attributes:
        branding_choice (str): brandingChoice
        custom_branding_file_description (str): customBrandingFileDescription *Optional*
    """

    __slots__: List[str] = [
        "branding_choice",
        "custom_branding_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("branding_choice", "brandingChoice", str, is_required=True),
            E("custom_branding_file_description", "customBrandingFileDescription", str),
        )


class SystemCallCenterEnhancedReportingGetResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingGetRequest()`.


    Attributes:
        archive_reports (bool): archiveReports
        report_application_url (str): reportApplicationURL *Optional*
        repository_application_url (str): repositoryApplicationURL *Optional*
    """

    __slots__: List[str] = [
        "archive_reports",
        "report_application_url",
        "repository_application_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("archive_reports", "archiveReports", bool, is_required=True),
            E("report_application_url", "reportApplicationURL", str),
            E("repository_application_url", "repositoryApplicationURL", str),
        )


class SystemCallCenterEnhancedReportingReportTemplateGetListResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingReportTemplateGetListRequest()`.

    Contains a table with column headings: "Name", "Description", "Is Custom", "Type" and
    "Enabled"

    Attributes:
        report_template_table (List(reportTemplateTable)): reportTemplateTable - *Table*
            array of reportTemplateTable named tuples
    """

    __slots__: List[str] = [
        "report_template_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "report_template_table",
                "reportTemplateTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallCenterEnhancedReportingReportTemplateGetResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingReportTemplateGetRequest()`.


    Attributes:
        description (str): description *Optional*
        data_template (str): dataTemplate
        filter_number (int): filterNumber *Optional*
        xslt_template_description (str): xsltTemplateDescription
        scope (str): scope
        is_enabled (bool): isEnabled
        is_realtime_report (bool): isRealtimeReport *Optional*
        call_completion_threshold_param (str): callCompletionThresholdParam *Optional*
        short_duration_threshold_param (str): shortDurationThresholdParam *Optional*
        service_level_threshold_param (str): serviceLevelThresholdParam *Optional*
        service_level_inclusions_param (str): serviceLevelInclusionsParam *Optional*
        service_level_objective_threshold_param (str): serviceLevelObjectiveThresholdParam
            *Optional*
        abandoned_call_threshold_param (str): abandonedCallThresholdParam *Optional*
        service_level_threshold_param_number (int): serviceLevelThresholdParamNumber
            *Optional*
        abandoned_call_threshold_param_number (int): abandonedCallThresholdParamNumber
            *Optional*
        filter_value (List[str]): filterValue *Optional*
    """

    __slots__: List[str] = [
        "description",
        "data_template",
        "filter_number",
        "xslt_template_description",
        "scope",
        "is_enabled",
        "is_realtime_report",
        "call_completion_threshold_param",
        "short_duration_threshold_param",
        "service_level_threshold_param",
        "service_level_inclusions_param",
        "service_level_objective_threshold_param",
        "abandoned_call_threshold_param",
        "service_level_threshold_param_number",
        "abandoned_call_threshold_param_number",
        "filter_value",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("data_template", "dataTemplate", str, is_required=True),
            E("filter_number", "filterNumber", int),
            E(
                "xslt_template_description",
                "xsltTemplateDescription",
                str,
                is_required=True,
            ),
            E("scope", "scope", str, is_required=True),
            E("is_enabled", "isEnabled", bool, is_required=True),
            E("is_realtime_report", "isRealtimeReport", bool),
            E("call_completion_threshold_param", "callCompletionThresholdParam", str),
            E("short_duration_threshold_param", "shortDurationThresholdParam", str),
            E("service_level_threshold_param", "serviceLevelThresholdParam", str),
            E("service_level_inclusions_param", "serviceLevelInclusionsParam", str),
            E(
                "service_level_objective_threshold_param",
                "serviceLevelObjectiveThresholdParam",
                str,
            ),
            E("abandoned_call_threshold_param", "abandonedCallThresholdParam", str),
            E(
                "service_level_threshold_param_number",
                "serviceLevelThresholdParamNumber",
                int,
            ),
            E(
                "abandoned_call_threshold_param_number",
                "abandonedCallThresholdParamNumber",
                int,
            ),
            E("filter_value", "filterValue", str, is_array=True),
        )


class SystemCallCenterEnhancedReportingScheduledReportGetActiveListResponse(
    OCIResponse,
):
    """
    Response to `SystemCallCenterEnhancedReportingScheduledReportGetActiveListRequest()`
    Contains a table with column headings : "Scheduled Report Name", "Description",
    "Service Provider Id", "Is Enterprise", "Group Id", "Created By", "Is Supervisor
    Report", "Report Template Name", "Report Template Level" and "Recurring".

    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and
    "Yearly". The possible values for "Report Template Level" are "System", "Enterprise"
    and "Group". For the rows with "Is Enterprise" column value "true", the "Group Id"
    column will be empty.

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallCenterEnhancedReportingScheduledReportGetCompletedListResponse(
    OCIResponse,
):
    """
    Response to
    `SystemCallCenterEnhancedReportingScheduledReportGetCompletedListRequest()` Contains a
    table with column headings : "Scheduled Report Name", "Description", "Service Provider
    Id", "Is Enterprise", "Group Id", "Created By", "Is Supervisor Report", "Report
    Template Name", "Report Template Level" and "Recurring".

    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Recurring" are "None", "Daily", "Weekly", "Monthly" and
    "Yearly". The possible values for "Report Template Level" are "System", "Enterprise"
    and "Group". For the rows with "Is Enterprise" column value "true", the "Group Id"
    column will be empty.

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallCenterEnhancedReportingScheduledReportGetListResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingScheduledReportGetListRequest()`.

    Contains a table with column headings : "Scheduled Report Name", "Description",
    "Service Provider Id", "Is Enterprise", "Group Id", "Created By", "Is Supervisor
    Report", "Status", "Report Template Name", "Report Template Level" and "Recurring".
    The "Created By" can be either "Administrator" or user id if created by supervisor.
    The possible values for "Status" are "Active", and "Completed". The possible values
    for "Recurring" are "None", "Daily", "Weekly", "Monthly" and "Yearly". The possible
    values for "Report Template Level" are "System", "Enterprise" and "Group". For the
    rows with "Is Enterprise" column value "true", the "Group Id" column will be empty.

    Attributes:
        scheduled_report_table (List(scheduledReportTable)): scheduledReportTable -
            *Table* array of scheduledReportTable named tuples
    """

    __slots__: List[str] = [
        "scheduled_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_table",
                "scheduledReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListResponse(
    OCIResponse,
):
    """
    Response to
    `SystemCallCenterEnhancedReportingScheduledReportGetReportTemplateUsageListRequest()`.

    Contains a table with column headings: "Schedule Name", "Organization Type", "Service
    Provider Id", "Group Id", "Created By", "Created By Supervisor", and "Is Active". The
    "Organization Type" is either "Service Provider" or "Enterprise". The "Created By" can
    be either "Administrator" or user id if created by supervisor.  The possible values
    for "Created By Supervisor" are "true" and "false".

    Attributes:
        schedule_report_table (List(scheduleReportTable)): scheduleReportTable - *Table*
            array of scheduleReportTable named tuples
    """

    __slots__: List[str] = [
        "schedule_report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_report_table",
                "scheduleReportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallCenterEnhancedReportingScheduledTaskParametersGetResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingScheduledTaskParametersGetRequest()`
    Replaced by: `SystemCallCenterEnhancedReportingScheduledTaskParametersGetResponse22()`

    Attributes:
        scheduled_report_search_interval_minutes (int):
            scheduledReportSearchIntervalMinutes
        maximum_scheduled_reports_per_interval (int): maximumScheduledReportsPerInterval
        delete_scheduled_report_days_after_completion (int):
            deleteScheduledReportDaysAfterCompletion
    """

    __slots__: List[str] = [
        "scheduled_report_search_interval_minutes",
        "maximum_scheduled_reports_per_interval",
        "delete_scheduled_report_days_after_completion",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_search_interval_minutes",
                "scheduledReportSearchIntervalMinutes",
                int,
                is_required=True,
            ),
            E(
                "maximum_scheduled_reports_per_interval",
                "maximumScheduledReportsPerInterval",
                int,
                is_required=True,
            ),
            E(
                "delete_scheduled_report_days_after_completion",
                "deleteScheduledReportDaysAfterCompletion",
                int,
                is_required=True,
            ),
        )


class SystemCallCenterEnhancedReportingScheduledTaskParametersGetResponse22(
    OCIResponse,
):
    """
    Response to `SystemCallCenterEnhancedReportingScheduledTaskParametersGetRequest22()`
    The following elements are only used in AS data mode: callCenterEventMode, value
    “Legacy ECCR" is returned in Amplify data mode

    Attributes:
        scheduled_report_search_interval_minutes (int):
            scheduledReportSearchIntervalMinutes
        maximum_scheduled_reports_per_interval (int): maximumScheduledReportsPerInterval
        delete_scheduled_report_days_after_completion (int):
            deleteScheduledReportDaysAfterCompletion
        call_center_event_mode (str): callCenterEventMode
    """

    __slots__: List[str] = [
        "scheduled_report_search_interval_minutes",
        "maximum_scheduled_reports_per_interval",
        "delete_scheduled_report_days_after_completion",
        "call_center_event_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "scheduled_report_search_interval_minutes",
                "scheduledReportSearchIntervalMinutes",
                int,
                is_required=True,
            ),
            E(
                "maximum_scheduled_reports_per_interval",
                "maximumScheduledReportsPerInterval",
                int,
                is_required=True,
            ),
            E(
                "delete_scheduled_report_days_after_completion",
                "deleteScheduledReportDaysAfterCompletion",
                int,
                is_required=True,
            ),
            E("call_center_event_mode", "callCenterEventMode", str, is_required=True),
        )


class SystemCallCenterEventRecordingFileParametersGetResponse(OCIResponse):
    """
    Response to `SystemCallCenterEventRecordingFileParametersGetRequest()`.

    Contains a list of system Call Center Event Recording File parameters.

    Attributes:
        file_retention_time_days (int): fileRetentionTimeDays
        file_rotation_period_minutes (str): fileRotationPeriodMinutes
        file_rotation_offset_minutes (int): fileRotationOffsetMinutes
        remote_url (str): remoteUrl *Optional*
        remote_user_id (str): remoteUserId *Optional*
    """

    __slots__: List[str] = [
        "file_retention_time_days",
        "file_rotation_period_minutes",
        "file_rotation_offset_minutes",
        "remote_url",
        "remote_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_retention_time_days",
                "fileRetentionTimeDays",
                int,
                is_required=True,
            ),
            E(
                "file_rotation_period_minutes",
                "fileRotationPeriodMinutes",
                str,
                is_required=True,
            ),
            E(
                "file_rotation_offset_minutes",
                "fileRotationOffsetMinutes",
                int,
                is_required=True,
            ),
            E("remote_url", "remoteUrl", str),
            E("remote_user_id", "remoteUserId", str),
        )


class SystemCallCenterGetResponse(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest()`.

    Replaced By: `SystemCallCenterGetResponse14sp9()`

    Attributes:
        default_from_address (str): defaultFromAddress
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str, is_required=True),)


class SystemCallCenterGetResponse14sp9(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest14sp9()`.


    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
        )


class SystemCallCenterGetResponse16(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest16()`.


    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
        default_enable_guard_timer (bool): defaultEnableGuardTimer
        default_guard_timer_seconds (int): defaultGuardTimerSeconds
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
        "default_enable_guard_timer",
        "default_guard_timer_seconds",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "default_enable_guard_timer",
                "defaultEnableGuardTimer",
                bool,
                is_required=True,
            ),
            E(
                "default_guard_timer_seconds",
                "defaultGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
                is_required=True,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
                is_required=True,
            ),
        )


class SystemCallCenterGetResponse17(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest17()`.

    Replaced by `SystemCallCenterGetResponse17sp4()`.

    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
        default_enable_guard_timer (bool): defaultEnableGuardTimer
        default_guard_timer_seconds (int): defaultGuardTimerSeconds
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable
        default_play_ring_when_offer_call (bool): defaultPlayRingWhenOfferCall
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
        call_handling_sampling_period_minutes (int): callHandlingSamplingPeriodMinutes
        call_handling_minimum_sampling_size (int): callHandlingMinimumSamplingSize
        play_tone_to_agent_for_emergency_call (bool): playToneToAgentForEmergencyCall
        emergency_call_clid_prefix (str): emergencyCallCLIDPrefix
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
        "default_enable_guard_timer",
        "default_guard_timer_seconds",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "default_play_ring_when_offer_call",
        "uniform_call_distribution_policy_scope",
        "call_handling_sampling_period_minutes",
        "call_handling_minimum_sampling_size",
        "play_tone_to_agent_for_emergency_call",
        "emergency_call_clid_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "default_enable_guard_timer",
                "defaultEnableGuardTimer",
                bool,
                is_required=True,
            ),
            E(
                "default_guard_timer_seconds",
                "defaultGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
                is_required=True,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
                is_required=True,
            ),
            E(
                "default_play_ring_when_offer_call",
                "defaultPlayRingWhenOfferCall",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
            E(
                "call_handling_sampling_period_minutes",
                "callHandlingSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "call_handling_minimum_sampling_size",
                "callHandlingMinimumSamplingSize",
                int,
                is_required=True,
            ),
            E(
                "play_tone_to_agent_for_emergency_call",
                "playToneToAgentForEmergencyCall",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_clid_prefix",
                "emergencyCallCLIDPrefix",
                str,
                is_required=True,
            ),
        )


class SystemCallCenterGetResponse17sp4(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest17sp4()`.

    Replaced by: `SystemCallCenterGetResponse19()`.

    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
        default_enable_guard_timer (bool): defaultEnableGuardTimer
        default_guard_timer_seconds (int): defaultGuardTimerSeconds
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable
        default_play_ring_when_offer_call (bool): defaultPlayRingWhenOfferCall
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
        call_handling_sampling_period_minutes (int): callHandlingSamplingPeriodMinutes
        call_handling_minimum_sampling_size (int): callHandlingMinimumSamplingSize
        play_tone_to_agent_for_emergency_call (bool): playToneToAgentForEmergencyCall
        emergency_call_clid_prefix (str): emergencyCallCLIDPrefix
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
        "default_enable_guard_timer",
        "default_guard_timer_seconds",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "default_play_ring_when_offer_call",
        "uniform_call_distribution_policy_scope",
        "call_handling_sampling_period_minutes",
        "call_handling_minimum_sampling_size",
        "play_tone_to_agent_for_emergency_call",
        "emergency_call_clid_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "default_enable_guard_timer",
                "defaultEnableGuardTimer",
                bool,
                is_required=True,
            ),
            E(
                "default_guard_timer_seconds",
                "defaultGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
                is_required=True,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "default_play_ring_when_offer_call",
                "defaultPlayRingWhenOfferCall",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
            E(
                "call_handling_sampling_period_minutes",
                "callHandlingSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "call_handling_minimum_sampling_size",
                "callHandlingMinimumSamplingSize",
                int,
                is_required=True,
            ),
            E(
                "play_tone_to_agent_for_emergency_call",
                "playToneToAgentForEmergencyCall",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_clid_prefix",
                "emergencyCallCLIDPrefix",
                str,
                is_required=True,
            ),
        )


class SystemCallCenterGetResponse19(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest19()`.

    Replaced by `SystemCallCenterGetRequest21()`.

    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
        default_enable_guard_timer (bool): defaultEnableGuardTimer
        default_guard_timer_seconds (int): defaultGuardTimerSeconds
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable
        default_play_ring_when_offer_call (bool): defaultPlayRingWhenOfferCall
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
        call_handling_sampling_period_minutes (int): callHandlingSamplingPeriodMinutes
        call_handling_minimum_sampling_size (int): callHandlingMinimumSamplingSize
        play_tone_to_agent_for_emergency_call (bool): playToneToAgentForEmergencyCall
        emergency_call_clid_prefix (str): emergencyCallCLIDPrefix
        threshold_crossing_notification_email_guard_timer_seconds (int):
            thresholdCrossingNotificationEmailGuardTimerSeconds
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
        "default_enable_guard_timer",
        "default_guard_timer_seconds",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "default_play_ring_when_offer_call",
        "uniform_call_distribution_policy_scope",
        "call_handling_sampling_period_minutes",
        "call_handling_minimum_sampling_size",
        "play_tone_to_agent_for_emergency_call",
        "emergency_call_clid_prefix",
        "threshold_crossing_notification_email_guard_timer_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "default_enable_guard_timer",
                "defaultEnableGuardTimer",
                bool,
                is_required=True,
            ),
            E(
                "default_guard_timer_seconds",
                "defaultGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
                is_required=True,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "default_play_ring_when_offer_call",
                "defaultPlayRingWhenOfferCall",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
            E(
                "call_handling_sampling_period_minutes",
                "callHandlingSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "call_handling_minimum_sampling_size",
                "callHandlingMinimumSamplingSize",
                int,
                is_required=True,
            ),
            E(
                "play_tone_to_agent_for_emergency_call",
                "playToneToAgentForEmergencyCall",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_clid_prefix",
                "emergencyCallCLIDPrefix",
                str,
                is_required=True,
            ),
            E(
                "threshold_crossing_notification_email_guard_timer_seconds",
                "thresholdCrossingNotificationEmailGuardTimerSeconds",
                int,
                is_required=True,
            ),
        )


class SystemCallCenterGetResponse21(OCIResponse):
    """
    Response to `SystemCallCenterGetRequest21()`.

    The following elements are only used in AS data mode:
    callHandlingSamplingPeriodMinutes, value "15" is returned in Amplify data mode
    callHandlingMinimumSamplingSize, value "5" is returned in Amplify data mode
    thresholdCrossingNotificationEmailGuardTimerSeconds, value "5" is returned in Amplify
    mode

    Attributes:
        default_from_address (str): defaultFromAddress
        statistics_sampling_period_minutes (int): statisticsSamplingPeriodMinutes
        default_enable_guard_timer (bool): defaultEnableGuardTimer
        default_guard_timer_seconds (int): defaultGuardTimerSeconds
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable
        default_play_ring_when_offer_call (bool): defaultPlayRingWhenOfferCall
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
        call_handling_sampling_period_minutes (int): callHandlingSamplingPeriodMinutes
        call_handling_minimum_sampling_size (int): callHandlingMinimumSamplingSize
        play_tone_to_agent_for_emergency_call (bool): playToneToAgentForEmergencyCall
        emergency_call_clid_prefix (str): emergencyCallCLIDPrefix
        threshold_crossing_notification_email_guard_timer_seconds (int):
            thresholdCrossingNotificationEmailGuardTimerSeconds
        allow_agent_device_initiated_forward (bool): allowAgentDeviceInitiatedForward
    """

    __slots__: List[str] = [
        "default_from_address",
        "statistics_sampling_period_minutes",
        "default_enable_guard_timer",
        "default_guard_timer_seconds",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "default_play_ring_when_offer_call",
        "uniform_call_distribution_policy_scope",
        "call_handling_sampling_period_minutes",
        "call_handling_minimum_sampling_size",
        "play_tone_to_agent_for_emergency_call",
        "emergency_call_clid_prefix",
        "threshold_crossing_notification_email_guard_timer_seconds",
        "allow_agent_device_initiated_forward",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E(
                "statistics_sampling_period_minutes",
                "statisticsSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "default_enable_guard_timer",
                "defaultEnableGuardTimer",
                bool,
                is_required=True,
            ),
            E(
                "default_guard_timer_seconds",
                "defaultGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
                is_required=True,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
                is_required=True,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "default_play_ring_when_offer_call",
                "defaultPlayRingWhenOfferCall",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
            E(
                "call_handling_sampling_period_minutes",
                "callHandlingSamplingPeriodMinutes",
                int,
                is_required=True,
            ),
            E(
                "call_handling_minimum_sampling_size",
                "callHandlingMinimumSamplingSize",
                int,
                is_required=True,
            ),
            E(
                "play_tone_to_agent_for_emergency_call",
                "playToneToAgentForEmergencyCall",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_clid_prefix",
                "emergencyCallCLIDPrefix",
                str,
                is_required=True,
            ),
            E(
                "threshold_crossing_notification_email_guard_timer_seconds",
                "thresholdCrossingNotificationEmailGuardTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "allow_agent_device_initiated_forward",
                "allowAgentDeviceInitiatedForward",
                bool,
                is_required=True,
            ),
        )


class SystemCallCenterReportingServerGetListResponse(OCIResponse):
    """
    Response to `SystemCallCenterReportingServerGetListRequest()`.

    The table columns are: "Name", "URL", "Net Address", and "Description".

    Attributes:
        reporting_server_table (List(reportingServerTable)): reportingServerTable -
            *Table* array of reportingServerTable named tuples
    """

    __slots__: List[str] = [
        "reporting_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "reporting_server_table",
                "reportingServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallMeNowGetResponse(OCIResponse):
    """
    Response to `SystemCallMeNowGetRequest()`.


    Attributes:
        passcode_length (int): passcodeLength
        passcode_timeout_seconds (int): passcodeTimeoutSeconds
    """

    __slots__: List[str] = [
        "passcode_length",
        "passcode_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("passcode_length", "passcodeLength", int, is_required=True),
            E(
                "passcode_timeout_seconds",
                "passcodeTimeoutSeconds",
                int,
                is_required=True,
            ),
        )


class SystemCallNotifyGetResponse(OCIResponse):
    """
    Response to `SystemCallNotifyGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress
        use_short_subject_line (bool): useShortSubjectLine
        use_dn_in_mail_body (bool): useDnInMailBody
    """

    __slots__: List[str] = [
        "default_from_address",
        "use_short_subject_line",
        "use_dn_in_mail_body",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
        )


class SystemCallProcessingGetPolicyResponse14(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest14()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "conference_uri",
        "max_conference_parties",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
        )


class SystemCallProcessingGetPolicyResponse14sp1(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest14sp1()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse14sp4(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest14sp4()`.

    Replaced By : `SystemCallProcessingGetPolicyResponse15()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse14sp7(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest14sp7()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_external_calls_via_private_dialing_plan (bool):
            overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_external_calls_via_private_dialing_plan",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_external_calls_via_private_dialing_plan",
                "overrideCLIDRestrictionForExternalCallsViaPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse15(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest15()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse15sp2(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest15sp2()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse16(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest16()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest16sp2()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse17(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest17()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest17sp3()`.

    The following elements are only used in AS data mode: enableDialableCallerID Replaced
    by: `SystemCallProcessingGetPolicyResponse17sp4()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse17sp4(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest17sp4()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity

    Replaced By : `SystemCallProcessingGetPolicyResponse18sp1()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse18sp1(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest18sp1()`.

    The following elements are only used in AS data: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    Replaced by: `SystemCallProcessingGetPolicyResponse19sp1()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse19sp1(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest19sp1()`.

    The following elements are only used in AS data mode : enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    Replaced by: `SystemCallProcessingGetPolicyResponse21sp1()`

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse21sp1(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest21sp1()`.

    The following elements are only used in AS data mode : enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy value "Use Extension" is returned in XS data mode.
    enablePhoneListLookup value "false" is returned in XS data mode.  Replaced by:
    `SystemCallProcessingGetPolicyResponse21sp2()`.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse21sp2(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest21sp2()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy value "Use Location" is returned in XS data mode.
    enablePhoneListLookup value "false" is returned in XS data mode.  The following
    elements are only used in XS data mode and not returned in AS data mode:
    routeOverrideDomain routeOverridePrefix Replaced by:
    `SystemCallProcessingGetPolicyResponse22()` in AS data mode.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class SystemCallProcessingGetPolicyResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest22()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  delayTimerToRemoveCancelledCallsInSeconds, value "4" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `SystemCallProcessingGetPolicyResponse22V2()` in AS data mode.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        delay_timer_to_remove_cancelled_calls_in_seconds (int):
            delayTimerToRemoveCancelledCallsInSeconds
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "delay_timer_to_remove_cancelled_calls_in_seconds",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "delay_timer_to_remove_cancelled_calls_in_seconds",
                "delayTimerToRemoveCancelledCallsInSeconds",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class SystemCallProcessingGetPolicyResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest22V2()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  delayTimerToRemoveCancelledCallsInSeconds, value "4" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    not returned in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `SystemCallProcessingGetPolicyResponse23()` in AS data mode.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        delay_timer_to_remove_cancelled_calls_in_seconds (int):
            delayTimerToRemoveCancelledCallsInSeconds
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "delay_timer_to_remove_cancelled_calls_in_seconds",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "delay_timer_to_remove_cancelled_calls_in_seconds",
                "delayTimerToRemoveCancelledCallsInSeconds",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse22V3(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest22V3()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  delayTimerToRemoveCancelledCallsInSeconds, value "4" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  useMaxCallsPerSecond, value "false" is returned in XS data
    mode.  maxCallsPerSecond, value "1" is returned in XS data mode.  The following
    elements are only used in XS data mode and not returned in AS data mode:
    routeOverrideDomain routeOverridePrefix Replaced by:
    `SystemCallProcessingGetPolicyResponse23V2()` in AS data mode.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        delay_timer_to_remove_cancelled_calls_in_seconds (int):
            delayTimerToRemoveCancelledCallsInSeconds
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "delay_timer_to_remove_cancelled_calls_in_seconds",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "delay_timer_to_remove_cancelled_calls_in_seconds",
                "delayTimerToRemoveCancelledCallsInSeconds",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingGetPolicyResponse23(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest23()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  delayTimerToRemoveCancelledCallsInSeconds, value "4" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  conferenceDisableClampTones, value "false" is returned in
    XS data mode.  The following elements are only used in XS data mode and not returned
    in AS data mode: routeOverrideDomain routeOverridePrefix Replaced by:
    `SystemCallProcessingGetPolicyResponse23V2()` in AS data mode.

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        delay_timer_to_remove_cancelled_calls_in_seconds (int):
            delayTimerToRemoveCancelledCallsInSeconds
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        conference_disable_clamp_tones (bool): conferenceDisableClampTones
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "delay_timer_to_remove_cancelled_calls_in_seconds",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
        "conference_disable_clamp_tones",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "delay_timer_to_remove_cancelled_calls_in_seconds",
                "delayTimerToRemoveCancelledCallsInSeconds",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "conference_disable_clamp_tones",
                "conferenceDisableClampTones",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingGetPolicyResponse23V2(OCIResponse):
    """
    Response to `SystemCallProcessingGetPolicyRequest23V2()`.

    The following elements are only used in AS data mode: enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity enterpriseCallsCLIDPolicy, value "Use
    Location Code plus Extension" is returned in XS data mode.
    enterpriseGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    serviceProviderGroupCallsCLIDPolicy, value "Use Location" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.
    useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS data
    mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS data
    mode.  delayTimerToRemoveCancelledCallsInSeconds, value "4" is returned in XS data
    mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is returned
    in XS data mode.  useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable, value
    "false" is returned in XS data mode.
    useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity, value "false" is
    returned in XS data mode.  conferenceDisableClampTones, value "false" is returned in
    XS data mode.  useMaxCallsPerSecond, value "false" is returned in XS data mode.
    maxCallsPerSecond, value "1" is returned in XS data mode.  The following elements are
    only used in XS data mode and not returned in AS data mode: routeOverrideDomain
    routeOverridePrefix

    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        network_usage_selection (str): networkUsageSelection
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        delay_timer_to_remove_cancelled_calls_in_seconds (int):
            delayTimerToRemoveCancelledCallsInSeconds
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        conference_disable_clamp_tones (bool): conferenceDisableClampTones
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "network_usage_selection",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "enable_enterprise_extension_dialing",
        "conference_uri",
        "max_conference_parties",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "delay_timer_to_remove_cancelled_calls_in_seconds",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
        "conference_disable_clamp_tones",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "delay_timer_to_remove_cancelled_calls_in_seconds",
                "delayTimerToRemoveCancelledCallsInSeconds",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "conference_disable_clamp_tones",
                "conferenceDisableClampTones",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileAutoAttendantProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileAutoAttendantProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileAutoAttendantProfileGetRequest22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileAutoAttendantProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileAutoAttendantProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileAutoAttendantProfileGetResponse22V2()`
    in AS data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileAutoAttendantProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileAutoAttendantProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetResponse(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetRequest()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetResponse22(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetRequest22()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetResponse22V2()` in AS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetResponse22V2(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileBroadWorksAnywhereProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileCallCenterProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCallCenterProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileCallCenterProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileCallCenterProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCallCenterProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileCallCenterProfileGetResponse22V2()` in
    AS data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileCallCenterProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCallCenterProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileCollaborateProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCollaborateProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileCollaborateProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileCollaborateProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCollaborateProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileCollaborateProfileGetResponse22V2()` in
    AS data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileCollaborateProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileCollaborateProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetResponse22V2()`
    in AS data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetResponse22V2(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileFindMeFollowMeProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetResponse(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetRequest()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity *Optional*
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetResponse22(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetRequest22()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetResponse22V2()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity *Optional*
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetResponse22V2(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileFlexibleSeatingHostProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity *Optional*
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileGetAssignedNCOSListResponse(OCIResponse):
    """
    Response to the `SystemCallProcessingPolicyProfileGetAssignedNCOSListRequest()`.

    The response contains a table of all Network Classes of Service that contain the
    specific CAllP Policy Profile.  The column headings are "Name" and "Description".

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallProcessingPolicyProfileGetListResponse(OCIResponse):
    """
    Response to the `SystemCallProcessingPolicyProfileGetListRequest()`.

    The response contains a table of all Call Processing Policy Profiles in the system.
    The column headings are "Name" and "Description".

    Attributes:
        call_processing_policy_profiles_table (List(callProcessingPolicyProfilesTable)):
            callProcessingPolicyProfilesTable - *Table* array of
            callProcessingPolicyProfilesTable named tuples
    """

    __slots__: List[str] = [
        "call_processing_policy_profiles_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_processing_policy_profiles_table",
                "callProcessingPolicyProfilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallProcessingPolicyProfileGetResponse(OCIResponse):
    """
    Response to a `SystemCallProcessingPolicyProfileGetRequest()`.


    Attributes:
        description (str): description *Optional*
        assigned_subscriber_type (List[str]): assignedSubscriberType *Optional*
    """

    __slots__: List[str] = [
        "description",
        "assigned_subscriber_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("assigned_subscriber_type", "assignedSubscriberType", str, is_array=True),
        )


class SystemCallProcessingPolicyProfileGetResponse20(OCIResponse):
    """
    Response to a `SystemCallProcessingPolicyProfileGetRequest20()`.


    Attributes:
        description (str): description *Optional*
        assigned_subscriber_type (List[str]): assignedSubscriberType *Optional*
    """

    __slots__: List[str] = [
        "description",
        "assigned_subscriber_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("assigned_subscriber_type", "assignedSubscriberType", str, is_array=True),
        )


class SystemCallProcessingPolicyProfileGetResponse21(OCIResponse):
    """
    Response to a `SystemCallProcessingPolicyProfileGetRequest21()`.


    Attributes:
        description (str): description *Optional*
        assigned_subscriber_type (List[str]): assignedSubscriberType *Optional*
    """

    __slots__: List[str] = [
        "description",
        "assigned_subscriber_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("assigned_subscriber_type", "assignedSubscriberType", str, is_array=True),
        )


class SystemCallProcessingPolicyProfileGroupPagingProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileGroupPagingProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileGroupPagingProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileGroupPagingProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileGroupPagingProfileGetRequest22()`.


    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileHuntGroupProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileHuntGroupProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileHuntGroupProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileHuntGroupProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileHuntGroupProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileHuntGroupProfileGetResponse22V2()`.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileHuntGroupProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileHuntGroupProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileInstantGroupCallProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileInstantGroupCallProfileGetRequest22()`.

    `SystemCallProcessingPolicyProfileInstantGroupCallProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileInstantGroupCallProfileGetResponse22(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileInstantGroupCallProfileGetRequest22()`.


    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetResponse(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetRequest()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetResponse22(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetRequest22()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetResponse22V2()`.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetResponse22V2(
    OCIResponse,
):
    """
    Response to
    `SystemCallProcessingPolicyProfileMeetMeConferencingProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileRoutePointProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileRoutePointProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileRoutePointProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileRoutePointProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileRoutePointProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileRoutePointProfileGetResponse22V2()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileRoutePointProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileRoutePointProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetRequest22()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22V2()` in AS data
    mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22V2(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetRequest22V2()`.

    Replaced by:
    `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22V3()` in AS data
    mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetResponse22V3(
    OCIResponse,
):
    """
    Response to `SystemCallProcessingPolicyProfileTrunkGroupPilotProfileGetRequest22V3()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "allow_mobile_dn_for_redirecting_identity",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileUserProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileUserProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileUserProfileGetResponse21sp1()` in AS
    data mode

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileUserProfileGetResponse21sp1(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileUserProfileGetRequest21sp1()`.

    Replaced by: `SystemCallProcessingPolicyProfileUserProfileGetResponse22()` in AS data
    mode

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_phone_list_lookup_policy (bool): usePhoneListLookupPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_phone_list_lookup_policy",
        "enable_phone_list_lookup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_phone_list_lookup_policy",
                "usePhoneListLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileUserProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileUserProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileUserProfileGetResponse22V2()` in AS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_phone_list_lookup_policy (bool): usePhoneListLookupPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_phone_list_lookup_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_phone_list_lookup_policy",
                "usePhoneListLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileUserProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileUserProfileGetRequest22V2()`.

    Replaced by: `SystemCallProcessingPolicyProfileUserProfileGetRequest22V2()` in AS data
    mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_phone_list_lookup_policy (bool): usePhoneListLookupPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_phone_list_lookup_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_phone_list_lookup_policy",
                "usePhoneListLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileUserProfileGetResponse22V3(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileUserProfileGetRequest22V3()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_media_policy (bool): useMediaPolicy
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        use_phone_list_lookup_policy (bool): usePhoneListLookupPolicy
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_media_policy",
        "media_policy_selection",
        "supported_media_set_name",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "use_phone_list_lookup_policy",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "allow_mobile_dn_for_redirecting_identity",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_media_policy", "useMediaPolicy", bool, is_required=True),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "use_phone_list_lookup_policy",
                "usePhoneListLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallProcessingPolicyProfileVoicePortalProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoicePortalProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileVoicePortalProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileVoicePortalProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoicePortalProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileVoicePortalProfileGetResponse22V2()`.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileVoicePortalProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoicePortalProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond *Optional*
        max_calls_per_second (int): maxCallsPerSecond *Optional*
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E("use_max_calls_per_second", "useMaxCallsPerSecond", bool),
            E("max_calls_per_second", "maxCallsPerSecond", int),
        )


class SystemCallProcessingPolicyProfileVoiceXMLProfileGetResponse(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoiceXMLProfileGetRequest()`.

    Replaced by: `SystemCallProcessingPolicyProfileVoiceXMLProfileGetResponse22()`

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileVoiceXMLProfileGetResponse22(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoiceXMLProfileGetRequest22()`.

    Replaced by: `SystemCallProcessingPolicyProfileVoiceXMLProfileGetResponse22V2()`.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
        )


class SystemCallProcessingPolicyProfileVoiceXMLProfileGetResponse22V2(OCIResponse):
    """
    Response to `SystemCallProcessingPolicyProfileVoiceXMLProfileGetRequest22V2()`.

    The following elements are only used in AS data mode: useMaxCallsPerSecond, value
    "false" is returned in XS data mode.  maxCallsPerSecond, value "1" is returned in XS
    data mode.

    Attributes:
        use_clid_policy (bool): useCLIDPolicy
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        enterprise_calls_clid_policy (str): enterpriseCallsCLIDPolicy
        enterprise_group_calls_clid_policy (str): enterpriseGroupCallsCLIDPolicy
        service_provider_group_calls_clid_policy (str):
            serviceProviderGroupCallsCLIDPolicy
        use_call_limits_policy (bool): useCallLimitsPolicy
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        max_redirection_depth (int): maxRedirectionDepth
        use_translation_routing_policy (bool): useTranslationRoutingPolicy
        network_usage_selection (str): networkUsageSelection
        enable_enterprise_extension_dialing (bool): enableEnterpriseExtensionDialing
        enforce_group_calling_line_identity_restriction (bool):
            enforceGroupCallingLineIdentityRestriction
        enforce_enterprise_calling_line_identity_restriction (bool):
            enforceEnterpriseCallingLineIdentityRestriction
        allow_enterprise_group_call_typing_for_private_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPrivateDialingPlan
        allow_enterprise_group_call_typing_for_public_dialing_plan (bool):
            allowEnterpriseGroupCallTypingForPublicDialingPlan
        override_clid_restriction_for_private_call_category (bool):
            overrideCLIDRestrictionForPrivateCallCategory
        use_enterprise_clid_for_private_call_category (bool):
            useEnterpriseCLIDForPrivateCallCategory
        use_incoming_clid_policy (bool): useIncomingCLIDPolicy
        enable_dialable_caller_id (bool): enableDialableCallerID
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        use_user_phone_number_for_group_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable
        use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable (bool):
            useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable
        use_max_calls_per_second (bool): useMaxCallsPerSecond
        max_calls_per_second (int): maxCallsPerSecond
    """

    __slots__: List[str] = [
        "use_clid_policy",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "enterprise_calls_clid_policy",
        "enterprise_group_calls_clid_policy",
        "service_provider_group_calls_clid_policy",
        "use_call_limits_policy",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "max_redirection_depth",
        "use_translation_routing_policy",
        "network_usage_selection",
        "enable_enterprise_extension_dialing",
        "enforce_group_calling_line_identity_restriction",
        "enforce_enterprise_calling_line_identity_restriction",
        "allow_enterprise_group_call_typing_for_private_dialing_plan",
        "allow_enterprise_group_call_typing_for_public_dialing_plan",
        "override_clid_restriction_for_private_call_category",
        "use_enterprise_clid_for_private_call_category",
        "use_incoming_clid_policy",
        "enable_dialable_caller_id",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
        "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
        "use_max_calls_per_second",
        "max_calls_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_clid_policy", "useCLIDPolicy", bool, is_required=True),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "enterprise_calls_clid_policy",
                "enterpriseCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "enterprise_group_calls_clid_policy",
                "enterpriseGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E(
                "service_provider_group_calls_clid_policy",
                "serviceProviderGroupCallsCLIDPolicy",
                str,
                is_required=True,
            ),
            E("use_call_limits_policy", "useCallLimitsPolicy", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_translation_routing_policy",
                "useTranslationRoutingPolicy",
                bool,
                is_required=True,
            ),
            E(
                "network_usage_selection",
                "networkUsageSelection",
                str,
                is_required=True,
            ),
            E(
                "enable_enterprise_extension_dialing",
                "enableEnterpriseExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "enforce_group_calling_line_identity_restriction",
                "enforceGroupCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "enforce_enterprise_calling_line_identity_restriction",
                "enforceEnterpriseCallingLineIdentityRestriction",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_private_dialing_plan",
                "allowEnterpriseGroupCallTypingForPrivateDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "allow_enterprise_group_call_typing_for_public_dialing_plan",
                "allowEnterpriseGroupCallTypingForPublicDialingPlan",
                bool,
                is_required=True,
            ),
            E(
                "override_clid_restriction_for_private_call_category",
                "overrideCLIDRestrictionForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_enterprise_clid_for_private_call_category",
                "useEnterpriseCLIDForPrivateCallCategory",
                bool,
                is_required=True,
            ),
            E(
                "use_incoming_clid_policy",
                "useIncomingCLIDPolicy",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_group_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForGroupCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_number_for_enterprise_calls_when_internal_clid_unavailable",
                "useUserPhoneNumberForEnterpriseCallsWhenInternalCLIDUnavailable",
                bool,
                is_required=True,
            ),
            E(
                "use_max_calls_per_second",
                "useMaxCallsPerSecond",
                bool,
                is_required=True,
            ),
            E("max_calls_per_second", "maxCallsPerSecond", int, is_required=True),
        )


class SystemCallRecordingGetPlatformListResponse(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformListRequest()`.

    Contains the default system Call Recording platform and a table with columns headings
    "Name", "Net Address", "Port", "Transport Type", "Media Stream", "Description",
    "Schema Version", "Support Video Rec". The system default recording platform also
    appears in the table with the other platforms.  The possible values for "Support Video
    Rec" can be either true or false.  Schema version values include: 1.0, 2.0, 3.0
    Replaced by: `SystemCallRecordingGetPlatformListResponse20sp1()` in AS data mode

    Attributes:
        system_default (str): systemDefault *Optional*
        call_recording_platform_table (List(callRecordingPlatformTable)):
            callRecordingPlatformTable - *Table* array of callRecordingPlatformTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default",
        "call_recording_platform_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default", "systemDefault", str),
            E(
                "call_recording_platform_table",
                "callRecordingPlatformTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetPlatformListResponse20sp1(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformListRequest20sp1()`.

    Contains the default system Call Recording platform and a table with columns headings
    "Name", "Net Address", "Port", "Transport Type", "Media Stream", "Description",
    "Schema Version", "Support Video Rec". The system default recording platform also
    appears in the table with the other platforms.  The port can be empty if it is not
    defined in the recording platform.  The possible values for "Support Video Rec" can be
    either true or false.  Schema version values include: 1.0, 2.0, 3.0 Replaced by
    `SystemCallRecordingGetPlatformListResponse22()` in AS data mode.

    Attributes:
        system_default (str): systemDefault *Optional*
        call_recording_platform_table (List(callRecordingPlatformTable)):
            callRecordingPlatformTable - *Table* array of callRecordingPlatformTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default",
        "call_recording_platform_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default", "systemDefault", str),
            E(
                "call_recording_platform_table",
                "callRecordingPlatformTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetPlatformListResponse22(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformListRequest22()`.

    Contains the default system Call Recording platform, default reseller Call Recording
    Platform (when applicable) and a table with columns headings "Name", "Net Address",
    "Port", "Transport Type", "Media Stream", "Description", "Schema Version", "Support
    Video Rec", "Reseller Id". The system default recording platform also appears in the
    table with the other platforms.  The port can be empty if it is not defined in the
    recording platform.  The possible values for "Support Video Rec" can be either true or
    false.  Schema version values include: 1.0, 2.0, 3.0 Replaced by:
    `SystemCallRecordingGetPlatformListResponse22V2()`

    Attributes:
        system_default (str): systemDefault *Optional*
        reseller_default (str): resellerDefault *Optional*
        call_recording_platform_table (List(callRecordingPlatformTable)):
            callRecordingPlatformTable - *Table* array of callRecordingPlatformTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default",
        "reseller_default",
        "call_recording_platform_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default", "systemDefault", str),
            E("reseller_default", "resellerDefault", str),
            E(
                "call_recording_platform_table",
                "callRecordingPlatformTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetPlatformListResponse22V2(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformListRequest22V2()`.

    Contains the default system Call Recording platform, default reseller Call Recording
    Platform (when applicable) and a table with columns headings "Name", "Net Address",
    "Port", "Transport Type", "Media Stream", "Description", "Schema Version", "Support
    Video Rec", "Reseller Id", "Route". The system default recording platform also appears
    in the table with the other platforms.  The port can be empty if it is not defined in
    the recording platform.  The possible values for "Support Video Rec" can be either
    true or false.  Schema version values include: 1.0, 2.0, 3.0

    Attributes:
        system_default (str): systemDefault *Optional*
        reseller_default (str): resellerDefault *Optional*
        call_recording_platform_table (List(callRecordingPlatformTable)):
            callRecordingPlatformTable - *Table* array of callRecordingPlatformTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default",
        "reseller_default",
        "call_recording_platform_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default", "systemDefault", str),
            E("reseller_default", "resellerDefault", str),
            E(
                "call_recording_platform_table",
                "callRecordingPlatformTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetPlatformUsageResponse(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformUsageRequest()`.

    The response contains a table with columns headings "Service Provider Id", "Group Id".
    Replaced by `SystemCallRecordingGetPlatformUsageResponse22()` in AS data mode.

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetPlatformUsageResponse22(OCIResponse):
    """
    Response to `SystemCallRecordingGetPlatformUsageRequest()`.

    The response contains a table with columns headings "Organization Id", "Organization
    Type", "Group Id".

    Attributes:
        group_table (List(groupTable)): groupTable - *Table* array of groupTable named
            tuples
    """

    __slots__: List[str] = [
        "group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_table",
                "groupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallRecordingGetResponse(OCIResponse):
    """
    Response to `SystemCallRecordingGetRequest()`.

    Replaced By: `SystemCallRecordingGetResponse22()`

    Attributes:
        continue_call_after_recording_failure (bool): continueCallAfterRecordingFailure
        refresh_period_seconds (int): refreshPeriodSeconds
        max_consecutive_failures (int): maxConsecutiveFailures
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
        continue_call_after_video_recording_failure (bool):
            continueCallAfterVideoRecordingFailure
    """

    __slots__: List[str] = [
        "continue_call_after_recording_failure",
        "refresh_period_seconds",
        "max_consecutive_failures",
        "max_response_wait_time_milliseconds",
        "continue_call_after_video_recording_failure",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "continue_call_after_recording_failure",
                "continueCallAfterRecordingFailure",
                bool,
                is_required=True,
            ),
            E("refresh_period_seconds", "refreshPeriodSeconds", int, is_required=True),
            E(
                "max_consecutive_failures",
                "maxConsecutiveFailures",
                int,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "continue_call_after_video_recording_failure",
                "continueCallAfterVideoRecordingFailure",
                bool,
                is_required=True,
            ),
        )


class SystemCallRecordingGetResponse22(OCIResponse):
    """
    Response to `SystemCallRecordingGetRequest22()`.

    Replaced by: `SystemCallRecordingGetResponse23()`

    Attributes:
        continue_call_after_recording_failure (bool): continueCallAfterRecordingFailure
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
        continue_call_after_video_recording_failure (bool):
            continueCallAfterVideoRecordingFailure
    """

    __slots__: List[str] = [
        "continue_call_after_recording_failure",
        "max_response_wait_time_milliseconds",
        "continue_call_after_video_recording_failure",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "continue_call_after_recording_failure",
                "continueCallAfterRecordingFailure",
                bool,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "continue_call_after_video_recording_failure",
                "continueCallAfterVideoRecordingFailure",
                bool,
                is_required=True,
            ),
        )


class SystemCallRecordingGetResponse23(OCIResponse):
    """
    Response to `SystemCallRecordingGetRequest23()`.


    Attributes:
        continue_call_after_recording_failure (bool): continueCallAfterRecordingFailure
        max_response_wait_time_milliseconds (int): maxResponseWaitTimeMilliseconds
        continue_call_after_video_recording_failure (bool):
            continueCallAfterVideoRecordingFailure
        use_continue_call_after_recording_failure_for_on_demand_mode (bool):
            useContinueCallAfterRecordingFailureForOnDemandMode
        use_continue_call_after_recording_failure_for_on_demand_user_initiated_start_mode
            (bool): useContinueCallAfterRecordingFailureForOnDemandUserInitiatedStartMode
        restrict_call_recording_provisioning_access (bool):
            restrictCallRecordingProvisioningAccess
    """

    __slots__: List[str] = [
        "continue_call_after_recording_failure",
        "max_response_wait_time_milliseconds",
        "continue_call_after_video_recording_failure",
        "use_continue_call_after_recording_failure_for_on_demand_mode",
        "use_continue_call_after_recording_failure_for_on_demand_user_initiated_start_mode",
        "restrict_call_recording_provisioning_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "continue_call_after_recording_failure",
                "continueCallAfterRecordingFailure",
                bool,
                is_required=True,
            ),
            E(
                "max_response_wait_time_milliseconds",
                "maxResponseWaitTimeMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "continue_call_after_video_recording_failure",
                "continueCallAfterVideoRecordingFailure",
                bool,
                is_required=True,
            ),
            E(
                "use_continue_call_after_recording_failure_for_on_demand_mode",
                "useContinueCallAfterRecordingFailureForOnDemandMode",
                bool,
                is_required=True,
            ),
            E(
                "use_continue_call_after_recording_failure_for_on_demand_user_initiated_start_mode",
                "useContinueCallAfterRecordingFailureForOnDemandUserInitiatedStartMode",
                bool,
                is_required=True,
            ),
            E(
                "restrict_call_recording_provisioning_access",
                "restrictCallRecordingProvisioningAccess",
                bool,
                is_required=True,
            ),
        )


class SystemCallReturnGetResponse(OCIResponse):
    """
    Response to `SystemCallReturnGetRequest()`.


    Attributes:
        two_level_activation (bool): twoLevelActivation
        provide_date (bool): provideDate
        last_unanswered_call_only (bool): lastUnansweredCallOnly
        confirmation_key (str): confirmationKey *Optional*
        allow_restricted_number (bool): allowRestrictedNumber
        delete_number_after_answered_call_return (bool):
            deleteNumberAfterAnsweredCallReturn
    """

    __slots__: List[str] = [
        "two_level_activation",
        "provide_date",
        "last_unanswered_call_only",
        "confirmation_key",
        "allow_restricted_number",
        "delete_number_after_answered_call_return",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("two_level_activation", "twoLevelActivation", bool, is_required=True),
            E("provide_date", "provideDate", bool, is_required=True),
            E(
                "last_unanswered_call_only",
                "lastUnansweredCallOnly",
                bool,
                is_required=True,
            ),
            E("confirmation_key", "confirmationKey", str),
            E(
                "allow_restricted_number",
                "allowRestrictedNumber",
                bool,
                is_required=True,
            ),
            E(
                "delete_number_after_answered_call_return",
                "deleteNumberAfterAnsweredCallReturn",
                bool,
                is_required=True,
            ),
        )


class SystemCallTypeGetListResponse(OCIResponse):
    """
    Response to `SystemCallTypeGetListRequest()`.


    Attributes:
        call_type (List[str]): callType
    """

    __slots__: List[str] = [
        "call_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("call_type", "callType", str, is_required=True, is_array=True),)


class SystemCallTypeGetMappingListResponse(OCIResponse):
    """
    Response to `SystemCallTypeGetMappingListRequest()`.

    The table columns are: "Country Code", "Digit Map" and "Call Type".

    Attributes:
        call_type_mapping (List(callTypeMapping)): callTypeMapping - *Table* array of
            callTypeMapping named tuples
    """

    __slots__: List[str] = [
        "call_type_mapping",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_type_mapping",
                "callTypeMapping",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallWaitingGetResponse(OCIResponse):
    """
    Response to `SystemCallWaitingGetRequest()`.


    Attributes:
        play_distinctive_ringback (bool): playDistinctiveRingback
    """

    __slots__: List[str] = [
        "play_distinctive_ringback",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "play_distinctive_ringback",
                "playDistinctiveRingback",
                bool,
                is_required=True,
            ),
        )


class SystemCallingNameRetrievalGetResponse14(OCIResponse):
    """
    Response to `SystemCallingNameRetrievalGetRequest14()`.


    Attributes:
        query_timer_milli_seconds (int): queryTimerMilliSeconds
        server_net_address (str): serverNetAddress *Optional*
        server_port (int): serverPort *Optional*
        server_transport_protocol (str): serverTransportProtocol
    """

    __slots__: List[str] = [
        "query_timer_milli_seconds",
        "server_net_address",
        "server_port",
        "server_transport_protocol",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "query_timer_milli_seconds",
                "queryTimerMilliSeconds",
                int,
                is_required=True,
            ),
            E("server_net_address", "serverNetAddress", str),
            E("server_port", "serverPort", int),
            E(
                "server_transport_protocol",
                "serverTransportProtocol",
                str,
                is_required=True,
            ),
        )


class SystemCallingNameRetrievalGetResponse16sp1(OCIResponse):
    """
    Response to `SystemCallingNameRetrievalGetRequest16sp1()`.


    Attributes:
        trigger_cnam_queries_for_all_network_calls (bool):
            triggerCNAMQueriesForAllNetworkCalls
        trigger_cnam_queries_for_group_and_enterprise_calls (bool):
            triggerCNAMQueriesForGroupAndEnterpriseCalls
        query_protocol (str): queryProtocol
        query_timeout_milliseconds (int): queryTimeoutMilliseconds
        sip_external_database_net_address (str): sipExternalDatabaseNetAddress *Optional*
        sip_external_database_port (int): sipExternalDatabasePort *Optional*
        sip_external_database_transport (str): sipExternalDatabaseTransport
        soap_external_database_net_address (str): soapExternalDatabaseNetAddress
            *Optional*
        soap_supports_dnssrv (bool): soapSupportsDNSSRV
    """

    __slots__: List[str] = [
        "trigger_cnam_queries_for_all_network_calls",
        "trigger_cnam_queries_for_group_and_enterprise_calls",
        "query_protocol",
        "query_timeout_milliseconds",
        "sip_external_database_net_address",
        "sip_external_database_port",
        "sip_external_database_transport",
        "soap_external_database_net_address",
        "soap_supports_dnssrv",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trigger_cnam_queries_for_all_network_calls",
                "triggerCNAMQueriesForAllNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "trigger_cnam_queries_for_group_and_enterprise_calls",
                "triggerCNAMQueriesForGroupAndEnterpriseCalls",
                bool,
                is_required=True,
            ),
            E("query_protocol", "queryProtocol", str, is_required=True),
            E(
                "query_timeout_milliseconds",
                "queryTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "sip_external_database_net_address",
                "sipExternalDatabaseNetAddress",
                str,
            ),
            E("sip_external_database_port", "sipExternalDatabasePort", int),
            E(
                "sip_external_database_transport",
                "sipExternalDatabaseTransport",
                str,
                is_required=True,
            ),
            E(
                "soap_external_database_net_address",
                "soapExternalDatabaseNetAddress",
                str,
            ),
            E("soap_supports_dnssrv", "soapSupportsDNSSRV", bool, is_required=True),
        )


class SystemCallingNameRetrievalGetResponse17sp4(OCIResponse):
    """
    Response to `SystemCallingNameRetrievalGetRequest17sp4()`.

    Replaced by: `SystemCallingNameRetrievalGetResponse24()`

    Attributes:
        trigger_cnam_queries_for_all_network_calls (bool):
            triggerCNAMQueriesForAllNetworkCalls
        trigger_cnam_queries_for_group_and_enterprise_calls (bool):
            triggerCNAMQueriesForGroupAndEnterpriseCalls
        query_protocol (str): queryProtocol
        query_timeout_milliseconds (int): queryTimeoutMilliseconds
        sip_external_database_net_address (str): sipExternalDatabaseNetAddress *Optional*
        sip_external_database_port (int): sipExternalDatabasePort *Optional*
        sip_external_database_transport (str): sipExternalDatabaseTransport
        soap_external_database_net_address (str): soapExternalDatabaseNetAddress
            *Optional*
        soap_supports_dnssrv (bool): soapSupportsDNSSRV
        calling_name_source (str): callingNameSource
    """

    __slots__: List[str] = [
        "trigger_cnam_queries_for_all_network_calls",
        "trigger_cnam_queries_for_group_and_enterprise_calls",
        "query_protocol",
        "query_timeout_milliseconds",
        "sip_external_database_net_address",
        "sip_external_database_port",
        "sip_external_database_transport",
        "soap_external_database_net_address",
        "soap_supports_dnssrv",
        "calling_name_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trigger_cnam_queries_for_all_network_calls",
                "triggerCNAMQueriesForAllNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "trigger_cnam_queries_for_group_and_enterprise_calls",
                "triggerCNAMQueriesForGroupAndEnterpriseCalls",
                bool,
                is_required=True,
            ),
            E("query_protocol", "queryProtocol", str, is_required=True),
            E(
                "query_timeout_milliseconds",
                "queryTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "sip_external_database_net_address",
                "sipExternalDatabaseNetAddress",
                str,
            ),
            E("sip_external_database_port", "sipExternalDatabasePort", int),
            E(
                "sip_external_database_transport",
                "sipExternalDatabaseTransport",
                str,
                is_required=True,
            ),
            E(
                "soap_external_database_net_address",
                "soapExternalDatabaseNetAddress",
                str,
            ),
            E("soap_supports_dnssrv", "soapSupportsDNSSRV", bool, is_required=True),
            E("calling_name_source", "callingNameSource", str, is_required=True),
        )


class SystemCallingNameRetrievalGetResponse20(OCIResponse):
    """
    Response to `SystemCallingNameRetrievalGetRequest20()`.

    Replaced by: `SystemCallingNameRetrievalGetResponse24()`

    Attributes:
        trigger_cnam_queries_for_all_network_calls (bool):
            triggerCNAMQueriesForAllNetworkCalls
        trigger_cnam_queries_for_group_and_enterprise_calls (bool):
            triggerCNAMQueriesForGroupAndEnterpriseCalls
        query_protocol (str): queryProtocol
        query_timeout_milliseconds (int): queryTimeoutMilliseconds
        sip_external_database_net_address (str): sipExternalDatabaseNetAddress *Optional*
        sip_external_database_port (int): sipExternalDatabasePort *Optional*
        sip_external_database_transport (str): sipExternalDatabaseTransport
        soap_external_database_net_address (str): soapExternalDatabaseNetAddress
            *Optional*
        calling_name_source (str): callingNameSource
        route_advance_timer (int): routeAdvanceTimer
        retry_failed_cnam_server_interval (int): retryFailedCNAMServerInterval
        ignore_restricted_presentation_indicator (bool):
            ignoreRestrictedPresentationIndicator
        supports_dnssrv (bool): supportsDNSSRV
    """

    __slots__: List[str] = [
        "trigger_cnam_queries_for_all_network_calls",
        "trigger_cnam_queries_for_group_and_enterprise_calls",
        "query_protocol",
        "query_timeout_milliseconds",
        "sip_external_database_net_address",
        "sip_external_database_port",
        "sip_external_database_transport",
        "soap_external_database_net_address",
        "calling_name_source",
        "route_advance_timer",
        "retry_failed_cnam_server_interval",
        "ignore_restricted_presentation_indicator",
        "supports_dnssrv",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trigger_cnam_queries_for_all_network_calls",
                "triggerCNAMQueriesForAllNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "trigger_cnam_queries_for_group_and_enterprise_calls",
                "triggerCNAMQueriesForGroupAndEnterpriseCalls",
                bool,
                is_required=True,
            ),
            E("query_protocol", "queryProtocol", str, is_required=True),
            E(
                "query_timeout_milliseconds",
                "queryTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "sip_external_database_net_address",
                "sipExternalDatabaseNetAddress",
                str,
            ),
            E("sip_external_database_port", "sipExternalDatabasePort", int),
            E(
                "sip_external_database_transport",
                "sipExternalDatabaseTransport",
                str,
                is_required=True,
            ),
            E(
                "soap_external_database_net_address",
                "soapExternalDatabaseNetAddress",
                str,
            ),
            E("calling_name_source", "callingNameSource", str, is_required=True),
            E("route_advance_timer", "routeAdvanceTimer", int, is_required=True),
            E(
                "retry_failed_cnam_server_interval",
                "retryFailedCNAMServerInterval",
                int,
                is_required=True,
            ),
            E(
                "ignore_restricted_presentation_indicator",
                "ignoreRestrictedPresentationIndicator",
                bool,
                is_required=True,
            ),
            E("supports_dnssrv", "supportsDNSSRV", bool, is_required=True),
        )


class SystemCallingNameRetrievalGetResponse24(OCIResponse):
    """
    Response to `SystemCallingNameRetrievalGetRequest24()`.


    Attributes:
        trigger_cnam_queries_for_all_network_calls (bool):
            triggerCNAMQueriesForAllNetworkCalls
        trigger_cnam_queries_for_group_and_enterprise_calls (bool):
            triggerCNAMQueriesForGroupAndEnterpriseCalls
        query_protocol (str): queryProtocol
        query_timeout_milliseconds (int): queryTimeoutMilliseconds
        sip_external_database_net_address (str): sipExternalDatabaseNetAddress *Optional*
        sip_external_database_port (int): sipExternalDatabasePort *Optional*
        sip_external_database_transport (str): sipExternalDatabaseTransport
        soap_external_database_net_address (str): soapExternalDatabaseNetAddress
            *Optional*
        calling_name_source (str): callingNameSource
        route_advance_timer (int): routeAdvanceTimer
        retry_failed_cnam_server_interval (int): retryFailedCNAMServerInterval
        ignore_restricted_presentation_indicator (bool):
            ignoreRestrictedPresentationIndicator
        supports_dnssrv (bool): supportsDNSSRV
    """

    __slots__: List[str] = [
        "trigger_cnam_queries_for_all_network_calls",
        "trigger_cnam_queries_for_group_and_enterprise_calls",
        "query_protocol",
        "query_timeout_milliseconds",
        "sip_external_database_net_address",
        "sip_external_database_port",
        "sip_external_database_transport",
        "soap_external_database_net_address",
        "calling_name_source",
        "route_advance_timer",
        "retry_failed_cnam_server_interval",
        "ignore_restricted_presentation_indicator",
        "supports_dnssrv",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trigger_cnam_queries_for_all_network_calls",
                "triggerCNAMQueriesForAllNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "trigger_cnam_queries_for_group_and_enterprise_calls",
                "triggerCNAMQueriesForGroupAndEnterpriseCalls",
                bool,
                is_required=True,
            ),
            E("query_protocol", "queryProtocol", str, is_required=True),
            E(
                "query_timeout_milliseconds",
                "queryTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "sip_external_database_net_address",
                "sipExternalDatabaseNetAddress",
                str,
            ),
            E("sip_external_database_port", "sipExternalDatabasePort", int),
            E(
                "sip_external_database_transport",
                "sipExternalDatabaseTransport",
                str,
                is_required=True,
            ),
            E(
                "soap_external_database_net_address",
                "soapExternalDatabaseNetAddress",
                str,
            ),
            E("calling_name_source", "callingNameSource", str, is_required=True),
            E("route_advance_timer", "routeAdvanceTimer", int, is_required=True),
            E(
                "retry_failed_cnam_server_interval",
                "retryFailedCNAMServerInterval",
                int,
                is_required=True,
            ),
            E(
                "ignore_restricted_presentation_indicator",
                "ignoreRestrictedPresentationIndicator",
                bool,
                is_required=True,
            ),
            E("supports_dnssrv", "supportsDNSSRV", bool, is_required=True),
        )


class SystemCallingPartyCategoryGetListResponse(OCIResponse):
    """
    Response to `SystemCallingPartyCategoryGetListRequest()`.

    Contains a table of Calling Party Category defined in system.  The column headings
    are: "Category Name", "User Category", "Collect Call", "Default" and "Web Display
    Key".

    Attributes:
        calling_party_category_table (List(callingPartyCategoryTable)):
            callingPartyCategoryTable - *Table* array of callingPartyCategoryTable named
            tuples
    """

    __slots__: List[str] = [
        "calling_party_category_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "calling_party_category_table",
                "callingPartyCategoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCallingPartyCategoryGetResponse(OCIResponse):
    """
    Response to `SystemCallingPartyCategoryGetRequest()`.

    Contains information of a Calling Party Category defined in system.

    Attributes:
        cpc_value (str): cpcValue *Optional*
        isup_oli_value (int): isupOliValue *Optional*
        gtd_oli_value (str): gtdOliValue *Optional*
        user_category (bool): userCategory
        pay_phone (bool): payPhone
        operator (bool): operator
        default (bool): default
        collect_call (bool): collectCall
        web_display_key (str): webDisplayKey *Optional*
    """

    __slots__: List[str] = [
        "cpc_value",
        "isup_oli_value",
        "gtd_oli_value",
        "user_category",
        "pay_phone",
        "operator",
        "default",
        "collect_call",
        "web_display_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("cpc_value", "cpcValue", str),
            E("isup_oli_value", "isupOliValue", int),
            E("gtd_oli_value", "gtdOliValue", str),
            E("user_category", "userCategory", bool, is_required=True),
            E("pay_phone", "payPhone", bool, is_required=True),
            E("operator", "operator", bool, is_required=True),
            E("default", "default", bool, is_required=True),
            E("collect_call", "collectCall", bool, is_required=True),
            E("web_display_key", "webDisplayKey", str),
        )


class SystemClassmarkGetListResponse(OCIResponse):
    """
    Response to `SystemClassmarkGetListRequest()`.

    Contains a table of with the column headings: "Class Mark", "Value" and "Web Display
    Key".

    Attributes:
        classmark_table (List(classmarkTable)): classmarkTable - *Table* array of
            classmarkTable named tuples
    """

    __slots__: List[str] = [
        "classmark_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "classmark_table",
                "classmarkTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemClassmarkGetUtilizationListResponse(OCIResponse):
    """
    Response to `SystemClassmarkGetUtilizationListRequest()`.

    Contains a table with the column headings: "User Id", "Group Id", "Service Provider
    Id", "Last Name", "First Name", and "Phone Number", "Extension", "Department", "Email
    Address".

    Attributes:
        classmark_user_table (List(classmarkUserTable)): classmarkUserTable - *Table*
            array of classmarkUserTable named tuples
    """

    __slots__: List[str] = [
        "classmark_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "classmark_user_table",
                "classmarkUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemClientIdentityGetListResponse(OCIResponse):
    """
    Response to `SystemClientIdentityGetListRequest()`.

    Returns a table with column headings: "Client Identity".

    Attributes:
        client_identity_table (List(clientIdentityTable)): clientIdentityTable - *Table*
            array of clientIdentityTable named tuples
    """

    __slots__: List[str] = [
        "client_identity_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "client_identity_table",
                "clientIdentityTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemClientSessionParametersGetResponse(OCIResponse):
    """
    Response to `SystemClientSessionParametersGetRequest()`.

    Contains a list of system Client Session (web and CLI) parameters.

    Attributes:
        enable_inactivity_timeout (bool): enableInactivityTimeout
        inactivity_timeout_minutes (int): inactivityTimeoutMinutes
    """

    __slots__: List[str] = [
        "enable_inactivity_timeout",
        "inactivity_timeout_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_inactivity_timeout",
                "enableInactivityTimeout",
                bool,
                is_required=True,
            ),
            E(
                "inactivity_timeout_minutes",
                "inactivityTimeoutMinutes",
                int,
                is_required=True,
            ),
        )


class SystemCodecGetListResponse(OCIResponse):
    """
    Response to `SystemCodecGetListRequest()`.


    Attributes:
        codec (List[str]): codec *Optional*
    """

    __slots__: List[str] = [
        "codec",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("codec", "codec", str, is_array=True),)


class SystemCommunicationBarringAlternateCallIndicatorGetListResponse(OCIResponse):
    """
    Response to a `SystemCommunicationBarringAlternateCallIndicatorGetListRequest()`.

    Contains a table with one row per Communication Barring Alternate Call Indicator.  The
    table column headings are: "Alternate Call Indicator" and "Network Server Alternate
    Call Indicator".

    Attributes:
        alternate_call_indicator_table (List(alternateCallIndicatorTable)):
            alternateCallIndicatorTable - *Table* array of alternateCallIndicatorTable
            named tuples
    """

    __slots__: List[str] = [
        "alternate_call_indicator_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alternate_call_indicator_table",
                "alternateCallIndicatorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringCallTypeGetListResponse(OCIResponse):
    """
    Response to a `SystemCommunicationBarringCallTypeGetListRequest()`.

    Contains a table with one row per Communication Barring Call Type.  The table column
    headings are: "Call Type" and "Network Server Call Type".

    Attributes:
        call_type_table (List(callTypeTable)): callTypeTable - *Table* array of
            callTypeTable named tuples
    """

    __slots__: List[str] = [
        "call_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_type_table",
                "callTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringCriteriaGetListResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringCriteriaGetListRequest()`.

    The response contains a table of all Communication Barring Criteria in the system.
    The column headings are "Name" and "Description".

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringCriteriaGetResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringCriteriaGetRequest()`.

    The response contains the Communication Barring Criteria information.  Replaced by:
    `SystemCommunicationBarringCriteriaGetResponse17()`

    Attributes:
        description (str): description *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_public_network (bool): matchPublicNetwork
        match_private_network (bool): matchPrivateNetwork
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
        match_inter_network (bool): matchInterNetwork
        match_inter_hosting_ne (bool): matchInterHostingNE
        match_inter_as (bool): matchInterAS
        match_intra_as (bool): matchIntraAS
        match_charge_calls (bool): matchChargeCalls
        match_no_charge_calls (bool): matchNoChargeCalls
        match_group_calls (bool): matchGroupCalls
        match_enterprise_calls (bool): matchEnterpriseCalls
        match_network_calls (bool): matchNetworkCalls
        match_network_url_calls (bool): matchNetworkURLCalls
        match_repair_calls (bool): matchRepairCalls
        match_emergency_calls (bool): matchEmergencyCalls
        match_internal_calls (bool): matchInternalCalls
        time_schedule (str): timeSchedule *Optional*
        holiday_schedule (str): holidaySchedule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_public_network",
        "match_private_network",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
        "match_inter_network",
        "match_inter_hosting_ne",
        "match_inter_as",
        "match_intra_as",
        "match_charge_calls",
        "match_no_charge_calls",
        "match_group_calls",
        "match_enterprise_calls",
        "match_network_calls",
        "match_network_url_calls",
        "match_repair_calls",
        "match_emergency_calls",
        "match_internal_calls",
        "time_schedule",
        "holiday_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E("match_public_network", "matchPublicNetwork", bool, is_required=True),
            E("match_private_network", "matchPrivateNetwork", bool, is_required=True),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
            E("match_inter_network", "matchInterNetwork", bool, is_required=True),
            E("match_inter_hosting_ne", "matchInterHostingNE", bool, is_required=True),
            E("match_inter_as", "matchInterAS", bool, is_required=True),
            E("match_intra_as", "matchIntraAS", bool, is_required=True),
            E("match_charge_calls", "matchChargeCalls", bool, is_required=True),
            E("match_no_charge_calls", "matchNoChargeCalls", bool, is_required=True),
            E("match_group_calls", "matchGroupCalls", bool, is_required=True),
            E("match_enterprise_calls", "matchEnterpriseCalls", bool, is_required=True),
            E("match_network_calls", "matchNetworkCalls", bool, is_required=True),
            E(
                "match_network_url_calls",
                "matchNetworkURLCalls",
                bool,
                is_required=True,
            ),
            E("match_repair_calls", "matchRepairCalls", bool, is_required=True),
            E("match_emergency_calls", "matchEmergencyCalls", bool, is_required=True),
            E("match_internal_calls", "matchInternalCalls", bool, is_required=True),
            E("time_schedule", "timeSchedule", str),
            E("holiday_schedule", "holidaySchedule", str),
        )


class SystemCommunicationBarringCriteriaGetResponse17(OCIResponse):
    """
    Response to the `SystemCommunicationBarringCriteriaGetRequest17()`.

    The response contains the Communication Barring Criteria information.

    Attributes:
        description (str): description *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_virtual_on_net_call_type (List[str]): matchVirtualOnNetCallType *Optional*
        match_public_network (bool): matchPublicNetwork
        match_private_network (bool): matchPrivateNetwork
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
        match_inter_network (bool): matchInterNetwork
        match_inter_hosting_ne (bool): matchInterHostingNE
        match_inter_as (bool): matchInterAS
        match_intra_as (bool): matchIntraAS
        match_charge_calls (bool): matchChargeCalls
        match_no_charge_calls (bool): matchNoChargeCalls
        match_group_calls (bool): matchGroupCalls
        match_enterprise_calls (bool): matchEnterpriseCalls
        match_network_calls (bool): matchNetworkCalls
        match_network_url_calls (bool): matchNetworkURLCalls
        match_repair_calls (bool): matchRepairCalls
        match_emergency_calls (bool): matchEmergencyCalls
        match_internal_calls (bool): matchInternalCalls
        match_location (str): matchLocation
        match_roaming (str): matchRoaming
        time_schedule (str): timeSchedule *Optional*
        holiday_schedule (str): holidaySchedule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_virtual_on_net_call_type",
        "match_public_network",
        "match_private_network",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
        "match_inter_network",
        "match_inter_hosting_ne",
        "match_inter_as",
        "match_intra_as",
        "match_charge_calls",
        "match_no_charge_calls",
        "match_group_calls",
        "match_enterprise_calls",
        "match_network_calls",
        "match_network_url_calls",
        "match_repair_calls",
        "match_emergency_calls",
        "match_internal_calls",
        "match_location",
        "match_roaming",
        "time_schedule",
        "holiday_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E(
                "match_virtual_on_net_call_type",
                "matchVirtualOnNetCallType",
                str,
                is_array=True,
            ),
            E("match_public_network", "matchPublicNetwork", bool, is_required=True),
            E("match_private_network", "matchPrivateNetwork", bool, is_required=True),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
            E("match_inter_network", "matchInterNetwork", bool, is_required=True),
            E("match_inter_hosting_ne", "matchInterHostingNE", bool, is_required=True),
            E("match_inter_as", "matchInterAS", bool, is_required=True),
            E("match_intra_as", "matchIntraAS", bool, is_required=True),
            E("match_charge_calls", "matchChargeCalls", bool, is_required=True),
            E("match_no_charge_calls", "matchNoChargeCalls", bool, is_required=True),
            E("match_group_calls", "matchGroupCalls", bool, is_required=True),
            E("match_enterprise_calls", "matchEnterpriseCalls", bool, is_required=True),
            E("match_network_calls", "matchNetworkCalls", bool, is_required=True),
            E(
                "match_network_url_calls",
                "matchNetworkURLCalls",
                bool,
                is_required=True,
            ),
            E("match_repair_calls", "matchRepairCalls", bool, is_required=True),
            E("match_emergency_calls", "matchEmergencyCalls", bool, is_required=True),
            E("match_internal_calls", "matchInternalCalls", bool, is_required=True),
            E("match_location", "matchLocation", str, is_required=True),
            E("match_roaming", "matchRoaming", str, is_required=True),
            E("time_schedule", "timeSchedule", str),
            E("holiday_schedule", "holidaySchedule", str),
        )


class SystemCommunicationBarringCriteriaGetResponse19sp1(OCIResponse):
    """
    Response to the `SystemCommunicationBarringCriteriaGetRequest19sp1()`.

    The response contains the Communication Barring Criteria information.

    Attributes:
        description (str): description *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_virtual_on_net_call_type (List[str]): matchVirtualOnNetCallType *Optional*
        match_public_network (bool): matchPublicNetwork
        match_private_network (bool): matchPrivateNetwork
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
        match_inter_network (bool): matchInterNetwork
        match_inter_hosting_ne (bool): matchInterHostingNE
        match_inter_as (bool): matchInterAS
        match_intra_as (bool): matchIntraAS
        match_charge_calls (bool): matchChargeCalls
        match_no_charge_calls (bool): matchNoChargeCalls
        match_group_calls (bool): matchGroupCalls
        match_enterprise_calls (bool): matchEnterpriseCalls
        match_network_calls (bool): matchNetworkCalls
        match_network_url_calls (bool): matchNetworkURLCalls
        match_repair_calls (bool): matchRepairCalls
        match_emergency_calls (bool): matchEmergencyCalls
        match_internal_calls (bool): matchInternalCalls
        match_location (str): matchLocation
        match_roaming (str): matchRoaming
        time_schedule (str): timeSchedule *Optional*
        holiday_schedule (str): holidaySchedule *Optional*
        match_number_portability_status (List[str]): matchNumberPortabilityStatus
            *Optional*
    """

    __slots__: List[str] = [
        "description",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_virtual_on_net_call_type",
        "match_public_network",
        "match_private_network",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
        "match_inter_network",
        "match_inter_hosting_ne",
        "match_inter_as",
        "match_intra_as",
        "match_charge_calls",
        "match_no_charge_calls",
        "match_group_calls",
        "match_enterprise_calls",
        "match_network_calls",
        "match_network_url_calls",
        "match_repair_calls",
        "match_emergency_calls",
        "match_internal_calls",
        "match_location",
        "match_roaming",
        "time_schedule",
        "holiday_schedule",
        "match_number_portability_status",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E(
                "match_virtual_on_net_call_type",
                "matchVirtualOnNetCallType",
                str,
                is_array=True,
            ),
            E("match_public_network", "matchPublicNetwork", bool, is_required=True),
            E("match_private_network", "matchPrivateNetwork", bool, is_required=True),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
            E("match_inter_network", "matchInterNetwork", bool, is_required=True),
            E("match_inter_hosting_ne", "matchInterHostingNE", bool, is_required=True),
            E("match_inter_as", "matchInterAS", bool, is_required=True),
            E("match_intra_as", "matchIntraAS", bool, is_required=True),
            E("match_charge_calls", "matchChargeCalls", bool, is_required=True),
            E("match_no_charge_calls", "matchNoChargeCalls", bool, is_required=True),
            E("match_group_calls", "matchGroupCalls", bool, is_required=True),
            E("match_enterprise_calls", "matchEnterpriseCalls", bool, is_required=True),
            E("match_network_calls", "matchNetworkCalls", bool, is_required=True),
            E(
                "match_network_url_calls",
                "matchNetworkURLCalls",
                bool,
                is_required=True,
            ),
            E("match_repair_calls", "matchRepairCalls", bool, is_required=True),
            E("match_emergency_calls", "matchEmergencyCalls", bool, is_required=True),
            E("match_internal_calls", "matchInternalCalls", bool, is_required=True),
            E("match_location", "matchLocation", str, is_required=True),
            E("match_roaming", "matchRoaming", str, is_required=True),
            E("time_schedule", "timeSchedule", str),
            E("holiday_schedule", "holidaySchedule", str),
            E(
                "match_number_portability_status",
                "matchNumberPortabilityStatus",
                str,
                is_array=True,
            ),
        )


class SystemCommunicationBarringDigitPatternCriteriaGetListResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringDigitPatternCriteriaGetListRequest()`.

    The response contains a table of all Digit Pattern Criteria defined at the system
    level.  The column headings are "Name" and "Description"

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringDigitPatternCriteriaGetPatternListResponse(OCIResponse):
    """
    Response to the
    `SystemCommunicationBarringDigitPatternCriteriaGetPatternListRequest()`.

    The response contains the Digit Pattern Criteria information.

    Attributes:
        match_digit_pattern (List[str]): matchDigitPattern *Optional*
    """

    __slots__: List[str] = [
        "match_digit_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("match_digit_pattern", "matchDigitPattern", str, is_array=True),)


class SystemCommunicationBarringDigitPatternCriteriaGetResponse(OCIResponse):
    """
    The response to a `SystemCommunicationBarringDigitPatternCriteriaGetRequest()`.


    Attributes:
        description (str): description *Optional*
        digit_pattern (List[str]): digitPattern *Optional*
    """

    __slots__: List[str] = [
        "description",
        "digit_pattern",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("digit_pattern", "digitPattern", str, is_array=True),
        )


class SystemCommunicationBarringGetResponse(OCIResponse):
    """
    Response to `SystemCommunicationBarringGetRequest()`.

    Replaced by: `SystemCommunicationBarringGetResponse21sp1()` in AS data mode.

    Attributes:
        direct_transfer_screening (bool): directTransferScreening
    """

    __slots__: List[str] = [
        "direct_transfer_screening",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "direct_transfer_screening",
                "directTransferScreening",
                bool,
                is_required=True,
            ),
        )


class SystemCommunicationBarringGetResponse21sp1(OCIResponse):
    """
    Response to `SystemCommunicationBarringGetRequest21sp1()`.

    The following elements are only used in AS data mode: vmCallbackScreening, value
    "false" is returned in XS data mode.

    Attributes:
        direct_transfer_screening (bool): directTransferScreening
        vm_callback_screening (bool): vmCallbackScreening
    """

    __slots__: List[str] = [
        "direct_transfer_screening",
        "vm_callback_screening",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "direct_transfer_screening",
                "directTransferScreening",
                bool,
                is_required=True,
            ),
            E("vm_callback_screening", "vmCallbackScreening", bool, is_required=True),
        )


class SystemCommunicationBarringIncomingCriteriaGetListResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringIncomingCriteriaGetListRequest()`.

    The response contains a table of all Communication Barring Incoming Criteria in the
    system.  The column headings are "Name" and "Description".

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringIncomingCriteriaGetResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringIncomingCriteriaGetRequest()`.

    The response contains the Communication Barring Incoming Criteria information.
    Replaced by: `SystemCommunicationBarringIncomingCriteriaGetResponse22()`

    Attributes:
        description (str): description *Optional*
        time_schedule (str): timeSchedule *Optional*
        holiday_schedule (str): holidaySchedule *Optional*
        match_number_portability_status (List[str]): matchNumberPortabilityStatus
            *Optional*
    """

    __slots__: List[str] = [
        "description",
        "time_schedule",
        "holiday_schedule",
        "match_number_portability_status",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("time_schedule", "timeSchedule", str),
            E("holiday_schedule", "holidaySchedule", str),
            E(
                "match_number_portability_status",
                "matchNumberPortabilityStatus",
                str,
                is_array=True,
            ),
        )


class SystemCommunicationBarringIncomingCriteriaGetResponse22(OCIResponse):
    """
    Response to the `SystemCommunicationBarringIncomingCriteriaGetRequest()`.

    The response contains the Communication Barring Incoming Criteria information.

    Attributes:
        description (str): description *Optional*
        time_schedule (str): timeSchedule *Optional*
        holiday_schedule (str): holidaySchedule *Optional*
        match_number_portability_status (List[str]): matchNumberPortabilityStatus
            *Optional*
        call_tagged_as_spam (bool): callTaggedAsSpam
    """

    __slots__: List[str] = [
        "description",
        "time_schedule",
        "holiday_schedule",
        "match_number_portability_status",
        "call_tagged_as_spam",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("time_schedule", "timeSchedule", str),
            E("holiday_schedule", "holidaySchedule", str),
            E(
                "match_number_portability_status",
                "matchNumberPortabilityStatus",
                str,
                is_array=True,
            ),
            E("call_tagged_as_spam", "callTaggedAsSpam", bool, is_required=True),
        )


class SystemCommunicationBarringProfileGetCriteriaUsageListResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetCriteriaUsageListRequest()`.

    The response contains a table of system Communication Barring Profiles that use the
    specific Communication Barring Criteria.  The column headings are "Name" and
    "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringProfileGetDigitPatternCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemCommunicationBarringProfileGetDigitPatternCriteriaUsageListRequest()`.

    The response contains a table of all Profiles that use the specific Digit Pattern
    Criteria.  The column headings are "Name" and "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringProfileGetIncomingCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemCommunicationBarringProfileGetIncomingCriteriaUsageListRequest()`.

    The response contains a table of system Communication Barring Profiles that use the
    specific Communication Barring Incoming Criteria.  The column headings are "Name" and
    "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringProfileGetListResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetListRequest()`.

    The response contains a table of all Communication Barring Profiles in the system.
    The column headings are "Name" and "Description"

    Attributes:
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringServiceProviderGetCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemCommunicationBarringServiceProviderGetCriteriaUsageListRequest()`.

    The response contains a table of all Service Providers that use the specific
    Communication Barring criteria.  The column headings are "Service Provider Id",
    "Service Provider Name" and "Is Enterprise"

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringServiceProviderGetIncomingCriteriaUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemCommunicationBarringServiceProviderGetIncomingCriteriaUsageListRequest()`.

    The response contains a table of all Service Providers that use the specific
    Communication Barring Incoming criteria.  The column headings are "Service Provider
    Id", "Service Provider Name" and "Is Enterprise"

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCommunicationBarringUserControlGetResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringUserControlGetRequest()`.

    Contains the settings to whole system for Communication Barring User-Control

    Attributes:
        enable_lockout (bool): enableLockout
        max_number_of_failed_attempts (int): maxNumberOfFailedAttempts
        lockout_minutes (int): lockoutMinutes
    """

    __slots__: List[str] = [
        "enable_lockout",
        "max_number_of_failed_attempts",
        "lockout_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_lockout", "enableLockout", bool, is_required=True),
            E(
                "max_number_of_failed_attempts",
                "maxNumberOfFailedAttempts",
                int,
                is_required=True,
            ),
            E("lockout_minutes", "lockoutMinutes", int, is_required=True),
        )


class SystemConfigurableFileSystemGetResponse(OCIResponse):
    """
    Response to `SystemConfigurableFileSystemGetRequest()`.

    Regardless of element password being there in the response, the request is never going
    to return the password in response.  Contains the File System parameters.

    Attributes:
        media_directory (str): mediaDirectory
        protocol_file (OCI.protocolFile): protocolFile *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
    """

    __slots__: List[str] = [
        "media_directory",
        "protocol_file",
        "protocol_web_dav",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("media_directory", "mediaDirectory", str, is_required=True),
            E("protocol_file", "protocolFile", str, is_complex=True),  # unknown
            E("protocol_web_dav", "protocolWebDAV", str, is_complex=True),  # unknown
        )


class SystemConfigurableFileSystemGetResponse22(OCIResponse):
    """
    Response to `SystemConfigurableFileSystemGetRequest22()`.

    Contains the File System parameters.  The following elements are only used in AS data
    mode: protocolFile-secure value "false" is returned in XS data mode

    Attributes:
        media_directory (str): mediaDirectory
        protocol_file (OCI.protocolFile): protocolFile *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
    """

    __slots__: List[str] = [
        "media_directory",
        "protocol_file",
        "protocol_web_dav",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("media_directory", "mediaDirectory", str, is_required=True),
            E("protocol_file", "protocolFile", str, is_complex=True),  # unknown
            E("protocol_web_dav", "protocolWebDAV", str, is_complex=True),  # unknown
        )


class SystemConfigurableFileSystemGetResponse23(OCIResponse):
    """
    Response to `SystemConfigurableFileSystemGetRequest23()`.

    Contains the File System parameters.

    Attributes:
        media_directory (str): mediaDirectory
        protocol_file (OCI.protocolFile): protocolFile *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
    """

    __slots__: List[str] = [
        "media_directory",
        "protocol_file",
        "protocol_web_dav",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("media_directory", "mediaDirectory", str, is_required=True),
            E("protocol_file", "protocolFile", str, is_complex=True),  # unknown
            E("protocol_web_dav", "protocolWebDAV", str, is_complex=True),  # unknown
        )


class SystemConfigurableFileSystemGetResponse23V2(OCIResponse):
    """
    Response to `SystemConfigurableFileSystemGetRequest23V2()`.

    Contains the File System parameters.  The following elements are only used in AS data
    mode: protocolFile-secure value "false" is returned in XS data mode

    Attributes:
        media_directory (str): mediaDirectory
        protocol_file (OCI.protocolFile): protocolFile *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
    """

    __slots__: List[str] = [
        "media_directory",
        "protocol_file",
        "protocol_web_dav",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("media_directory", "mediaDirectory", str, is_required=True),
            E("protocol_file", "protocolFile", str, is_complex=True),  # unknown
            E("protocol_web_dav", "protocolWebDAV", str, is_complex=True),  # unknown
        )


class SystemConfigurableTreatmentGetListResponse(OCIResponse):
    """
    Response to a `SystemConfigurableTreatmentGetListRequest()`.

    Contains a table with one row per treatment.  The table columns are: "Treatment Id",
    "Description".

    Attributes:
        treatment_table (List(treatmentTable)): treatmentTable - *Table* array of
            treatmentTable named tuples
    """

    __slots__: List[str] = [
        "treatment_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_table",
                "treatmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemConfigurableTreatmentGetResponse(OCIResponse):
    """
    Response to the `SystemConfigurableTreatmentGetRequest()`.

    The response contains the treatment configurable information.

    Replaced By: `SystemConfigurableTreatmentGetResponse16()`

    Attributes:
        description (str): description *Optional*
        charge_indicator (str): chargeIndicator
        access_sip_status_code (int): accessSIPStatusCode *Optional*
        access_sip_status_message (str): accessSIPStatusMessage *Optional*
        network_sip_status_code (int): networkSIPStatusCode *Optional*
        network_sip_status_message (str): networkSIPStatusMessage *Optional*
        q850_cause_value (int): q850CauseValue *Optional*
        q850_text (str): q850Text *Optional*
        access_treatment_audio_file (str): accessTreatmentAudioFile *Optional*
        access_treatment_video_file (str): accessTreatmentVideoFile *Optional*
        network_treatment_audio_file (str): networkTreatmentAudioFile *Optional*
        network_treatment_video_file (str): networkTreatmentVideoFile *Optional*
        cdr_termination_cause (str): cdrTerminationCause *Optional*
        route_advance (bool): routeAdvance
        internal_release_cause (str): internalReleaseCause *Optional*
        access_send_reason_header (bool): accessSendReasonHeader
        network_send_reason_header (bool): networkSendReasonHeader
    """

    __slots__: List[str] = [
        "description",
        "charge_indicator",
        "access_sip_status_code",
        "access_sip_status_message",
        "network_sip_status_code",
        "network_sip_status_message",
        "q850_cause_value",
        "q850_text",
        "access_treatment_audio_file",
        "access_treatment_video_file",
        "network_treatment_audio_file",
        "network_treatment_video_file",
        "cdr_termination_cause",
        "route_advance",
        "internal_release_cause",
        "access_send_reason_header",
        "network_send_reason_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("charge_indicator", "chargeIndicator", str, is_required=True),
            E("access_sip_status_code", "accessSIPStatusCode", int),
            E("access_sip_status_message", "accessSIPStatusMessage", str),
            E("network_sip_status_code", "networkSIPStatusCode", int),
            E("network_sip_status_message", "networkSIPStatusMessage", str),
            E("q850_cause_value", "q850CauseValue", int),
            E("q850_text", "q850Text", str),
            E("access_treatment_audio_file", "accessTreatmentAudioFile", str),
            E("access_treatment_video_file", "accessTreatmentVideoFile", str),
            E("network_treatment_audio_file", "networkTreatmentAudioFile", str),
            E("network_treatment_video_file", "networkTreatmentVideoFile", str),
            E("cdr_termination_cause", "cdrTerminationCause", str),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("internal_release_cause", "internalReleaseCause", str),
            E(
                "access_send_reason_header",
                "accessSendReasonHeader",
                bool,
                is_required=True,
            ),
            E(
                "network_send_reason_header",
                "networkSendReasonHeader",
                bool,
                is_required=True,
            ),
        )


class SystemConfigurableTreatmentGetResponse16(OCIResponse):
    """
    Response to the `SystemConfigurableTreatmentGetRequest16()`.

    The response contains the treatment configurable information.

    Attributes:
        description (str): description *Optional*
        charge_indicator (str): chargeIndicator
        access_sip_status_code (int): accessSIPStatusCode *Optional*
        access_sip_status_message (str): accessSIPStatusMessage *Optional*
        network_sip_status_code (int): networkSIPStatusCode *Optional*
        network_sip_status_message (str): networkSIPStatusMessage *Optional*
        q850_cause_value (int): q850CauseValue *Optional*
        q850_text (str): q850Text *Optional*
        access_treatment_audio_file (str): accessTreatmentAudioFile *Optional*
        access_treatment_video_file (str): accessTreatmentVideoFile *Optional*
        network_treatment_audio_file (str): networkTreatmentAudioFile *Optional*
        network_treatment_video_file (str): networkTreatmentVideoFile *Optional*
        cdr_termination_cause (str): cdrTerminationCause *Optional*
        route_advance (bool): routeAdvance
        internal_release_cause (str): internalReleaseCause *Optional*
        access_send_reason_header (bool): accessSendReasonHeader
        network_send_reason_header (bool): networkSendReasonHeader
    """

    __slots__: List[str] = [
        "description",
        "charge_indicator",
        "access_sip_status_code",
        "access_sip_status_message",
        "network_sip_status_code",
        "network_sip_status_message",
        "q850_cause_value",
        "q850_text",
        "access_treatment_audio_file",
        "access_treatment_video_file",
        "network_treatment_audio_file",
        "network_treatment_video_file",
        "cdr_termination_cause",
        "route_advance",
        "internal_release_cause",
        "access_send_reason_header",
        "network_send_reason_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("charge_indicator", "chargeIndicator", str, is_required=True),
            E("access_sip_status_code", "accessSIPStatusCode", int),
            E("access_sip_status_message", "accessSIPStatusMessage", str),
            E("network_sip_status_code", "networkSIPStatusCode", int),
            E("network_sip_status_message", "networkSIPStatusMessage", str),
            E("q850_cause_value", "q850CauseValue", int),
            E("q850_text", "q850Text", str),
            E("access_treatment_audio_file", "accessTreatmentAudioFile", str),
            E("access_treatment_video_file", "accessTreatmentVideoFile", str),
            E("network_treatment_audio_file", "networkTreatmentAudioFile", str),
            E("network_treatment_video_file", "networkTreatmentVideoFile", str),
            E("cdr_termination_cause", "cdrTerminationCause", str),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("internal_release_cause", "internalReleaseCause", str),
            E(
                "access_send_reason_header",
                "accessSendReasonHeader",
                bool,
                is_required=True,
            ),
            E(
                "network_send_reason_header",
                "networkSendReasonHeader",
                bool,
                is_required=True,
            ),
        )


class SystemConnectedLineIdentificationPresentationGetResponse(OCIResponse):
    """
    Response to `SystemConnectedLineIdentificationPresentationGetRequest()`.


    Attributes:
        enforce_user_service_assignment (bool): enforceUserServiceAssignment
    """

    __slots__: List[str] = [
        "enforce_user_service_assignment",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_user_service_assignment",
                "enforceUserServiceAssignment",
                bool,
                is_required=True,
            ),
        )


class SystemCountryCodeGetListResponse(OCIResponse):
    """
    Response to a `SystemCountryCodeGetListRequest()`.

    Contains the default country code and a table with one row per country code.  The
    table columns are "Country Code", "Country Name", "Off Hook Warning Seconds", "Ring
    Period Milliseconds", "National Prefix", "Use Prefix", "Maximum Call Waiting Tones",
    "Time Between Call Waiting Tones Milliseconds" and "Disable National Prefix for OffNet
    Calls". The following columns are only returned in AS data mode: "Disable National
    Prefix for OffNet Calls"

    Attributes:
        default_country_code (str): defaultCountryCode
        country_code_table (List(countryCodeTable)): countryCodeTable - *Table* array of
            countryCodeTable named tuples
    """

    __slots__: List[str] = [
        "default_country_code",
        "country_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_country_code", "defaultCountryCode", str, is_required=True),
            E(
                "country_code_table",
                "countryCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemCrInterfaceGetResponse(OCIResponse):
    """
    Response to the `SystemCrInterfaceGetRequest()`.


    Attributes:
        cr_audit_enabled (bool): crAuditEnabled
        cr_audit_interval_milliseconds (int): crAuditIntervalMilliseconds
        cr_audit_timeout_milliseconds (int): crAuditTimeoutMilliseconds
        cr_connection_enabled (bool): crConnectionEnabled
        cr_connection_timeout_milliseconds (int): crConnectionTimeoutMilliseconds
    """

    __slots__: List[str] = [
        "cr_audit_enabled",
        "cr_audit_interval_milliseconds",
        "cr_audit_timeout_milliseconds",
        "cr_connection_enabled",
        "cr_connection_timeout_milliseconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("cr_audit_enabled", "crAuditEnabled", bool, is_required=True),
            E(
                "cr_audit_interval_milliseconds",
                "crAuditIntervalMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "cr_audit_timeout_milliseconds",
                "crAuditTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E("cr_connection_enabled", "crConnectionEnabled", bool, is_required=True),
            E(
                "cr_connection_timeout_milliseconds",
                "crConnectionTimeoutMilliseconds",
                int,
                is_required=True,
            ),
        )


class SystemCrInterfaceGetResponse22(OCIResponse):
    """
    Response to the `SystemCrInterfaceGetRequest22()`.


    Attributes:
        cr_audit_enabled (bool): crAuditEnabled
        cr_audit_interval_milliseconds (int): crAuditIntervalMilliseconds
        cr_audit_timeout_milliseconds (int): crAuditTimeoutMilliseconds
        cr_connection_enabled (bool): crConnectionEnabled
        cr_connection_timeout_milliseconds (int): crConnectionTimeoutMilliseconds
        cr_tcp_connection_timeout_seconds (int): crTcpConnectionTimeoutSeconds
        cr_number_of_reconnection_attempts (int): crNumberOfReconnectionAttempts
    """

    __slots__: List[str] = [
        "cr_audit_enabled",
        "cr_audit_interval_milliseconds",
        "cr_audit_timeout_milliseconds",
        "cr_connection_enabled",
        "cr_connection_timeout_milliseconds",
        "cr_tcp_connection_timeout_seconds",
        "cr_number_of_reconnection_attempts",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("cr_audit_enabled", "crAuditEnabled", bool, is_required=True),
            E(
                "cr_audit_interval_milliseconds",
                "crAuditIntervalMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "cr_audit_timeout_milliseconds",
                "crAuditTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E("cr_connection_enabled", "crConnectionEnabled", bool, is_required=True),
            E(
                "cr_connection_timeout_milliseconds",
                "crConnectionTimeoutMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "cr_tcp_connection_timeout_seconds",
                "crTcpConnectionTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "cr_number_of_reconnection_attempts",
                "crNumberOfReconnectionAttempts",
                int,
                is_required=True,
            ),
        )


class SystemCustomerOriginatedTraceGetResponse(OCIResponse):
    """
    Response to `SystemCustomerOriginatedTraceGetRequest()`.


    Attributes:
        screen_malicious_callers (bool): screenMaliciousCallers
    """

    __slots__: List[str] = [
        "screen_malicious_callers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "screen_malicious_callers",
                "screenMaliciousCallers",
                bool,
                is_required=True,
            ),
        )


class SystemDTMFTransmissionGetResponse(OCIResponse):
    """
    Response to the `SystemDTMFTransmissionGetRequest()`.


    Attributes:
        transmission_method (str): transmissionMethod
        signaling_content_type (str): signalingContentType *Optional*
    """

    __slots__: List[str] = [
        "transmission_method",
        "signaling_content_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("transmission_method", "transmissionMethod", str, is_required=True),
            E("signaling_content_type", "signalingContentType", str),
        )


class SystemDeviceActivationPolicyGetResponse(OCIResponse):
    """
    Response to `SystemDeviceActivationPolicyGetRequest()`.


    Attributes:
        allow_activation_code_request_by_user (bool): allowActivationCodeRequestByUser
        send_activation_code_in_email (bool): sendActivationCodeInEmail
    """

    __slots__: List[str] = [
        "allow_activation_code_request_by_user",
        "send_activation_code_in_email",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "allow_activation_code_request_by_user",
                "allowActivationCodeRequestByUser",
                bool,
                is_required=True,
            ),
            E(
                "send_activation_code_in_email",
                "sendActivationCodeInEmail",
                bool,
                is_required=True,
            ),
        )


class SystemDeviceFamilyExportResponse(OCIResponse):
    """
    Response to `SystemDeviceFamilyExportRequest()`.


    Attributes:
        file (str): file
    """

    __slots__: List[str] = [
        "file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("file", "file", str, is_required=True),)


class SystemDeviceFamilyGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceFamilyGetListRequest()`.

    The response includes a table of device family defined in the system.  Column headings
    are: "Device Family Name", "Reseller Id". The following columns are only returned in
    AS data mode: "Reseller Id"

    Attributes:
        device_family_table (List(deviceFamilyTable)): deviceFamilyTable - *Table* array
            of deviceFamilyTable named tuples
    """

    __slots__: List[str] = [
        "device_family_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_family_table",
                "deviceFamilyTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceFamilyGetResponse(OCIResponse):
    """
    Response to `SystemDeviceFamilyGetRequest()`.

    The response includes the tag sets and device types associated to a device family
    defined in the system.  Column headings for deviceTypeTable are : Device Type(s)
    Column headings for tagSetTable are :Tag Set(s)

    Attributes:
        device_type_table (List(deviceTypeTable)): deviceTypeTable - *Table* array of
            deviceTypeTable named tuples
        tag_set_table (List(tagSetTable)): tagSetTable - *Table* array of tagSetTable
            named tuples
    """

    __slots__: List[str] = [
        "device_type_table",
        "tag_set_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_table",
                "deviceTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "tag_set_table",
                "tagSetTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceFamilyImportDryRunResponse(OCIResponse):
    """
    Response to `SystemDeviceFamilyImportDryRunRequest()`.


    Attributes:
        file (str): file
        difference_found (bool): differenceFound
    """

    __slots__: List[str] = [
        "file",
        "difference_found",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file", "file", str, is_required=True),
            E("difference_found", "differenceFound", bool, is_required=True),
        )


class SystemDeviceManagementAutoRebuildConfigGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementAutoRebuildConfigGetListRequest()`.

    Contains a table with column headings: "OCI Request Prefix", "Auto Rebuild Enabled".
    "OCI Request Prefix" is the prefix of the OCI request name.  It does not include the
    request's version '17.sp4, 18...' since the disabled flag applies to the whole series
    of requests, independent of the version.  "Auto Rebuild Enabled": 'True' if the
    request prefix triggers DM events automatically.  Otherwise, automatic DM events are
    not generated.

    Attributes:
        auto_rebuild_config_table (List(autoRebuildConfigTable)): autoRebuildConfigTable -
            *Table* array of autoRebuildConfigTable named tuples
    """

    __slots__: List[str] = [
        "auto_rebuild_config_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "auto_rebuild_config_table",
                "autoRebuildConfigTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementEventGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementEventGetListRequest()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time". "Event Id" is a unique identifer
    for the event.  "Status" can be: Pending, Queued, In Progress, Process On Other Host,
    Stale, Completed, Canceled.  "Action" can be: Delete, Download, Rebuild, Reset,
    Upload.  "Level" can be: Device, Device Type, Device Type Group, Group, User.  "Type"
    can be: Automatic, Manual.  "Additional Info" includes the affected device type,
    device or group.  It depends on the level of the event: Device Profile: "Device Name"
    "Service Provider Id" "Group Id" Device Type: "Device Type Name" Device Type Group:
    "Service Provider Id" "Group Id" "Device Type Name" Group: "Service Provider Id"
    "Group Id" User: "User Id" "Is Local" is set to "yes" if the event is processed on the
    server who received the request, "no" otherwise meaning that the event is processed on
    another server.  "Completion %" provides an estimate of the completion of the event.
    A percentage is given, the current number of completed expanded event, and the total
    number of expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of
    files that were pushed, not pushed because of same hash, and not pushed when
    processing the event.  "LoginId" is the user or admin id who triggered the event.
    "Start Time" is the date when the event was started.  The display shows the month,
    days, hours, and minutes (MM-dd hh:mm). "Process Time" is the time taken to process
    the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). Each row
    represents an event sorted by priority of processing.  The first row in the table is
    an event that has an associated expanded event currently being processed or next in
    line to be processed.  Deprecated by:
    `SystemDeviceManagementEventGetListResponse22()`.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementEventGetListResponse22(OCIResponse):
    """
    Response to `SystemDeviceManagementEventGetListRequest22()`.

    Contains a table with column headings: "Event Id", "Status", "Action", "Level",
    "Type", "Additional Info", "Is Local", "Completion %", "Pushed/ Same Hash/ Not
    Pushed", "Login Id", "Start Time", "Process Time", "Rx Time", "Total Time", "Request",
    "Priority". "Event Id" is a unique identifer for the event.  "Status" can be: Pending,
    Queued, In Progress, Process On Other Host, Stale, Completed, Canceled.  "Action" can
    be: Delete, Download, Rebuild, Reset, Upload.  "Level" can be: Device, Device Type,
    Device Type Group, Group, User.  "Type" can be: Automatic, Manual.  "Additional Info"
    includes the affected device type, device or group.  It depends on the level of the
    event: Device Profile: "Device Name" "Service Provider Id" "Group Id" Device Type:
    "Device Type Name" Device Type Service Provider: "Service Provider Id" "Device Type
    Name" Service Provider: "Service Provider Id" Device Type Group: "Service Provider Id"
    "Group Id" "Device Type Name" Group: "Service Provider Id" "Group Id" User: "User Id"
    "Is Local" is set to "yes" if the event is processed on the server who received the
    request, "no" otherwise meaning that the event is processed on another server.
    "Completion %" provides an estimate of the completion of the event.  A percentage is
    given, the current number of completed expanded event, and the total number of
    expanded event.  "Pushed/ Same Hash/ Not Pushed" gives the total number of files that
    were pushed, not pushed because of same hash, and not pushed when processing the
    event.  "LoginId" is the user or admin id who triggered the event.  "Start Time" is
    the date when the event's processing started.  The display shows the month, day,
    hours, minutes, and seconds (MM-dd hh:mm:ss). "Process Time" is the time taken to
    process the event in hours, minutes, seconds, and milliseconds (hhhh:mm:ss.SSS). "Rx
    Time" is the date when the event was received via OCI-P and stored in the system.  The
    display shows the month, day, hours, minutes, and seconds (MM-dd hh:mm:ss). "Total
    Time" is the total time the event was in the system, from the moment it was received
    and stored until its processing ended, in hours, minutes, seconds, and milliseconds
    (hhhh:mm:ss.SSS). "Request" is the name of the OCI-P request that triggered the event.
    "Priority" is the priority of the event.

    Attributes:
        event_table (List(eventTable)): eventTable - *Table* array of eventTable named
            tuples
    """

    __slots__: List[str] = [
        "event_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "event_table",
                "eventTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementGetAccessDeviceCountForDeviceTypeResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementGetAccessDeviceCountForDeviceTypeRequest()`.


    Attributes:
        access_device_count (int): accessDeviceCount
    """

    __slots__: List[str] = [
        "access_device_count",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("access_device_count", "accessDeviceCount", int, is_required=True),)


class SystemDeviceManagementGetEventStatusSummaryCountResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementGetEventStatusSummaryCountRequest()`.

    The column headings are "Action, "Pending", "Queued Internally", and "Completed"

    Attributes:
        status_count_table (List(statusCountTable)): statusCountTable - *Table* array of
            statusCountTable named tuples
    """

    __slots__: List[str] = [
        "status_count_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "status_count_table",
                "statusCountTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementTagGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagGetListRequest()`.

    Contains a table of custom configuration tags managed by the Device Management System.
    In AS data mode, the column headings are: "Tag Name", "Tag Value", "Is Overridable".
    In XS data mode, the column headings are: "Tag Name", "Tag Value", "Is Overridable",
    "Is Encrypted".

    Attributes:
        tags_table (List(tagsTable)): tagsTable - *Table* array of tagsTable named tuples
    """

    __slots__: List[str] = [
        "tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tags_table",
                "tagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementTagSetCountryGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetCountryGetListRequest()`.

    The response includes the list of countries defined in a region of a specified tag
    set.

    Attributes:
        country_name (List[str]): countryName *Optional*
    """

    __slots__: List[str] = [
        "country_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("country_name", "countryName", str, is_array=True),)


class SystemDeviceManagementTagSetExportResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetExportRequest()`.


    Attributes:
        file (str): file
    """

    __slots__: List[str] = [
        "file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("file", "file", str, is_required=True),)


class SystemDeviceManagementTagSetGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetGetListRequest()`.

    The response includes an array of tag set names defined in the system.  The system
    default tag set name is not part of this response.  Replaced by
    `SystemDeviceManagementTagSetGetListResponse22()` in AS data mode

    Attributes:
        tag_set_name (List[str]): tagSetName *Optional*
    """

    __slots__: List[str] = [
        "tag_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("tag_set_name", "tagSetName", str, is_array=True),)


class SystemDeviceManagementTagSetGetListResponse22(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetGetListRequest22()`.

    The response includes a table of tag set names defined in the system.  Column headings
    are: "Tag Set Name", "Reseller Id". The following columns are only returned in AS data
    mode: "Reseller Id" The system default tag set name is not part of this response.

    Attributes:
        tag_set_table (List(tagSetTable)): tagSetTable - *Table* array of tagSetTable
            named tuples
    """

    __slots__: List[str] = [
        "tag_set_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tag_set_table",
                "tagSetTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceManagementTagSetImportDryRunResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetImportDryRunRequest()`.


    Attributes:
        file (str): file
        difference_found (bool): differenceFound
    """

    __slots__: List[str] = [
        "file",
        "difference_found",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file", "file", str, is_required=True),
            E("difference_found", "differenceFound", bool, is_required=True),
        )


class SystemDeviceManagementTagSetRegionGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetGetListRequest()`.

    The response includes the list of region names defined in the specified tag set.

    Attributes:
        region_name (List[str]): regionName *Optional*
    """

    __slots__: List[str] = [
        "region_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("region_name", "regionName", str, is_array=True),)


class SystemDeviceManagementTagSetRegionTagGetListResponse(OCIResponse):
    """
    Response to `SystemDeviceManagementTagSetRegionTagGetListRequest()`.

    The column headings for the tagsTable are: "Tag Name", "Tag Value".

    Attributes:
        tags_table (List(tagsTable)): tagsTable - *Table* array of tagsTable named tuples
    """

    __slots__: List[str] = [
        "tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tags_table",
                "tagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceProfileAuthenticationLockoutGetResponse(OCIResponse):
    """
    Response to `SystemDeviceProfileAuthenticationLockoutGetRequest()`.

    The column headings for the lockoutTable are: "Organization Id", "Organization Type",
    "Group Id", "Identity/Device Profile Name", " Identity/Device Profile Type", "Lockout
    Started", "Lockout Expires", "Lockout Count". Lockout times are shown in the system
    GMT time.  When a permanent lockout is shown, the "Lockout Expires" column is empty
    and the "Lockout Count" column contains the word Permanent.

    Attributes:
        lockout_table (List(lockoutTable)): lockoutTable - *Table* array of lockoutTable
            named tuples
    """

    __slots__: List[str] = [
        "lockout_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "lockout_table",
                "lockoutTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDeviceProfileAuthenticationPasswordRulesGetResponse(OCIResponse):
    """
    Response to `SystemDeviceProfileAuthenticationPasswordRulesGetRequest()`.

    Contains the device profile authentication password rules for the system.

    Attributes:
        disallow_authentication_name (bool): disallowAuthenticationName
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        send_permanent_lockout_notification (bool): sendPermanentLockoutNotification
        permanent_lockout_notify_email_address (str): permanentLockoutNotifyEmailAddress
            *Optional*
        device_profile_authentication_lockout_type (str):
            deviceProfileAuthenticationLockoutType
        device_profile_temporary_lockout_threshold (int):
            deviceProfileTemporaryLockoutThreshold
        device_profile_wait_algorithm (str): deviceProfileWaitAlgorithm
        device_profile_lockout_fixed_minutes (str): deviceProfileLockoutFixedMinutes
        device_profile_permanent_lockout_threshold (int):
            deviceProfilePermanentLockoutThreshold
    """

    __slots__: List[str] = [
        "disallow_authentication_name",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "send_permanent_lockout_notification",
        "permanent_lockout_notify_email_address",
        "device_profile_authentication_lockout_type",
        "device_profile_temporary_lockout_threshold",
        "device_profile_wait_algorithm",
        "device_profile_lockout_fixed_minutes",
        "device_profile_permanent_lockout_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_authentication_name",
                "disallowAuthenticationName",
                bool,
                is_required=True,
            ),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "send_permanent_lockout_notification",
                "sendPermanentLockoutNotification",
                bool,
                is_required=True,
            ),
            E(
                "permanent_lockout_notify_email_address",
                "permanentLockoutNotifyEmailAddress",
                str,
            ),
            E(
                "device_profile_authentication_lockout_type",
                "deviceProfileAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "device_profile_temporary_lockout_threshold",
                "deviceProfileTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "device_profile_wait_algorithm",
                "deviceProfileWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "device_profile_lockout_fixed_minutes",
                "deviceProfileLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "device_profile_permanent_lockout_threshold",
                "deviceProfilePermanentLockoutThreshold",
                int,
                is_required=True,
            ),
        )


class SystemDeviceTypeExportResponse(OCIResponse):
    """
    Response to `SystemDeviceTypeExportRequest()`.


    Attributes:
        file (str): file
    """

    __slots__: List[str] = [
        "file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("file", "file", str, is_required=True),)


class SystemDeviceTypeGetAvailableListResponse(OCIResponse):
    """
    Response to `SystemDeviceTypeGetAvailableListRequest()`.


    Attributes:
        device_type (List[str]): deviceType *Optional*
        type_info (List[OCI.typeInfo]): typeInfo *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "type_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_array=True),
            E("type_info", "typeInfo", str, is_complex=True, is_array=True),  # unknown
        )


class SystemDeviceTypeGetAvailableListResponse14sp1(OCIResponse):
    """
    Response to `SystemDeviceTypeGetAvailableListRequest14sp1()`.

    Replaced By: `SystemDeviceTypeGetAvailableListResponse14sp3()`

    Attributes:
        device_type (List[str]): deviceType *Optional*
        type_info (List[OCI.typeInfo]): typeInfo *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "type_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_array=True),
            E("type_info", "typeInfo", str, is_complex=True, is_array=True),  # unknown
        )


class SystemDeviceTypeGetAvailableListResponse14sp3(OCIResponse):
    """
    Response to `SystemDeviceTypeGetAvailableListRequest14sp3()`.


    Attributes:
        device_type (List[str]): deviceType *Optional*
        type_info (List[OCI.typeInfo]): typeInfo *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "type_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_array=True),
            E("type_info", "typeInfo", str, is_complex=True, is_array=True),  # unknown
        )


class SystemDeviceTypeGetAvailableListResponse19(OCIResponse):
    """
    Response to `SystemDeviceTypeGetAvailableListRequest19()`.

    Note: element numberOfPorts is only used by devices types with static line ordering
    enabled Replaced by `SystemDeviceTypeGetAvailableListResponse22()` in AS data mode.

    Attributes:
        device_type (List[str]): deviceType *Optional*
        type_info (List[OCI.typeInfo]): typeInfo *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "type_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_array=True),
            E("type_info", "typeInfo", str, is_complex=True, is_array=True),  # unknown
        )


class SystemDeviceTypeGetAvailableListResponse22(OCIResponse):
    """
    Response to `SystemDeviceTypeGetAvailableListRequest22()`.

    Note: element numberOfPorts is only used by devices types with static line ordering
    enabled

    Attributes:
        device_type (List[str]): deviceType *Optional*
        type_info (List[OCI.typeInfo]): typeInfo *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "type_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_array=True),
            E("type_info", "typeInfo", str, is_complex=True, is_array=True),  # unknown
        )


class SystemDeviceTypeImportDryRunResponse(OCIResponse):
    """
    Response to `SystemDeviceTypeImportDryRunRequest()`.


    Attributes:
        file (str): file
        difference_found (bool): differenceFound
    """

    __slots__: List[str] = [
        "file",
        "difference_found",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file", "file", str, is_required=True),
            E("difference_found", "differenceFound", bool, is_required=True),
        )


class SystemDialPlanPolicyGetAccessCodeListResponse(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetAccessCodeListRequest()`.

    Contains a table with column headings: "Access Code", "Enable Secondary Dial Tone",
    "Description"

    Attributes:
        access_code_table (List(accessCodeTable)): accessCodeTable - *Table* array of
            accessCodeTable named tuples
    """

    __slots__: List[str] = [
        "access_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_code_table",
                "accessCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDialPlanPolicyGetAccessCodeResponse(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetAccessCodeRequest()`

    Attributes:
        include_code_for_network_translations_and_routing (bool):
            includeCodeForNetworkTranslationsAndRouting
        include_code_for_screening_services (bool): includeCodeForScreeningServices
        enable_secondary_dial_tone (bool): enableSecondaryDialTone
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "include_code_for_network_translations_and_routing",
        "include_code_for_screening_services",
        "enable_secondary_dial_tone",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "include_code_for_network_translations_and_routing",
                "includeCodeForNetworkTranslationsAndRouting",
                bool,
                is_required=True,
            ),
            E(
                "include_code_for_screening_services",
                "includeCodeForScreeningServices",
                bool,
                is_required=True,
            ),
            E(
                "enable_secondary_dial_tone",
                "enableSecondaryDialTone",
                bool,
                is_required=True,
            ),
            E("description", "description", str),
        )


class SystemDialPlanPolicyGetResponse(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetRequest()` Replaced by:
    `SystemDialPlanPolicyGetResponse17()`

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        public_digit_map (str): publicDigitMap
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str, is_required=True),
            E("private_digit_map", "privateDigitMap", str),
        )


class SystemDialPlanPolicyGetResponse17(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetRequest17()`

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str, is_required=True),
            E("private_digit_map", "privateDigitMap", str),
        )


class SystemDialPlanPolicyGetResponse22(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetRequest22()` The following elements are only used
    in AS data mode: overrideResolvedDeviceDigitMap The following elements are only used
    in AS data mode and not returned in XS data mode: deviceDigitMap

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap
        private_digit_map (str): privateDigitMap *Optional*
        override_resolved_device_digit_map (bool): overrideResolvedDeviceDigitMap
        device_digit_map (str): deviceDigitMap *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
        "override_resolved_device_digit_map",
        "device_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str, is_required=True),
            E("private_digit_map", "privateDigitMap", str),
            E(
                "override_resolved_device_digit_map",
                "overrideResolvedDeviceDigitMap",
                bool,
                is_required=True,
            ),
            E("device_digit_map", "deviceDigitMap", str),
        )


class SystemDialPlanPolicyGetResponse22V2(OCIResponse):
    """
    Response to `SystemDialPlanPolicyGetRequest22V2()` The following elements are only
    used in AS data mode: overrideResolvedDeviceDigitMap The following elements are only
    used in AS data mode and not returned in XS data mode: deviceDigitMap
    performInternalTranslationsWithOAC permissiveOACDialing

    Attributes:
        requires_access_code_for_public_calls (bool): requiresAccessCodeForPublicCalls
        allow_e164_public_calls (bool): allowE164PublicCalls
        prefer_e164_number_format_for_callback_services (bool):
            preferE164NumberFormatForCallbackServices
        public_digit_map (str): publicDigitMap
        private_digit_map (str): privateDigitMap *Optional*
        override_resolved_device_digit_map (bool): overrideResolvedDeviceDigitMap
        device_digit_map (str): deviceDigitMap *Optional*
        perform_internal_translations_with_oac (bool): performInternalTranslationsWithOAC
            *Optional*
        permissive_oac_dialing (bool): permissiveOACDialing *Optional*
    """

    __slots__: List[str] = [
        "requires_access_code_for_public_calls",
        "allow_e164_public_calls",
        "prefer_e164_number_format_for_callback_services",
        "public_digit_map",
        "private_digit_map",
        "override_resolved_device_digit_map",
        "device_digit_map",
        "perform_internal_translations_with_oac",
        "permissive_oac_dialing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "requires_access_code_for_public_calls",
                "requiresAccessCodeForPublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "allow_e164_public_calls",
                "allowE164PublicCalls",
                bool,
                is_required=True,
            ),
            E(
                "prefer_e164_number_format_for_callback_services",
                "preferE164NumberFormatForCallbackServices",
                bool,
                is_required=True,
            ),
            E("public_digit_map", "publicDigitMap", str, is_required=True),
            E("private_digit_map", "privateDigitMap", str),
            E(
                "override_resolved_device_digit_map",
                "overrideResolvedDeviceDigitMap",
                bool,
                is_required=True,
            ),
            E("device_digit_map", "deviceDigitMap", str),
            E(
                "perform_internal_translations_with_oac",
                "performInternalTranslationsWithOAC",
                bool,
            ),
            E("permissive_oac_dialing", "permissiveOACDialing", bool),
        )


class SystemDialableCallerIDCriteriaGetResponse(OCIResponse):
    """
    Response to the `SystemDialableCallerIDCriteriaGetRequest()`.

    The response contains the Dialable Caller ID Criteria information.

    Attributes:
        description (str): description *Optional*
        prefix_digits (str): prefixDigits *Optional*
        match_call_type (List[str]): matchCallType *Optional*
        match_alternate_call_indicator (List[str]): matchAlternateCallIndicator *Optional*
        match_local_category (bool): matchLocalCategory
        match_national_category (bool): matchNationalCategory
        match_interlata_category (bool): matchInterlataCategory
        match_intralata_category (bool): matchIntralataCategory
        match_international_category (bool): matchInternationalCategory
        match_private_category (bool): matchPrivateCategory
        match_emergency_category (bool): matchEmergencyCategory
        match_other_category (bool): matchOtherCategory
    """

    __slots__: List[str] = [
        "description",
        "prefix_digits",
        "match_call_type",
        "match_alternate_call_indicator",
        "match_local_category",
        "match_national_category",
        "match_interlata_category",
        "match_intralata_category",
        "match_international_category",
        "match_private_category",
        "match_emergency_category",
        "match_other_category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("prefix_digits", "prefixDigits", str),
            E("match_call_type", "matchCallType", str, is_array=True),
            E(
                "match_alternate_call_indicator",
                "matchAlternateCallIndicator",
                str,
                is_array=True,
            ),
            E("match_local_category", "matchLocalCategory", bool, is_required=True),
            E(
                "match_national_category",
                "matchNationalCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_interlata_category",
                "matchInterlataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_intralata_category",
                "matchIntralataCategory",
                bool,
                is_required=True,
            ),
            E(
                "match_international_category",
                "matchInternationalCategory",
                bool,
                is_required=True,
            ),
            E("match_private_category", "matchPrivateCategory", bool, is_required=True),
            E(
                "match_emergency_category",
                "matchEmergencyCategory",
                bool,
                is_required=True,
            ),
            E("match_other_category", "matchOtherCategory", bool, is_required=True),
        )


class SystemDialableCallerIDGetResponse(OCIResponse):
    """
    Response to the `SystemDialableCallerIDGetRequest()`.

    The criteria table?s column headings are ?Active?, "Name", "Description", ?Prefix
    Digits?, and ?Priority?.

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDigitCollectionGetResponse13mp4(OCIResponse):
    """
    Response to `SystemDigitCollectionGetRequest13mp4()`.


    Attributes:
        access_code (str): accessCode *Optional*
        public_digit_map (str): publicDigitMap
        private_digit_map (str): privateDigitMap *Optional*
    """

    __slots__: List[str] = [
        "access_code",
        "public_digit_map",
        "private_digit_map",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("access_code", "accessCode", str),
            E("public_digit_map", "publicDigitMap", str, is_required=True),
            E("private_digit_map", "privateDigitMap", str),
        )


class SystemDnGetSummaryListResponse(OCIResponse):
    """
    Response to `SystemDnGetSummaryListRequest()`.

    The column headings are "Phone Numbers, "Service Provider Id", "Is Enterprise" and
    "Reseller Id". The following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        dn_summary_table (List(dnSummaryTable)): dnSummaryTable - *Table* array of
            dnSummaryTable named tuples
    """

    __slots__: List[str] = [
        "dn_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_summary_table",
                "dnSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDnGetUtilizationListResponse(OCIResponse):
    """
    Response to `SystemDnUtilizationGetListRequest()`.

    The table columns are: "Service Provider Id", "Phone Numbers", "Assigned to Groups",
    "Percentage Assigned", "Is Enterprise", "Activated on Groups", "Reseller Id". The
    following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        dn_utilization_table (List(dnUtilizationTable)): dnUtilizationTable - *Table*
            array of dnUtilizationTable named tuples
    """

    __slots__: List[str] = [
        "dn_utilization_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_utilization_table",
                "dnUtilizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDnGetUtilizationResponse(OCIResponse):
    """
    Response to `SystemDnGetUtilizationRequest()`.

    Replaced By: `SystemDnGetUtilizationResponse14sp3()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId *Optional*
        user_id (str): userId *Optional*
        user_type (str): userType *Optional*
        is_group_calling_line_id (bool): isGroupCallingLineId
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "user_type",
        "is_group_calling_line_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str),
            E("user_id", "userId", str),
            E("user_type", "userType", str),
            E(
                "is_group_calling_line_id",
                "isGroupCallingLineId",
                bool,
                is_required=True,
            ),
        )


class SystemDnGetUtilizationResponse14sp3(OCIResponse):
    """
    Response to `SystemDnGetUtilizationRequest14sp3()`.

    The isActivated element is only included when the DN is assigned to a user.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId *Optional*
        user_id (str): userId *Optional*
        user_type (str): userType *Optional*
        is_group_calling_line_id (bool): isGroupCallingLineId
        is_activated (bool): isActivated *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "user_type",
        "is_group_calling_line_id",
        "is_activated",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str),
            E("user_id", "userId", str),
            E("user_type", "userType", str),
            E(
                "is_group_calling_line_id",
                "isGroupCallingLineId",
                bool,
                is_required=True,
            ),
            E("is_activated", "isActivated", bool),
        )


class SystemDomainGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to `SystemDomainGetAssignedServiceProviderListRequest()`.

    The table columns are: "Service Provider Id", "Service Provider Name", "Is Enterprise"
    and "Reseller Id". The following columns are only returned in AS data mode: "Reseller
    Id"

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDomainGetListResponse(OCIResponse):
    """
    Contains a simple list of all system-level domain names.

    The following elements are only used in AS and XS data mode and not returned in
    Amplify data mode: systemDefaultDomain Replaced by `SystemDomainGetListResponse22()`
    in AS data mode.

    Attributes:
        system_default_domain (str): systemDefaultDomain *Optional*
        domain (List[str]): domain *Optional*
    """

    __slots__: List[str] = [
        "system_default_domain",
        "domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default_domain", "systemDefaultDomain", str),
            E("domain", "domain", str, is_array=True),
        )


class SystemDomainGetListResponse22(OCIResponse):
    """
    Contains a table of all matching system-level domain names and all matching reseller
    level domains.

    The column headings are: "Domain Name" and "Reseller Id". The following elements are
    only used in AS and XS data mode and not returned in Amplify data mode:
    systemDefaultDomain Replaced by `SystemDomainGetListResponse22V2()` in AS data mode.

    Attributes:
        system_default_domain (str): systemDefaultDomain *Optional*
        domain_table (List(domainTable)): domainTable - *Table* array of domainTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default_domain",
        "domain_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default_domain", "systemDefaultDomain", str),
            E(
                "domain_table",
                "domainTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDomainGetListResponse22V2(OCIResponse):
    """
    Contains a table of all matching system-level domain names and all matching reseller
    level domains.

    The column headings are: "Domain Name" and "Reseller Id". The following elements are
    only used in AS and XS data mode and not returned in Amplify data mode:
    systemDefaultDomain

    Attributes:
        system_default_domain (str): systemDefaultDomain *Optional*
        domain_table (List(domainTable)): domainTable - *Table* array of domainTable named
            tuples
    """

    __slots__: List[str] = [
        "system_default_domain",
        "domain_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("system_default_domain", "systemDefaultDomain", str),
            E(
                "domain_table",
                "domainTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemDomainParametersGetResponse(OCIResponse):
    """
    Response to `SystemDomainParametersGetRequest()`.

    Contains the system Domain parameters.  The following elements are only used in AS
    data mode: useAliasForDomain, value "false" is returned in XS data mode.  The
    following elements are only used in AS and XS data mode and not returned in Amplify
    data mode.  defaultDomain

    Attributes:
        use_alias_for_domain (bool): useAliasForDomain
        default_domain (str): defaultDomain *Optional*
    """

    __slots__: List[str] = [
        "use_alias_for_domain",
        "default_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_alias_for_domain", "useAliasForDomain", bool, is_required=True),
            E("default_domain", "defaultDomain", str),
        )


class SystemEmergencyCallDDoSProtectionGetResponse(OCIResponse):
    """
    Response to the `SystemEmergencyCallDDoSProtectionGetRequest()`.


    Attributes:
        enabled (bool): enabled
        sample_interval_seconds (int): sampleIntervalSeconds
        protection_rate (int): protectionRate *Optional*
        protection_action (str): protectionAction
    """

    __slots__: List[str] = [
        "enabled",
        "sample_interval_seconds",
        "protection_rate",
        "protection_action",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enabled", "enabled", bool, is_required=True),
            E(
                "sample_interval_seconds",
                "sampleIntervalSeconds",
                int,
                is_required=True,
            ),
            E("protection_rate", "protectionRate", int),
            E("protection_action", "protectionAction", str, is_required=True),
        )


class SystemEmergencyCallNotificationGetResponse(OCIResponse):
    """
    Response to `SystemEmergencyCallNotificationGetResponse()`.


    Attributes:
        default_from_address (str): defaultFromAddress
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str, is_required=True),)


class SystemEmergencyZonesGetResponse(OCIResponse):
    """
    Response to `SystemEmergencyZonesGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str, is_required=True),)


class SystemEndpointGetListResponse(OCIResponse):
    """
    Response to `SystemEndpointGetListRequest()`.

    The column headings for the endpointTable are: "Organization Id", "Organization Type",
    "Group Id", "Line/Port", "Last Name","First Name", "User Id", "User Type", "Phone
    Number", "Extension", "Device Type", "Device Name", "Net Address", "MAC Address",
    "Department", "Email Address", "Reseller Id". Possible values for User Type are
    "User", "CCBasic", "CCStandard", "CCPremium", "RP", "MOH", "MOHVideo". The following
    columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
    """

    __slots__: List[str] = [
        "endpoint_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemEnhancedCallLogsActiveSchemaInstanceGetListResponse(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsSchemaInstanceActualUsageGetListRequest()`.

    Contains a table with column headings: "Instance Name", "Active Users".

    Attributes:
        schema_instance_usage_table (List(schemaInstanceUsageTable)):
            schemaInstanceUsageTable - *Table* array of schemaInstanceUsageTable named
            tuples
    """

    __slots__: List[str] = [
        "schema_instance_usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schema_instance_usage_table",
                "schemaInstanceUsageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemEnhancedCallLogsGetResponse(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsGetRequest()`.


    Attributes:
        is_send_enabled (bool): isSendEnabled
        server1_net_address (str): server1NetAddress *Optional*
        server1_send_port (int): server1SendPort
        server1_retrieve_port (int): server1RetrievePort
        server2_net_address (str): server2NetAddress *Optional*
        server2_send_port (int): server2SendPort
        server2_retrieve_port (int): server2RetrievePort
        shared_secret (str): sharedSecret *Optional*
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        max_transmissions (int): maxTransmissions
        soap_timeout_seconds (int): soapTimeoutSeconds
    """

    __slots__: List[str] = [
        "is_send_enabled",
        "server1_net_address",
        "server1_send_port",
        "server1_retrieve_port",
        "server2_net_address",
        "server2_send_port",
        "server2_retrieve_port",
        "shared_secret",
        "retransmission_delay_milli_seconds",
        "max_transmissions",
        "soap_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_send_enabled", "isSendEnabled", bool, is_required=True),
            E("server1_net_address", "server1NetAddress", str),
            E("server1_send_port", "server1SendPort", int, is_required=True),
            E("server1_retrieve_port", "server1RetrievePort", int, is_required=True),
            E("server2_net_address", "server2NetAddress", str),
            E("server2_send_port", "server2SendPort", int, is_required=True),
            E("server2_retrieve_port", "server2RetrievePort", int, is_required=True),
            E("shared_secret", "sharedSecret", str),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E("soap_timeout_seconds", "soapTimeoutSeconds", int, is_required=True),
        )


class SystemEnhancedCallLogsGetResponse17sp4(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsGetRequest17sp4()`.

    The following elements are only used in AS data mode: isSendEnabled server1SendPort
    server1RetrievePort server2SendPort server2RetrievePort
    retransmissionDelayMilliSeconds maxTransmissions soapTimeoutSeconds useDBS The
    following elements are only used in AS data mode and not returned in XS data mode:
    server1NetAddress server2NetAddress sharedSecret Replaced
    by:`SystemEnhancedCallLogsGetResponse20sp1()` in AS data mode

    Attributes:
        is_send_enabled (bool): isSendEnabled
        server1_net_address (str): server1NetAddress *Optional*
        server1_send_port (int): server1SendPort
        server1_retrieve_port (int): server1RetrievePort
        server2_net_address (str): server2NetAddress *Optional*
        server2_send_port (int): server2SendPort
        server2_retrieve_port (int): server2RetrievePort
        shared_secret (str): sharedSecret *Optional*
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        max_transmissions (int): maxTransmissions
        soap_timeout_seconds (int): soapTimeoutSeconds
        use_dbs (bool): useDBS
        max_non_paged_response_size (int): maxNonPagedResponseSize
    """

    __slots__: List[str] = [
        "is_send_enabled",
        "server1_net_address",
        "server1_send_port",
        "server1_retrieve_port",
        "server2_net_address",
        "server2_send_port",
        "server2_retrieve_port",
        "shared_secret",
        "retransmission_delay_milli_seconds",
        "max_transmissions",
        "soap_timeout_seconds",
        "use_dbs",
        "max_non_paged_response_size",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_send_enabled", "isSendEnabled", bool, is_required=True),
            E("server1_net_address", "server1NetAddress", str),
            E("server1_send_port", "server1SendPort", int, is_required=True),
            E("server1_retrieve_port", "server1RetrievePort", int, is_required=True),
            E("server2_net_address", "server2NetAddress", str),
            E("server2_send_port", "server2SendPort", int, is_required=True),
            E("server2_retrieve_port", "server2RetrievePort", int, is_required=True),
            E("shared_secret", "sharedSecret", str),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E("soap_timeout_seconds", "soapTimeoutSeconds", int, is_required=True),
            E("use_dbs", "useDBS", bool, is_required=True),
            E(
                "max_non_paged_response_size",
                "maxNonPagedResponseSize",
                int,
                is_required=True,
            ),
        )


class SystemEnhancedCallLogsGetResponse20sp1(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsGetRequest20sp1()`.

    The following elements are only used in AS data mode: isSendEnabled server1NetAddress
    server1SendPort server1RetrievePort server2NetAddress server2SendPort
    server2RetrievePort sharedSecret retransmissionDelayMilliSeconds maxTransmissions
    soapTimeoutSeconds useDBS eclQueryApplicationURL eclQueryDataRepositoryURL

    Attributes:
        is_send_enabled (bool): isSendEnabled
        server1_net_address (str): server1NetAddress *Optional*
        server1_send_port (int): server1SendPort
        server1_retrieve_port (int): server1RetrievePort
        server2_net_address (str): server2NetAddress *Optional*
        server2_send_port (int): server2SendPort
        server2_retrieve_port (int): server2RetrievePort
        shared_secret (str): sharedSecret *Optional*
        retransmission_delay_milli_seconds (int): retransmissionDelayMilliSeconds
        max_transmissions (int): maxTransmissions
        soap_timeout_seconds (int): soapTimeoutSeconds
        use_dbs (bool): useDBS
        max_non_paged_response_size (int): maxNonPagedResponseSize
        ecl_query_application_url (str): eclQueryApplicationURL *Optional*
        ecl_query_data_repository_url (str): eclQueryDataRepositoryURL *Optional*
    """

    __slots__: List[str] = [
        "is_send_enabled",
        "server1_net_address",
        "server1_send_port",
        "server1_retrieve_port",
        "server2_net_address",
        "server2_send_port",
        "server2_retrieve_port",
        "shared_secret",
        "retransmission_delay_milli_seconds",
        "max_transmissions",
        "soap_timeout_seconds",
        "use_dbs",
        "max_non_paged_response_size",
        "ecl_query_application_url",
        "ecl_query_data_repository_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_send_enabled", "isSendEnabled", bool, is_required=True),
            E("server1_net_address", "server1NetAddress", str),
            E("server1_send_port", "server1SendPort", int, is_required=True),
            E("server1_retrieve_port", "server1RetrievePort", int, is_required=True),
            E("server2_net_address", "server2NetAddress", str),
            E("server2_send_port", "server2SendPort", int, is_required=True),
            E("server2_retrieve_port", "server2RetrievePort", int, is_required=True),
            E("shared_secret", "sharedSecret", str),
            E(
                "retransmission_delay_milli_seconds",
                "retransmissionDelayMilliSeconds",
                int,
                is_required=True,
            ),
            E("max_transmissions", "maxTransmissions", int, is_required=True),
            E("soap_timeout_seconds", "soapTimeoutSeconds", int, is_required=True),
            E("use_dbs", "useDBS", bool, is_required=True),
            E(
                "max_non_paged_response_size",
                "maxNonPagedResponseSize",
                int,
                is_required=True,
            ),
            E("ecl_query_application_url", "eclQueryApplicationURL", str),
            E("ecl_query_data_repository_url", "eclQueryDataRepositoryURL", str),
        )


class SystemEnhancedCallLogsGetResponse22(OCIResponse):
    """
    Replaced By `SystemEnhancedCallLogsGetResponse24()`.

    Response to `SystemEnhancedCallLogsGetRequest22()`.

    Attributes:
        max_non_paged_response_size (int): maxNonPagedResponseSize
        ecl_query_application_url (str): eclQueryApplicationURL *Optional*
        ecl_query_data_repository_url (str): eclQueryDataRepositoryURL *Optional*
    """

    __slots__: List[str] = [
        "max_non_paged_response_size",
        "ecl_query_application_url",
        "ecl_query_data_repository_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_non_paged_response_size",
                "maxNonPagedResponseSize",
                int,
                is_required=True,
            ),
            E("ecl_query_application_url", "eclQueryApplicationURL", str),
            E("ecl_query_data_repository_url", "eclQueryDataRepositoryURL", str),
        )


class SystemEnhancedCallLogsGetResponse22V2(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsGetRequest22V2()`.


    Attributes:
        default_schema (str): defaultSchema *Optional*
        max_non_paged_response_size (int): maxNonPagedResponseSize
        ecl_query_application_url (str): eclQueryApplicationURL *Optional*
        ecl_query_data_repository_url (str): eclQueryDataRepositoryURL *Optional*
    """

    __slots__: List[str] = [
        "default_schema",
        "max_non_paged_response_size",
        "ecl_query_application_url",
        "ecl_query_data_repository_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_schema", "defaultSchema", str),
            E(
                "max_non_paged_response_size",
                "maxNonPagedResponseSize",
                int,
                is_required=True,
            ),
            E("ecl_query_application_url", "eclQueryApplicationURL", str),
            E("ecl_query_data_repository_url", "eclQueryDataRepositoryURL", str),
        )


class SystemEnhancedCallLogsSchemaInstanceGetListResponse(OCIResponse):
    """
    Response to `SystemEnhancedCallLogsSchemaInstanceGetListRequest()`.

    Contains a table with column headings: "Instance Name", "Actual Users", "Potential
    Users".

    Attributes:
        schema_instance_usage_table (List(schemaInstanceUsageTable)):
            schemaInstanceUsageTable - *Table* array of schemaInstanceUsageTable named
            tuples
    """

    __slots__: List[str] = [
        "schema_instance_usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schema_instance_usage_table",
                "schemaInstanceUsageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemEnterpriseTrunkGetResponse(OCIResponse):
    """
    Response to `SystemEnterpriseTrunkGetRequest()`.


    Attributes:
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (str): holdoverPeriod
        time_zone_offset_minutes (str): timeZoneOffsetMinutes
    """

    __slots__: List[str] = [
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", str, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                str,
                is_required=True,
            ),
        )


class SystemExecutiveGetResponse(OCIResponse):
    """
    Response to `SystemExecutiveGetRequest()`.


    Attributes:
        treat_virtual_on_net_calls_as_internal (bool): treatVirtualOnNetCallsAsInternal
    """

    __slots__: List[str] = [
        "treat_virtual_on_net_calls_as_internal",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treat_virtual_on_net_calls_as_internal",
                "treatVirtualOnNetCallsAsInternal",
                bool,
                is_required=True,
            ),
        )


class SystemExpensiveCallNotificationGetResponse(OCIResponse):
    """
    Response to `SystemExpensiveCallNotificationGetRequest()`.


    Attributes:
        enable_post_announcement_delay_timer (bool): enablePostAnnouncementDelayTimer
        post_announcement_delay_seconds (int): postAnnouncementDelaySeconds
    """

    __slots__: List[str] = [
        "enable_post_announcement_delay_timer",
        "post_announcement_delay_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_post_announcement_delay_timer",
                "enablePostAnnouncementDelayTimer",
                bool,
                is_required=True,
            ),
            E(
                "post_announcement_delay_seconds",
                "postAnnouncementDelaySeconds",
                int,
                is_required=True,
            ),
        )


class SystemExpensiveCallTypeGetListResponse(OCIResponse):
    """
    Response to `SystemExpensiveCallTypeGetListRequest()`.

    Replaced by: `SystemExpensiveCallTypeGetListResponse16sp1()`

    Attributes:
        alternate_call_indicator (List[str]): alternateCallIndicator *Optional*
    """

    __slots__: List[str] = [
        "alternate_call_indicator",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("alternate_call_indicator", "alternateCallIndicator", str, is_array=True),
        )


class SystemExpensiveCallTypeGetListResponse16sp1(OCIResponse):
    """
    Response to `SystemExpensiveCallTypeGetListRequest16sp1()`.

    The column headings are: "Alternate Call Indicator", "Treatment Audio File".

    Attributes:
        alternate_call_indicator_table (List(alternateCallIndicatorTable)):
            alternateCallIndicatorTable - *Table* array of alternateCallIndicatorTable
            named tuples
    """

    __slots__: List[str] = [
        "alternate_call_indicator_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alternate_call_indicator_table",
                "alternateCallIndicatorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemExtensionLengthGetResponse(OCIResponse):
    """
    Response to `SystemExtensionLengthGetRequest()`.


    Attributes:
        min_extension_length (int): minExtensionLength
        max_extension_length (int): maxExtensionLength
    """

    __slots__: List[str] = [
        "min_extension_length",
        "max_extension_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("min_extension_length", "minExtensionLength", int, is_required=True),
            E("max_extension_length", "maxExtensionLength", int, is_required=True),
        )


class SystemExternalAuthenticationGetACLListResponse(OCIResponse):
    """
    Response to `SystemExternalAuthenticationGetACLListRequest()`.

    The table columns are: "Net Address" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemExternalEmergencyRoutingParametersGetResponse13mp13(OCIResponse):
    """
    Response to `SystemExternalEmergencyRoutingParametersGetRequest13mp13()`.

    Contains a list of system External Emergency Routing parameters.

    Attributes:
        service_uri (str): serviceURI *Optional*
        default_emergency_number (str): defaultEmergencyNumber *Optional*
        is_active (bool): isActive
        supports_dnssrv (bool): supportsDNSSRV
        connection_timeout_seconds (int): connectionTimeoutSeconds
    """

    __slots__: List[str] = [
        "service_uri",
        "default_emergency_number",
        "is_active",
        "supports_dnssrv",
        "connection_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_uri", "serviceURI", str),
            E("default_emergency_number", "defaultEmergencyNumber", str),
            E("is_active", "isActive", bool, is_required=True),
            E("supports_dnssrv", "supportsDNSSRV", bool, is_required=True),
            E(
                "connection_timeout_seconds",
                "connectionTimeoutSeconds",
                int,
                is_required=True,
            ),
        )


class SystemFaxMessagingGetResponse(OCIResponse):
    """
    Response to `SystemFAXMessagingGetRequest()`.

    The following elements are only used in AS data mode: statusDurationHours
    statusAuditIntervalHours

    Attributes:
        status_duration_hours (int): statusDurationHours
        status_audit_interval_hours (int): statusAuditIntervalHours
        maximum_concurrent_faxes_per_user (int): maximumConcurrentFaxesPerUser
    """

    __slots__: List[str] = [
        "status_duration_hours",
        "status_audit_interval_hours",
        "maximum_concurrent_faxes_per_user",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("status_duration_hours", "statusDurationHours", int, is_required=True),
            E(
                "status_audit_interval_hours",
                "statusAuditIntervalHours",
                int,
                is_required=True,
            ),
            E(
                "maximum_concurrent_faxes_per_user",
                "maximumConcurrentFaxesPerUser",
                int,
                is_required=True,
            ),
        )


class SystemFileGetContentResponse(OCIResponse):
    """
    Response to a `SystemFileGetContentRequest()`.

    The fileContent length returned is limited to 128KBytes.

    Attributes:
        file_content (str): fileContent
    """

    __slots__: List[str] = [
        "file_content",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("file_content", "fileContent", str, is_required=True),)


class SystemFileRepositoryDeviceGetListResponse(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceGetListRequest()`.

    Contains a table with column headings : "Name","Protocol", "Root Directory", "Extended
    File Capture Support" in a row for each file repository.

    Attributes:
        file_repository_table (List(fileRepositoryTable)): fileRepositoryTable - *Table*
            array of fileRepositoryTable named tuples
    """

    __slots__: List[str] = [
        "file_repository_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_table",
                "fileRepositoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemFileRepositoryDeviceUserGetListResponse(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceUserGetListRequest()`.

    Contains a table with column headings : "User Name","Allow Get","Allow Delete","Allow
    Put" in a row for each file repository user.

    Attributes:
        file_repository_user_table (List(fileRepositoryUserTable)):
            fileRepositoryUserTable - *Table* array of fileRepositoryUserTable named
            tuples
    """

    __slots__: List[str] = [
        "file_repository_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_repository_user_table",
                "fileRepositoryUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemFileRepositoryDeviceUserGetResponse(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceUserGetRequest()`.


    Attributes:
        allow_put (bool): allowPut
        allow_delete (bool): allowDelete
        allow_get (bool): allowGet
    """

    __slots__: List[str] = [
        "allow_put",
        "allow_delete",
        "allow_get",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_put", "allowPut", bool, is_required=True),
            E("allow_delete", "allowDelete", bool, is_required=True),
            E("allow_get", "allowGet", bool, is_required=True),
        )


class SystemGETSAvpCodeMapGetListResponse(OCIResponse):
    """
    Response to `SystemGETSAvpCodeMapGetListRequest()`.

    The table columns are: "AVP Code" and "Vendor ID".

    Attributes:
        avp_code_table (List(avpCodeTable)): avpCodeTable - *Table* array of avpCodeTable
            named tuples
    """

    __slots__: List[str] = [
        "avp_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "avp_code_table",
                "avpCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGETSGetResponse(OCIResponse):
    """
    Response to `SystemGETSGetRequest()`.


    Attributes:
        enabled (bool): enabled
        enable_require_resource_priority (bool): enableRequireResourcePriority
        send_access_resource_priority (bool): sendAccessResourcePriority
        call_identifier_mode (str): callIdentifierMode
        default_priority_avp (int): defaultPriorityAVP
        signaling_dscp (int): signalingDSCP
        default_r_value (str): defaultRValue
        bypass_ro_release (bool): bypassRoRelease
    """

    __slots__: List[str] = [
        "enabled",
        "enable_require_resource_priority",
        "send_access_resource_priority",
        "call_identifier_mode",
        "default_priority_avp",
        "signaling_dscp",
        "default_r_value",
        "bypass_ro_release",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enabled", "enabled", bool, is_required=True),
            E(
                "enable_require_resource_priority",
                "enableRequireResourcePriority",
                bool,
                is_required=True,
            ),
            E(
                "send_access_resource_priority",
                "sendAccessResourcePriority",
                bool,
                is_required=True,
            ),
            E("call_identifier_mode", "callIdentifierMode", str, is_required=True),
            E("default_priority_avp", "defaultPriorityAVP", int, is_required=True),
            E("signaling_dscp", "signalingDSCP", int, is_required=True),
            E("default_r_value", "defaultRValue", str, is_required=True),
            E("bypass_ro_release", "bypassRoRelease", bool, is_required=True),
        )


class SystemGETSNumberGetListResponse(OCIResponse):
    """
    Response to `SystemGETSNumberGetListRequest()`.

    The table columns are: "Number", "Type" and "Description".

    Attributes:
        reserved_number_table (List(reservedNumberTable)): reservedNumberTable - *Table*
            array of reservedNumberTable named tuples
    """

    __slots__: List[str] = [
        "reserved_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "reserved_number_table",
                "reservedNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGETSReservedFeatureAccessCodeGetListResponse(OCIResponse):
    """
    Response to `SystemGETSReservedFeatureAccessCodeGetListRequest()`.

    The table columns are: "Code" and "Description".

    Attributes:
        reserved_code_table (List(reservedCodeTable)): reservedCodeTable - *Table* array
            of reservedCodeTable named tuples
    """

    __slots__: List[str] = [
        "reserved_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "reserved_code_table",
                "reservedCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGETSResourcePriorityGetListResponse(OCIResponse):
    """
    Response to `SystemGETSResourcePriorityGetListRequest()`.

    The table columns are: "Priority Value", "Priority Level" and "Priority Class".

    Attributes:
        resource_priority_table (List(resourcePriorityTable)): resourcePriorityTable -
            *Table* array of resourcePriorityTable named tuples
    """

    __slots__: List[str] = [
        "resource_priority_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "resource_priority_table",
                "resourcePriorityTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGETSSessionPriorityMapGetListResponse(OCIResponse):
    """
    Response to `SystemGETSSessionPriorityMapGetListRequest()`.

    The table columns are: "Priority Level" and "Session Priority Value".

    Attributes:
        session_priority_table (List(sessionPriorityTable)): sessionPriorityTable -
            *Table* array of sessionPriorityTable named tuples
    """

    __slots__: List[str] = [
        "session_priority_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "session_priority_table",
                "sessionPriorityTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGeographicRedundancyPeerSipConnectionMonitoringGetResponse(OCIResponse):
    """
    Response to `SystemGeographicRedundancyPeerSipConnectionMonitoringGetRequest()`.

    Contains a list of Peer SIP Connection Monitoring system parameters.

    Attributes:
        enabled (bool): enabled
        heartbeat_interval (int): heartbeatInterval
        heartbeat_timeout (int): heartbeatTimeout
    """

    __slots__: List[str] = [
        "enabled",
        "heartbeat_interval",
        "heartbeat_timeout",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enabled", "enabled", bool, is_required=True),
            E("heartbeat_interval", "heartbeatInterval", int, is_required=True),
            E("heartbeat_timeout", "heartbeatTimeout", int, is_required=True),
        )


class SystemGeographicRedundancyProxyGetResponse(OCIResponse):
    """
    Response to `SystemGeographicRedundancyProxyGetRequest()`.

    Contains a list of Geographic Redundancy Proxy system parameters.

    Attributes:
        enabled (bool): enabled
    """

    __slots__: List[str] = [
        "enabled",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("enabled", "enabled", bool, is_required=True),)


class SystemGeographicRedundancyUnreachableFromPrimaryGetUserListResponse(OCIResponse):
    """
    Response to `SystemGeographicRedundancyUnreachableFromPrimaryGetUserListRequest()`.

    The Unreachable From Primary User table column headings are: "User ID", "Lineport".
    Replaced by: `SystemGeographicRedundancyUnreachableFromPrimaryGetUserListResponse22()`
    in AS data mode

    Attributes:
        unreachable_from_primary_user_table (List(unreachableFromPrimaryUserTable)):
            unreachableFromPrimaryUserTable - *Table* array of
            unreachableFromPrimaryUserTable named tuples
    """

    __slots__: List[str] = [
        "unreachable_from_primary_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "unreachable_from_primary_user_table",
                "unreachableFromPrimaryUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGeographicRedundancyUnreachableFromPrimaryGetUserListResponse22(
    OCIResponse,
):
    """
    Response to `SystemGeographicRedundancyUnreachableFromPrimaryGetUserListRequest22()`.

    The Unreachable From Primary User table column headings are: "User ID", "Lineport".
    The optional totalNumberOfUnreachableFromPrimaryUsers is returned only when the
    userListSizeLimit is set in the request and if the total number of unreachable from
    primary users is greater than the value of userListSizeLimit.

    Attributes:
        unreachable_from_primary_user_table (List(unreachableFromPrimaryUserTable)):
            unreachableFromPrimaryUserTable - *Table* array of
            unreachableFromPrimaryUserTable named tuples
        total_number_of_unreachable_from_primary_users (int):
            totalNumberOfUnreachableFromPrimaryUsers *Optional*
    """

    __slots__: List[str] = [
        "unreachable_from_primary_user_table",
        "total_number_of_unreachable_from_primary_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "unreachable_from_primary_user_table",
                "unreachableFromPrimaryUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "total_number_of_unreachable_from_primary_users",
                "totalNumberOfUnreachableFromPrimaryUsers",
                int,
            ),
        )


class SystemGetRegistrationContactListResponse(OCIResponse):
    """
    Response to `SystemGetRegistrationContactListRequest()`.

    The table columns are: "Service Provider Id", "Group Id", "User Id", "Line/Port",
    "Endpoint Type", "Order", "URI", "Expiration", "Contact", "Device Level", "Device
    Name", "Public Net Address", "Public Port", "Private Net Address", "Private Port",
    "User Agent", "Reseller Id". The following columns are only returned in AS data mode:
    "Reseller Id"

    Attributes:
        registration_table (List(registrationTable)): registrationTable - *Table* array of
            registrationTable named tuples
    """

    __slots__: List[str] = [
        "registration_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "registration_table",
                "registrationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGetRegistrationContactListResponse21sp1(OCIResponse):
    """
    Response to `SystemGetRegistrationContactListRequest()`.

    The table columns are: "Service Provider Id", "Group Id", "User Id", "Line/Port",
    "Endpoint Type", "Order", "URI", "Expiration", "Contact", "Device Level", "Device
    Name", "Public Net Address", "Public Port", "Private Net Address", "Private Port",
    "User Agent", "Reseller Id", "Path Header". The Endpoint Type column contains one of
    the enumerated RegistrationEndpointType21sp1 values.  The value Mobility in Endpoint
    Type column is only applicable in AS data mode.  The following columns are only
    returned in AS data mode: "Reseller Id"

    Attributes:
        registration_table (List(registrationTable)): registrationTable - *Table* array of
            registrationTable named tuples
    """

    __slots__: List[str] = [
        "registration_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "registration_table",
                "registrationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemGroupNightForwardingGetResponse(OCIResponse):
    """
    Response to `SystemGroupNightForwardingGetRequest()`.


    Attributes:
        night_forward_inter_group_calls_within_enterprise (bool):
            nightForwardInterGroupCallsWithinEnterprise
    """

    __slots__: List[str] = [
        "night_forward_inter_group_calls_within_enterprise",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "night_forward_inter_group_calls_within_enterprise",
                "nightForwardInterGroupCallsWithinEnterprise",
                bool,
                is_required=True,
            ),
        )


class SystemHPBXAlternateCarrierSelectionGetCarrierListResponse(OCIResponse):
    """
    Response to the `SystemHPBXAlternateCarrierSelectionGetCarrierListRequest()`.

    Contains a table with column headings: "Carrier Name", "Carrier Prefix", "Carrier
    Domain", "Carrier Type" The possible values for Carrier Type are "Local And Distant"
    and "Distant".

    Attributes:
        hpbx_alternate_carriers_table (List(HPBXAlternateCarriersTable)):
            HPBXAlternateCarriersTable - *Table* array of HPBXAlternateCarriersTable named
            tuples
    """

    __slots__: List[str] = [
        "hpbx_alternate_carriers_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "hpbx_alternate_carriers_table",
                "HPBXAlternateCarriersTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemHPBXMobileTerminationGetResponse(OCIResponse):
    """
    Response to the `SystemHPBXMobileTerminationGetRequest()`.

    Contains the hPBX mobile termination related configuration parameters.

    Attributes:
        routing_prefix (str): routingPrefix *Optional*
    """

    __slots__: List[str] = [
        "routing_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("routing_prefix", "routingPrefix", str),)


class SystemHolidayScheduleGetListResponse(OCIResponse):
    """
    Response to the `SystemHolidayScheduleGetListRequest()`.

    The response contains all the system holiday schedule names.

    Attributes:
        holiday_schedule_name (List[str]): holidayScheduleName *Optional*
    """

    __slots__: List[str] = [
        "holiday_schedule_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("holiday_schedule_name", "holidayScheduleName", str, is_array=True),)


class SystemHomeNetworkGetListResponse(OCIResponse):
    """
    Response to the `SystemHomeNetworkGetListRequest()`.


    Attributes:
        msc_address (List[str]): mscAddress *Optional*
    """

    __slots__: List[str] = [
        "msc_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("msc_address", "mscAddress", str, is_array=True),)


class SystemHuntGroupGetResponse(OCIResponse):
    """
    Response to `SystemHuntGroupGetRequest()`.

    Replaced by: `SystemHuntGroupGetResponse17()`

    Attributes:
        anonymous_instead_of_private_clid (bool): anonymousInsteadOfPrivateCLID
        remove_hunt_group_name_from_clid (bool): removeHuntGroupNameFromCLID
    """

    __slots__: List[str] = [
        "anonymous_instead_of_private_clid",
        "remove_hunt_group_name_from_clid",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "anonymous_instead_of_private_clid",
                "anonymousInsteadOfPrivateCLID",
                bool,
                is_required=True,
            ),
            E(
                "remove_hunt_group_name_from_clid",
                "removeHuntGroupNameFromCLID",
                bool,
                is_required=True,
            ),
        )


class SystemHuntGroupGetResponse17(OCIResponse):
    """
    Response to `SystemHuntGroupGetRequest()`.

    Replaced by: `SystemHuntGroupGetResponse21()` in AS data mode

    Attributes:
        anonymous_instead_of_private_clid (bool): anonymousInsteadOfPrivateCLID
        remove_hunt_group_name_from_clid (bool): removeHuntGroupNameFromCLID
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
    """

    __slots__: List[str] = [
        "anonymous_instead_of_private_clid",
        "remove_hunt_group_name_from_clid",
        "uniform_call_distribution_policy_scope",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "anonymous_instead_of_private_clid",
                "anonymousInsteadOfPrivateCLID",
                bool,
                is_required=True,
            ),
            E(
                "remove_hunt_group_name_from_clid",
                "removeHuntGroupNameFromCLID",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
        )


class SystemHuntGroupGetResponse21(OCIResponse):
    """
    Response to `SystemHuntGroupGetRequest21()`.


    Attributes:
        remove_hunt_group_name_from_clid (bool): removeHuntGroupNameFromCLID
        uniform_call_distribution_policy_scope (str): uniformCallDistributionPolicyScope
        allow_agent_device_initiated_forward (bool): allowAgentDeviceInitiatedForward
    """

    __slots__: List[str] = [
        "remove_hunt_group_name_from_clid",
        "uniform_call_distribution_policy_scope",
        "allow_agent_device_initiated_forward",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "remove_hunt_group_name_from_clid",
                "removeHuntGroupNameFromCLID",
                bool,
                is_required=True,
            ),
            E(
                "uniform_call_distribution_policy_scope",
                "uniformCallDistributionPolicyScope",
                str,
                is_required=True,
            ),
            E(
                "allow_agent_device_initiated_forward",
                "allowAgentDeviceInitiatedForward",
                bool,
                is_required=True,
            ),
        )


class SystemInCallServiceActivationGetResponse(OCIResponse):
    """
    Response to `SystemInCallServiceActivationGetRequest()`.

    Replaced by: `SystemInCallServiceActivationGetResponse17()`

    Attributes:
        default_activation_digits (str): defaultActivationDigits
    """

    __slots__: List[str] = [
        "default_activation_digits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "default_activation_digits",
                "defaultActivationDigits",
                str,
                is_required=True,
            ),
        )


class SystemInCallServiceActivationGetResponse17(OCIResponse):
    """
    Response to `SystemInCallServiceActivationGetRequest17()`.


    Attributes:
        default_flash_activation_digits (str): defaultFlashActivationDigits
        default_call_transfer_activation_digits (str): defaultCallTransferActivationDigits
    """

    __slots__: List[str] = [
        "default_flash_activation_digits",
        "default_call_transfer_activation_digits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "default_flash_activation_digits",
                "defaultFlashActivationDigits",
                str,
                is_required=True,
            ),
            E(
                "default_call_transfer_activation_digits",
                "defaultCallTransferActivationDigits",
                str,
                is_required=True,
            ),
        )


class SystemIntegratedIMPGetResponse(OCIResponse):
    """
    Response to the `SystemIntegratedIMPGetRequest()`.

    The response contains the system Integrated IMP service attributes.  Replaced by
    `SystemIntegratedIMPGetResponse19()`.

    Attributes:
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        add_service_provider_in_imp_user_id (bool): addServiceProviderInIMPUserId
    """

    __slots__: List[str] = [
        "service_domain",
        "service_port",
        "add_service_provider_in_imp_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "add_service_provider_in_imp_user_id",
                "addServiceProviderInIMPUserId",
                bool,
                is_required=True,
            ),
        )


class SystemIntegratedIMPGetResponse19(OCIResponse):
    """
    Response to the `SystemIntegratedIMPGetRequest19()`.

    The response contains the system Integrated IMP service attributes.  The following
    elements are only used in AS data mode and not returned in XS data mode: boshURL
    Replaced by: `SystemIntegratedIMPGetResponse21()` in AS data mode

    Attributes:
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        add_service_provider_in_imp_user_id (bool): addServiceProviderInIMPUserId
        bosh_url (str): boshURL *Optional*
    """

    __slots__: List[str] = [
        "service_domain",
        "service_port",
        "add_service_provider_in_imp_user_id",
        "bosh_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "add_service_provider_in_imp_user_id",
                "addServiceProviderInIMPUserId",
                bool,
                is_required=True,
            ),
            E("bosh_url", "boshURL", str),
        )


class SystemIntegratedIMPGetResponse21(OCIResponse):
    """
    Response to the `SystemIntegratedIMPGetRequest21()`.

    The response contains the system Integrated IMP service attributes.  The following
    elements are only used in AS data mode: boshURL

    Attributes:
        service_domain (str): serviceDomain *Optional*
        service_port (int): servicePort *Optional*
        add_service_provider_in_imp_user_id (bool): addServiceProviderInIMPUserId
        bosh_url (str): boshURL *Optional*
        allow_imp_password_retrieval (bool): allowImpPasswordRetrieval
    """

    __slots__: List[str] = [
        "service_domain",
        "service_port",
        "add_service_provider_in_imp_user_id",
        "bosh_url",
        "allow_imp_password_retrieval",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_domain", "serviceDomain", str),
            E("service_port", "servicePort", int),
            E(
                "add_service_provider_in_imp_user_id",
                "addServiceProviderInIMPUserId",
                bool,
                is_required=True,
            ),
            E("bosh_url", "boshURL", str),
            E(
                "allow_imp_password_retrieval",
                "allowImpPasswordRetrieval",
                bool,
                is_required=True,
            ),
        )


class SystemInterceptUserGetResponse(OCIResponse):
    """
    Response to the `SystemInterceptUserGetRequest()`.


    Attributes:
        emergency_and_repair_intercept (bool): emergencyAndRepairIntercept
    """

    __slots__: List[str] = [
        "emergency_and_repair_intercept",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "emergency_and_repair_intercept",
                "emergencyAndRepairIntercept",
                bool,
                is_required=True,
            ),
        )


class SystemInventoryReportGetResponse(OCIResponse):
    """
    Response to `SystemInventoryReportGetRequest()`.


    Attributes:
        default_from_address (str): defaultFromAddress
    """

    __slots__: List[str] = [
        "default_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("default_from_address", "defaultFromAddress", str, is_required=True),)


class SystemLanguageGetListResponse(OCIResponse):
    """
    Response to `SystemLanguageGetListRequest()`.

    The language table column headings are: "Language", "Locale" and "Encoding".

    Attributes:
        default_language (str): defaultLanguage
        language_table (List(languageTable)): languageTable - *Table* array of
            languageTable named tuples
    """

    __slots__: List[str] = [
        "default_language",
        "language_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_language", "defaultLanguage", str, is_required=True),
            E(
                "language_table",
                "languageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemLegacyAutomaticCallbackGetLineTypeListResponse(OCIResponse):
    """
    Response to `SystemLegacyAutomaticCallbackGetLineTypeListRequest()`.

    Returns a 3 column table with column headings: "Line Type", "Match" and "No Match".
    The possible values for the "Match" and "No Match" columns are "Accept" and "Deny".

    Attributes:
        line_type_table (List(lineTypeTable)): lineTypeTable - *Table* array of
            lineTypeTable named tuples
    """

    __slots__: List[str] = [
        "line_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "line_type_table",
                "lineTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemLegacyAutomaticCallbackGetResponse(OCIResponse):
    """
    Response to `SystemLegacyAutomaticCallbackGetRequest()`.


    Attributes:
        max_monitors_per_originator (int): maxMonitorsPerOriginator
        max_monitors_per_terminator (int): maxMonitorsPerTerminator
        t2_minutes (int): t2Minutes
        t4_seconds (int): t4Seconds
        t5_seconds (int): t5Seconds
        t6_minutes (int): t6Minutes
        t7_minutes (int): t7Minutes
        t8_seconds (int): t8Seconds
        t_ring_seconds (int): tRingSeconds
        t10_o_minutes (int): t10OMinutes
        t10_t_minutes (int): t10TMinutes
    """

    __slots__: List[str] = [
        "max_monitors_per_originator",
        "max_monitors_per_terminator",
        "t2_minutes",
        "t4_seconds",
        "t5_seconds",
        "t6_minutes",
        "t7_minutes",
        "t8_seconds",
        "t_ring_seconds",
        "t10_o_minutes",
        "t10_t_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_monitors_per_originator",
                "maxMonitorsPerOriginator",
                int,
                is_required=True,
            ),
            E(
                "max_monitors_per_terminator",
                "maxMonitorsPerTerminator",
                int,
                is_required=True,
            ),
            E("t2_minutes", "t2Minutes", int, is_required=True),
            E("t4_seconds", "t4Seconds", int, is_required=True),
            E("t5_seconds", "t5Seconds", int, is_required=True),
            E("t6_minutes", "t6Minutes", int, is_required=True),
            E("t7_minutes", "t7Minutes", int, is_required=True),
            E("t8_seconds", "t8Seconds", int, is_required=True),
            E("t_ring_seconds", "tRingSeconds", int, is_required=True),
            E("t10_o_minutes", "t10OMinutes", int, is_required=True),
            E("t10_t_minutes", "t10TMinutes", int, is_required=True),
        )


class SystemLicensingGetResponse(OCIResponse):
    """
    Response to `SystemLicensingGetRequest()`.

    The license table columns are: "Name", "Licensed", "Used", "Available" and "Expiration
    Date".

    Replaced By: `SystemLicensingGetResponse14sp3()`

    Attributes:
        license_strictness (str): licenseStrictness
        group_userlimit (int): groupUserlimit
        expiration_date (str): expirationDate *Optional*
        host_id (List[str]): hostId *Optional*
        license_name (List[str]): licenseName *Optional*
        license_table (List(licenseTable)): licenseTable - *Table* array of licenseTable
            named tuples
    """

    __slots__: List[str] = [
        "license_strictness",
        "group_userlimit",
        "expiration_date",
        "host_id",
        "license_name",
        "license_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("license_strictness", "licenseStrictness", str, is_required=True),
            E("group_userlimit", "groupUserlimit", int, is_required=True),
            E("expiration_date", "expirationDate", str),
            E("host_id", "hostId", str, is_array=True),
            E("license_name", "licenseName", str, is_array=True),
            E(
                "license_table",
                "licenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemLicensingGetResponse14sp3(OCIResponse):
    """
    Response to `SystemLicensingGetRequest14sp3()`.

    The subscriber license table columns are: "Name", "Licensed", "Used" and "Available".
    The group service license table columns are: "Name", "Licensed", "Used" and
    "Available". The virtual service license table columns are: "Name", "Licensed", "Used"
    and "Available". The user service license table columns are: "Name", "Licensed",
    "Used", "Available", "Used By Hosted Users", "Used By Trunk Users", and "Expiration
    Date". The system param license table columns are: "Name", "Licensed", "Used",
    Available".

    Attributes:
        license_strictness (str): licenseStrictness
        group_userlimit (int): groupUserlimit
        expiration_date (str): expirationDate *Optional*
        host_id (List[str]): hostId *Optional*
        license_name (List[str]): licenseName *Optional*
        number_of_trunk_users (int): numberOfTrunkUsers
        subscriber_license_table (List(subscriberLicenseTable)): subscriberLicenseTable -
            *Table* array of subscriberLicenseTable named tuples
        group_service_license_table (List(groupServiceLicenseTable)):
            groupServiceLicenseTable - *Table* array of groupServiceLicenseTable named
            tuples
        virtual_service_license_table (List(virtualServiceLicenseTable)):
            virtualServiceLicenseTable - *Table* array of virtualServiceLicenseTable named
            tuples
        user_service_license_table (List(userServiceLicenseTable)):
            userServiceLicenseTable - *Table* array of userServiceLicenseTable named
            tuples
        system_param_license_table (List(systemParamLicenseTable)):
            systemParamLicenseTable - *Table* array of systemParamLicenseTable named
            tuples
    """

    __slots__: List[str] = [
        "license_strictness",
        "group_userlimit",
        "expiration_date",
        "host_id",
        "license_name",
        "number_of_trunk_users",
        "subscriber_license_table",
        "group_service_license_table",
        "virtual_service_license_table",
        "user_service_license_table",
        "system_param_license_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("license_strictness", "licenseStrictness", str, is_required=True),
            E("group_userlimit", "groupUserlimit", int, is_required=True),
            E("expiration_date", "expirationDate", str),
            E("host_id", "hostId", str, is_array=True),
            E("license_name", "licenseName", str, is_array=True),
            E("number_of_trunk_users", "numberOfTrunkUsers", int, is_required=True),
            E(
                "subscriber_license_table",
                "subscriberLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "group_service_license_table",
                "groupServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "virtual_service_license_table",
                "virtualServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_service_license_table",
                "userServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "system_param_license_table",
                "systemParamLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemLicensingGetResponse21sp1(OCIResponse):
    """
    Response to `SystemLicensingGetRequest21sp1()`.

    The subscriber license table columns are: "Name", "Licensed", "Used" and "Available".
    The group service license table columns are: "Name", "Licensed", "Used" and
    "Available". The virtual service license table columns are: "Name", "Licensed", "Used"
    and "Available". The user service license table columns are: "Name", "Licensed",
    "Used", "Available", "Used By Hosted Users", "Used By Trunk Users", and "Expiration
    Date". The system param license table columns are: "Name", "Licensed", "Used",
    Available".

    Attributes:
        license_strictness (str): licenseStrictness
        group_userlimit (int): groupUserlimit
        expiration_date (str): expirationDate *Optional*
        host_id (List[str]): hostId *Optional*
        license_name (List[str]): licenseName *Optional*
        number_of_trunk_users (int): numberOfTrunkUsers
        system_id (str): systemId *Optional*
        subscriber_license_table (List(subscriberLicenseTable)): subscriberLicenseTable -
            *Table* array of subscriberLicenseTable named tuples
        group_service_license_table (List(groupServiceLicenseTable)):
            groupServiceLicenseTable - *Table* array of groupServiceLicenseTable named
            tuples
        virtual_service_license_table (List(virtualServiceLicenseTable)):
            virtualServiceLicenseTable - *Table* array of virtualServiceLicenseTable named
            tuples
        user_service_license_table (List(userServiceLicenseTable)):
            userServiceLicenseTable - *Table* array of userServiceLicenseTable named
            tuples
        system_param_license_table (List(systemParamLicenseTable)):
            systemParamLicenseTable - *Table* array of systemParamLicenseTable named
            tuples
    """

    __slots__: List[str] = [
        "license_strictness",
        "group_userlimit",
        "expiration_date",
        "host_id",
        "license_name",
        "number_of_trunk_users",
        "system_id",
        "subscriber_license_table",
        "group_service_license_table",
        "virtual_service_license_table",
        "user_service_license_table",
        "system_param_license_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("license_strictness", "licenseStrictness", str, is_required=True),
            E("group_userlimit", "groupUserlimit", int, is_required=True),
            E("expiration_date", "expirationDate", str),
            E("host_id", "hostId", str, is_array=True),
            E("license_name", "licenseName", str, is_array=True),
            E("number_of_trunk_users", "numberOfTrunkUsers", int, is_required=True),
            E("system_id", "systemId", str),
            E(
                "subscriber_license_table",
                "subscriberLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "group_service_license_table",
                "groupServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "virtual_service_license_table",
                "virtualServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_service_license_table",
                "userServiceLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "system_param_license_table",
                "systemParamLicenseTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemLicensingGetSystemLicenseListResponse(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest()`.

    Replaced by: `SystemLicensingGetSystemLicenseListResponse21()` in AS data mode

    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLicensingGetSystemLicenseListResponse19sp1(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest19sp1()`.

    Replaced by: `SystemLicensingGetSystemLicenseListRequest21sp1()`.

    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLicensingGetSystemLicenseListResponse21(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest21()`.

    Replaced by: `SystemLicensingGetSystemLicenseListRequest21sp1()`.

    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLicensingGetSystemLicenseListResponse21sp1(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest21sp1()`.

    Replaced by: `SystemLicensingGetSystemLicenseListRequest22()`.

    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLicensingGetSystemLicenseListResponse22(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest22()`.

    Replaced by: `SystemLicensingGetSystemLicenseListResponse22V2()`.

    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLicensingGetSystemLicenseListResponse22V2(OCIResponse):
    """
    Response to `SystemLicensingGetSystemLicenseListRequest22V2()`.


    Attributes:
        license (List[str]): license *Optional*
    """

    __slots__: List[str] = [
        "license",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("license", "license", str, is_array=True),)


class SystemLocationBasedCallingRestrictionsGetResponse(OCIResponse):
    """
    Response to `SystemLocationBasedCallingRestrictionsGetRequest()`.

    Replaced by: `SystemLocationBasedCallingRestrictionsGetResponse17sp3()`

    Attributes:
        physical_location_indicator (str): physicalLocationIndicator
        enforce_msc_validation (bool): enforceMscValidation
        enable_office_zone_announcement (bool): enableOfficeZoneAnnouncement
    """

    __slots__: List[str] = [
        "physical_location_indicator",
        "enforce_msc_validation",
        "enable_office_zone_announcement",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "physical_location_indicator",
                "physicalLocationIndicator",
                str,
                is_required=True,
            ),
            E("enforce_msc_validation", "enforceMscValidation", bool, is_required=True),
            E(
                "enable_office_zone_announcement",
                "enableOfficeZoneAnnouncement",
                bool,
                is_required=True,
            ),
        )


class SystemLocationBasedCallingRestrictionsGetResponse17sp3(OCIResponse):
    """
    Response to `SystemLocationBasedCallingRestrictionsGetRequest17sp3()`.


    Attributes:
        physical_location_indicator (str): physicalLocationIndicator
        enforce_msc_validation (bool): enforceMscValidation
        enable_office_zone_announcement (bool): enableOfficeZoneAnnouncement
        enhance_office_zone (bool): enhanceOfficeZone
    """

    __slots__: List[str] = [
        "physical_location_indicator",
        "enforce_msc_validation",
        "enable_office_zone_announcement",
        "enhance_office_zone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "physical_location_indicator",
                "physicalLocationIndicator",
                str,
                is_required=True,
            ),
            E("enforce_msc_validation", "enforceMscValidation", bool, is_required=True),
            E(
                "enable_office_zone_announcement",
                "enableOfficeZoneAnnouncement",
                bool,
                is_required=True,
            ),
            E("enhance_office_zone", "enhanceOfficeZone", bool, is_required=True),
        )


class SystemMGCPDeviceTypeGetListResponse(OCIResponse):
    """
    Response to `SystemMGCPDeviceTypeGetListRequest()`.

    Contains a table of identity/ device profile types configured in the system.  The
    column headings are: "Device Type", "Profile", "Is Obsolete".

    Attributes:
        device_type_table (List(deviceTypeTable)): deviceTypeTable - *Table* array of
            deviceTypeTable named tuples
    """

    __slots__: List[str] = [
        "device_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_table",
                "deviceTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMailParametersGetResponse(OCIResponse):
    """
    Response to `SystemMailParametersGetListRequest()`.

    Contains a list of system Mail parameters.

    Attributes:
        primary_server_net_address (str): primaryServerNetAddress *Optional*
        secondary_server_net_address (str): secondaryServerNetAddress *Optional*
        default_from_address (str): defaultFromAddress
        default_subject (str): defaultSubject *Optional*
        support_dnssrv_for_mail_server_access (bool): supportDNSSRVForMailServerAccess
    """

    __slots__: List[str] = [
        "primary_server_net_address",
        "secondary_server_net_address",
        "default_from_address",
        "default_subject",
        "support_dnssrv_for_mail_server_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_server_net_address", "primaryServerNetAddress", str),
            E("secondary_server_net_address", "secondaryServerNetAddress", str),
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E("default_subject", "defaultSubject", str),
            E(
                "support_dnssrv_for_mail_server_access",
                "supportDNSSRVForMailServerAccess",
                bool,
                is_required=True,
            ),
        )


class SystemMailParametersGetResponse22(OCIResponse):
    """
    Response to `SystemMailParametersGetListRequest22()`.

    Contains a list of system Mail parameters.

    Attributes:
        primary_server_net_address (str): primaryServerNetAddress *Optional*
        secondary_server_net_address (str): secondaryServerNetAddress *Optional*
        default_from_address (str): defaultFromAddress
        default_subject (str): defaultSubject *Optional*
        support_dnssrv_for_mail_server_access (bool): supportDNSSRVForMailServerAccess
        secure_mode (str): secureMode
        port (int): port *Optional*
    """

    __slots__: List[str] = [
        "primary_server_net_address",
        "secondary_server_net_address",
        "default_from_address",
        "default_subject",
        "support_dnssrv_for_mail_server_access",
        "secure_mode",
        "port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_server_net_address", "primaryServerNetAddress", str),
            E("secondary_server_net_address", "secondaryServerNetAddress", str),
            E("default_from_address", "defaultFromAddress", str, is_required=True),
            E("default_subject", "defaultSubject", str),
            E(
                "support_dnssrv_for_mail_server_access",
                "supportDNSSRVForMailServerAccess",
                bool,
                is_required=True,
            ),
            E("secure_mode", "secureMode", str, is_required=True),
            E("port", "port", int),
        )


class SystemMaliciousCallTraceGetResponse(OCIResponse):
    """
    Response to the `SystemMaliciousCallTraceGetRequest()`.

    The response contains the Malicious Call Trace system parameters and the list of users
    that use the Malicious Call Trace feature.  The column headings are "Service Provider
    Id", "Group Id", "User Id", "Last Name", "First Name", "Phone Number", "Trace Type",
    "Status", "Hiragana Last Name" and "Hiragana First Name", "Extension", "Department",
    "Email Address".

    Attributes:
        play_mct_warning_announcement (bool): playMCTWarningAnnouncement
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "play_mct_warning_announcement",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "play_mct_warning_announcement",
                "playMCTWarningAnnouncement",
                bool,
                is_required=True,
            ),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMaliciousCallTraceGetUserListResponse(OCIResponse):
    """
    Response to `SystemMaliciousCallTraceGetUserListRequest()`.

    The column headings are "Service Provider Id", "Group Id", "User Id", "Last Name",
    "First Name", "Phone Number", "Trace Type", "Status", "Hiragana Last Name" and
    "Hiragana First Name".

    Replaced By: `SystemMaliciousCallTraceGetResponse()`

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMediaGetListResponse(OCIResponse):
    """
    Response to `SystemMediaGetListRequest()`.

    The column headings are "Media Name", "Codec", "Media Type", "Bandwidth Enforcement
    Type" and "Bandwidth".

    Attributes:
        media_table (List(mediaTable)): mediaTable - *Table* array of mediaTable named
            tuples
    """

    __slots__: List[str] = [
        "media_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_table",
                "mediaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMediaGroupCodecGetListResponse(OCIResponse):
    """
    Response to `SystemMediaGroupCodecGetListRequest()`.

    Contains a table of media assigned to the media group.  The column headings are:
    "Codec Name", "Codec Weight".

    Attributes:
        codec_table (List(codecTable)): codecTable - *Table* array of codecTable named
            tuples
    """

    __slots__: List[str] = [
        "codec_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "codec_table",
                "codecTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMediaGroupGetListResponse(OCIResponse):
    """
    Response to `SystemMediaGroupGetListRequest()`.

    The response includes an array of media groups defined in the system.

    Attributes:
        name (List[str]): name *Optional*
    """

    __slots__: List[str] = [
        "name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("name", "name", str, is_array=True),)


class SystemMediaGroupUsageListResponse(OCIResponse):
    """
    Response to `SystemMediaGroupUsageListRequest()`.

    Contains a table of SAC groups associated with the media group.  The column headings
    are: "SAC Group Name", "Organization Id", "Organization Type", and "Group Id". The
    "Group Id" will be empty for enterprise SAC groups.

    Attributes:
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMediaServerGetListResponse(OCIResponse):
    """
    Response to `SystemMediaServerGetListRequest()`.

    The Media Server table column headings are: "Net Address", "Port", "Transport",
    "Description".

    Attributes:
        media_server_table (List(mediaServerTable)): mediaServerTable - *Table* array of
            mediaServerTable named tuples
    """

    __slots__: List[str] = [
        "media_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_server_table",
                "mediaServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemMediaServerParametersGetResponse(OCIResponse):
    """
    Response to `SystemMediaServerParametersGetListRequest()`.

    Contains a list of system Media Server parameters.

    Attributes:
        media_server_response_timer_milliseconds (int):
            mediaServerResponseTimerMilliseconds
        media_server_selection_route_timer_milliseconds (int):
            mediaServerSelectionRouteTimerMilliseconds
        use_static_media_server_device (bool): useStaticMediaServerDevice
    """

    __slots__: List[str] = [
        "media_server_response_timer_milliseconds",
        "media_server_selection_route_timer_milliseconds",
        "use_static_media_server_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_server_response_timer_milliseconds",
                "mediaServerResponseTimerMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "media_server_selection_route_timer_milliseconds",
                "mediaServerSelectionRouteTimerMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "use_static_media_server_device",
                "useStaticMediaServerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemMediaSetGetListResponse(OCIResponse):
    """
    Response to `SystemMediaSetGetRequest()`.


    Attributes:
        media_set_name (List[str]): mediaSetName *Optional*
    """

    __slots__: List[str] = [
        "media_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("media_set_name", "mediaSetName", str, is_array=True),)


class SystemMediaSetGetResponse(OCIResponse):
    """
    Response to `SystemMediaSetGetRequest()`.

    Returns a list of media names in the set.

    Attributes:
        media_name (List[str]): mediaName
    """

    __slots__: List[str] = [
        "media_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("media_name", "mediaName", str, is_required=True, is_array=True),)


class SystemMeetMeConferencingGetResponse(OCIResponse):
    """
    Response to `SystemMeetMeConferencingGetRequest()`.

    Replaced by: `SystemMeetMeConferencingGetResponse17sp3()`

    Attributes:
        conference_id_length (int): conferenceIdLength
        moderator_pin_length (int): moderatorPinLength
        enable_conference_end_date_restriction (bool): enableConferenceEndDateRestriction
        conference_end_date_restriction_months (int): conferenceEndDateRestrictionMonths
        delete_expired_conferences_after_hold_period (bool):
            deleteExpiredConferencesAfterHoldPeriod
        expired_conference_hold_period_days (int): expiredConferenceHoldPeriodDays
        recording_web_app_url (str): recordingWebAppURL *Optional*
    """

    __slots__: List[str] = [
        "conference_id_length",
        "moderator_pin_length",
        "enable_conference_end_date_restriction",
        "conference_end_date_restriction_months",
        "delete_expired_conferences_after_hold_period",
        "expired_conference_hold_period_days",
        "recording_web_app_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id_length", "conferenceIdLength", int, is_required=True),
            E("moderator_pin_length", "moderatorPinLength", int, is_required=True),
            E(
                "enable_conference_end_date_restriction",
                "enableConferenceEndDateRestriction",
                bool,
                is_required=True,
            ),
            E(
                "conference_end_date_restriction_months",
                "conferenceEndDateRestrictionMonths",
                int,
                is_required=True,
            ),
            E(
                "delete_expired_conferences_after_hold_period",
                "deleteExpiredConferencesAfterHoldPeriod",
                bool,
                is_required=True,
            ),
            E(
                "expired_conference_hold_period_days",
                "expiredConferenceHoldPeriodDays",
                int,
                is_required=True,
            ),
            E("recording_web_app_url", "recordingWebAppURL", str),
        )


class SystemMeetMeConferencingGetResponse17sp3(OCIResponse):
    """
    Response to `SystemMeetMeConferencingGetRequest17sp3()`.

    Replaced by: `SystemMeetMeConferencingGetResponse18()`

    Attributes:
        conference_id_length (int): conferenceIdLength
        moderator_pin_length (int): moderatorPinLength
        enable_conference_end_date_restriction (bool): enableConferenceEndDateRestriction
        conference_end_date_restriction_months (int): conferenceEndDateRestrictionMonths
        delete_expired_conferences_after_hold_period (bool):
            deleteExpiredConferencesAfterHoldPeriod
        expired_conference_hold_period_days (int): expiredConferenceHoldPeriodDays
        recording_web_app_url (str): recordingWebAppURL *Optional*
        recording_file_format (str): recordingFileFormat
    """

    __slots__: List[str] = [
        "conference_id_length",
        "moderator_pin_length",
        "enable_conference_end_date_restriction",
        "conference_end_date_restriction_months",
        "delete_expired_conferences_after_hold_period",
        "expired_conference_hold_period_days",
        "recording_web_app_url",
        "recording_file_format",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id_length", "conferenceIdLength", int, is_required=True),
            E("moderator_pin_length", "moderatorPinLength", int, is_required=True),
            E(
                "enable_conference_end_date_restriction",
                "enableConferenceEndDateRestriction",
                bool,
                is_required=True,
            ),
            E(
                "conference_end_date_restriction_months",
                "conferenceEndDateRestrictionMonths",
                int,
                is_required=True,
            ),
            E(
                "delete_expired_conferences_after_hold_period",
                "deleteExpiredConferencesAfterHoldPeriod",
                bool,
                is_required=True,
            ),
            E(
                "expired_conference_hold_period_days",
                "expiredConferenceHoldPeriodDays",
                int,
                is_required=True,
            ),
            E("recording_web_app_url", "recordingWebAppURL", str),
            E("recording_file_format", "recordingFileFormat", str, is_required=True),
        )


class SystemMigratedUsersGetListResponse(OCIResponse):
    """
    Response to `SystemMigratedUsersGetListRequest()`.

    Replaced by: `SystemMigratedUsersGetListResponse22()` in AS data mode

    Attributes:
        user_id (List[str]): userId *Optional*
    """

    __slots__: List[str] = [
        "user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("user_id", "userId", str, is_array=True),)


class SystemMigratedUsersGetListResponse22(OCIResponse):
    """
    Response to `SystemMigratedUsersGetListRequest22()`.

    The optional totalNumberOfMigratedUsers is returned only when the userListSizeLimit is
    set in the request and if the total number of migrated users is greater than the value
    of userListSizeLimit.

    Attributes:
        user_id (List[str]): userId *Optional*
        total_number_of_migrated_users (int): totalNumberOfMigratedUsers *Optional*
    """

    __slots__: List[str] = [
        "user_id",
        "total_number_of_migrated_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id", "userId", str, is_array=True),
            E("total_number_of_migrated_users", "totalNumberOfMigratedUsers", int),
        )


class SystemMultimediaPolicyGetResponse(OCIResponse):
    """
    Response to `SystemMultimediaPolicyGetRequest()`

    Attributes:
        restrict_non_audio_video_media_types (bool): restrictNonAudioVideoMediaTypes
    """

    __slots__: List[str] = [
        "restrict_non_audio_video_media_types",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "restrict_non_audio_video_media_types",
                "restrictNonAudioVideoMediaTypes",
                bool,
                is_required=True,
            ),
        )


class SystemMusicOnHoldGetResponse(OCIResponse):
    """
    Response to `SystemMusicOnHoldGetRequest()`.


    Attributes:
        delay_milliseconds (int): delayMilliseconds
    """

    __slots__: List[str] = [
        "delay_milliseconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("delay_milliseconds", "delayMilliseconds", int, is_required=True),)


class SystemNetworkClassOfServiceGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to the `SystemNetworkClassOfServiceGetAssignedServiceProviderListRequest()`.

    The response contains a table of all Service Providers that have the given Network
    Class of Service assigned.  The column headings are "Service Provider Id", "Service
    Provider Name" and "Is Enterprise".

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNetworkClassOfServiceGetAssignedSystemVoicePortalListResponse(OCIResponse):
    """
    Response to the
    `SystemNetworkClassOfServiceGetAssignedSystemVoicePortalListRequest()`.

    The response contains a table of system voice portals that have the given Network
    Class of Service assigned.  The column headings are "System Voice Portal Id" and
    "Name".

    Attributes:
        system_voice_portal_table (List(systemVoicePortalTable)): systemVoicePortalTable -
            *Table* array of systemVoicePortalTable named tuples
    """

    __slots__: List[str] = [
        "system_voice_portal_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "system_voice_portal_table",
                "systemVoicePortalTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNetworkClassOfServiceGetCommunicationBarringProfileUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemNetworkClassOfServiceGetCommunicationBarringProfileUsageListRequest()`.

    The response contains a table of all Network Classes of Service that contain the
    specific Communication Barring Profile.  The column headings are "Name" and
    "Description"

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNetworkClassOfServiceGetListResponse(OCIResponse):
    """
    Response to the `SystemNetworkClassOfServiceGetListRequest()`.

    The response contains a table of all Network Classes of Service in the system.  The
    column headings are "Name" and "Description"

    Attributes:
        network_class_of_service_table (List(networkClassOfServiceTable)):
            networkClassOfServiceTable - *Table* array of networkClassOfServiceTable named
            tuples
    """

    __slots__: List[str] = [
        "network_class_of_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_class_of_service_table",
                "networkClassOfServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNetworkDeviceMonitorParametersGetResponse(OCIResponse):
    """
    Response to `SystemNetworkDeviceMonitorParametersGetListRequest()`.

    Contains a list of system Network Device Polling parameters.

    Attributes:
        polling_interval_minutes (int): pollingIntervalMinutes
        failed_polling_interval_minutes (int): failedPollingIntervalMinutes
    """

    __slots__: List[str] = [
        "polling_interval_minutes",
        "failed_polling_interval_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "polling_interval_minutes",
                "pollingIntervalMinutes",
                int,
                is_required=True,
            ),
            E(
                "failed_polling_interval_minutes",
                "failedPollingIntervalMinutes",
                int,
                is_required=True,
            ),
        )


class SystemNetworkProgressionGetResponse(OCIResponse):
    """
    Response to `SystemNetworkProgressionGetRequest()`.


    Attributes:
        is_active (bool): isActive
        wait_period_seconds (int): waitPeriodSeconds
    """

    __slots__: List[str] = [
        "is_active",
        "wait_period_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("wait_period_seconds", "waitPeriodSeconds", int, is_required=True),
        )


class SystemNetworkRoutingServerGetListResponse(OCIResponse):
    """
    Response to `SystemNetworkRoutingServerGetListRequest()`.

    The routing Network Server table column headings are: "Net Address", "Port",
    "Transport", "Poll", "OpState", "Description".

    Attributes:
        network_routing_server_table (List(networkRoutingServerTable)):
            networkRoutingServerTable - *Table* array of networkRoutingServerTable named
            tuples
    """

    __slots__: List[str] = [
        "network_routing_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "network_routing_server_table",
                "networkRoutingServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNetworkServerSyncParametersGetResponse(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetListRequest()`.

    Contains a list of system Network Server Sync parameters.

    Attributes:
        enable_sync (bool): enableSync
    """

    __slots__: List[str] = [
        "enable_sync",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("enable_sync", "enableSync", bool, is_required=True),)


class SystemNetworkServerSyncParametersGetResponse14sp2(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest14sp2()`.

    Contains a list of system Network Server Sync parameters.

    Replaced By: `SystemNetworkServerSyncParametersGetResponse16()`

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
        )


class SystemNetworkServerSyncParametersGetResponse16(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest16()`.

    Contains a list of system Network Server Sync parameters.

    Replaced By: `SystemNetworkServerSyncParametersGetResponse17sp4()`

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
        sync_device_management_info (bool): syncDeviceManagementInfo
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
        "sync_device_management_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
            E(
                "sync_device_management_info",
                "syncDeviceManagementInfo",
                bool,
                is_required=True,
            ),
        )


class SystemNetworkServerSyncParametersGetResponse17sp4(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest17sp4()`.

    Contains a list of system Network Server Sync parameters.  The following elements are
    only used in AS data mode: syncTrunkGroups Replaced by:
    `SystemNetworkServerSyncParametersGetResponse24()`

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
        sync_device_management_info (bool): syncDeviceManagementInfo
        sync_trunk_groups (bool): syncTrunkGroups
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
        "sync_device_management_info",
        "sync_trunk_groups",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
            E(
                "sync_device_management_info",
                "syncDeviceManagementInfo",
                bool,
                is_required=True,
            ),
            E("sync_trunk_groups", "syncTrunkGroups", bool, is_required=True),
        )


class SystemNetworkServerSyncParametersGetResponse22(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest22()`.

    Contains a list of system Network Server Sync parameters.  The following elements are
    only used in AS data mode: syncTrunkGroups Replaced by:
    `SystemNetworkServerSyncParametersGetResponse24V2()` in AS data mode.

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
        sync_device_management_info (bool): syncDeviceManagementInfo
        sync_trunk_groups (bool): syncTrunkGroups
        sync_enterprise_numbers (bool): syncEnterpriseNumbers
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
        "sync_device_management_info",
        "sync_trunk_groups",
        "sync_enterprise_numbers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
            E(
                "sync_device_management_info",
                "syncDeviceManagementInfo",
                bool,
                is_required=True,
            ),
            E("sync_trunk_groups", "syncTrunkGroups", bool, is_required=True),
            E(
                "sync_enterprise_numbers",
                "syncEnterpriseNumbers",
                bool,
                is_required=True,
            ),
        )


class SystemNetworkServerSyncParametersGetResponse24(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest24()`.

    Contains a list of system Network Server Sync parameters.  The following elements are
    only used in AS data mode: syncTrunkGroups Replaced by:
    `SystemNetworkServerSyncParametersGetResponse24V2()` in AS data mode.

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
        sync_device_management_info (bool): syncDeviceManagementInfo
        sync_trunk_groups (bool): syncTrunkGroups
        sync_connection_timeout_seconds (int): syncConnectionTimeoutSeconds *Optional*
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
        "sync_device_management_info",
        "sync_trunk_groups",
        "sync_connection_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
            E(
                "sync_device_management_info",
                "syncDeviceManagementInfo",
                bool,
                is_required=True,
            ),
            E("sync_trunk_groups", "syncTrunkGroups", bool, is_required=True),
            E("sync_connection_timeout_seconds", "syncConnectionTimeoutSeconds", int),
        )


class SystemNetworkServerSyncParametersGetResponse24V2(OCIResponse):
    """
    Response to `SystemNetworkServerSyncParametersGetRequest24V2()`.

    Contains a list of system Network Server Sync parameters.  The following elements are
    only used in AS data mode: syncTrunkGroups

    Attributes:
        enable_sync (bool): enableSync
        sync_line_ports (bool): syncLinePorts
        sync_device_management_info (bool): syncDeviceManagementInfo
        sync_trunk_groups (bool): syncTrunkGroups
        sync_connection_timeout_seconds (int): syncConnectionTimeoutSeconds *Optional*
        sync_enterprise_numbers (bool): syncEnterpriseNumbers
    """

    __slots__: List[str] = [
        "enable_sync",
        "sync_line_ports",
        "sync_device_management_info",
        "sync_trunk_groups",
        "sync_connection_timeout_seconds",
        "sync_enterprise_numbers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_sync", "enableSync", bool, is_required=True),
            E("sync_line_ports", "syncLinePorts", bool, is_required=True),
            E(
                "sync_device_management_info",
                "syncDeviceManagementInfo",
                bool,
                is_required=True,
            ),
            E("sync_trunk_groups", "syncTrunkGroups", bool, is_required=True),
            E("sync_connection_timeout_seconds", "syncConnectionTimeoutSeconds", int),
            E(
                "sync_enterprise_numbers",
                "syncEnterpriseNumbers",
                bool,
                is_required=True,
            ),
        )


class SystemNetworkSynchingServerGetListResponse(OCIResponse):
    """
    Response to `SystemNetworkSynchingServerGetListRequest()`.

    The Network Server table column headings are: "Net Address", "Port", "Secure",
    "Description", "Order". The following columns are only used in XS data mode and not
    returned in AS data mode: Order The following elements are only used in AS data mode
    and not returned in XS data mode: preferredNetworkServerNetAddress

    Attributes:
        preferred_network_server_net_address (str): preferredNetworkServerNetAddress
            *Optional*
        network_synching_server_table (List(networkSynchingServerTable)):
            networkSynchingServerTable - *Table* array of networkSynchingServerTable named
            tuples
    """

    __slots__: List[str] = [
        "preferred_network_server_net_address",
        "network_synching_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "preferred_network_server_net_address",
                "preferredNetworkServerNetAddress",
                str,
            ),
            E(
                "network_synching_server_table",
                "networkSynchingServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNumberActivationGetResponse(OCIResponse):
    """
    Response to `SystemNumberActivationGetRequest()`.

    Contains the system number activation setting.

    Attributes:
        use_number_activation (bool): useNumberActivation
    """

    __slots__: List[str] = [
        "use_number_activation",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_number_activation", "useNumberActivation", bool, is_required=True),
        )


class SystemNumberActivationGetResponse18sp1(OCIResponse):
    """
    Response to `SystemNumberActivationGetRequest18sp1()`.

    Contains the system number activation setting.

    Attributes:
        number_activation_mode (str): numberActivationMode
    """

    __slots__: List[str] = [
        "number_activation_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("number_activation_mode", "numberActivationMode", str, is_required=True),
        )


class SystemNumberActivationGetResponse21(OCIResponse):
    """
    Response to `SystemNumberActivationGetRequest21()`.

    Contains the system number activation and enterprise trunk number range activation
    setting.

    Attributes:
        number_activation_mode (str): numberActivationMode
        enable_enterprise_trunk_number_range_activation (bool):
            enableEnterpriseTrunkNumberRangeActivation
    """

    __slots__: List[str] = [
        "number_activation_mode",
        "enable_enterprise_trunk_number_range_activation",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("number_activation_mode", "numberActivationMode", str, is_required=True),
            E(
                "enable_enterprise_trunk_number_range_activation",
                "enableEnterpriseTrunkNumberRangeActivation",
                bool,
                is_required=True,
            ),
        )


class SystemNumberFormattingParametersGetResponse(OCIResponse):
    """
    Response to `SystemNumberFormattingParametersGetRequest()`.

    Contains the system number formatting parameter.

    Attributes:
        apply_formatting_to_e164_numbers (bool): applyFormattingToE164Numbers
    """

    __slots__: List[str] = [
        "apply_formatting_to_e164_numbers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "apply_formatting_to_e164_numbers",
                "applyFormattingToE164Numbers",
                bool,
                is_required=True,
            ),
        )


class SystemNumberPortabilityQueryDigitPatternGetListResponse(OCIResponse):
    """
    Response to the `SystemNumberPortabilityQueryDigitPatternGetListRequest()`.

    Contains a table with column headings: "Digit Pattern", "Status".

    Attributes:
        status_digit_pattern_table (List(statusDigitPatternTable)):
            statusDigitPatternTable - *Table* array of statusDigitPatternTable named
            tuples
    """

    __slots__: List[str] = [
        "status_digit_pattern_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "status_digit_pattern_table",
                "statusDigitPatternTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNumberPortabilityQueryDigitPatternGetResponse(OCIResponse):
    """
    Response to the `SystemNumberPortabilityQueryDigitPatternGetRequest()`.


    Attributes:
        status (str): status
    """

    __slots__: List[str] = [
        "status",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("status", "status", str, is_required=True),)


class SystemNumberPortabilityQueryGetResponse(OCIResponse):
    """
    Response to the `SystemNumberPortabilityQueryGetRequest()`.

    Returns system Number Portability Query Parameters.

    Attributes:
        continue_call_as_dialed_on_timeout_or_error (bool):
            continueCallAsDialedOnTimeoutOrError
        number_portability_name_lookup_timeout_milliseconds (int):
            numberPortabilityNameLookupTimeoutMilliseconds
    """

    __slots__: List[str] = [
        "continue_call_as_dialed_on_timeout_or_error",
        "number_portability_name_lookup_timeout_milliseconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "continue_call_as_dialed_on_timeout_or_error",
                "continueCallAsDialedOnTimeoutOrError",
                bool,
                is_required=True,
            ),
            E(
                "number_portability_name_lookup_timeout_milliseconds",
                "numberPortabilityNameLookupTimeoutMilliseconds",
                int,
                is_required=True,
            ),
        )


class SystemNumberPortabilityQueryStatusGetListResponse(OCIResponse):
    """
    Response to the `SystemNumberPortabilityQueryStatusGetListRequest()`.

    Contains a table with column headings: "Status and Treatment File Name".

    Attributes:
        status_table (List(statusTable)): statusTable - *Table* array of statusTable named
            tuples
    """

    __slots__: List[str] = [
        "status_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "status_table",
                "statusTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemNumberPortabilityQueryStatusGetResponse(OCIResponse):
    """
    Response to the `SystemNumberPortabilityQueryStatusGetRequest()`.


    Attributes:
        treatment_file_name (str): treatmentFileName *Optional*
    """

    __slots__: List[str] = [
        "treatment_file_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("treatment_file_name", "treatmentFileName", str),)


class SystemOCICallControlApplicationGetACLListResponse(OCIResponse):
    """
    Response to `SystemOCICallControlApplicationGetACLListRequest()`.

    The table columns are: "Net Address" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOCICallControlApplicationGetListResponse(OCIResponse):
    """
    Response to `SystemOCICallControlApplicationGetListRequest()`.

    The table columns are: "Application Id", "Enabled System Wide", "Description"
    "Notification Timeout Seconds", "Max Event Channels Per Set" and "Channel Set Grace
    Period Seconds".

    Attributes:
        app_table (List(appTable)): appTable - *Table* array of appTable named tuples
    """

    __slots__: List[str] = [
        "app_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "app_table",
                "appTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOCICallControlGetACLListResponse(OCIResponse):
    """
    Response to `SystemOCICallControlGetACLListRequest()`.

    The table columns are: "Net Address" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOCIGetACLListResponse(OCIResponse):
    """
    Response to `SystemOCIGetACLListRequest()`.

    Returns a 2 coulmn table with column headings: "Net Address" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOCIReportingGetACLListResponse(OCIResponse):
    """
    Response to `SystemOCIReportingACLListGetRequest()`.

    Contains a table with one row per access control list entry.  The table columns are
    "Net Address", "Description" and "Restrict Messages".

    Attributes:
        oci_reporting_acl_table (List(ociReportingACLTable)): ociReportingACLTable -
            *Table* array of ociReportingACLTable named tuples
    """

    __slots__: List[str] = [
        "oci_reporting_acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "oci_reporting_acl_table",
                "ociReportingACLTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOCIReportingGetMessageNameListResponse(OCIResponse):
    """
    Response to `SystemOCIReportingGetMessageNameListRequest()`.


    Attributes:
        message_name_starts_with (List[str]): messageNameStartsWith *Optional*
    """

    __slots__: List[str] = [
        "message_name_starts_with",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("message_name_starts_with", "messageNameStartsWith", str, is_array=True),
        )


class SystemOCIReportingParametersGetResponse(OCIResponse):
    """
    Response to `SystemOCIReportingParametersGetListRequest()`.

    Contains a list of system OCI Reporting parameters.

    Attributes:
        server_port (int): serverPort
        enable_connection_ping (bool): enableConnectionPing
        connection_ping_interval_seconds (int): connectionPingIntervalSeconds
        alter_passwords (bool): alterPasswords
    """

    __slots__: List[str] = [
        "server_port",
        "enable_connection_ping",
        "connection_ping_interval_seconds",
        "alter_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("server_port", "serverPort", int, is_required=True),
            E("enable_connection_ping", "enableConnectionPing", bool, is_required=True),
            E(
                "connection_ping_interval_seconds",
                "connectionPingIntervalSeconds",
                int,
                is_required=True,
            ),
            E("alter_passwords", "alterPasswords", bool, is_required=True),
        )


class SystemOCIReportingParametersGetResponse14sp1(OCIResponse):
    """
    Response to `SystemOCIReportingParametersGetRequest14sp1()`.

    Contains a list of system OCI Reporting parameters.

    Attributes:
        server_port (int): serverPort
        enable_connection_ping (bool): enableConnectionPing
        connection_ping_interval_seconds (int): connectionPingIntervalSeconds
        alter_passwords (bool): alterPasswords
        enable_public_identity_reporting (bool): enablePublicIdentityReporting
    """

    __slots__: List[str] = [
        "server_port",
        "enable_connection_ping",
        "connection_ping_interval_seconds",
        "alter_passwords",
        "enable_public_identity_reporting",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("server_port", "serverPort", int, is_required=True),
            E("enable_connection_ping", "enableConnectionPing", bool, is_required=True),
            E(
                "connection_ping_interval_seconds",
                "connectionPingIntervalSeconds",
                int,
                is_required=True,
            ),
            E("alter_passwords", "alterPasswords", bool, is_required=True),
            E(
                "enable_public_identity_reporting",
                "enablePublicIdentityReporting",
                bool,
                is_required=True,
            ),
        )


class SystemOCIReportingParametersGetResponse22(OCIResponse):
    """
    Response to `SystemOCIReportingParametersGetRequest22()`.

    Contains a list of system OCI Reporting parameters.

    Attributes:
        server_port (int): serverPort
        enable_connection_ping (bool): enableConnectionPing
        connection_ping_interval_seconds (int): connectionPingIntervalSeconds
        alter_passwords (bool): alterPasswords
        enable_public_identity_reporting (bool): enablePublicIdentityReporting
        secure (bool): secure
    """

    __slots__: List[str] = [
        "server_port",
        "enable_connection_ping",
        "connection_ping_interval_seconds",
        "alter_passwords",
        "enable_public_identity_reporting",
        "secure",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("server_port", "serverPort", int, is_required=True),
            E("enable_connection_ping", "enableConnectionPing", bool, is_required=True),
            E(
                "connection_ping_interval_seconds",
                "connectionPingIntervalSeconds",
                int,
                is_required=True,
            ),
            E("alter_passwords", "alterPasswords", bool, is_required=True),
            E(
                "enable_public_identity_reporting",
                "enablePublicIdentityReporting",
                bool,
                is_required=True,
            ),
            E("secure", "secure", bool, is_required=True),
        )


class SystemOfficeZoneGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to the `SystemOfficeZoneGetAssignedServiceProviderListRequest()`.

    The response contains a table of all Service Providers that have the given Office Zone
    assigned.  The column headings are "Service Provider Id", "Service Provider Name" and
    "Is Enterprise".

    Attributes:
        service_provider_table (List(serviceProviderTable)): serviceProviderTable -
            *Table* array of serviceProviderTable named tuples
    """

    __slots__: List[str] = [
        "service_provider_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_provider_table",
                "serviceProviderTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOfficeZoneGetListResponse(OCIResponse):
    """
    Response to the `SystemOfficeZoneGetListRequest()`.

    The response contains a table of all Office Zones in the system.  The column headings
    are "Name" and "Description"

    Attributes:
        office_zone_table (List(officeZoneTable)): officeZoneTable - *Table* array of
            officeZoneTable named tuples
    """

    __slots__: List[str] = [
        "office_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "office_zone_table",
                "officeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOfficeZoneGetResponse(OCIResponse):
    """
    Response to the `SystemOfficeZoneGetRequest()`.

    The response contains the Office Zone information.

    Attributes:
        description (str): description *Optional*
        zone_name (List[str]): zoneName
        primary_zone_name (str): primaryZoneName
    """

    __slots__: List[str] = [
        "description",
        "zone_name",
        "primary_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("zone_name", "zoneName", str, is_required=True, is_array=True),
            E("primary_zone_name", "primaryZoneName", str, is_required=True),
        )


class SystemOfficeZoneGetZoneUsageListResponse(OCIResponse):
    """
    Response to the `SystemOfficeZoneGetZoneUsageListRequest()`.

    The response contains a table of all Office Zones that contain the specific Zone.  The
    column headings are "Name" and "Description"

    Attributes:
        office_zone_table (List(officeZoneTable)): officeZoneTable - *Table* array of
            officeZoneTable named tuples
    """

    __slots__: List[str] = [
        "office_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "office_zone_table",
                "officeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOutboundProxyCacheParametersGetResponse(OCIResponse):
    """
    Response to `SystemOutboundProxyCacheParametersGetRequest()`.

    Contains a list of Outbound Proxy Cache system parameters.

    Attributes:
        eviction_timeout_minutes (int): evictionTimeoutMinutes
        refresh_timeout_minutes (int): refreshTimeoutMinutes
        audit_interval_minutes (int): auditIntervalMinutes
        maximum_cache_size (int): maximumCacheSize
        dns_type_default_value (str): dnsTypeDefaultValue *Optional*
        use_dns_srv_default_value (str): useDnsSrvDefaultValue *Optional*
        srv_prefix_default_value (str): srvPrefixDefaultValue *Optional*
        outbound_proxy_default_value (str): outboundProxyDefaultValue *Optional*
        transport_type_default_value (str): transportTypeDefaultValue *Optional*
        secure_rtp_default_value (str): secureRtpDefaultValue *Optional*
    """

    __slots__: List[str] = [
        "eviction_timeout_minutes",
        "refresh_timeout_minutes",
        "audit_interval_minutes",
        "maximum_cache_size",
        "dns_type_default_value",
        "use_dns_srv_default_value",
        "srv_prefix_default_value",
        "outbound_proxy_default_value",
        "transport_type_default_value",
        "secure_rtp_default_value",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "eviction_timeout_minutes",
                "evictionTimeoutMinutes",
                int,
                is_required=True,
            ),
            E(
                "refresh_timeout_minutes",
                "refreshTimeoutMinutes",
                int,
                is_required=True,
            ),
            E("audit_interval_minutes", "auditIntervalMinutes", int, is_required=True),
            E("maximum_cache_size", "maximumCacheSize", int, is_required=True),
            E("dns_type_default_value", "dnsTypeDefaultValue", str),
            E("use_dns_srv_default_value", "useDnsSrvDefaultValue", str),
            E("srv_prefix_default_value", "srvPrefixDefaultValue", str),
            E("outbound_proxy_default_value", "outboundProxyDefaultValue", str),
            E("transport_type_default_value", "transportTypeDefaultValue", str),
            E("secure_rtp_default_value", "secureRtpDefaultValue", str),
        )


class SystemOutgoingCallingPlanCallTypeGetListResponse(OCIResponse):
    """
    Response to `SystemOutgoingCallingPlanCallTypeGetListRequest()`.


    Attributes:
        call_type (List[str]): callType
    """

    __slots__: List[str] = [
        "call_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("call_type", "callType", str, is_required=True, is_array=True),)


class SystemOutgoingCallingPlanCallTypeGetMappingListResponse(OCIResponse):
    """
    Response to `SystemOutgoingCallingPlanCallTypeGetMappingListRequest()`.

    The table columns are: "Country Code", "Digit Map" and "Call Type".

    Attributes:
        call_type_mapping (List(callTypeMapping)): callTypeMapping - *Table* array of
            callTypeMapping named tuples
    """

    __slots__: List[str] = [
        "call_type_mapping",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_type_mapping",
                "callTypeMapping",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemOutgoingCallingPlanGetResponse(OCIResponse):
    """
    Response to `SystemOutgoingCallingPlanGetRequest()`.


    Attributes:
        direct_transfer_screening (bool): directTransferScreening
    """

    __slots__: List[str] = [
        "direct_transfer_screening",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "direct_transfer_screening",
                "directTransferScreening",
                bool,
                is_required=True,
            ),
        )


class SystemOutgoingCallingPlanGetResponse17sp3(OCIResponse):
    """
    Response to `SystemOutgoingCallingPlanGetRequest17sp3()`.


    Attributes:
        direct_transfer_screening (bool): directTransferScreening
        enable_enhanced_toll_call_typing (bool): enableEnhancedTollCallTyping
    """

    __slots__: List[str] = [
        "direct_transfer_screening",
        "enable_enhanced_toll_call_typing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "direct_transfer_screening",
                "directTransferScreening",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_toll_call_typing",
                "enableEnhancedTollCallTyping",
                bool,
                is_required=True,
            ),
        )


class SystemPasswordRulesGetResponse13mp2(OCIResponse):
    """
    Response to `SystemPasswordRulesGetRequest13mp2()`.

    Contains the password rules for System administrator, Provisioning Administrator,
    and/or Service Provider Administrator, Group Administrator, Department Administrator,
    user.

    Replaced By : `SystemPasswordRulesGetResponse16()`

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
        )


class SystemPasswordRulesGetResponse16(OCIResponse):
    """
    Response to `SystemPasswordRulesGetRequest16()`.

    Contains the password rules for System administrator, Provisioning Administrator,
    and/or Service Provider Administrator, Group Administrator, Department Administrator,
    user.  Replaced by: `SystemPasswordRulesGetResponse22()` in AS data mode.

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
        )


class SystemPasswordRulesGetResponse22(OCIResponse):
    """
    Response to `SystemPasswordRulesGetRequest22()`.

    Contains the password rules for System administrator, Provisioning Administrator,
    and/or Service Provider Administrator, Group Administrator, Department Administrator,
    user.  Replaced by: `SystemPasswordRulesGetResponse23()` in AS data mode.

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
        force_password_change_after_reset (bool): forcePasswordChangeAfterReset
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
        "force_password_change_after_reset",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
            E(
                "force_password_change_after_reset",
                "forcePasswordChangeAfterReset",
                bool,
                is_required=True,
            ),
        )


class SystemPasswordRulesGetResponse23(OCIResponse):
    """
    Response to `SystemPasswordRulesGetRequest23()`.

    Contains the password rules for System administrator, Provisioning Administrator,
    and/or Service Provider Administrator, Group Administrator, Department Administrator,
    user.

    Attributes:
        rules_apply_to (str): rulesApplyTo
        allow_web_add_external_authentication_users (bool):
            allowWebAddExternalAuthenticationUsers
        disallow_user_id (bool): disallowUserId
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        max_failed_login_attempts (int): maxFailedLoginAttempts
        password_expires_days (int): passwordExpiresDays
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        disallow_rules_modification (bool): disallowRulesModification
        disallow_previous_passwords (bool): disallowPreviousPasswords
        number_of_previous_passwords (int): numberOfPreviousPasswords
        force_password_change_after_reset (bool): forcePasswordChangeAfterReset
        enforce_external_auth_for_route_point (bool): enforceExternalAuthForRoutePoint
            *Optional*
    """

    __slots__: List[str] = [
        "rules_apply_to",
        "allow_web_add_external_authentication_users",
        "disallow_user_id",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "max_failed_login_attempts",
        "password_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "disallow_rules_modification",
        "disallow_previous_passwords",
        "number_of_previous_passwords",
        "force_password_change_after_reset",
        "enforce_external_auth_for_route_point",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("rules_apply_to", "rulesApplyTo", str, is_required=True),
            E(
                "allow_web_add_external_authentication_users",
                "allowWebAddExternalAuthenticationUsers",
                bool,
                is_required=True,
            ),
            E("disallow_user_id", "disallowUserId", bool, is_required=True),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("password_expires_days", "passwordExpiresDays", int, is_required=True),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E(
                "disallow_rules_modification",
                "disallowRulesModification",
                bool,
                is_required=True,
            ),
            E(
                "disallow_previous_passwords",
                "disallowPreviousPasswords",
                bool,
                is_required=True,
            ),
            E(
                "number_of_previous_passwords",
                "numberOfPreviousPasswords",
                int,
                is_required=True,
            ),
            E(
                "force_password_change_after_reset",
                "forcePasswordChangeAfterReset",
                bool,
                is_required=True,
            ),
            E(
                "enforce_external_auth_for_route_point",
                "enforceExternalAuthForRoutePoint",
                bool,
            ),
        )


class SystemPasswordSecurityParametersGetResponse(OCIResponse):
    """
    Response to the `SystemPasswordSecurityParametersGetResponse()`.

    The response contains the password security parameters for the system.

    Attributes:
        use_existing_hashing (bool): useExistingHashing
        enforce_password_change_on_expiry (bool): enforcePasswordChangeOnExpiry
    """

    __slots__: List[str] = [
        "use_existing_hashing",
        "enforce_password_change_on_expiry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_existing_hashing", "useExistingHashing", bool, is_required=True),
            E(
                "enforce_password_change_on_expiry",
                "enforcePasswordChangeOnExpiry",
                bool,
                is_required=True,
            ),
        )


class SystemPerformanceMeasurementReportingGetFileServerListResponse(OCIResponse):
    """
    Response to `SystemPerformanceMeasurementReportingGetFileServerListRequest()`.

    The table columns are: "FTP Host Net Address", "FTP User Id", "Passive FTP".

    Attributes:
        file_server_table (List(fileServerTable)): fileServerTable - *Table* array of
            fileServerTable named tuples
    """

    __slots__: List[str] = [
        "file_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_server_table",
                "fileServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemPerformanceMeasurementReportingGetFileServerListResponse22(OCIResponse):
    """
    Response to `SystemPerformanceMeasurementReportingGetFileServerListRequest22()`.

    The table columns are: "Repository URL", "User Id", "Passive".

    Attributes:
        file_server_table (List(fileServerTable)): fileServerTable - *Table* array of
            fileServerTable named tuples
    """

    __slots__: List[str] = [
        "file_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "file_server_table",
                "fileServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemPerformanceMeasurementReportingGetResponse(OCIResponse):
    """
    Response to `SystemPerformanceMeasurementReportingGetRequest()`.

    Replaced by: `SystemPerformanceMeasurementReportingGetResponse22()`

    Attributes:
        is_active (bool): isActive
        reporting_interval (int): reportingInterval
        reset_measurements_after_each_report (bool): resetMeasurementsAfterEachReport
        report_enterprise (bool): reportEnterprise
        report_service_provider (bool): reportServiceProvider
        report_device (bool): reportDevice
    """

    __slots__: List[str] = [
        "is_active",
        "reporting_interval",
        "reset_measurements_after_each_report",
        "report_enterprise",
        "report_service_provider",
        "report_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("reporting_interval", "reportingInterval", int, is_required=True),
            E(
                "reset_measurements_after_each_report",
                "resetMeasurementsAfterEachReport",
                bool,
                is_required=True,
            ),
            E("report_enterprise", "reportEnterprise", bool, is_required=True),
            E(
                "report_service_provider",
                "reportServiceProvider",
                bool,
                is_required=True,
            ),
            E("report_device", "reportDevice", bool, is_required=True),
        )


class SystemPerformanceMeasurementReportingGetResponse22(OCIResponse):
    """
    Response to `SystemPerformanceMeasurementReportingGetRequest22()`.

    Replaced by: `SystemPerformanceMeasurementReportingGetResponse24()`

    Attributes:
        is_active (bool): isActive
        reporting_interval (int): reportingInterval
        reset_measurements_after_each_report (bool): resetMeasurementsAfterEachReport
        report_enterprise (bool): reportEnterprise
        report_service_provider (bool): reportServiceProvider
        report_device (bool): reportDevice
        report_table (bool): reportTable
    """

    __slots__: List[str] = [
        "is_active",
        "reporting_interval",
        "reset_measurements_after_each_report",
        "report_enterprise",
        "report_service_provider",
        "report_device",
        "report_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("reporting_interval", "reportingInterval", int, is_required=True),
            E(
                "reset_measurements_after_each_report",
                "resetMeasurementsAfterEachReport",
                bool,
                is_required=True,
            ),
            E("report_enterprise", "reportEnterprise", bool, is_required=True),
            E(
                "report_service_provider",
                "reportServiceProvider",
                bool,
                is_required=True,
            ),
            E("report_device", "reportDevice", bool, is_required=True),
            E("report_table", "reportTable", bool, is_required=True),
        )


class SystemPerformanceMeasurementReportingGetResponse24(OCIResponse):
    """
    Response to `SystemPerformanceMeasurementReportingGetRequest24()`.


    Attributes:
        is_active (bool): isActive
        reporting_interval (int): reportingInterval
        reset_measurements_after_each_report (bool): resetMeasurementsAfterEachReport
        report_enterprise (bool): reportEnterprise
        report_service_provider (bool): reportServiceProvider
        report_device (bool): reportDevice
        report_table (bool): reportTable
        report_encoding (str): reportEncoding
    """

    __slots__: List[str] = [
        "is_active",
        "reporting_interval",
        "reset_measurements_after_each_report",
        "report_enterprise",
        "report_service_provider",
        "report_device",
        "report_table",
        "report_encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("reporting_interval", "reportingInterval", int, is_required=True),
            E(
                "reset_measurements_after_each_report",
                "resetMeasurementsAfterEachReport",
                bool,
                is_required=True,
            ),
            E("report_enterprise", "reportEnterprise", bool, is_required=True),
            E(
                "report_service_provider",
                "reportServiceProvider",
                bool,
                is_required=True,
            ),
            E("report_device", "reportDevice", bool, is_required=True),
            E("report_table", "reportTable", bool, is_required=True),
            E("report_encoding", "reportEncoding", str, is_required=True),
        )


class SystemPersonalAssistantGetResponse(OCIResponse):
    """
    Response to the `SystemPersonalAssistantGetRequest()`.

    Returns system Personal Assistant Parameters.

    Attributes:
        transfer_to_attendant_key (str): transferToAttendantKey
        transfer_to_voice_messaging_key (str): transferToVoiceMessagingKey
    """

    __slots__: List[str] = [
        "transfer_to_attendant_key",
        "transfer_to_voice_messaging_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "transfer_to_attendant_key",
                "transferToAttendantKey",
                str,
                is_required=True,
            ),
            E(
                "transfer_to_voice_messaging_key",
                "transferToVoiceMessagingKey",
                str,
                is_required=True,
            ),
        )


class SystemPhysicalLocationGetResponse(OCIResponse):
    """
    Response to `SystemPhysicalLocationGetRequest()`.

    Contains a list of system Physical Location parameters.

    Attributes:
        always_allow_emergency_calls (bool): alwaysAllowEmergencyCalls
    """

    __slots__: List[str] = [
        "always_allow_emergency_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "always_allow_emergency_calls",
                "alwaysAllowEmergencyCalls",
                bool,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse14(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest14()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_service_access (str): groupAdminServiceAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_service_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_web_branding_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse14sp1(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest14sp1()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_web_branding_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse14sp4(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest14sp4()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_web_branding_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse16sp1(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest16sp1()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse16sp2(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest16sp2()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_number_activation_access (str): groupAdminNumberActivationAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
        enterprise_admin_number_activation_access (str):
            enterpriseAdminNumberActivationAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_dialable_caller_id_access",
        "group_admin_office_zone_access",
        "group_admin_number_activation_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "enterprise_admin_network_policy_access",
        "service_provider_admin_dialable_caller_id_access",
        "enterprise_admin_number_activation_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_number_activation_access",
                "groupAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_number_activation_access",
                "enterpriseAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse17(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest17()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse17sp1(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest17sp1()`.

    Contains the default policy settings for the system.  The following elements are only
    used in XS data mode: serviceProviderAdminCommunicationBarringAccess

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        service_provider_admin_communication_barring_access (str):
            serviceProviderAdminCommunicationBarringAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "service_provider_admin_communication_barring_access",
        "enterprise_admin_network_policy_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_communication_barring_access",
                "serviceProviderAdminCommunicationBarringAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse17sp3(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest17sp3()`.

    Contains the default policy settings for the system.

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "group_admin_dialable_caller_id_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "enterprise_admin_network_policy_access",
        "service_provider_admin_dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse18(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest18()`.

    Contains the default policy settings for the system.  The following elements are only
    used in AS data mode: GroupAdminDialableCallerIDAccess
    ServiceProviderAdminDialableCallerIDAccess The following elements are only used in XS
    data mode: serviceProviderAdminCommunicationBarringAccess Replaced by:
    `SystemPolicyGetDefaultResponse20()` in AS data mode

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_number_activation_access (str): groupAdminNumberActivationAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        service_provider_admin_communication_barring_access (str):
            serviceProviderAdminCommunicationBarringAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        enterprise_admin_number_activation_access (str):
            enterpriseAdminNumberActivationAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "group_admin_number_activation_access",
        "group_admin_dialable_caller_id_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "service_provider_admin_communication_barring_access",
        "enterprise_admin_network_policy_access",
        "enterprise_admin_number_activation_access",
        "service_provider_admin_dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_number_activation_access",
                "groupAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_communication_barring_access",
                "serviceProviderAdminCommunicationBarringAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_number_activation_access",
                "enterpriseAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse19sp1(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest19sp1()`.

    Contains the default policy settings for the system.  The following elements are only
    used in AS data mode: GroupAdminDialableCallerIDAccess
    ServiceProviderAdminDialableCallerIDAccess
    GroupAdminCommunicationBarringUserProfileAccess (This element is only used for groups
    in an Enterprise) The following elements are only used in XS data mode:
    serviceProviderAdminCommunicationBarringAccess Replaced by:
    `SystemPolicyGetDefaultResponse20()` in AS mode

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_number_activation_access (str): groupAdminNumberActivationAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        group_admin_communication_barring_user_profile_access (str):
            groupAdminCommunicationBarringUserProfileAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        service_provider_admin_communication_barring_access (str):
            serviceProviderAdminCommunicationBarringAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        enterprise_admin_number_activation_access (str):
            enterpriseAdminNumberActivationAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "group_admin_number_activation_access",
        "group_admin_dialable_caller_id_access",
        "group_admin_communication_barring_user_profile_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "service_provider_admin_communication_barring_access",
        "enterprise_admin_network_policy_access",
        "enterprise_admin_number_activation_access",
        "service_provider_admin_dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_number_activation_access",
                "groupAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_communication_barring_user_profile_access",
                "groupAdminCommunicationBarringUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_communication_barring_access",
                "serviceProviderAdminCommunicationBarringAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_number_activation_access",
                "enterpriseAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse20(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest20()`.

    Contains the default policy settings for the system.  The following elements are only
    used in AS data mode: GroupAdminDialableCallerIDAccess
    ServiceProviderAdminDialableCallerIDAccess
    GroupAdminCommunicationBarringUserProfileAccess (This element is only used for groups
    in an Enterprise) GroupAdminVerifyTranslationAndRoutingAccess
    ServiceProviderAdminVerifyTranslationAndRoutingAccess The following elements are only
    used in XS data mode: serviceProviderAdminCommunicationBarringAccess Replaced by:
    `SystemPolicyGetDefaultResponse22()` in AS mode

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_ldap_integration_access (str): groupLDAPIntegrationAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_user_auto_attendant_name_dialing_access (str):
            groupUserAutoAttendantNameDialingAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_verify_translation_and_routing_access (str):
            groupAdminVerifyTranslationAndRoutingAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_number_activation_access (str): groupAdminNumberActivationAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        group_admin_communication_barring_user_profile_access (str):
            groupAdminCommunicationBarringUserProfileAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_verify_translation_and_routing_access (str):
            serviceProviderAdminVerifyTranslationAndRoutingAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        service_provider_admin_communication_barring_access (str):
            serviceProviderAdminCommunicationBarringAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        enterprise_admin_number_activation_access (str):
            enterpriseAdminNumberActivationAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_ldap_integration_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_user_auto_attendant_name_dialing_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_verify_translation_and_routing_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "group_admin_number_activation_access",
        "group_admin_dialable_caller_id_access",
        "group_admin_communication_barring_user_profile_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_verify_translation_and_routing_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "service_provider_admin_communication_barring_access",
        "enterprise_admin_network_policy_access",
        "enterprise_admin_number_activation_access",
        "service_provider_admin_dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_ldap_integration_access",
                "groupLDAPIntegrationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_auto_attendant_name_dialing_access",
                "groupUserAutoAttendantNameDialingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_verify_translation_and_routing_access",
                "groupAdminVerifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_number_activation_access",
                "groupAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_communication_barring_user_profile_access",
                "groupAdminCommunicationBarringUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_verify_translation_and_routing_access",
                "serviceProviderAdminVerifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_communication_barring_access",
                "serviceProviderAdminCommunicationBarringAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_number_activation_access",
                "enterpriseAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class SystemPolicyGetDefaultResponse22(OCIResponse):
    """
    Response to `SystemPolicyGetDefaultRequest22()`.

    Contains the default policy settings for the system.  The following elements are only
    used in AS data mode: GroupAdminDialableCallerIDAccess
    ServiceProviderAdminDialableCallerIDAccess
    GroupAdminCommunicationBarringUserProfileAccess (This element is only used for groups
    in an Enterprise) GroupAdminVerifyTranslationAndRoutingAccess
    ServiceProviderAdminVerifyTranslationAndRoutingAccess The following elements are only
    used in XS data mode: serviceProviderAdminCommunicationBarringAccess

    Attributes:
        group_calling_plan_access (str): groupCallingPlanAccess
        group_extension_access (str): groupExtensionAccess
        group_voice_messaging_access (str): groupVoiceMessagingAccess
        group_department_admin_user_access (str): groupDepartmentAdminUserAccess
        group_department_admin_trunk_group_access (str):
            groupDepartmentAdminTrunkGroupAccess
        group_department_admin_phone_number_extension_access (str):
            groupDepartmentAdminPhoneNumberExtensionAccess
        group_department_admin_calling_line_id_number_access (str):
            groupDepartmentAdminCallingLineIdNumberAccess
        group_user_authentication_access (str): groupUserAuthenticationAccess
        group_user_group_directory_access (str): groupUserGroupDirectoryAccess
        group_user_profile_access (str): groupUserProfileAccess
        group_user_enhanced_call_logs_access (str): groupUserEnhancedCallLogsAccess
        group_user_auto_attendant_name_dialing_access (str):
            groupUserAutoAttendantNameDialingAccess
        group_admin_profile_access (str): groupAdminProfileAccess
        group_admin_user_access (str): groupAdminUserAccess
        group_admin_admin_access (str): groupAdminAdminAccess
        group_admin_department_access (str): groupAdminDepartmentAccess
        group_admin_access_device_access (str): groupAdminAccessDeviceAccess
        group_admin_enhanced_service_instance_access (str):
            groupAdminEnhancedServiceInstanceAccess
        group_admin_feature_access_code_access (str): groupAdminFeatureAccessCodeAccess
        group_admin_phone_number_extension_access (str):
            groupAdminPhoneNumberExtensionAccess
        group_admin_calling_line_id_number_access (str):
            groupAdminCallingLineIdNumberAccess
        group_admin_service_access (str): groupAdminServiceAccess
        group_admin_trunk_group_access (str): groupAdminTrunkGroupAccess
        group_admin_verify_translation_and_routing_access (str):
            groupAdminVerifyTranslationAndRoutingAccess
        group_admin_session_admission_control_access (str):
            groupAdminSessionAdmissionControlAccess
        group_admin_office_zone_access (str): groupAdminOfficeZoneAccess
        group_admin_number_activation_access (str): groupAdminNumberActivationAccess
        group_admin_dialable_caller_id_access (str): groupAdminDialableCallerIDAccess
        group_admin_communication_barring_user_profile_access (str):
            groupAdminCommunicationBarringUserProfileAccess
        service_provider_admin_profile_access (str): serviceProviderAdminProfileAccess
        service_provider_admin_group_access (str): serviceProviderAdminGroupAccess
        service_provider_admin_user_access (str): serviceProviderAdminUserAccess
        service_provider_admin_admin_access (str): serviceProviderAdminAdminAccess
        service_provider_admin_department_access (str):
            serviceProviderAdminDepartmentAccess
        service_provider_admin_access_device_access (str):
            serviceProviderAdminAccessDeviceAccess
        service_provider_admin_phone_number_extension_access (str):
            serviceProviderAdminPhoneNumberExtensionAccess
        service_provider_admin_calling_line_id_number_access (str):
            serviceProviderAdminCallingLineIdNumberAccess
        service_provider_admin_service_access (str): serviceProviderAdminServiceAccess
        service_provider_admin_service_pack_access (str):
            serviceProviderAdminServicePackAccess
        service_provider_admin_session_admission_control_access (str):
            serviceProviderAdminSessionAdmissionControlAccess
        service_provider_admin_verify_translation_and_routing_access (str):
            serviceProviderAdminVerifyTranslationAndRoutingAccess
        service_provider_admin_web_branding_access (str):
            serviceProviderAdminWebBrandingAccess
        service_provider_admin_office_zone_access (str):
            serviceProviderAdminOfficeZoneAccess
        service_provider_admin_communication_barring_access (str):
            serviceProviderAdminCommunicationBarringAccess
        enterprise_admin_network_policy_access (str): enterpriseAdminNetworkPolicyAccess
        enterprise_admin_number_activation_access (str):
            enterpriseAdminNumberActivationAccess
        service_provider_admin_dialable_caller_id_access (str):
            serviceProviderAdminDialableCallerIDAccess
    """

    __slots__: List[str] = [
        "group_calling_plan_access",
        "group_extension_access",
        "group_voice_messaging_access",
        "group_department_admin_user_access",
        "group_department_admin_trunk_group_access",
        "group_department_admin_phone_number_extension_access",
        "group_department_admin_calling_line_id_number_access",
        "group_user_authentication_access",
        "group_user_group_directory_access",
        "group_user_profile_access",
        "group_user_enhanced_call_logs_access",
        "group_user_auto_attendant_name_dialing_access",
        "group_admin_profile_access",
        "group_admin_user_access",
        "group_admin_admin_access",
        "group_admin_department_access",
        "group_admin_access_device_access",
        "group_admin_enhanced_service_instance_access",
        "group_admin_feature_access_code_access",
        "group_admin_phone_number_extension_access",
        "group_admin_calling_line_id_number_access",
        "group_admin_service_access",
        "group_admin_trunk_group_access",
        "group_admin_verify_translation_and_routing_access",
        "group_admin_session_admission_control_access",
        "group_admin_office_zone_access",
        "group_admin_number_activation_access",
        "group_admin_dialable_caller_id_access",
        "group_admin_communication_barring_user_profile_access",
        "service_provider_admin_profile_access",
        "service_provider_admin_group_access",
        "service_provider_admin_user_access",
        "service_provider_admin_admin_access",
        "service_provider_admin_department_access",
        "service_provider_admin_access_device_access",
        "service_provider_admin_phone_number_extension_access",
        "service_provider_admin_calling_line_id_number_access",
        "service_provider_admin_service_access",
        "service_provider_admin_service_pack_access",
        "service_provider_admin_session_admission_control_access",
        "service_provider_admin_verify_translation_and_routing_access",
        "service_provider_admin_web_branding_access",
        "service_provider_admin_office_zone_access",
        "service_provider_admin_communication_barring_access",
        "enterprise_admin_network_policy_access",
        "enterprise_admin_number_activation_access",
        "service_provider_admin_dialable_caller_id_access",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_calling_plan_access",
                "groupCallingPlanAccess",
                str,
                is_required=True,
            ),
            E("group_extension_access", "groupExtensionAccess", str, is_required=True),
            E(
                "group_voice_messaging_access",
                "groupVoiceMessagingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_user_access",
                "groupDepartmentAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_trunk_group_access",
                "groupDepartmentAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_phone_number_extension_access",
                "groupDepartmentAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_department_admin_calling_line_id_number_access",
                "groupDepartmentAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_authentication_access",
                "groupUserAuthenticationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_group_directory_access",
                "groupUserGroupDirectoryAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_profile_access",
                "groupUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_enhanced_call_logs_access",
                "groupUserEnhancedCallLogsAccess",
                str,
                is_required=True,
            ),
            E(
                "group_user_auto_attendant_name_dialing_access",
                "groupUserAutoAttendantNameDialingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_profile_access",
                "groupAdminProfileAccess",
                str,
                is_required=True,
            ),
            E("group_admin_user_access", "groupAdminUserAccess", str, is_required=True),
            E(
                "group_admin_admin_access",
                "groupAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_department_access",
                "groupAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_access_device_access",
                "groupAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_enhanced_service_instance_access",
                "groupAdminEnhancedServiceInstanceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_feature_access_code_access",
                "groupAdminFeatureAccessCodeAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_phone_number_extension_access",
                "groupAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_calling_line_id_number_access",
                "groupAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_service_access",
                "groupAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_trunk_group_access",
                "groupAdminTrunkGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_verify_translation_and_routing_access",
                "groupAdminVerifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_session_admission_control_access",
                "groupAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_office_zone_access",
                "groupAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_number_activation_access",
                "groupAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_dialable_caller_id_access",
                "groupAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
            E(
                "group_admin_communication_barring_user_profile_access",
                "groupAdminCommunicationBarringUserProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_profile_access",
                "serviceProviderAdminProfileAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_group_access",
                "serviceProviderAdminGroupAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_user_access",
                "serviceProviderAdminUserAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_admin_access",
                "serviceProviderAdminAdminAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_department_access",
                "serviceProviderAdminDepartmentAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_access_device_access",
                "serviceProviderAdminAccessDeviceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_phone_number_extension_access",
                "serviceProviderAdminPhoneNumberExtensionAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_calling_line_id_number_access",
                "serviceProviderAdminCallingLineIdNumberAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_access",
                "serviceProviderAdminServiceAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_service_pack_access",
                "serviceProviderAdminServicePackAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_session_admission_control_access",
                "serviceProviderAdminSessionAdmissionControlAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_verify_translation_and_routing_access",
                "serviceProviderAdminVerifyTranslationAndRoutingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_web_branding_access",
                "serviceProviderAdminWebBrandingAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_office_zone_access",
                "serviceProviderAdminOfficeZoneAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_communication_barring_access",
                "serviceProviderAdminCommunicationBarringAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_network_policy_access",
                "enterpriseAdminNetworkPolicyAccess",
                str,
                is_required=True,
            ),
            E(
                "enterprise_admin_number_activation_access",
                "enterpriseAdminNumberActivationAccess",
                str,
                is_required=True,
            ),
            E(
                "service_provider_admin_dialable_caller_id_access",
                "serviceProviderAdminDialableCallerIDAccess",
                str,
                is_required=True,
            ),
        )


class SystemPortalPasscodeRulesGetResponse(OCIResponse):
    """
    Response to `SystemPortalPasscodeRulesGetRequest()`.

    Contains the system passcode rules setting.  Replaced by:
    `SystemPortalPasscodeRulesGetResponse19()`

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        default_password (str): defaultPassword
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "default_password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E("default_password", "defaultPassword", str, is_required=True),
        )


class SystemPortalPasscodeRulesGetResponse19(OCIResponse):
    """
    Response to `SystemPortalPasscodeRulesGetRequest()`.

    Contains the system passcode rules setting.  The following elements are only used in
    AS data mode: numberOfRepeatedDigits disallowRepeatedPatterns
    disallowContiguousSequences numberOfAscendingDigits numberOfDescendingDigits
    numberOfPreviousPasscodes

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        number_of_repeated_digits (int): numberOfRepeatedDigits
        disallow_repeated_patterns (bool): disallowRepeatedPatterns
        disallow_contiguous_sequences (bool): disallowContiguousSequences
        number_of_ascending_digits (int): numberOfAscendingDigits
        number_of_descending_digits (int): numberOfDescendingDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        number_of_previous_passcodes (int): numberOfPreviousPasscodes
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        default_password (str): defaultPassword
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "number_of_repeated_digits",
        "disallow_repeated_patterns",
        "disallow_contiguous_sequences",
        "number_of_ascending_digits",
        "number_of_descending_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "number_of_previous_passcodes",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "default_password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E(
                "number_of_repeated_digits",
                "numberOfRepeatedDigits",
                int,
                is_required=True,
            ),
            E(
                "disallow_repeated_patterns",
                "disallowRepeatedPatterns",
                bool,
                is_required=True,
            ),
            E(
                "disallow_contiguous_sequences",
                "disallowContiguousSequences",
                bool,
                is_required=True,
            ),
            E(
                "number_of_ascending_digits",
                "numberOfAscendingDigits",
                int,
                is_required=True,
            ),
            E(
                "number_of_descending_digits",
                "numberOfDescendingDigits",
                int,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "number_of_previous_passcodes",
                "numberOfPreviousPasscodes",
                int,
                is_required=True,
            ),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E("default_password", "defaultPassword", str, is_required=True),
        )


class SystemPreferredCarrierGetGroupListResponse(OCIResponse):
    """
    Response to a `SystemPreferredCarrierGetGroupListRequest()`.

    Contains a table with one row per group.  The table columns are: "Group Id", "Group
    Name", "Organization Id", "Organization Type". The "Organization Id" column is
    populated with either a service provider Id or an enterprise Id.  The "Organization
    Type" column is populated with one of the enumerated strings defined in the
    OrganizationType OCI data type.  Please see OCISchemaDataTypes.xsd for details on
    OrganizationType.

    Attributes:
        groups_using_carrier_table (List(groupsUsingCarrierTable)):
            groupsUsingCarrierTable - *Table* array of groupsUsingCarrierTable named
            tuples
    """

    __slots__: List[str] = [
        "groups_using_carrier_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "groups_using_carrier_table",
                "groupsUsingCarrierTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemPreferredCarrierGetListResponse(OCIResponse):
    """
    Response to a `SystemPreferredCarrierGetListRequest()`.

    Contains a table with one row per carrier.  The table columns are: "Carrier", "Country
    Code", "CIC", "Is Intra-Lata", "Is Inter-Lata", "Is International". The value in the
    "Is Intra-Lata", "Is Inter-Lata", and "Is International" columns is one of "true" or
    "false".

    Attributes:
        system_carrier_table (List(systemCarrierTable)): systemCarrierTable - *Table*
            array of systemCarrierTable named tuples
    """

    __slots__: List[str] = [
        "system_carrier_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "system_carrier_table",
                "systemCarrierTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemPreferredCarrierGetResponse(OCIResponse):
    """
    Response to a `SystemPreferredCarrierGetRequest()`.

    Contains the attributes of a carrier.

    Attributes:
        cic (str): cic
        country_code (str): countryCode
        is_intra_lata (bool): isIntraLata
        is_inter_lata (bool): isInterLata
        is_international (bool): isInternational
    """

    __slots__: List[str] = [
        "cic",
        "country_code",
        "is_intra_lata",
        "is_inter_lata",
        "is_international",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("cic", "cic", str, is_required=True),
            E("country_code", "countryCode", str, is_required=True),
            E("is_intra_lata", "isIntraLata", bool, is_required=True),
            E("is_inter_lata", "isInterLata", bool, is_required=True),
            E("is_international", "isInternational", bool, is_required=True),
        )


class SystemPreferredCarrierGetUserListResponse(OCIResponse):
    """
    Response to a `SystemPreferredCarrierGetUserListRequest()`.

    Contains a table with one row per user.  The table columns are: "User Id", "Service
    Provider Id", "Group Id", "Last Name", "First Name", "Phone Number", "Email Address",
    "Hiragana Last Name", and "Hiragana First Name", "Extension", "Department".

    Attributes:
        users_using_carrier_table (List(usersUsingCarrierTable)): usersUsingCarrierTable -
            *Table* array of usersUsingCarrierTable named tuples
    """

    __slots__: List[str] = [
        "users_using_carrier_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "users_using_carrier_table",
                "usersUsingCarrierTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemProvisioningValidationGetResponse(OCIResponse):
    """
    Response to the `SystemProvisioningValidationGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class SystemProvisioningValidationGetResponse14sp2(OCIResponse):
    """
    Response to the `SystemProvisioningValidationGetRequest14sp2()`.


    Attributes:
        is_active (bool): isActive
        is_network_server_query_active (bool): isNetworkServerQueryActive
        timeout_seconds (int): timeoutSeconds
    """

    __slots__: List[str] = [
        "is_active",
        "is_network_server_query_active",
        "timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "is_network_server_query_active",
                "isNetworkServerQueryActive",
                bool,
                is_required=True,
            ),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
        )


class SystemProvisioningValidationGetResponse22(OCIResponse):
    """
    Response to the `SystemProvisioningValidationGetRequest22()`.


    Attributes:
        is_active (bool): isActive
        is_network_server_query_active (bool): isNetworkServerQueryActive
        timeout_seconds (int): timeoutSeconds
        deny_mobility_number_as_redirection_destination (bool):
            denyMobilityNumberAsRedirectionDestination
        deny_enterprise_number_as_network_location_destination (bool):
            denyEnterpriseNumberAsNetworkLocationDestination
    """

    __slots__: List[str] = [
        "is_active",
        "is_network_server_query_active",
        "timeout_seconds",
        "deny_mobility_number_as_redirection_destination",
        "deny_enterprise_number_as_network_location_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "is_network_server_query_active",
                "isNetworkServerQueryActive",
                bool,
                is_required=True,
            ),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "deny_mobility_number_as_redirection_destination",
                "denyMobilityNumberAsRedirectionDestination",
                bool,
                is_required=True,
            ),
            E(
                "deny_enterprise_number_as_network_location_destination",
                "denyEnterpriseNumberAsNetworkLocationDestination",
                bool,
                is_required=True,
            ),
        )


class SystemPushNotificationAllowedApplicationGetListResponse(OCIResponse):
    """
    Response to `SystemPushNotificationAllowedApplicationGetListRequest()`.

    Contains a table with a row for each allowed push notification application with
    columns: "Application Id", "Description"

    Attributes:
        application_table (List(applicationTable)): applicationTable - *Table* array of
            applicationTable named tuples
    """

    __slots__: List[str] = [
        "application_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "application_table",
                "applicationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemPushNotificationParametersGetResponse(OCIResponse):
    """
    Response to `SystemPushNotificationParametersGetRequest()`.

    The following elements are only used in AS data mode: subscriptionEventsPerSecond,
    value "100" is returned in Amplify data mode.  Contains a list of system push
    notification parameters.

    Attributes:
        enforce_allowed_application_list (bool): enforceAllowedApplicationList
        maximum_registrations_per_user (int): maximumRegistrationsPerUser
        maximum_registration_age_days (int): maximumRegistrationAgeDays
        new_call_timeout (int): newCallTimeout
        subscription_events_per_second (int): subscriptionEventsPerSecond
    """

    __slots__: List[str] = [
        "enforce_allowed_application_list",
        "maximum_registrations_per_user",
        "maximum_registration_age_days",
        "new_call_timeout",
        "subscription_events_per_second",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_allowed_application_list",
                "enforceAllowedApplicationList",
                bool,
                is_required=True,
            ),
            E(
                "maximum_registrations_per_user",
                "maximumRegistrationsPerUser",
                int,
                is_required=True,
            ),
            E(
                "maximum_registration_age_days",
                "maximumRegistrationAgeDays",
                int,
                is_required=True,
            ),
            E("new_call_timeout", "newCallTimeout", int, is_required=True),
            E(
                "subscription_events_per_second",
                "subscriptionEventsPerSecond",
                int,
                is_required=True,
            ),
        )


class SystemRedundancyParametersGetResponse(OCIResponse):
    """
    Replaced By `SystemRedundancyParametersGetResponse16sp2()` Response to
    `SystemRedundancyParametersGetRequest()`.

    Contains a list of system Redundancy parameters.

    Attributes:
        roll_back_timer_minutes (int): rollBackTimerMinutes
    """

    __slots__: List[str] = [
        "roll_back_timer_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("roll_back_timer_minutes", "rollBackTimerMinutes", int, is_required=True),
        )


class SystemRedundancyParametersGetResponse16sp2(OCIResponse):
    """
    Response to `SystemRedundancyParametersGetRequest16sp2()`.

    Contains a list of system Redundancy parameters.

    Attributes:
        roll_back_timer_minutes (int): rollBackTimerMinutes
        send_sip_option_message_upon_migration (bool): sendSipOptionMessageUponMigration
    """

    __slots__: List[str] = [
        "roll_back_timer_minutes",
        "send_sip_option_message_upon_migration",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("roll_back_timer_minutes", "rollBackTimerMinutes", int, is_required=True),
            E(
                "send_sip_option_message_upon_migration",
                "sendSipOptionMessageUponMigration",
                bool,
                is_required=True,
            ),
        )


class SystemResourcePriorityGetResponse(OCIResponse):
    """
    Response to the `SystemResourcePriorityGetRequest()`.

    The response contains the system Resource Priority service attributes.

    Attributes:
        send_resource_priority_to_network (bool): sendResourcePriorityToNetwork
        resource_priority (str): resourcePriority
    """

    __slots__: List[str] = [
        "send_resource_priority_to_network",
        "resource_priority",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_resource_priority_to_network",
                "sendResourcePriorityToNetwork",
                bool,
                is_required=True,
            ),
            E("resource_priority", "resourcePriority", str, is_required=True),
        )


class SystemRoamingNetworkGetListResponse(OCIResponse):
    """
    Response to the `SystemRoamingNetworkGetListRequest()`.

    Contains a table with columns: "MSC Address", "Network Translation Index".

    Attributes:
        roaming_network_table (List(roamingNetworkTable)): roamingNetworkTable - *Table*
            array of roamingNetworkTable named tuples
    """

    __slots__: List[str] = [
        "roaming_network_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "roaming_network_table",
                "roamingNetworkTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRouteListEnterpriseTrunkNumberPrefixGetSummaryListResponse(OCIResponse):
    """
    Response to `SystemRouteListEnterpriseTrunkNumberPrefixGetSummaryListRequest()`.

    The column headings are "Number Prefix", "Service Provider Id", "Is Enterprise", "User
    Id", "Enterprise Trunk", "Is Active", "Reseller Id" ", “Extension Range Start” and
    “Extension Range End”.

    Attributes:
        prefix_summary_table (List(prefixSummaryTable)): prefixSummaryTable - *Table*
            array of prefixSummaryTable named tuples
    """

    __slots__: List[str] = [
        "prefix_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "prefix_summary_table",
                "prefixSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRouteListEnterpriseTrunkNumberRangeGetSummaryListResponse(OCIResponse):
    """
    Response to `SystemRouteListEnterpriseTrunkNumberRangeGetSummaryListRequest()`.

    The column headings are "Number Range Start", "Number Range End", "Service Provider
    Id", "Is Enterprise", "User Id", "Enterprise Trunk", "Is Active", "Reseller Id" and
    "Extension Length".

    Attributes:
        number_range_summary_table (List(numberRangeSummaryTable)):
            numberRangeSummaryTable - *Table* array of numberRangeSummaryTable named
            tuples
    """

    __slots__: List[str] = [
        "number_range_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_range_summary_table",
                "numberRangeSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRoutePointExternalSystemApplicationControllerGetResponse(OCIResponse):
    """
    Response to the `SystemRoutePointExternalSystemApplicationControllerGetRequest()`.


    Attributes:
        application_controller (List[str]): applicationController *Optional*
    """

    __slots__: List[str] = [
        "application_controller",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("application_controller", "applicationController", str, is_array=True),
        )


class SystemRoutePointExternalSystemGetListResponse(OCIResponse):
    """
    Response to the `SystemRoutePointExternalSystemGetListRequest()`.

    Contains a table with column headings: "External System", "Description".

    Attributes:
        external_system_table (List(externalSystemTable)): externalSystemTable - *Table*
            array of externalSystemTable named tuples
    """

    __slots__: List[str] = [
        "external_system_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "external_system_table",
                "externalSystemTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRoutePointExternalSystemGetRoutePointListResponse(OCIResponse):
    """
    Response to the `SystemRoutePointExternalSystemGetRoutePointListRequest()`.


    Attributes:
        service_user_id (List[str]): serviceUserId *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("service_user_id", "serviceUserId", str, is_array=True),)


class SystemRoutingGetResponse(OCIResponse):
    """
    Response to `SystemRoutingGetRequest()`.


    Attributes:
        is_route_round_robin (bool): isRouteRoundRobin
        route_timer_seconds (int): routeTimerSeconds
        dns_resolved_address_selection_policy (str): dnsResolvedAddressSelectionPolicy
        stateful_expiration_minutes (int): statefulExpirationMinutes
        max_addresses_per_hostname (int): maxAddressesPerHostname
        max_addresses_during_setup (int): maxAddressesDuringSetup
    """

    __slots__: List[str] = [
        "is_route_round_robin",
        "route_timer_seconds",
        "dns_resolved_address_selection_policy",
        "stateful_expiration_minutes",
        "max_addresses_per_hostname",
        "max_addresses_during_setup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_route_round_robin", "isRouteRoundRobin", bool, is_required=True),
            E("route_timer_seconds", "routeTimerSeconds", int, is_required=True),
            E(
                "dns_resolved_address_selection_policy",
                "dnsResolvedAddressSelectionPolicy",
                str,
                is_required=True,
            ),
            E(
                "stateful_expiration_minutes",
                "statefulExpirationMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_addresses_per_hostname",
                "maxAddressesPerHostname",
                int,
                is_required=True,
            ),
            E(
                "max_addresses_during_setup",
                "maxAddressesDuringSetup",
                int,
                is_required=True,
            ),
        )


class SystemRoutingGetRouteDeviceListResponse(OCIResponse):
    """
    Response to `SystemRoutingGetRouteDeviceListRequest()`.

    The column headings are "Net Address", "Port", "Transport" and "Description".

    Attributes:
        route_device_table (List(routeDeviceTable)): routeDeviceTable - *Table* array of
            routeDeviceTable named tuples
    """

    __slots__: List[str] = [
        "route_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "route_device_table",
                "routeDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRoutingGetRouteListResponse(OCIResponse):
    """
    Response to `SystemRoutingGetRouteListRequest()`.


    Attributes:
        route_name (List[str]): routeName *Optional*
    """

    __slots__: List[str] = [
        "route_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("route_name", "routeName", str, is_array=True),)


class SystemRoutingGetTranslationListResponse(OCIResponse):
    """
    Response to `SystemRoutingGetTranslationListRequest()`.

    The column headings are "Routing Digits" and "Route".

    Attributes:
        routing_table (List(routingTable)): routingTable - *Table* array of routingTable
            named tuples
    """

    __slots__: List[str] = [
        "routing_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "routing_table",
                "routingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemRoutingProfileGetListResponse(OCIResponse):
    """
    Response to `SystemRoutingProfileGetListRequest()`.

    Returns a list of routing profiles defined in the system.

    Attributes:
        routing_profile (List[str]): routingProfile *Optional*
    """

    __slots__: List[str] = [
        "routing_profile",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("routing_profile", "routingProfile", str, is_array=True),)


class SystemRoutingProfileParametersGetResponse(OCIResponse):
    """
    Response to `SystemRoutingProfileParametersGetRequest()`.

    Contains a list of Routing Profile parameters.

    Attributes:
        enable_permissive_routing (bool): enablePermissiveRouting
    """

    __slots__: List[str] = [
        "enable_permissive_routing",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_permissive_routing",
                "enablePermissiveRouting",
                bool,
                is_required=True,
            ),
        )


class SystemRuntimeDataPublicationGetResponse(OCIResponse):
    """
    Response to the `SystemRuntimeDataPublicationGetRequest()`.

    The response contains the system call admission control parameters information.  The
    following elements are only used in AS data mode: enableRuntimeDataSync, value "false"
    is returned in XS data mode.  runtimeDataSyncIntervalInMilliSeconds value "1000" is
    returned in XS data mode.

    Attributes:
        enable_runtime_data_sync (bool): enableRuntimeDataSync
        runtime_data_sync_interval_in_milli_seconds (int):
            runtimeDataSyncIntervalInMilliSeconds
    """

    __slots__: List[str] = [
        "enable_runtime_data_sync",
        "runtime_data_sync_interval_in_milli_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_runtime_data_sync",
                "enableRuntimeDataSync",
                bool,
                is_required=True,
            ),
            E(
                "runtime_data_sync_interval_in_milli_seconds",
                "runtimeDataSyncIntervalInMilliSeconds",
                int,
                is_required=True,
            ),
        )


class SystemSIPAuthenticationEndpointLockoutGetResponse(OCIResponse):
    """
    Response to `SystemSIPAuthenticationEndpointLockoutGetRequest()`.

    The column headings for the lockoutTable are: "Organization Id", "Organization Type",
    "Group Id", "Line/Port", "User ID", "First Name", "Last Name", "Lockout Started",
    "Lockout Expires", "Lockout Count". Lockout times are shown in the system GMT time.
    When a permanent lockout is shown, the "Lockout Expires" column is empty and the
    "Lockout Count" column contains the word Permanent.

    Attributes:
        lockout_table (List(lockoutTable)): lockoutTable - *Table* array of lockoutTable
            named tuples
    """

    __slots__: List[str] = [
        "lockout_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "lockout_table",
                "lockoutTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPAuthenticationPasswordRulesGetResponse(OCIResponse):
    """
    Response to `SystemSIPAuthenticationPasswordRulesGetRequest()`.

    Contains the SIP authentication password rules for the system.

    Attributes:
        disallow_authentication_name (bool): disallowAuthenticationName
        disallow_old_password (bool): disallowOldPassword
        disallow_reversed_old_password (bool): disallowReversedOldPassword
        restrict_min_digits (bool): restrictMinDigits
        min_digits (int): minDigits
        restrict_min_upper_case_letters (bool): restrictMinUpperCaseLetters
        min_upper_case_letters (int): minUpperCaseLetters
        restrict_min_lower_case_letters (bool): restrictMinLowerCaseLetters
        min_lower_case_letters (int): minLowerCaseLetters
        restrict_min_non_alphanumeric_characters (bool):
            restrictMinNonAlphanumericCharacters
        min_non_alphanumeric_characters (int): minNonAlphanumericCharacters
        min_length (int): minLength
        send_permanent_lockout_notification (bool): sendPermanentLockoutNotification
        permanent_lockout_notify_email_address (str): permanentLockoutNotifyEmailAddress
            *Optional*
        endpoint_authentication_lockout_type (str): endpointAuthenticationLockoutType
        endpoint_temporary_lockout_threshold (int): endpointTemporaryLockoutThreshold
        endpoint_wait_algorithm (str): endpointWaitAlgorithm
        endpoint_lockout_fixed_minutes (str): endpointLockoutFixedMinutes
        endpoint_permanent_lockout_threshold (int): endpointPermanentLockoutThreshold
        trunk_group_authentication_lockout_type (str): trunkGroupAuthenticationLockoutType
        trunk_group_temporary_lockout_threshold (int): trunkGroupTemporaryLockoutThreshold
        trunk_group_wait_algorithm (str): trunkGroupWaitAlgorithm
        trunk_group_lockout_fixed_minutes (str): trunkGroupLockoutFixedMinutes
        trunk_group_permanent_lockout_threshold (int): trunkGroupPermanentLockoutThreshold
    """

    __slots__: List[str] = [
        "disallow_authentication_name",
        "disallow_old_password",
        "disallow_reversed_old_password",
        "restrict_min_digits",
        "min_digits",
        "restrict_min_upper_case_letters",
        "min_upper_case_letters",
        "restrict_min_lower_case_letters",
        "min_lower_case_letters",
        "restrict_min_non_alphanumeric_characters",
        "min_non_alphanumeric_characters",
        "min_length",
        "send_permanent_lockout_notification",
        "permanent_lockout_notify_email_address",
        "endpoint_authentication_lockout_type",
        "endpoint_temporary_lockout_threshold",
        "endpoint_wait_algorithm",
        "endpoint_lockout_fixed_minutes",
        "endpoint_permanent_lockout_threshold",
        "trunk_group_authentication_lockout_type",
        "trunk_group_temporary_lockout_threshold",
        "trunk_group_wait_algorithm",
        "trunk_group_lockout_fixed_minutes",
        "trunk_group_permanent_lockout_threshold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_authentication_name",
                "disallowAuthenticationName",
                bool,
                is_required=True,
            ),
            E("disallow_old_password", "disallowOldPassword", bool, is_required=True),
            E(
                "disallow_reversed_old_password",
                "disallowReversedOldPassword",
                bool,
                is_required=True,
            ),
            E("restrict_min_digits", "restrictMinDigits", bool, is_required=True),
            E("min_digits", "minDigits", int, is_required=True),
            E(
                "restrict_min_upper_case_letters",
                "restrictMinUpperCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_upper_case_letters", "minUpperCaseLetters", int, is_required=True),
            E(
                "restrict_min_lower_case_letters",
                "restrictMinLowerCaseLetters",
                bool,
                is_required=True,
            ),
            E("min_lower_case_letters", "minLowerCaseLetters", int, is_required=True),
            E(
                "restrict_min_non_alphanumeric_characters",
                "restrictMinNonAlphanumericCharacters",
                bool,
                is_required=True,
            ),
            E(
                "min_non_alphanumeric_characters",
                "minNonAlphanumericCharacters",
                int,
                is_required=True,
            ),
            E("min_length", "minLength", int, is_required=True),
            E(
                "send_permanent_lockout_notification",
                "sendPermanentLockoutNotification",
                bool,
                is_required=True,
            ),
            E(
                "permanent_lockout_notify_email_address",
                "permanentLockoutNotifyEmailAddress",
                str,
            ),
            E(
                "endpoint_authentication_lockout_type",
                "endpointAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "endpoint_temporary_lockout_threshold",
                "endpointTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "endpoint_wait_algorithm",
                "endpointWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "endpoint_lockout_fixed_minutes",
                "endpointLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "endpoint_permanent_lockout_threshold",
                "endpointPermanentLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "trunk_group_authentication_lockout_type",
                "trunkGroupAuthenticationLockoutType",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_temporary_lockout_threshold",
                "trunkGroupTemporaryLockoutThreshold",
                int,
                is_required=True,
            ),
            E(
                "trunk_group_wait_algorithm",
                "trunkGroupWaitAlgorithm",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_lockout_fixed_minutes",
                "trunkGroupLockoutFixedMinutes",
                str,
                is_required=True,
            ),
            E(
                "trunk_group_permanent_lockout_threshold",
                "trunkGroupPermanentLockoutThreshold",
                int,
                is_required=True,
            ),
        )


class SystemSIPAuthenticationTrunkGroupLockoutGetResponse(OCIResponse):
    """
    Response to `SystemSIPAuthenticationTrunkGroupLockoutGetRequest()`.

    The column headings for the lockoutTable are: "Organization Id", "Organization Type",
    "Group Id", "Trunk Group Name", "Lockout Started", "Lockout Expires", "Lockout Count".
    Lockout times are shown in the system GMT time.  When a permanent lockout is shown,
    the "Lockout Expires" column is empty and the "Lockout Count" column contains the word
    Permanent.

    Attributes:
        lockout_table (List(lockoutTable)): lockoutTable - *Table* array of lockoutTable
            named tuples
    """

    __slots__: List[str] = [
        "lockout_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "lockout_table",
                "lockoutTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPDeviceTypeFileGetListResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetListRequest()`.

    Contains a table of device files managed by the Device Management System on a per-
    device type basis.  The column headings are: "File Type", "File Format", "Is
    Authenticated".

    Replaced By: `SystemSIPDeviceTypeFileGetListResponse14sp8()`

    Attributes:
        device_type_files_table (List(deviceTypeFilesTable)): deviceTypeFilesTable -
            *Table* array of deviceTypeFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_type_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_files_table",
                "deviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPDeviceTypeFileGetListResponse14sp8(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetListRequest14sp8()`.

    Contains a table of device files managed by the Device Management System on a per-
    device type basis.  The column headings are: "File Format", "Is Authenticated",
    "Access URL", "Repository URL", "Template URL".

    Attributes:
        device_type_files_table (List(deviceTypeFilesTable)): deviceTypeFilesTable -
            *Table* array of deviceTypeFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_type_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_files_table",
                "deviceTypeFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPDeviceTypeFileGetResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest()`.

    Replaced By: `SystemSIPDeviceTypeFileGetResponse14sp8()`

    Attributes:
        file_format (str): fileFormat
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        allow_file_customization (bool): allowFileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
    """

    __slots__: List[str] = [
        "file_format",
        "remote_file_format",
        "file_category",
        "allow_file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("file_format", "fileFormat", str, is_required=True),
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E(
                "allow_file_customization",
                "allowFileCustomization",
                bool,
                is_required=True,
            ),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
        )


class SystemSIPDeviceTypeFileGetResponse14sp8(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest14sp8()`.


    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        allow_file_customization (bool): allowFileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "allow_file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E(
                "allow_file_customization",
                "allowFileCustomization",
                bool,
                is_required=True,
            ),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
        )


class SystemSIPDeviceTypeFileGetResponse16sp1(OCIResponse):
    """
    Replaced By `SystemSIPDeviceTypeFileGetResponse18()`.

    Response to `SystemSIPDeviceTypeFileGetRequest16sp1()`.

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
        )


class SystemSIPDeviceTypeFileGetResponse18(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest18()`.

    Take note: 1. accessUrl may have undefined content.  When it is the case, undefined
    content is put between []. It may also be set to "Error Access FQDN Not Provisioned"
    when the access FQDN is not set, or "Error Access Context Name Not Provisioned" when
    the context name is not set.  2. repositoryUrl may be set to
    "DEVICE_CONFIGURATION_FILE_REPOSITORY_MISSING", if there is no file repository
    defined.

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        allow_http (bool): allowHttp
        allow_https (bool): allowHttps
        allow_tftp (bool): allowTftp
        enable_caching (bool): enableCaching
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
        "allow_http",
        "allow_https",
        "allow_tftp",
        "enable_caching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("allow_http", "allowHttp", bool, is_required=True),
            E("allow_https", "allowHttps", bool, is_required=True),
            E("allow_tftp", "allowTftp", bool, is_required=True),
            E("enable_caching", "enableCaching", bool, is_required=True),
        )


class SystemSIPDeviceTypeFileGetResponse19(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest19()`.

    Take note: 1. accessUrl may have undefined content.  When it is the case, undefined
    content is put between []. It may also be set to "Error Access FQDN Not Provisioned"
    when the access FQDN is not set, or "Error Access Context Name Not Provisioned" when
    the context name is not set.  2. repositoryUrl may be set to
    "DEVICE_CONFIGURATION_FILE_REPOSITORY_MISSING", if there is no file repository
    defined.  Replaced by: `SystemSIPDeviceTypeFileGetResponse20()` in AS data mode

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        allow_http (bool): allowHttp
        allow_https (bool): allowHttps
        allow_tftp (bool): allowTftp
        enable_caching (bool): enableCaching
        allow_upload_from_device (bool): allowUploadFromDevice
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
        "allow_http",
        "allow_https",
        "allow_tftp",
        "enable_caching",
        "allow_upload_from_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("allow_http", "allowHttp", bool, is_required=True),
            E("allow_https", "allowHttps", bool, is_required=True),
            E("allow_tftp", "allowTftp", bool, is_required=True),
            E("enable_caching", "enableCaching", bool, is_required=True),
            E(
                "allow_upload_from_device",
                "allowUploadFromDevice",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeFileGetResponse20(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest20()`.

    Take note: 1. accessUrl may have undefined content.  When it is the case, undefined
    content is put between []. It may also be set to "Error Access FQDN Not Provisioned"
    when the access FQDN is not set, or "Error Access Context Name Not Provisioned" when
    the context name is not set.  2. repositoryUrl may be set to
    "DEVICE_CONFIGURATION_FILE_REPOSITORY_MISSING", if there is no file repository
    defined.  Replaced by: SystemSIPDeviceTypeFileGetResponse20Sp1

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        allow_http (bool): allowHttp
        allow_https (bool): allowHttps
        allow_tftp (bool): allowTftp
        enable_caching (bool): enableCaching
        allow_upload_from_device (bool): allowUploadFromDevice
        default_extended_file_capture_mode (bool): defaultExtendedFileCaptureMode
            *Optional*
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
        "allow_http",
        "allow_https",
        "allow_tftp",
        "enable_caching",
        "allow_upload_from_device",
        "default_extended_file_capture_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("allow_http", "allowHttp", bool, is_required=True),
            E("allow_https", "allowHttps", bool, is_required=True),
            E("allow_tftp", "allowTftp", bool, is_required=True),
            E("enable_caching", "enableCaching", bool, is_required=True),
            E(
                "allow_upload_from_device",
                "allowUploadFromDevice",
                bool,
                is_required=True,
            ),
            E(
                "default_extended_file_capture_mode",
                "defaultExtendedFileCaptureMode",
                bool,
            ),
        )


class SystemSIPDeviceTypeFileGetResponse21sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest21sp1()`.

    Take note: 1. accessUrl may have undefined content.  When it is the case, undefined
    content is put between []. It may also be set to "Error Access FQDN Not Provisioned"
    when the access FQDN is not set, or "Error Access Context Name Not Provisioned" when
    the context name is not set.  2. repositoryUrl may be set to
    "DEVICE_CONFIGURATION_FILE_REPOSITORY_MISSING", if there is no file repository
    defined.  Replaced by: `SystemSIPDeviceTypeFileGetResponse22()` in AS data mode.

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_cert (bool): macInCert
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        allow_http (bool): allowHttp
        allow_https (bool): allowHttps
        allow_tftp (bool): allowTftp
        enable_caching (bool): enableCaching
        allow_upload_from_device (bool): allowUploadFromDevice
        default_extended_file_capture_mode (bool): defaultExtendedFileCaptureMode
            *Optional*
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_cert",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
        "allow_http",
        "allow_https",
        "allow_tftp",
        "enable_caching",
        "allow_upload_from_device",
        "default_extended_file_capture_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_cert", "macInCert", bool, is_required=True),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str, is_required=True),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("allow_http", "allowHttp", bool, is_required=True),
            E("allow_https", "allowHttps", bool, is_required=True),
            E("allow_tftp", "allowTftp", bool, is_required=True),
            E("enable_caching", "enableCaching", bool, is_required=True),
            E(
                "allow_upload_from_device",
                "allowUploadFromDevice",
                bool,
                is_required=True,
            ),
            E(
                "default_extended_file_capture_mode",
                "defaultExtendedFileCaptureMode",
                bool,
            ),
        )


class SystemSIPDeviceTypeFileGetResponse22(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeFileGetRequest22()`.

    Take note: 1. accessUrl may have undefined content.  When it is the case, undefined
    content is put between []. It may also be set to "Error Access FQDN Not Provisioned"
    when the access FQDN is not set, or "Error Access Context Name Not Provisioned" when
    the context name is not set.  2. repositoryUrl may be set to
    "DEVICE_CONFIGURATION_FILE_REPOSITORY_MISSING", if there is no file repository
    defined.

    Attributes:
        remote_file_format (str): remoteFileFormat
        file_category (str): fileCategory
        file_customization (str): fileCustomization
        file_source (str): fileSource
        configuration_file_name (str): configurationFileName *Optional*
        use_http_digest_authentication (bool): useHttpDigestAuthentication
        mac_based_file_authentication (bool): macBasedFileAuthentication
        user_name_password_file_authentication (bool): userNamePasswordFileAuthentication
        mac_in_cert (bool): macInCert
        mac_in_non_request_uri (bool): macInNonRequestURI
        mac_format_in_non_request_uri (str): macFormatInNonRequestURI *Optional*
        access_url (str): accessUrl *Optional*
        repository_url (str): repositoryUrl *Optional*
        template_url (str): templateUrl *Optional*
        allow_http (bool): allowHttp
        allow_https (bool): allowHttps
        allow_tftp (bool): allowTftp
        enable_caching (bool): enableCaching
        allow_upload_from_device (bool): allowUploadFromDevice
        default_extended_file_capture_mode (bool): defaultExtendedFileCaptureMode
            *Optional*
    """

    __slots__: List[str] = [
        "remote_file_format",
        "file_category",
        "file_customization",
        "file_source",
        "configuration_file_name",
        "use_http_digest_authentication",
        "mac_based_file_authentication",
        "user_name_password_file_authentication",
        "mac_in_cert",
        "mac_in_non_request_uri",
        "mac_format_in_non_request_uri",
        "access_url",
        "repository_url",
        "template_url",
        "allow_http",
        "allow_https",
        "allow_tftp",
        "enable_caching",
        "allow_upload_from_device",
        "default_extended_file_capture_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("remote_file_format", "remoteFileFormat", str, is_required=True),
            E("file_category", "fileCategory", str, is_required=True),
            E("file_customization", "fileCustomization", str, is_required=True),
            E("file_source", "fileSource", str, is_required=True),
            E("configuration_file_name", "configurationFileName", str),
            E(
                "use_http_digest_authentication",
                "useHttpDigestAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "mac_based_file_authentication",
                "macBasedFileAuthentication",
                bool,
                is_required=True,
            ),
            E(
                "user_name_password_file_authentication",
                "userNamePasswordFileAuthentication",
                bool,
                is_required=True,
            ),
            E("mac_in_cert", "macInCert", bool, is_required=True),
            E("mac_in_non_request_uri", "macInNonRequestURI", bool, is_required=True),
            E("mac_format_in_non_request_uri", "macFormatInNonRequestURI", str),
            E("access_url", "accessUrl", str),
            E("repository_url", "repositoryUrl", str),
            E("template_url", "templateUrl", str),
            E("allow_http", "allowHttp", bool, is_required=True),
            E("allow_https", "allowHttps", bool, is_required=True),
            E("allow_tftp", "allowTftp", bool, is_required=True),
            E("enable_caching", "enableCaching", bool, is_required=True),
            E(
                "allow_upload_from_device",
                "allowUploadFromDevice",
                bool,
                is_required=True,
            ),
            E(
                "default_extended_file_capture_mode",
                "defaultExtendedFileCaptureMode",
                bool,
            ),
        )


class SystemSIPDeviceTypeGetListResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetListRequest()`.

    Contains a table of identity/ device profile types configured in the system.  The
    column headings are: "Device Type", "Profile", "Is Obsolete" and "Reseller Id". The
    following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        device_type_table (List(deviceTypeTable)): deviceTypeTable - *Table* array of
            deviceTypeTable named tuples
    """

    __slots__: List[str] = [
        "device_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_table",
                "deviceTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPDeviceTypeLanguageMappingGetListResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeLanguageMappingGetListRequest()`.

    Contains a table of device type languages mapped to equivalent BroadWorks languages.
    The column headings are: "BroadWorks Language", "Device Language".

    Attributes:
        device_type_languages_table (List(deviceTypeLanguagesTable)):
            deviceTypeLanguagesTable - *Table* array of deviceTypeLanguagesTable named
            tuples
    """

    __slots__: List[str] = [
        "device_type_languages_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_type_languages_table",
                "deviceTypeLanguagesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPDeviceTypeServiceGetResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeServiceGetRequest()`.

    Contains the list of device type services integrated to BroadWorks.

    Attributes:
        supports_polycom_phone_services (bool): supportsPolycomPhoneServices
    """

    __slots__: List[str] = [
        "supports_polycom_phone_services",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supports_polycom_phone_services",
                "supportsPolycomPhoneServices",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDiversionReasonGetResponse(OCIResponse):
    """
    Response to `SystemSIPDiversionReasonGetRequest()`.

    Contains a table containing a list of diversion reasons and associated cause values.
    The column headings are: "Diversion Reaon", "Cause Value".

    Attributes:
        diversion_reason_table (List(diversionReasonTable)): diversionReasonTable -
            *Table* array of diversionReasonTable named tuples
    """

    __slots__: List[str] = [
        "diversion_reason_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "diversion_reason_table",
                "diversionReasonTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPGetACLListResponse(OCIResponse):
    """
    Response to `SystemSIPGetACLListRequest()`.

    The table columns are: "Net Address", "Transport" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSIPGetContentTypeListResponse(OCIResponse):
    """
    Response to `SystemSIPGetContentTypeListRequest()`.

    Returns a 2 column table with column headings: "Content Type" and "Supported
    Interface".

    Attributes:
        content_type_table (List(contentTypeTable)): contentTypeTable - *Table* array of
            contentTypeTable named tuples
    """

    __slots__: List[str] = [
        "content_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "content_type_table",
                "contentTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSMDIGetACLListResponse(OCIResponse):
    """
    Response to `SystemSMDIGetACLListRequest()`.

    The table columns are: "Net Address" and "Description".

    Attributes:
        acl_table (List(aclTable)): aclTable - *Table* array of aclTable named tuples
    """

    __slots__: List[str] = [
        "acl_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "acl_table",
                "aclTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSMDIMessageDeskGetServerListResponse(OCIResponse):
    """
    Response to `SystemMediaServerGetListRequest()`.

    The SMDI Server table column headings are: "Device Name", "Net Address", "Port" and
    "Description".

    Attributes:
        smdi_server_table (List(smdiServerTable)): smdiServerTable - *Table* array of
            smdiServerTable named tuples
    """

    __slots__: List[str] = [
        "smdi_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "smdi_server_table",
                "smdiServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSMDIMessageDeskGetServerRouteListResponse(OCIResponse):
    """
    Response to `SystemSMDIMessageDeskGetServerRouteListRequest()`.

    The SMDI Server route table column headings are: "Destination" and "SMDI Servers".

    Attributes:
        smdi_server_route_table (List(smdiServerRouteTable)): smdiServerRouteTable -
            *Table* array of smdiServerRouteTable named tuples
    """

    __slots__: List[str] = [
        "smdi_server_route_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "smdi_server_route_table",
                "smdiServerRouteTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSMDIParametersGetResponse(OCIResponse):
    """
    Response to `SystemSMDIParametersGetListRequest()`.

    Contains a list of system SMDI parameters.

    Attributes:
        enable_smdi (bool): enableSMDI
        listening_port (int): listeningPort
        max_connections (int): maxConnections
    """

    __slots__: List[str] = [
        "enable_smdi",
        "listening_port",
        "max_connections",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_smdi", "enableSMDI", bool, is_required=True),
            E("listening_port", "listeningPort", int, is_required=True),
            E("max_connections", "maxConnections", int, is_required=True),
        )


class SystemSMPPGetResponse(OCIResponse):
    """
    Response to `SystemSMPPGetRequest()`.


    Attributes:
        primary_smpp_server_net_address (str): primarySMPPServerNetAddress *Optional*
        primary_smpp_port (int): primarySMPPPort
        secondary_smpp_server_net_address (str): secondarySMPPServerNetAddress *Optional*
        secondary_smpp_port (int): secondarySMPPPort
        system_id (str): systemId *Optional*
        password (str): password *Optional*
        version (str): version
    """

    __slots__: List[str] = [
        "primary_smpp_server_net_address",
        "primary_smpp_port",
        "secondary_smpp_server_net_address",
        "secondary_smpp_port",
        "system_id",
        "password",
        "version",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_smpp_server_net_address", "primarySMPPServerNetAddress", str),
            E("primary_smpp_port", "primarySMPPPort", int, is_required=True),
            E(
                "secondary_smpp_server_net_address",
                "secondarySMPPServerNetAddress",
                str,
            ),
            E("secondary_smpp_port", "secondarySMPPPort", int, is_required=True),
            E("system_id", "systemId", str),
            E("password", "password", str),
            E("version", "version", str, is_required=True),
        )


class SystemSMPPGetResponse14sp5(OCIResponse):
    """
    Response to `SystemSMPPGetRequest14sp5()`.

    Replaced by: `SystemSMPPGetResponse21()` in AS data mode

    Attributes:
        primary_smpp_server_net_address (str): primarySMPPServerNetAddress *Optional*
        primary_smpp_port (int): primarySMPPPort
        secondary_smpp_server_net_address (str): secondarySMPPServerNetAddress *Optional*
        secondary_smpp_port (int): secondarySMPPPort
        system_id (str): systemId *Optional*
        password (str): password *Optional*
        version (str): version
        system_type (str): systemType *Optional*
    """

    __slots__: List[str] = [
        "primary_smpp_server_net_address",
        "primary_smpp_port",
        "secondary_smpp_server_net_address",
        "secondary_smpp_port",
        "system_id",
        "password",
        "version",
        "system_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_smpp_server_net_address", "primarySMPPServerNetAddress", str),
            E("primary_smpp_port", "primarySMPPPort", int, is_required=True),
            E(
                "secondary_smpp_server_net_address",
                "secondarySMPPServerNetAddress",
                str,
            ),
            E("secondary_smpp_port", "secondarySMPPPort", int, is_required=True),
            E("system_id", "systemId", str),
            E("password", "password", str),
            E("version", "version", str, is_required=True),
            E("system_type", "systemType", str),
        )


class SystemSMPPGetResponse21(OCIResponse):
    """
    Response to `SystemSMPPGetRequest21()`.

    The following elements are only used in AS data mode: primarySMPPServerNetAddress,
    value "" is returned in Amplify data mode primarySMPPPort, value "2775" is returned in
    Amplify data mode secondarySMPPServerNetAddress, value "" is returned in Amplify mode
    secondarySMPPPort, value "2775" is returned in Amplify data mode systemId, value "" is
    returned in Amplify data mode password, value "" is returned in Amplify mode version,
    value "" is returned in Amplify data mode systemType, value "VMS" is returned in
    Amplify mode useGsmMwiUcs2Encoding, value "true" is returned in Amplify mode

    Attributes:
        primary_smpp_server_net_address (str): primarySMPPServerNetAddress *Optional*
        primary_smpp_port (int): primarySMPPPort
        secondary_smpp_server_net_address (str): secondarySMPPServerNetAddress *Optional*
        secondary_smpp_port (int): secondarySMPPPort
        system_id (str): systemId *Optional*
        password (str): password *Optional*
        version (str): version
        system_type (str): systemType *Optional*
        enable_mwi_customized_message (bool): enableMWICustomizedMessage
        support_message_payload (bool): supportMessagePayload
        max_short_message_length (int): maxShortMessageLength
        use_gsm_mwi_ucs2_encoding (bool): useGsmMwiUcs2Encoding
    """

    __slots__: List[str] = [
        "primary_smpp_server_net_address",
        "primary_smpp_port",
        "secondary_smpp_server_net_address",
        "secondary_smpp_port",
        "system_id",
        "password",
        "version",
        "system_type",
        "enable_mwi_customized_message",
        "support_message_payload",
        "max_short_message_length",
        "use_gsm_mwi_ucs2_encoding",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_smpp_server_net_address", "primarySMPPServerNetAddress", str),
            E("primary_smpp_port", "primarySMPPPort", int, is_required=True),
            E(
                "secondary_smpp_server_net_address",
                "secondarySMPPServerNetAddress",
                str,
            ),
            E("secondary_smpp_port", "secondarySMPPPort", int, is_required=True),
            E("system_id", "systemId", str),
            E("password", "password", str),
            E("version", "version", str, is_required=True),
            E("system_type", "systemType", str),
            E(
                "enable_mwi_customized_message",
                "enableMWICustomizedMessage",
                bool,
                is_required=True,
            ),
            E(
                "support_message_payload",
                "supportMessagePayload",
                bool,
                is_required=True,
            ),
            E(
                "max_short_message_length",
                "maxShortMessageLength",
                int,
                is_required=True,
            ),
            E(
                "use_gsm_mwi_ucs2_encoding",
                "useGsmMwiUcs2Encoding",
                bool,
                is_required=True,
            ),
        )


class SystemSMPPGetResponse22(OCIResponse):
    """
    Response to `SystemSMPPGetRequest22()`.

    The following elements are only used in AS data mode: primarySMPPServerNetAddress,
    value "" is returned in Amplify data mode primarySMPPPort, value "2775" is returned in
    Amplify data mode secondarySMPPServerNetAddress, value "" is returned in Amplify mode
    secondarySMPPPort, value "2775" is returned in Amplify data mode systemId, value "" is
    returned in Amplify data mode password, value "" is returned in Amplify mode version,
    value "" is returned in Amplify data mode systemType, value "VMS" is returned in
    Amplify mode useGsmMwiUcs2Encoding, value "true" is returned in Amplify mode

    Attributes:
        primary_smpp_server_net_address (str): primarySMPPServerNetAddress *Optional*
        primary_smpp_port (int): primarySMPPPort
        secondary_smpp_server_net_address (str): secondarySMPPServerNetAddress *Optional*
        secondary_smpp_port (int): secondarySMPPPort
        system_id (str): systemId *Optional*
        password (str): password *Optional*
        version (str): version
        system_type (str): systemType *Optional*
        enable_mwi_customized_message (bool): enableMWICustomizedMessage
        support_message_payload (bool): supportMessagePayload
        max_short_message_length (int): maxShortMessageLength
        use_gsm_mwi_ucs2_encoding (bool): useGsmMwiUcs2Encoding
        include_only_new_message_count (bool): includeOnlyNewMessageCount
    """

    __slots__: List[str] = [
        "primary_smpp_server_net_address",
        "primary_smpp_port",
        "secondary_smpp_server_net_address",
        "secondary_smpp_port",
        "system_id",
        "password",
        "version",
        "system_type",
        "enable_mwi_customized_message",
        "support_message_payload",
        "max_short_message_length",
        "use_gsm_mwi_ucs2_encoding",
        "include_only_new_message_count",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_smpp_server_net_address", "primarySMPPServerNetAddress", str),
            E("primary_smpp_port", "primarySMPPPort", int, is_required=True),
            E(
                "secondary_smpp_server_net_address",
                "secondarySMPPServerNetAddress",
                str,
            ),
            E("secondary_smpp_port", "secondarySMPPPort", int, is_required=True),
            E("system_id", "systemId", str),
            E("password", "password", str),
            E("version", "version", str, is_required=True),
            E("system_type", "systemType", str),
            E(
                "enable_mwi_customized_message",
                "enableMWICustomizedMessage",
                bool,
                is_required=True,
            ),
            E(
                "support_message_payload",
                "supportMessagePayload",
                bool,
                is_required=True,
            ),
            E(
                "max_short_message_length",
                "maxShortMessageLength",
                int,
                is_required=True,
            ),
            E(
                "use_gsm_mwi_ucs2_encoding",
                "useGsmMwiUcs2Encoding",
                bool,
                is_required=True,
            ),
            E(
                "include_only_new_message_count",
                "includeOnlyNewMessageCount",
                bool,
                is_required=True,
            ),
        )


class SystemScheduleGetEventListResponse(OCIResponse):
    """
    Response to `SystemScheduleGetEventListRequest()`.

    The response contains a list of events.

    Attributes:
        event_name (List[str]): eventName *Optional*
    """

    __slots__: List[str] = [
        "event_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("event_name", "eventName", str, is_array=True),)


class SystemScheduleGetListResponse(OCIResponse):
    """
    Response to `SystemScheduleGetListRequest()`.

    The response contains a list of system schedules.

    Attributes:
        schedule_name (List[str]): scheduleName *Optional*
        schedule_type (List[str]): scheduleType *Optional*
    """

    __slots__: List[str] = [
        "schedule_name",
        "schedule_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_name", "scheduleName", str, is_array=True),
            E("schedule_type", "scheduleType", str, is_array=True),
        )


class SystemSecurityClassificationGetClassificationResponse(OCIResponse):
    """
    Response to the `SystemSecurityClassificationGetClassificationRequest()`.


    Attributes:
        audio_announcement_file_description (str): audioAnnouncementFileDescription
        audio_announcement_file_type (str): audioAnnouncementFileType
    """

    __slots__: List[str] = [
        "audio_announcement_file_description",
        "audio_announcement_file_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "audio_announcement_file_description",
                "audioAnnouncementFileDescription",
                str,
                is_required=True,
            ),
            E(
                "audio_announcement_file_type",
                "audioAnnouncementFileType",
                str,
                is_required=True,
            ),
        )


class SystemSecurityClassificationGetClassificationTrunkGroupUsageListResponse(
    OCIResponse,
):
    """
    Response to the
    `SystemSecurityClassificationGetClassificationTrunkGroupUsageListRequest()`.

    Contains a table with column headings: "Trunk Group Name","Group ID","Organization ID"
    and "Organization Type"

    Attributes:
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSecurityClassificationGetClassificationUserUsageListResponse(OCIResponse):
    """
    Response to the `SystemSecurityClassificationGetClassificationUserUsageListRequest()`.

    Contains a table with column headings: "User ID", "Last Name", "First Name", "Phone
    Number", "Extension", "Service Provider Id", "Group Id".

    Attributes:
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSecurityClassificationGetResponse(OCIResponse):
    """
    Response to the `SystemSecurityClassificationGetRequest()`.

    Contains a table with column headings: "Name", "Priority".

    Attributes:
        meet_me_annc_threshold (int): meetMeAnncThreshold
        security_classification_table (List(SecurityClassificationTable)):
            SecurityClassificationTable - *Table* array of SecurityClassificationTable
            named tuples
    """

    __slots__: List[str] = [
        "meet_me_annc_threshold",
        "security_classification_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("meet_me_annc_threshold", "meetMeAnncThreshold", int, is_required=True),
            E(
                "security_classification_table",
                "SecurityClassificationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSecurityClassificationGetResponse21(OCIResponse):
    """
    Response to the `SystemSecurityClassificationGetRequest21()`.

    Contains a table with column headings: "Name", "Priority".

    Attributes:
        meet_me_annc_threshold (int): meetMeAnncThreshold
        play_trunk_user_security_classification_announcement (bool):
            playTrunkUserSecurityClassificationAnnouncement
        security_classification_table (List(SecurityClassificationTable)):
            SecurityClassificationTable - *Table* array of SecurityClassificationTable
            named tuples
    """

    __slots__: List[str] = [
        "meet_me_annc_threshold",
        "play_trunk_user_security_classification_announcement",
        "security_classification_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("meet_me_annc_threshold", "meetMeAnncThreshold", int, is_required=True),
            E(
                "play_trunk_user_security_classification_announcement",
                "playTrunkUserSecurityClassificationAnnouncement",
                bool,
                is_required=True,
            ),
            E(
                "security_classification_table",
                "SecurityClassificationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSelectiveServicesGetResponse(OCIResponse):
    """
    Response to `SystemSelectiveServicesGetRequest()`.


    Attributes:
        schedule_combination (str): scheduleCombination
    """

    __slots__: List[str] = [
        "schedule_combination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_combination", "scheduleCombination", str, is_required=True),
        )


class SystemSelectiveServicesGetResponse18sp1(OCIResponse):
    """
    Response to `SystemSelectiveServicesGetRequest18sp1()`.


    Attributes:
        schedule_combination (str): scheduleCombination
        screen_private_number (bool): screenPrivateNumber
    """

    __slots__: List[str] = [
        "schedule_combination",
        "screen_private_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_combination", "scheduleCombination", str, is_required=True),
            E("screen_private_number", "screenPrivateNumber", bool, is_required=True),
        )


class SystemSelectiveServicesGetResponse22(OCIResponse):
    """
    Response to `SystemSelectiveServicesGetRequest22()`.


    Attributes:
        schedule_combination (str): scheduleCombination
        screen_private_number (bool): screenPrivateNumber
        empty_holiday_schedule_is_out_of_schedule (bool):
            emptyHolidayScheduleIsOutOfSchedule
    """

    __slots__: List[str] = [
        "schedule_combination",
        "screen_private_number",
        "empty_holiday_schedule_is_out_of_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_combination", "scheduleCombination", str, is_required=True),
            E("screen_private_number", "screenPrivateNumber", bool, is_required=True),
            E(
                "empty_holiday_schedule_is_out_of_schedule",
                "emptyHolidayScheduleIsOutOfSchedule",
                bool,
                is_required=True,
            ),
        )


class SystemServerAddressesGetResponse(OCIResponse):
    """
    Response to `SystemServerAddressesGetRequest()`.

    Contains a list of system Server Addresses.  See also: `PrimaryInfoGetResponse()`
    `PublicClusterGetFullyQualifiedDomainNameResponse()` `ServingInfoGetResponse()`

    Attributes:
        web_server_cluster_public_fqdn (str): webServerClusterPublicFQDN *Optional*
        application_server_cluster_primary_public_fqdn (str):
            applicationServerClusterPrimaryPublicFQDN *Optional*
        application_server_cluster_secondary_public_fqdn (str):
            applicationServerClusterSecondaryPublicFQDN *Optional*
        application_server_cluster_primary_private_fqdn (str):
            applicationServerClusterPrimaryPrivateFQDN *Optional*
        application_server_cluster_secondary_private_fqdn (str):
            applicationServerClusterSecondaryPrivateFQDN *Optional*
    """

    __slots__: List[str] = [
        "web_server_cluster_public_fqdn",
        "application_server_cluster_primary_public_fqdn",
        "application_server_cluster_secondary_public_fqdn",
        "application_server_cluster_primary_private_fqdn",
        "application_server_cluster_secondary_private_fqdn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("web_server_cluster_public_fqdn", "webServerClusterPublicFQDN", str),
            E(
                "application_server_cluster_primary_public_fqdn",
                "applicationServerClusterPrimaryPublicFQDN",
                str,
            ),
            E(
                "application_server_cluster_secondary_public_fqdn",
                "applicationServerClusterSecondaryPublicFQDN",
                str,
            ),
            E(
                "application_server_cluster_primary_private_fqdn",
                "applicationServerClusterPrimaryPrivateFQDN",
                str,
            ),
            E(
                "application_server_cluster_secondary_private_fqdn",
                "applicationServerClusterSecondaryPrivateFQDN",
                str,
            ),
        )


class SystemServiceActivationAccessCodeGetResponse(OCIResponse):
    """
    Response to `SystemServiceActivationAccessCodeGetRequest()`.

    Contains Service Activation Access Code system parameters.

    Attributes:
        is_active (bool): isActive
        terminating_access_code (str): terminatingAccessCode *Optional*
        redirecting_access_code (str): redirectingAccessCode *Optional*
        click_to_dial_access_code (str): clickToDialAccessCode *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "terminating_access_code",
        "redirecting_access_code",
        "click_to_dial_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("terminating_access_code", "terminatingAccessCode", str),
            E("redirecting_access_code", "redirectingAccessCode", str),
            E("click_to_dial_access_code", "clickToDialAccessCode", str),
        )


class SystemServiceCodeGetListResponse(OCIResponse):
    """
    Response to `SystemServiceCodeGetListRequest()`.

    Contains a table of defined service codes The column headings are: "Service Code", and
    "Description".

    Attributes:
        service_code_table (List(serviceCodeTable)): serviceCodeTable - *Table* array of
            serviceCodeTable named tuples
    """

    __slots__: List[str] = [
        "service_code_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_code_table",
                "serviceCodeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemServicePackMigrationGetResponse(OCIResponse):
    """
    Response to the `SystemServicePackMigrationGetRequest()`.

    The response contains the Service Pack Migration system level settings.

    Attributes:
        max_simultaneous_migration_tasks (int): maxSimultaneousMigrationTasks
    """

    __slots__: List[str] = [
        "max_simultaneous_migration_tasks",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_simultaneous_migration_tasks",
                "maxSimultaneousMigrationTasks",
                int,
                is_required=True,
            ),
        )


class SystemServicePhoneNumberLookupResponse(OCIResponse):
    """
    Response to the `SystemServicePhoneNumberLookupRequest()`.

    The column headings for the userTable are: "Service Provider Id", "Is Enterprise",
    "Group Id", "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Phone Number" and "Extension".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSessionAdmissionControlGetResponse(OCIResponse):
    """
    Response to the `SystemSessionAdmissionControlGetRequest()`.

    The response contains the session admission control settings for the system.  Replaced
    by: `SystemSessionAdmissionControlGetResponse21sp1()`.

    Attributes:
        count_long_connections_to_media_server (bool): countLongConnectionsToMediaServer
        sac_handling_for_mo_h (str): sacHandlingForMoH
        block_vm_deposit_due_to_sac_limits (bool): blockVMDepositDueToSACLimits
    """

    __slots__: List[str] = [
        "count_long_connections_to_media_server",
        "sac_handling_for_mo_h",
        "block_vm_deposit_due_to_sac_limits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "count_long_connections_to_media_server",
                "countLongConnectionsToMediaServer",
                bool,
                is_required=True,
            ),
            E("sac_handling_for_mo_h", "sacHandlingForMoH", str, is_required=True),
            E(
                "block_vm_deposit_due_to_sac_limits",
                "blockVMDepositDueToSACLimits",
                bool,
                is_required=True,
            ),
        )


class SystemSessionAdmissionControlGetResponse21sp1(OCIResponse):
    """
    Response to the `SystemSessionAdmissionControlGetRequest21sp1()`.

    The response contains the session admission control settings for the system.  Replaced
    by: `SystemSessionAdmissionControlGetResponse22()`.

    Attributes:
        count_long_connections_to_media_server (bool): countLongConnectionsToMediaServer
        sac_handling_for_mo_h (str): sacHandlingForMoH
        block_vm_deposit_due_to_sac_limits (bool): blockVMDepositDueToSACLimits
        sac_codec_selection_policy (str): sacCodecSelectionPolicy
    """

    __slots__: List[str] = [
        "count_long_connections_to_media_server",
        "sac_handling_for_mo_h",
        "block_vm_deposit_due_to_sac_limits",
        "sac_codec_selection_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "count_long_connections_to_media_server",
                "countLongConnectionsToMediaServer",
                bool,
                is_required=True,
            ),
            E("sac_handling_for_mo_h", "sacHandlingForMoH", str, is_required=True),
            E(
                "block_vm_deposit_due_to_sac_limits",
                "blockVMDepositDueToSACLimits",
                bool,
                is_required=True,
            ),
            E(
                "sac_codec_selection_policy",
                "sacCodecSelectionPolicy",
                str,
                is_required=True,
            ),
        )


class SystemSessionAdmissionControlGetResponse22(OCIResponse):
    """
    Response to the `SystemSessionAdmissionControlGetRequest22()`.

    The response contains the session admission control settings for the system.

    Attributes:
        count_long_connections_to_media_server (bool): countLongConnectionsToMediaServer
        sac_handling_for_mo_h (str): sacHandlingForMoH
        block_vm_deposit_due_to_sac_limits (bool): blockVMDepositDueToSACLimits
        sac_codec_selection_policy (str): sacCodecSelectionPolicy
        count_call_to_mobile_number_for_sac_subscriber (bool):
            countCallToMobileNumberForSACSubscriber
        count_bw_anywhere_for_sac_subscriber (bool): countBWAnywhereForSACSubscriber
        count_ro_for_sac_subscriber (bool): countROForSACSubscriber
        exclude_bw_mobility_for_sac_subscriber (bool): excludeBWMobilityForSACSubscriber
    """

    __slots__: List[str] = [
        "count_long_connections_to_media_server",
        "sac_handling_for_mo_h",
        "block_vm_deposit_due_to_sac_limits",
        "sac_codec_selection_policy",
        "count_call_to_mobile_number_for_sac_subscriber",
        "count_bw_anywhere_for_sac_subscriber",
        "count_ro_for_sac_subscriber",
        "exclude_bw_mobility_for_sac_subscriber",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "count_long_connections_to_media_server",
                "countLongConnectionsToMediaServer",
                bool,
                is_required=True,
            ),
            E("sac_handling_for_mo_h", "sacHandlingForMoH", str, is_required=True),
            E(
                "block_vm_deposit_due_to_sac_limits",
                "blockVMDepositDueToSACLimits",
                bool,
                is_required=True,
            ),
            E(
                "sac_codec_selection_policy",
                "sacCodecSelectionPolicy",
                str,
                is_required=True,
            ),
            E(
                "count_call_to_mobile_number_for_sac_subscriber",
                "countCallToMobileNumberForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "count_bw_anywhere_for_sac_subscriber",
                "countBWAnywhereForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "count_ro_for_sac_subscriber",
                "countROForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "exclude_bw_mobility_for_sac_subscriber",
                "excludeBWMobilityForSACSubscriber",
                bool,
                is_required=True,
            ),
        )


class SystemSessionAdmissionControlGetResponse22V2(OCIResponse):
    """
    Response to the `SystemSessionAdmissionControlGetRequest22V2()`.

    The response contains the session admission control settings for the system.

    Attributes:
        count_long_connections_to_media_server (bool): countLongConnectionsToMediaServer
        sac_handling_for_mo_h (str): sacHandlingForMoH
        block_vm_deposit_due_to_sac_limits (bool): blockVMDepositDueToSACLimits
        sac_codec_selection_policy (str): sacCodecSelectionPolicy
        count_call_to_mobile_number_for_sac_subscriber (bool):
            countCallToMobileNumberForSACSubscriber
        count_bw_anywhere_for_sac_subscriber (bool): countBWAnywhereForSACSubscriber
        count_ro_for_sac_subscriber (bool): countROForSACSubscriber
        exclude_bw_mobility_for_sac_subscriber (bool): excludeBWMobilityForSACSubscriber
        enable_holdover_of_highwater_session_counts (bool):
            enableHoldoverOfHighwaterSessionCounts
        holdover_period_minutes (str): holdoverPeriodMinutes
        time_zone_offset_minutes (str): timeZoneOffsetMinutes
    """

    __slots__: List[str] = [
        "count_long_connections_to_media_server",
        "sac_handling_for_mo_h",
        "block_vm_deposit_due_to_sac_limits",
        "sac_codec_selection_policy",
        "count_call_to_mobile_number_for_sac_subscriber",
        "count_bw_anywhere_for_sac_subscriber",
        "count_ro_for_sac_subscriber",
        "exclude_bw_mobility_for_sac_subscriber",
        "enable_holdover_of_highwater_session_counts",
        "holdover_period_minutes",
        "time_zone_offset_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "count_long_connections_to_media_server",
                "countLongConnectionsToMediaServer",
                bool,
                is_required=True,
            ),
            E("sac_handling_for_mo_h", "sacHandlingForMoH", str, is_required=True),
            E(
                "block_vm_deposit_due_to_sac_limits",
                "blockVMDepositDueToSACLimits",
                bool,
                is_required=True,
            ),
            E(
                "sac_codec_selection_policy",
                "sacCodecSelectionPolicy",
                str,
                is_required=True,
            ),
            E(
                "count_call_to_mobile_number_for_sac_subscriber",
                "countCallToMobileNumberForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "count_bw_anywhere_for_sac_subscriber",
                "countBWAnywhereForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "count_ro_for_sac_subscriber",
                "countROForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "exclude_bw_mobility_for_sac_subscriber",
                "excludeBWMobilityForSACSubscriber",
                bool,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_session_counts",
                "enableHoldoverOfHighwaterSessionCounts",
                bool,
                is_required=True,
            ),
            E(
                "holdover_period_minutes",
                "holdoverPeriodMinutes",
                str,
                is_required=True,
            ),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                str,
                is_required=True,
            ),
        )


class SystemSessionAuditGetResponse(OCIResponse):
    """
    Response to `SystemSessionAuditGetRequest()`.

    Replaced By: `SystemSessionAuditGetResponse14sp3()`

    Attributes:
        is_active (bool): isActive
        interval_seconds (int): intervalSeconds
        timeout_period_seconds (int): timeoutPeriodSeconds
    """

    __slots__: List[str] = [
        "is_active",
        "interval_seconds",
        "timeout_period_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("interval_seconds", "intervalSeconds", int, is_required=True),
            E("timeout_period_seconds", "timeoutPeriodSeconds", int, is_required=True),
        )


class SystemSessionAuditGetResponse14sp3(OCIResponse):
    """
    Response to `SystemSessionAuditGetRequest14sp3()`.


    Attributes:
        is_audit_active (bool): isAuditActive
        audit_interval_seconds (int): auditIntervalSeconds
        audit_timeout_seconds (int): auditTimeoutSeconds
        release_call_on_audit_failure (bool): releaseCallOnAuditFailure
        is_sip_refresh_allowed_on_audit (bool): isSIPRefreshAllowedOnAudit
        allow_update_for_sip_refresh (bool): allowUpdateForSIPRefresh
        is_sip_session_timer_active (bool): isSIPSessionTimerActive
        sip_session_expires_minimum_seconds (int): sipSessionExpiresMinimumSeconds
        enforce_sip_session_expires_maximum (bool): enforceSIPSessionExpiresMaximum
        sip_session_expires_maximum_seconds (int): sipSessionExpiresMaximumSeconds
        sip_session_expires_timer_seconds (int): sipSessionExpiresTimerSeconds
        always_use_session_timer_when_supported (bool): alwaysUseSessionTimerWhenSupported
        preferred_session_timer_refresher (str): preferredSessionTimerRefresher
    """

    __slots__: List[str] = [
        "is_audit_active",
        "audit_interval_seconds",
        "audit_timeout_seconds",
        "release_call_on_audit_failure",
        "is_sip_refresh_allowed_on_audit",
        "allow_update_for_sip_refresh",
        "is_sip_session_timer_active",
        "sip_session_expires_minimum_seconds",
        "enforce_sip_session_expires_maximum",
        "sip_session_expires_maximum_seconds",
        "sip_session_expires_timer_seconds",
        "always_use_session_timer_when_supported",
        "preferred_session_timer_refresher",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_audit_active", "isAuditActive", bool, is_required=True),
            E("audit_interval_seconds", "auditIntervalSeconds", int, is_required=True),
            E("audit_timeout_seconds", "auditTimeoutSeconds", int, is_required=True),
            E(
                "release_call_on_audit_failure",
                "releaseCallOnAuditFailure",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_refresh_allowed_on_audit",
                "isSIPRefreshAllowedOnAudit",
                bool,
                is_required=True,
            ),
            E(
                "allow_update_for_sip_refresh",
                "allowUpdateForSIPRefresh",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_session_timer_active",
                "isSIPSessionTimerActive",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_minimum_seconds",
                "sipSessionExpiresMinimumSeconds",
                int,
                is_required=True,
            ),
            E(
                "enforce_sip_session_expires_maximum",
                "enforceSIPSessionExpiresMaximum",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_maximum_seconds",
                "sipSessionExpiresMaximumSeconds",
                int,
                is_required=True,
            ),
            E(
                "sip_session_expires_timer_seconds",
                "sipSessionExpiresTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "always_use_session_timer_when_supported",
                "alwaysUseSessionTimerWhenSupported",
                bool,
                is_required=True,
            ),
            E(
                "preferred_session_timer_refresher",
                "preferredSessionTimerRefresher",
                str,
                is_required=True,
            ),
        )


class SystemSessionAuditGetResponse17sp3(OCIResponse):
    """
    Response to `SystemSessionAuditGetRequest17sp3()`.

    Replaced by: `SystemSessionAuditGetResponse23()` in AS data mode.

    Attributes:
        is_audit_active (bool): isAuditActive
        audit_interval_seconds (int): auditIntervalSeconds
        audit_timeout_seconds (int): auditTimeoutSeconds
        release_call_on_audit_failure (bool): releaseCallOnAuditFailure
        is_sip_refresh_allowed_on_audit (bool): isSIPRefreshAllowedOnAudit
        allow_update_for_sip_refresh (bool): allowUpdateForSIPRefresh
        is_sip_session_timer_active (bool): isSIPSessionTimerActive
        sip_session_expires_minimum_seconds (int): sipSessionExpiresMinimumSeconds
        enforce_sip_session_expires_maximum (bool): enforceSIPSessionExpiresMaximum
        sip_session_expires_maximum_seconds (int): sipSessionExpiresMaximumSeconds
        sip_session_expires_timer_seconds (int): sipSessionExpiresTimerSeconds
        always_use_session_timer_when_supported (bool): alwaysUseSessionTimerWhenSupported
        preferred_session_timer_refresher (str): preferredSessionTimerRefresher
        enable_emergency_call_alarm_timer (bool): enableEmergencyCallAlarmTimer
        emergency_call_alarm_minutes (int): emergencyCallAlarmMinutes
        enable_emergency_call_cleanup_timer (bool): enableEmergencyCallCleanupTimer
        emergency_call_cleanup_minutes (int): emergencyCallCleanupMinutes
    """

    __slots__: List[str] = [
        "is_audit_active",
        "audit_interval_seconds",
        "audit_timeout_seconds",
        "release_call_on_audit_failure",
        "is_sip_refresh_allowed_on_audit",
        "allow_update_for_sip_refresh",
        "is_sip_session_timer_active",
        "sip_session_expires_minimum_seconds",
        "enforce_sip_session_expires_maximum",
        "sip_session_expires_maximum_seconds",
        "sip_session_expires_timer_seconds",
        "always_use_session_timer_when_supported",
        "preferred_session_timer_refresher",
        "enable_emergency_call_alarm_timer",
        "emergency_call_alarm_minutes",
        "enable_emergency_call_cleanup_timer",
        "emergency_call_cleanup_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_audit_active", "isAuditActive", bool, is_required=True),
            E("audit_interval_seconds", "auditIntervalSeconds", int, is_required=True),
            E("audit_timeout_seconds", "auditTimeoutSeconds", int, is_required=True),
            E(
                "release_call_on_audit_failure",
                "releaseCallOnAuditFailure",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_refresh_allowed_on_audit",
                "isSIPRefreshAllowedOnAudit",
                bool,
                is_required=True,
            ),
            E(
                "allow_update_for_sip_refresh",
                "allowUpdateForSIPRefresh",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_session_timer_active",
                "isSIPSessionTimerActive",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_minimum_seconds",
                "sipSessionExpiresMinimumSeconds",
                int,
                is_required=True,
            ),
            E(
                "enforce_sip_session_expires_maximum",
                "enforceSIPSessionExpiresMaximum",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_maximum_seconds",
                "sipSessionExpiresMaximumSeconds",
                int,
                is_required=True,
            ),
            E(
                "sip_session_expires_timer_seconds",
                "sipSessionExpiresTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "always_use_session_timer_when_supported",
                "alwaysUseSessionTimerWhenSupported",
                bool,
                is_required=True,
            ),
            E(
                "preferred_session_timer_refresher",
                "preferredSessionTimerRefresher",
                str,
                is_required=True,
            ),
            E(
                "enable_emergency_call_alarm_timer",
                "enableEmergencyCallAlarmTimer",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_alarm_minutes",
                "emergencyCallAlarmMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_emergency_call_cleanup_timer",
                "enableEmergencyCallCleanupTimer",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_cleanup_minutes",
                "emergencyCallCleanupMinutes",
                int,
                is_required=True,
            ),
        )


class SystemSessionAuditGetResponse23(OCIResponse):
    """
    Response to `SystemSessionAuditGetRequest23()`.

    The following elements are only used in AS data mode: msAuditIntervalSeconds, value
    1200 is returned in XS data mode

    Attributes:
        is_audit_active (bool): isAuditActive
        audit_interval_seconds (int): auditIntervalSeconds
        audit_timeout_seconds (int): auditTimeoutSeconds
        release_call_on_audit_failure (bool): releaseCallOnAuditFailure
        is_sip_refresh_allowed_on_audit (bool): isSIPRefreshAllowedOnAudit
        allow_update_for_sip_refresh (bool): allowUpdateForSIPRefresh
        is_sip_session_timer_active (bool): isSIPSessionTimerActive
        sip_session_expires_minimum_seconds (int): sipSessionExpiresMinimumSeconds
        enforce_sip_session_expires_maximum (bool): enforceSIPSessionExpiresMaximum
        sip_session_expires_maximum_seconds (int): sipSessionExpiresMaximumSeconds
        sip_session_expires_timer_seconds (int): sipSessionExpiresTimerSeconds
        always_use_session_timer_when_supported (bool): alwaysUseSessionTimerWhenSupported
        preferred_session_timer_refresher (str): preferredSessionTimerRefresher
        enable_emergency_call_alarm_timer (bool): enableEmergencyCallAlarmTimer
        emergency_call_alarm_minutes (int): emergencyCallAlarmMinutes
        enable_emergency_call_cleanup_timer (bool): enableEmergencyCallCleanupTimer
        emergency_call_cleanup_minutes (int): emergencyCallCleanupMinutes
        always_allow_refresh_for_ms (bool): alwaysAllowRefreshForMS
        ms_audit_interval_seconds (int): msAuditIntervalSeconds
    """

    __slots__: List[str] = [
        "is_audit_active",
        "audit_interval_seconds",
        "audit_timeout_seconds",
        "release_call_on_audit_failure",
        "is_sip_refresh_allowed_on_audit",
        "allow_update_for_sip_refresh",
        "is_sip_session_timer_active",
        "sip_session_expires_minimum_seconds",
        "enforce_sip_session_expires_maximum",
        "sip_session_expires_maximum_seconds",
        "sip_session_expires_timer_seconds",
        "always_use_session_timer_when_supported",
        "preferred_session_timer_refresher",
        "enable_emergency_call_alarm_timer",
        "emergency_call_alarm_minutes",
        "enable_emergency_call_cleanup_timer",
        "emergency_call_cleanup_minutes",
        "always_allow_refresh_for_ms",
        "ms_audit_interval_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_audit_active", "isAuditActive", bool, is_required=True),
            E("audit_interval_seconds", "auditIntervalSeconds", int, is_required=True),
            E("audit_timeout_seconds", "auditTimeoutSeconds", int, is_required=True),
            E(
                "release_call_on_audit_failure",
                "releaseCallOnAuditFailure",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_refresh_allowed_on_audit",
                "isSIPRefreshAllowedOnAudit",
                bool,
                is_required=True,
            ),
            E(
                "allow_update_for_sip_refresh",
                "allowUpdateForSIPRefresh",
                bool,
                is_required=True,
            ),
            E(
                "is_sip_session_timer_active",
                "isSIPSessionTimerActive",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_minimum_seconds",
                "sipSessionExpiresMinimumSeconds",
                int,
                is_required=True,
            ),
            E(
                "enforce_sip_session_expires_maximum",
                "enforceSIPSessionExpiresMaximum",
                bool,
                is_required=True,
            ),
            E(
                "sip_session_expires_maximum_seconds",
                "sipSessionExpiresMaximumSeconds",
                int,
                is_required=True,
            ),
            E(
                "sip_session_expires_timer_seconds",
                "sipSessionExpiresTimerSeconds",
                int,
                is_required=True,
            ),
            E(
                "always_use_session_timer_when_supported",
                "alwaysUseSessionTimerWhenSupported",
                bool,
                is_required=True,
            ),
            E(
                "preferred_session_timer_refresher",
                "preferredSessionTimerRefresher",
                str,
                is_required=True,
            ),
            E(
                "enable_emergency_call_alarm_timer",
                "enableEmergencyCallAlarmTimer",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_alarm_minutes",
                "emergencyCallAlarmMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_emergency_call_cleanup_timer",
                "enableEmergencyCallCleanupTimer",
                bool,
                is_required=True,
            ),
            E(
                "emergency_call_cleanup_minutes",
                "emergencyCallCleanupMinutes",
                int,
                is_required=True,
            ),
            E(
                "always_allow_refresh_for_ms",
                "alwaysAllowRefreshForMS",
                bool,
                is_required=True,
            ),
            E(
                "ms_audit_interval_seconds",
                "msAuditIntervalSeconds",
                int,
                is_required=True,
            ),
        )


class SystemShInterfaceParametersGetResponse(OCIResponse):
    """
    Response to `SystemShInterfaceParametersGetRequest()`.

    Contains the Sh Interface system parameters.  Replaced by:
    `SystemShInterfaceParametersGetResponse17()`

    Attributes:
        hss_realm (str): hssRealm *Optional*
        request_timeout_seconds (int): requestTimeoutSeconds
        public_identity_refresh_delay_seconds (int): publicIdentityRefreshDelaySeconds
    """

    __slots__: List[str] = [
        "hss_realm",
        "request_timeout_seconds",
        "public_identity_refresh_delay_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("hss_realm", "hssRealm", str),
            E(
                "request_timeout_seconds",
                "requestTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "public_identity_refresh_delay_seconds",
                "publicIdentityRefreshDelaySeconds",
                int,
                is_required=True,
            ),
        )


class SystemShInterfaceParametersGetResponse17(OCIResponse):
    """
    Response to `SystemShInterfaceParametersGetRequest()`.

    Contains the Sh Interface system parameters.

    Attributes:
        hss_realm (str): hssRealm *Optional*
        public_identity_refresh_delay_seconds (int): publicIdentityRefreshDelaySeconds
    """

    __slots__: List[str] = [
        "hss_realm",
        "public_identity_refresh_delay_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("hss_realm", "hssRealm", str),
            E(
                "public_identity_refresh_delay_seconds",
                "publicIdentityRefreshDelaySeconds",
                int,
                is_required=True,
            ),
        )


class SystemShInterfaceRefreshTaskGetResponse(OCIResponse):
    """
    Response to `SystemShInterfaceRefreshTaskGetRequest()`.

    Provides the status of the system refresh task.  If isRunning is false,
    numberPublicIdentityRefreshStarted and numberPublicIdentities are omitted.  If
    isRunning is true, numberPublicIdentities indicates the total number of public
    identities in the system that will be refreshed by the system refresh task;
    numberPublicIdentityRefreshesStarted indicates the total number of public identities
    for which a refresh has been started.

    Attributes:
        is_running (bool): isRunning
        number_public_identity_refreshes_started (int):
            numberPublicIdentityRefreshesStarted *Optional*
        number_public_identities (int): numberPublicIdentities *Optional*
    """

    __slots__: List[str] = [
        "is_running",
        "number_public_identity_refreshes_started",
        "number_public_identities",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_running", "isRunning", bool, is_required=True),
            E(
                "number_public_identity_refreshes_started",
                "numberPublicIdentityRefreshesStarted",
                int,
            ),
            E("number_public_identities", "numberPublicIdentities", int),
        )


class SystemSoftwareVersionGetResponse(OCIResponse):
    """
    Response to the `SystemSoftwareVersionGetRequest()`.


    Attributes:
        version (str): version
    """

    __slots__: List[str] = [
        "version",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("version", "version", str, is_required=True),)


class SystemSpeedDial100GetResponse(OCIResponse):
    """
    Response to the `SystemSpeedDial100GetRequest()`.

    Replaced by: `SystemSpeedDial100GetResponse17sp1()`

    Attributes:
        prefix (str): prefix
    """

    __slots__: List[str] = [
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("prefix", "prefix", str, is_required=True),)


class SystemSpeedDial100GetResponse17sp1(OCIResponse):
    """
    Response to the `SystemSpeedDial100GetRequest17sp1()`.


    Attributes:
        prefix (str): prefix *Optional*
    """

    __slots__: List[str] = [
        "prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("prefix", "prefix", str),)


class SystemStateOrProvinceGetListResponse(OCIResponse):
    """
    Contains a 2 column table with column headings 'Key' and 'Display Name' and a row for
    each state or province.


    Attributes:
        state_or_province_table (List(stateOrProvinceTable)): stateOrProvinceTable -
            *Table* array of stateOrProvinceTable named tuples
    """

    __slots__: List[str] = [
        "state_or_province_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "state_or_province_table",
                "stateOrProvinceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemStirShakenGetResponse(OCIResponse):
    """
    Response to the `SystemStirShakenGetRequest()`.


    Attributes:
        signing_policy (str): signingPolicy
        tagging_policy (str): taggingPolicy
        sign_emergency_calls (bool): signEmergencyCalls
        tag_emergency_calls (bool): tagEmergencyCalls
        signing_service_url (str): signingServiceURL *Optional*
        tag_from_or_pai (str): tagFromOrPAI
        verstat_tag (str): verstatTag
        use_os_value_for_orig_id (bool): useOSValueForOrigId
        orig_uuid (str): origUUID *Optional*
        attestation_level (str): attestationLevel
        enable_verification (bool): enableVerification
        verification_service_url (str): verificationServiceURL *Optional*
        verification_error_handling (str): verificationErrorHandling
        proxy_verstat_to_cnam_subscribe (bool): proxyVerstatToCNAMSubscribe
        use_unknown_headers_from_cnam_notify (bool): useUnknownHeadersFromCNAMNotify
        use_ts24229_headers (bool): useTS24229Headers
        enable_signing_for_unscreened_trunk_group_originations (bool):
            enableSigningForUnscreenedTrunkGroupOriginations
        enable_tagging_for_unscreened_trunk_group_originations (bool):
            enableTaggingForUnscreenedTrunkGroupOriginations
        unscreened_trunk_group_origination_attestation_level (str):
            unscreenedTrunkGroupOriginationAttestationLevel
        verify_gets_calls (bool): verifyGETSCalls
    """

    __slots__: List[str] = [
        "signing_policy",
        "tagging_policy",
        "sign_emergency_calls",
        "tag_emergency_calls",
        "signing_service_url",
        "tag_from_or_pai",
        "verstat_tag",
        "use_os_value_for_orig_id",
        "orig_uuid",
        "attestation_level",
        "enable_verification",
        "verification_service_url",
        "verification_error_handling",
        "proxy_verstat_to_cnam_subscribe",
        "use_unknown_headers_from_cnam_notify",
        "use_ts24229_headers",
        "enable_signing_for_unscreened_trunk_group_originations",
        "enable_tagging_for_unscreened_trunk_group_originations",
        "unscreened_trunk_group_origination_attestation_level",
        "verify_gets_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("signing_policy", "signingPolicy", str, is_required=True),
            E("tagging_policy", "taggingPolicy", str, is_required=True),
            E("sign_emergency_calls", "signEmergencyCalls", bool, is_required=True),
            E("tag_emergency_calls", "tagEmergencyCalls", bool, is_required=True),
            E("signing_service_url", "signingServiceURL", str),
            E("tag_from_or_pai", "tagFromOrPAI", str, is_required=True),
            E("verstat_tag", "verstatTag", str, is_required=True),
            E(
                "use_os_value_for_orig_id",
                "useOSValueForOrigId",
                bool,
                is_required=True,
            ),
            E("orig_uuid", "origUUID", str),
            E("attestation_level", "attestationLevel", str, is_required=True),
            E("enable_verification", "enableVerification", bool, is_required=True),
            E("verification_service_url", "verificationServiceURL", str),
            E(
                "verification_error_handling",
                "verificationErrorHandling",
                str,
                is_required=True,
            ),
            E(
                "proxy_verstat_to_cnam_subscribe",
                "proxyVerstatToCNAMSubscribe",
                bool,
                is_required=True,
            ),
            E(
                "use_unknown_headers_from_cnam_notify",
                "useUnknownHeadersFromCNAMNotify",
                bool,
                is_required=True,
            ),
            E("use_ts24229_headers", "useTS24229Headers", bool, is_required=True),
            E(
                "enable_signing_for_unscreened_trunk_group_originations",
                "enableSigningForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "enable_tagging_for_unscreened_trunk_group_originations",
                "enableTaggingForUnscreenedTrunkGroupOriginations",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_trunk_group_origination_attestation_level",
                "unscreenedTrunkGroupOriginationAttestationLevel",
                str,
                is_required=True,
            ),
            E("verify_gets_calls", "verifyGETSCalls", bool, is_required=True),
        )


class SystemSubscriberGetCallProcessingParametersResponse(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest()`.

    Replaced By: `SystemSubscriberGetCallProcessingParametersResponse14sp3()`

    Attributes:
        user_calling_line_id_selection (str): userCallingLineIdSelection
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
    """

    __slots__: List[str] = [
        "user_calling_line_id_selection",
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_calling_line_id_selection",
                "userCallingLineIdSelection",
                str,
                is_required=True,
            ),
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
        )


class SystemSubscriberGetCallProcessingParametersResponse14sp3(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest14sp3()`.


    Attributes:
        user_calling_line_id_selection (str): userCallingLineIdSelection
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
    """

    __slots__: List[str] = [
        "user_calling_line_id_selection",
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_calling_line_id_selection",
                "userCallingLineIdSelection",
                str,
                is_required=True,
            ),
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse14sp7(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest14sp7()`.


    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse15(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest15()`.


    Attributes:
        user_calling_line_id_selection (str): userCallingLineIdSelection
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
    """

    __slots__: List[str] = [
        "user_calling_line_id_selection",
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_calling_line_id_selection",
                "userCallingLineIdSelection",
                str,
                is_required=True,
            ),
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse15sp2(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest15sp2()`.

    Replaced by: `SystemSubscriberGetCallProcessingParametersResponse17()`

    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse17(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest17()`.


    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
        incoming_call_to_user_alias_mode (str): incomingCallToUserAliasMode
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
        "incoming_call_to_user_alias_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "incoming_call_to_user_alias_mode",
                "incomingCallToUserAliasMode",
                str,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse17sp3(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest17sp3()`.


    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
        incoming_call_to_user_alias_mode (str): incomingCallToUserAliasMode
        bypass_termination_loop_detection (bool): bypassTerminationLoopDetection
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
        "incoming_call_to_user_alias_mode",
        "bypass_termination_loop_detection",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "incoming_call_to_user_alias_mode",
                "incomingCallToUserAliasMode",
                str,
                is_required=True,
            ),
            E(
                "bypass_termination_loop_detection",
                "bypassTerminationLoopDetection",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse17sp4(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest17sp4()`.


    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
        incoming_call_to_user_alias_mode (str): incomingCallToUserAliasMode
        bypass_termination_loop_detection (bool): bypassTerminationLoopDetection
        honor_clid_blocking_for_emergency_calls (bool): honorCLIDBlockingForEmergencyCalls
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
        "incoming_call_to_user_alias_mode",
        "bypass_termination_loop_detection",
        "honor_clid_blocking_for_emergency_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "incoming_call_to_user_alias_mode",
                "incomingCallToUserAliasMode",
                str,
                is_required=True,
            ),
            E(
                "bypass_termination_loop_detection",
                "bypassTerminationLoopDetection",
                bool,
                is_required=True,
            ),
            E(
                "honor_clid_blocking_for_emergency_calls",
                "honorCLIDBlockingForEmergencyCalls",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetCallProcessingParametersResponse18sp1(OCIResponse):
    """
    Response to the `SystemSubscriberGetCallProcessingParametersRequest18sp1()`.


    Attributes:
        is_extended_calling_line_id_active (bool): isExtendedCallingLineIdActive
        is_ring_time_out_active (bool): isRingTimeOutActive
        ring_timeout_seconds (int): ringTimeoutSeconds
        allow_emergency_remote_office_originations (bool):
            allowEmergencyRemoteOfficeOriginations
        max_no_answer_number_of_rings (int): maxNoAnswerNumberOfRings
        incoming_call_to_user_alias_mode (str): incomingCallToUserAliasMode
        bypass_termination_loop_detection (bool): bypassTerminationLoopDetection
        honor_clid_blocking_for_emergency_calls (bool): honorCLIDBlockingForEmergencyCalls
        use_unicode_identity_name (bool): useUnicodeIdentityName
    """

    __slots__: List[str] = [
        "is_extended_calling_line_id_active",
        "is_ring_time_out_active",
        "ring_timeout_seconds",
        "allow_emergency_remote_office_originations",
        "max_no_answer_number_of_rings",
        "incoming_call_to_user_alias_mode",
        "bypass_termination_loop_detection",
        "honor_clid_blocking_for_emergency_calls",
        "use_unicode_identity_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_extended_calling_line_id_active",
                "isExtendedCallingLineIdActive",
                bool,
                is_required=True,
            ),
            E("is_ring_time_out_active", "isRingTimeOutActive", bool, is_required=True),
            E("ring_timeout_seconds", "ringTimeoutSeconds", int, is_required=True),
            E(
                "allow_emergency_remote_office_originations",
                "allowEmergencyRemoteOfficeOriginations",
                bool,
                is_required=True,
            ),
            E(
                "max_no_answer_number_of_rings",
                "maxNoAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "incoming_call_to_user_alias_mode",
                "incomingCallToUserAliasMode",
                str,
                is_required=True,
            ),
            E(
                "bypass_termination_loop_detection",
                "bypassTerminationLoopDetection",
                bool,
                is_required=True,
            ),
            E(
                "honor_clid_blocking_for_emergency_calls",
                "honorCLIDBlockingForEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_unicode_identity_name",
                "useUnicodeIdentityName",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetLoginParametersResponse(OCIResponse):
    """
    Response to the `SystemSubscriberGetLoginParametersRequest()`.


    Attributes:
        max_failed_login_attempts (int): maxFailedLoginAttempts
        min_login_id_length (int): minLoginIdLength
    """

    __slots__: List[str] = [
        "max_failed_login_attempts",
        "min_login_id_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_failed_login_attempts",
                "maxFailedLoginAttempts",
                int,
                is_required=True,
            ),
            E("min_login_id_length", "minLoginIdLength", int, is_required=True),
        )


class SystemSubscriberGetProvisioningParametersResponse(OCIResponse):
    """
    Response to the `SystemSubscriberGetProvisioningParametersRequest()`.

    Replaced by: `SystemSubscriberGetProvisioningParametersResponse24()`

    Attributes:
        configurable_clid_normalization (bool): configurableCLIDNormalization
    """

    __slots__: List[str] = [
        "configurable_clid_normalization",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "configurable_clid_normalization",
                "configurableCLIDNormalization",
                bool,
                is_required=True,
            ),
        )


class SystemSubscriberGetProvisioningParametersResponse24(OCIResponse):
    """
    Response to the `SystemSubscriberGetProvisioningParametersRequest24()`.


    Attributes:
        configurable_clid_normalization (bool): configurableCLIDNormalization
        include_default_domain (bool): includeDefaultDomain
    """

    __slots__: List[str] = [
        "configurable_clid_normalization",
        "include_default_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "configurable_clid_normalization",
                "configurableCLIDNormalization",
                bool,
                is_required=True,
            ),
            E("include_default_domain", "includeDefaultDomain", bool, is_required=True),
        )


class SystemSystemServiceCallProcessingPoliciesGetResponse(OCIResponse):
    """
    Response to `SystemSystemServiceCallProcessingPoliciesGetRequest()`.


    Attributes:
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
    """

    __slots__: List[str] = [
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
        )


class SystemSystemServiceDnGetAvailableListResponse(OCIResponse):
    """
    Response to `SystemSystemServiceDnGetAvailableListRequest()`.

    Contains a list of available DNs not yet assigned to any instance of system service.

    Attributes:
        available_dn (List[str]): availableDn *Optional*
    """

    __slots__: List[str] = [
        "available_dn",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("available_dn", "availableDn", str, is_array=True),)


class SystemSystemServiceDnGetSummaryListResponse(OCIResponse):
    """
    Response to `SystemSystemServiceDnGetSummaryListRequest()`.

    The column headings are "Phone Numbers" and "Assigned". The possible values for
    "Assigned" are true, false.

    Attributes:
        dn_summary_table (List(dnSummaryTable)): dnSummaryTable - *Table* array of
            dnSummaryTable named tuples
    """

    __slots__: List[str] = [
        "dn_summary_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_summary_table",
                "dnSummaryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSystemServiceDnGetUsageListResponse(OCIResponse):
    """
    Response to `SystemSystemServiceDnGetUsageListRequest()`.

    The table columns are: "Phone Number", "Id", "Name", and "System Service". The
    possible values for "System Service" is "System Voice Portal".

    Attributes:
        dn_utilization_table (List(dnUtilizationTable)): dnUtilizationTable - *Table*
            array of dnUtilizationTable named tuples
    """

    __slots__: List[str] = [
        "dn_utilization_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_utilization_table",
                "dnUtilizationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSystemVoicePortalGetListResponse(OCIResponse):
    """
    Response to `SystemSystemVoicePortalGetListRequest()`.

    The column headings are "Default", "System Voice Portal Id", "Name", "Network Voice
    Portal Number", "System Voice Portal Number" and "Language". The possible values for
    "Default" are true, false.

    Attributes:
        system_voice_portals_table (List(systemVoicePortalsTable)):
            systemVoicePortalsTable - *Table* array of systemVoicePortalsTable named
            tuples
    """

    __slots__: List[str] = [
        "system_voice_portals_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "system_voice_portals_table",
                "systemVoicePortalsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemSystemVoicePortalGetResponse(OCIResponse):
    """
    Response to `SystemSystemVoicePortalGetRequest()`.

    Replaced by: `SystemSystemVoicePortalGetResponse21sp1()`.

    Attributes:
        name (str): name
        calling_line_id_name (str): callingLineIdName
        language (str): language
        time_zone (str): timeZone
        phone_number (str): phoneNumber *Optional*
        public_user_identity (str): publicUserIdentity *Optional*
        network_voice_portal_number (str): networkVoicePortalNumber *Optional*
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        is_default (bool): isDefault
        use_voice_portal_default_greeting (bool): useVoicePortalDefaultGreeting
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_portal_greeting_media_file_type (str): voicePortalGreetingMediaFileType
            *Optional*
        use_voice_messaging_default_greeting (bool): useVoiceMessagingDefaultGreeting
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
        voice_messaging_greeting_media_file_type (str):
            voiceMessagingGreetingMediaFileType *Optional*
    """

    __slots__: List[str] = [
        "name",
        "calling_line_id_name",
        "language",
        "time_zone",
        "phone_number",
        "public_user_identity",
        "network_voice_portal_number",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "is_default",
        "use_voice_portal_default_greeting",
        "voice_portal_greeting_file_description",
        "voice_portal_greeting_media_file_type",
        "use_voice_messaging_default_greeting",
        "voice_messaging_greeting_file_description",
        "voice_messaging_greeting_media_file_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_required=True),
            E("calling_line_id_name", "callingLineIdName", str, is_required=True),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("public_user_identity", "publicUserIdentity", str),
            E("network_voice_portal_number", "networkVoicePortalNumber", str),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "use_voice_portal_default_greeting",
                "useVoicePortalDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_portal_greeting_media_file_type",
                "voicePortalGreetingMediaFileType",
                str,
            ),
            E(
                "use_voice_messaging_default_greeting",
                "useVoiceMessagingDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_media_file_type",
                "voiceMessagingGreetingMediaFileType",
                str,
            ),
        )


class SystemSystemVoicePortalGetResponse21sp1(OCIResponse):
    """
    Response to `SystemSystemVoicePortalGetRequest21sp1()`.

    Replaced by: `SystemSystemVoicePortalGetResponse23()`.

    Attributes:
        name (str): name
        calling_line_id_name (str): callingLineIdName
        language (str): language
        time_zone (str): timeZone
        phone_number (str): phoneNumber *Optional*
        public_user_identity (str): publicUserIdentity *Optional*
        network_voice_portal_number (str): networkVoicePortalNumber *Optional*
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        is_default (bool): isDefault
        use_voice_portal_default_greeting (bool): useVoicePortalDefaultGreeting
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_portal_greeting_media_file_type (str): voicePortalGreetingMediaFileType
            *Optional*
        use_voice_messaging_default_greeting (bool): useVoiceMessagingDefaultGreeting
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
        voice_messaging_greeting_media_file_type (str):
            voiceMessagingGreetingMediaFileType *Optional*
        express_mode (bool): expressMode
    """

    __slots__: List[str] = [
        "name",
        "calling_line_id_name",
        "language",
        "time_zone",
        "phone_number",
        "public_user_identity",
        "network_voice_portal_number",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "is_default",
        "use_voice_portal_default_greeting",
        "voice_portal_greeting_file_description",
        "voice_portal_greeting_media_file_type",
        "use_voice_messaging_default_greeting",
        "voice_messaging_greeting_file_description",
        "voice_messaging_greeting_media_file_type",
        "express_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_required=True),
            E("calling_line_id_name", "callingLineIdName", str, is_required=True),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("public_user_identity", "publicUserIdentity", str),
            E("network_voice_portal_number", "networkVoicePortalNumber", str),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "use_voice_portal_default_greeting",
                "useVoicePortalDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_portal_greeting_media_file_type",
                "voicePortalGreetingMediaFileType",
                str,
            ),
            E(
                "use_voice_messaging_default_greeting",
                "useVoiceMessagingDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_media_file_type",
                "voiceMessagingGreetingMediaFileType",
                str,
            ),
            E("express_mode", "expressMode", bool, is_required=True),
        )


class SystemSystemVoicePortalGetResponse23(OCIResponse):
    """
    Response to `SystemSystemVoicePortalGetRequest23()`.

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

    Attributes:
        name (str): name
        calling_line_id_name (str): callingLineIdName
        language (str): language
        time_zone (str): timeZone
        phone_number (str): phoneNumber *Optional*
        public_user_identity (str): publicUserIdentity *Optional*
        network_voice_portal_number (str): networkVoicePortalNumber *Optional*
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        is_default (bool): isDefault
        use_voice_portal_default_greeting (bool): useVoicePortalDefaultGreeting
        voice_portal_greeting_file_description (str): voicePortalGreetingFileDescription
            *Optional*
        voice_portal_greeting_media_file_type (str): voicePortalGreetingMediaFileType
            *Optional*
        use_voice_messaging_default_greeting (bool): useVoiceMessagingDefaultGreeting
        voice_messaging_greeting_file_description (str):
            voiceMessagingGreetingFileDescription *Optional*
        voice_messaging_greeting_media_file_type (str):
            voiceMessagingGreetingMediaFileType *Optional*
        express_mode (bool): expressMode
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "name",
        "calling_line_id_name",
        "language",
        "time_zone",
        "phone_number",
        "public_user_identity",
        "network_voice_portal_number",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "is_default",
        "use_voice_portal_default_greeting",
        "voice_portal_greeting_file_description",
        "voice_portal_greeting_media_file_type",
        "use_voice_messaging_default_greeting",
        "voice_messaging_greeting_file_description",
        "voice_messaging_greeting_media_file_type",
        "express_mode",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str, is_required=True),
            E("calling_line_id_name", "callingLineIdName", str, is_required=True),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("public_user_identity", "publicUserIdentity", str),
            E("network_voice_portal_number", "networkVoicePortalNumber", str),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "use_voice_portal_default_greeting",
                "useVoicePortalDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file_description",
                "voicePortalGreetingFileDescription",
                str,
            ),
            E(
                "voice_portal_greeting_media_file_type",
                "voicePortalGreetingMediaFileType",
                str,
            ),
            E(
                "use_voice_messaging_default_greeting",
                "useVoiceMessagingDefaultGreeting",
                bool,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file_description",
                "voiceMessagingGreetingFileDescription",
                str,
            ),
            E(
                "voice_messaging_greeting_media_file_type",
                "voiceMessagingGreetingMediaFileType",
                str,
            ),
            E("express_mode", "expressMode", bool, is_required=True),
            E("network_class_of_service", "networkClassOfService", str),
        )


class SystemTemplateOnlyDeviceFileGetListResponse(OCIResponse):
    """
    Response to `SystemTemplateOnlyDeviceFileGetListRequest()`.

    Contains a list of template files used to support a Visual Device Management device.

    Attributes:
        template_file_url (List[str]): templateFileUrl *Optional*
    """

    __slots__: List[str] = [
        "template_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("template_file_url", "templateFileUrl", str, is_array=True),)


class SystemThirdPartyEmergencyCallingGetResponse(OCIResponse):
    """
    Response to the `SystemThirdPartyEmergencyCallingGetRequest()`.

    The response contains the third-party emergency call service settings for the system.
    Replaced by: `SystemThirdPartyEmergencyCallingGetResponse24()`

    Attributes:
        primary_held_server_url (str): primaryHELDServerURL *Optional*
        secondary_held_server_url (str): secondaryHELDServerURL *Optional*
        emergency_route_net_address (str): emergencyRouteNetAddress *Optional*
        emergency_route_port (int): emergencyRoutePort *Optional*
        emergency_route_transport (str): emergencyRouteTransport *Optional*
    """

    __slots__: List[str] = [
        "primary_held_server_url",
        "secondary_held_server_url",
        "emergency_route_net_address",
        "emergency_route_port",
        "emergency_route_transport",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_held_server_url", "primaryHELDServerURL", str),
            E("secondary_held_server_url", "secondaryHELDServerURL", str),
            E("emergency_route_net_address", "emergencyRouteNetAddress", str),
            E("emergency_route_port", "emergencyRoutePort", int),
            E("emergency_route_transport", "emergencyRouteTransport", str),
        )


class SystemThirdPartyEmergencyCallingGetResponse24(OCIResponse):
    """
    Response to the `SystemThirdPartyEmergencyCallingGetRequest24()`.

    The response contains the third-party emergency call service settings for the system.

    Attributes:
        primary_held_server_url (str): primaryHELDServerURL *Optional*
        secondary_held_server_url (str): secondaryHELDServerURL *Optional*
        emergency_route_net_address (str): emergencyRouteNetAddress *Optional*
        emergency_route_port (int): emergencyRoutePort *Optional*
        emergency_route_transport (str): emergencyRouteTransport *Optional*
    """

    __slots__: List[str] = [
        "primary_held_server_url",
        "secondary_held_server_url",
        "emergency_route_net_address",
        "emergency_route_port",
        "emergency_route_transport",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("primary_held_server_url", "primaryHELDServerURL", str),
            E("secondary_held_server_url", "secondaryHELDServerURL", str),
            E("emergency_route_net_address", "emergencyRouteNetAddress", str),
            E("emergency_route_port", "emergencyRoutePort", int),
            E("emergency_route_transport", "emergencyRouteTransport", str),
        )


class SystemThirdPartyIMPGetResponse(OCIResponse):
    """
    Response to the `SystemThirdPartyIMPGetRequest()`.

    The response contains the system Third-Party IMP service attributes.  Replaced by
    `SystemThirdPartyIMPGetResponse19()`.

    Attributes:
        service_net_address (str): serviceNetAddress *Optional*
        service_port (int): servicePort *Optional*
    """

    __slots__: List[str] = [
        "service_net_address",
        "service_port",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_net_address", "serviceNetAddress", str),
            E("service_port", "servicePort", int),
        )


class SystemThirdPartyIMPGetResponse19(OCIResponse):
    """
    Response to the `SystemThirdPartyIMPGetRequest19()`.

    The response contains the system Third-Party IMP service attributes.

    Attributes:
        service_net_address (str): serviceNetAddress *Optional*
        service_port (int): servicePort *Optional*
        bosh_url (str): boshURL *Optional*
    """

    __slots__: List[str] = [
        "service_net_address",
        "service_port",
        "bosh_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_net_address", "serviceNetAddress", str),
            E("service_port", "servicePort", int),
            E("bosh_url", "boshURL", str),
        )


class SystemThirdPartyVoiceMailSupportGetDnListResponse(OCIResponse):
    """
    Response to `SystemThirdPartyVoiceMailSupportGetDnListRequest()`.

    Contains a table with a row for each ThirdPartyVoiceMailSupport User DN and column
    headings: "Phone Number", "Description"

    Attributes:
        third_party_voice_mail_support_table (List(thirdPartyVoiceMailSupportTable)):
            thirdPartyVoiceMailSupportTable - *Table* array of
            thirdPartyVoiceMailSupportTable named tuples
    """

    __slots__: List[str] = [
        "third_party_voice_mail_support_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "third_party_voice_mail_support_table",
                "thirdPartyVoiceMailSupportTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemThirdPartyVoiceMailSupportGetResponse(OCIResponse):
    """
    Response to `SystemThirdPartyVoiceMailSupportGetRequest()`.

    Replaced by: `SystemThirdPartyVoiceMailSupportGetResponse17sp4()`

    Attributes:
        override_alt_caller_id_for_vm_retrieval (bool): overrideAltCallerIdForVMRetrieval
    """

    __slots__: List[str] = [
        "override_alt_caller_id_for_vm_retrieval",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "override_alt_caller_id_for_vm_retrieval",
                "overrideAltCallerIdForVMRetrieval",
                bool,
                is_required=True,
            ),
        )


class SystemThirdPartyVoiceMailSupportGetResponse17sp4(OCIResponse):
    """
    Response to `SystemThirdPartyVoiceMailSupportGetRequest17sp4()`.


    Attributes:
        override_alt_caller_id_for_vm_retrieval (bool): overrideAltCallerIdForVMRetrieval
        strip_diversion_on_vm_destination_retrieval (bool):
            stripDiversionOnVMDestinationRetrieval
    """

    __slots__: List[str] = [
        "override_alt_caller_id_for_vm_retrieval",
        "strip_diversion_on_vm_destination_retrieval",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "override_alt_caller_id_for_vm_retrieval",
                "overrideAltCallerIdForVMRetrieval",
                bool,
                is_required=True,
            ),
            E(
                "strip_diversion_on_vm_destination_retrieval",
                "stripDiversionOnVMDestinationRetrieval",
                bool,
                is_required=True,
            ),
        )


class SystemTimeScheduleGetListResponse(OCIResponse):
    """
    Response to the `SystemTimeScheduleGetListRequest()`.

    The response contains all the system time schedule names.

    Attributes:
        time_schedule (List[str]): timeSchedule *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("time_schedule", "timeSchedule", str, is_array=True),)


class SystemTimeZoneGetListResponse(OCIResponse):
    """
    Response to `SystemTimeZoneGetListRequest()`.

    Contains a 2 column table with column headings 'Key' and 'Display Name' and a row for
    each time zone.  Replaced by: `SystemTimeZoneGetListResponse20()` in AS data mode

    Attributes:
        time_zone_table (List(timeZoneTable)): timeZoneTable - *Table* array of
            timeZoneTable named tuples
    """

    __slots__: List[str] = [
        "time_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "time_zone_table",
                "timeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTimeZoneGetListResponse20(OCIResponse):
    """
    Response to `SystemTimeZoneGetListRequest20()`.

    Contains the configured time zone of the server processing the request and contains a
    2 column table with column headings 'Key' and 'Display Name' and a row for each time
    zone.

    Attributes:
        server_time_zone (str): serverTimeZone
        time_zone_table (List(timeZoneTable)): timeZoneTable - *Table* array of
            timeZoneTable named tuples
    """

    __slots__: List[str] = [
        "server_time_zone",
        "time_zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("server_time_zone", "serverTimeZone", str, is_required=True),
            E(
                "time_zone_table",
                "timeZoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingAccessSIPStatusGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingAccessSIPStatusGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "SIP Status Code",
    "Treatment Id".

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". Replaced by:
    `SystemTreatmentMappingCallBlockingServiceGetListResponse19sp1()` in AS data mode

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse19sp1(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest19sp1()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability.
    Replaced by: `SystemTreatmentMappingCallBlockingServiceGetListResponse22()`

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse22(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest22()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability,
    ConcTerminatingAlertingPolicy, AutomaticCollectCall.

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse22V2(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest22V3()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability,
    ConcTerminatingAlertingPolicy, AutomaticCollectCall, TCUG.

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse23(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest23()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability,
    ConcTerminatingAlertingPolicy, AutomaticCollectCall, ETRouteExhaustUnreachable.
    Replaced by: `SystemTreatmentMappingCallBlockingServiceGetListResponse23V2()` in AS
    data mode.

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse23V2(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest23V2()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability,
    ConcTerminatingAlertingPolicy, AutomaticCollectCall, ETRouteExhaustUnreachable, TCUG.

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingCallBlockingServiceGetListResponse23V3(OCIResponse):
    """
    Response to a `SystemTreatmentMappingCallBlockingServiceGetListRequest23V3()`.

    Contains a table with one row per mapping.  The table columns are: "Service",
    "Treatment Id". The Service column list the service or policy which is using
    corresponding treatment, and can be OCP, EOCP, ICP, ACR, SCR, SCA, AAC, Intercept,
    PTT, CommBarring, SAC, IncomingCommBarring, HierCommBarring, IncomHierCommBarring,
    BWMobilityDenyOrig, BWMobilityDenyTerm, ETRouteExhaust, CallPark, NumberPortability,
    ConcTerminatingAlertingPolicy, AutomaticCollectCall, ETRouteExhaustUnreachable, TCUG,
    RPAdmission.

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingInternalReleaseCauseGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingInternalReleaseCauseGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "Internal Release
    Cause", "Treatment Id".

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingNetworkSIPStatusGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingNetworkSIPStatusGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "SIP Status Code",
    "Treatment Id".

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingNetworkServerTreatmentGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingNetworkServerTreatmentGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "NS Treatment",
    "Treatment Id".

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTreatmentMappingQ850CauseGetListResponse(OCIResponse):
    """
    Response to a `SystemTreatmentMappingQ850CauseGetListRequest()`.

    Contains a table with one row per mapping.  The table columns are: "Q850 Cause Value",
    "Treatment Id".

    Attributes:
        treatment_mapping_table (List(treatmentMappingTable)): treatmentMappingTable -
            *Table* array of treatmentMappingTable named tuples
    """

    __slots__: List[str] = [
        "treatment_mapping_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treatment_mapping_table",
                "treatmentMappingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTrunkGroupGetResponse(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest()`.

    Replaced by: `SystemTrunkGroupGetResponse19sp1()`.

    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
        )


class SystemTrunkGroupGetResponse19sp1(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest19sp1()`.


    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
        "clid_source_for_screened_calls_policy",
        "user_lookup_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
        )


class SystemTrunkGroupGetResponse21(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest21()`.

    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy Replaced by:
    `SystemTrunkGroupGetResponse22()`

    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        out_of_dialog_pbx_redirection_clid_mapping (str):
            outOfDialogPBXRedirectionCLIDMapping
        enforce_out_of_dialog_pbx_redirection_trunk_group_capacity (bool):
            enforceOutOfDialogPBXRedirectionTrunkGroupCapacity
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
        "clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "out_of_dialog_pbx_redirection_clid_mapping",
        "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
        "implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "support_connected_identity_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "out_of_dialog_pbx_redirection_clid_mapping",
                "outOfDialogPBXRedirectionCLIDMapping",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
                "enforceOutOfDialogPBXRedirectionTrunkGroupCapacity",
                bool,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
        )


class SystemTrunkGroupGetResponse22(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest22()`.

    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy Replaced by:
    `SystemTrunkGroupGetResponse23()`

    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        out_of_dialog_pbx_redirection_clid_mapping (str):
            outOfDialogPBXRedirectionCLIDMapping
        enforce_out_of_dialog_pbx_redirection_trunk_group_capacity (bool):
            enforceOutOfDialogPBXRedirectionTrunkGroupCapacity
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
        use_unmapped_sessions_for_trunk_users (bool): useUnmappedSessionsForTrunkUsers
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
        "clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "out_of_dialog_pbx_redirection_clid_mapping",
        "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
        "implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "support_connected_identity_policy",
        "use_unmapped_sessions_for_trunk_users",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "out_of_dialog_pbx_redirection_clid_mapping",
                "outOfDialogPBXRedirectionCLIDMapping",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
                "enforceOutOfDialogPBXRedirectionTrunkGroupCapacity",
                bool,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_unmapped_sessions_for_trunk_users",
                "useUnmappedSessionsForTrunkUsers",
                bool,
                is_required=True,
            ),
        )


class SystemTrunkGroupGetResponse23(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest23()`.

    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy Replaced by:
    `SystemTrunkGroupGetResponse24()`

    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        out_of_dialog_pbx_redirection_clid_mapping (str):
            outOfDialogPBXRedirectionCLIDMapping
        enforce_out_of_dialog_pbx_redirection_trunk_group_capacity (bool):
            enforceOutOfDialogPBXRedirectionTrunkGroupCapacity
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
        use_unmapped_sessions_for_trunk_users (bool): useUnmappedSessionsForTrunkUsers
        allow_pai_lookup_for_out_of_dialog_pbx_redirection (bool):
            allowPAILookupForOutOfDialogPBXRedirection
        out_of_dialog_pbx_redirection_originator_lookup_policy (str):
            outOfDialogPBXRedirectionOriginatorLookupPolicy
        allow_trunk_identity_for_all_originations (bool):
            allowTrunkIdentityForAllOriginations
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
        "clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "out_of_dialog_pbx_redirection_clid_mapping",
        "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
        "implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "support_connected_identity_policy",
        "use_unmapped_sessions_for_trunk_users",
        "allow_pai_lookup_for_out_of_dialog_pbx_redirection",
        "out_of_dialog_pbx_redirection_originator_lookup_policy",
        "allow_trunk_identity_for_all_originations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "out_of_dialog_pbx_redirection_clid_mapping",
                "outOfDialogPBXRedirectionCLIDMapping",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
                "enforceOutOfDialogPBXRedirectionTrunkGroupCapacity",
                bool,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_unmapped_sessions_for_trunk_users",
                "useUnmappedSessionsForTrunkUsers",
                bool,
                is_required=True,
            ),
            E(
                "allow_pai_lookup_for_out_of_dialog_pbx_redirection",
                "allowPAILookupForOutOfDialogPBXRedirection",
                bool,
                is_required=True,
            ),
            E(
                "out_of_dialog_pbx_redirection_originator_lookup_policy",
                "outOfDialogPBXRedirectionOriginatorLookupPolicy",
                str,
                is_required=True,
            ),
            E(
                "allow_trunk_identity_for_all_originations",
                "allowTrunkIdentityForAllOriginations",
                bool,
                is_required=True,
            ),
        )


class SystemTrunkGroupGetResponse24(OCIResponse):
    """
    Response to `SystemTrunkGroupGetRequest24()`.

    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy useMostRecentEntryOnDeflection

    Attributes:
        enforce_clid_service_assignment_for_pilot_user (bool):
            enforceCLIDServiceAssignmentForPilotUser
        terminate_unreachable_trigger_detection_on_receipt_of18x (bool):
            terminateUnreachableTriggerDetectionOnReceiptOf18x
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        enforce_out_of_dialog_pbx_redirection_policies (bool):
            enforceOutOfDialogPBXRedirectionPolicies
        unscreened_redirection_handling (str): unscreenedRedirectionHandling
        enable_holdover_of_highwater_call_counts (bool):
            enableHoldoverOfHighwaterCallCounts
        holdover_period (int): holdoverPeriod
        time_zone_offset_minutes (int): timeZoneOffsetMinutes
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        out_of_dialog_pbx_redirection_clid_mapping (str):
            outOfDialogPBXRedirectionCLIDMapping
        enforce_out_of_dialog_pbx_redirection_trunk_group_capacity (bool):
            enforceOutOfDialogPBXRedirectionTrunkGroupCapacity
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
        use_unmapped_sessions_for_trunk_users (bool): useUnmappedSessionsForTrunkUsers
        allow_pai_lookup_for_out_of_dialog_pbx_redirection (bool):
            allowPAILookupForOutOfDialogPBXRedirection
        out_of_dialog_pbx_redirection_originator_lookup_policy (str):
            outOfDialogPBXRedirectionOriginatorLookupPolicy
        allow_trunk_identity_for_all_originations (bool):
            allowTrunkIdentityForAllOriginations
        use_most_recent_entry_on_deflection (bool): useMostRecentEntryOnDeflection
    """

    __slots__: List[str] = [
        "enforce_clid_service_assignment_for_pilot_user",
        "terminate_unreachable_trigger_detection_on_receipt_of18x",
        "pilot_user_calling_line_asserted_identity_policy",
        "enforce_out_of_dialog_pbx_redirection_policies",
        "unscreened_redirection_handling",
        "enable_holdover_of_highwater_call_counts",
        "holdover_period",
        "time_zone_offset_minutes",
        "clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "out_of_dialog_pbx_redirection_clid_mapping",
        "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
        "implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "support_connected_identity_policy",
        "use_unmapped_sessions_for_trunk_users",
        "allow_pai_lookup_for_out_of_dialog_pbx_redirection",
        "out_of_dialog_pbx_redirection_originator_lookup_policy",
        "allow_trunk_identity_for_all_originations",
        "use_most_recent_entry_on_deflection",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enforce_clid_service_assignment_for_pilot_user",
                "enforceCLIDServiceAssignmentForPilotUser",
                bool,
                is_required=True,
            ),
            E(
                "terminate_unreachable_trigger_detection_on_receipt_of18x",
                "terminateUnreachableTriggerDetectionOnReceiptOf18x",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_policies",
                "enforceOutOfDialogPBXRedirectionPolicies",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_redirection_handling",
                "unscreenedRedirectionHandling",
                str,
                is_required=True,
            ),
            E(
                "enable_holdover_of_highwater_call_counts",
                "enableHoldoverOfHighwaterCallCounts",
                bool,
                is_required=True,
            ),
            E("holdover_period", "holdoverPeriod", int, is_required=True),
            E(
                "time_zone_offset_minutes",
                "timeZoneOffsetMinutes",
                int,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "out_of_dialog_pbx_redirection_clid_mapping",
                "outOfDialogPBXRedirectionCLIDMapping",
                str,
                is_required=True,
            ),
            E(
                "enforce_out_of_dialog_pbx_redirection_trunk_group_capacity",
                "enforceOutOfDialogPBXRedirectionTrunkGroupCapacity",
                bool,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_unmapped_sessions_for_trunk_users",
                "useUnmappedSessionsForTrunkUsers",
                bool,
                is_required=True,
            ),
            E(
                "allow_pai_lookup_for_out_of_dialog_pbx_redirection",
                "allowPAILookupForOutOfDialogPBXRedirection",
                bool,
                is_required=True,
            ),
            E(
                "out_of_dialog_pbx_redirection_originator_lookup_policy",
                "outOfDialogPBXRedirectionOriginatorLookupPolicy",
                str,
                is_required=True,
            ),
            E(
                "allow_trunk_identity_for_all_originations",
                "allowTrunkIdentityForAllOriginations",
                bool,
                is_required=True,
            ),
            E(
                "use_most_recent_entry_on_deflection",
                "useMostRecentEntryOnDeflection",
                bool,
                is_required=True,
            ),
        )


class SystemTrunkGroupOptionsMessageResponseStatusCodeGetListResponse(OCIResponse):
    """
    Response to the `SystemTrunkGroupOptionsMessageResponseStatusCodeGetListRequest()`.

    The response contains of the list of system level successful SIP OPTIONS message
    respoonse status codes.

    Attributes:
        status_code (List[str]): statusCode *Optional*
    """

    __slots__: List[str] = [
        "status_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("status_code", "statusCode", str, is_array=True),)


class SystemTrunkGroupUserCreationTaskGetListResponse(OCIResponse):
    """
    Response to `SystemTrunkGroupUserCreationTaskGetListRequest()`.

    Contains a table with a row for each user creation task and column headings : "Service
    User Id", "Group Id", "Organization Id", "Organization Type", "Name", "Status", "Users
    Created", "Total Users To Create", "Error Count". The "Organization Id" column is
    populated with either a service provider Id or an enterprise Id.  The "Organization
    Type" column is populated with one of the enumerated strings defined in the
    OrganizationType OCI data type.  Please see OCISchemaDataTypes.xsd for details on
    OrganizationType.

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTrunkGroupUserCreationTaskGetListResponse14sp4(OCIResponse):
    """
    Response to `SystemTrunkGroupUserCreationTaskGetListRequest14sp4()`.

    Contains a table with a row for each user creation task and column headings : "Trunk
    Group Name", "Group Id", "Organization Id", "Organization Type", "Name", "Status",
    "Users Created", "Total Users To Create", "Error Count". The "Organization Id" column
    is populated with either a service provider Id or an enterprise Id.  The "Organization
    Type" column is populated with one of the enumerated strings defined in the
    OrganizationType OCI data type.  Please see OCISchemaDataTypes.xsd for details on
    OrganizationType.

    Attributes:
        task_table (List(taskTable)): taskTable - *Table* array of taskTable named tuples
    """

    __slots__: List[str] = [
        "task_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "task_table",
                "taskTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemTwoStageDialingGetDnListResponse(OCIResponse):
    """
    Response to `SystemTwoStageDialingGetDnListRequest()`.

    The Two Stage Dialing DN List table column headings are: "Phone Number",
    "Description".

    Attributes:
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemVerifyTranslationAndRoutingResponse(OCIResponse):
    """
    Represents a Verify Translation and Routing Test Call Result.


    Attributes:
        result (str): Result
    """

    __slots__: List[str] = [
        "result",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("result", "Result", str, is_required=True),)


class SystemVideoServerGetListResponse(OCIResponse):
    """
    Response to `SystemVideoServerGetListRequest()`.

    The Video Server table column headings are: "Net Address", "Port", "Transport",
    "Description". Transport types: udp, tcp, unspecified

    Attributes:
        video_server_table (List(videoServerTable)): videoServerTable - *Table* array of
            videoServerTable named tuples
    """

    __slots__: List[str] = [
        "video_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "video_server_table",
                "videoServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemVideoServerParametersGetResponse(OCIResponse):
    """
    Response to `SystemVideoServerParametersGetRequest()`.

    Contains a list of system video server parameters.

    Attributes:
        video_server_response_timer_milliseconds (int):
            videoServerResponseTimerMilliseconds
        video_server_selection_route_timer_milliseconds (int):
            videoServerSelectionRouteTimerMilliseconds
        use_static_video_server_device (bool): useStaticVideoServerDevice
    """

    __slots__: List[str] = [
        "video_server_response_timer_milliseconds",
        "video_server_selection_route_timer_milliseconds",
        "use_static_video_server_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "video_server_response_timer_milliseconds",
                "videoServerResponseTimerMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "video_server_selection_route_timer_milliseconds",
                "videoServerSelectionRouteTimerMilliseconds",
                int,
                is_required=True,
            ),
            E(
                "use_static_video_server_device",
                "useStaticVideoServerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemVirtualOnNetCallTypeGetListResponse(OCIResponse):
    """
    Response to `SystemVirtualOnNetCallTypeGetListRequest()`.

    Contains a table with column headings: "Virtual On-Net Call Type Name", "Virtual On-
    Net Call Type CDR Value" in a row for each Virtual On-Net Call Type.

    Attributes:
        virtual_on_net_call_type_table (List(virtualOnNetCallTypeTable)):
            virtualOnNetCallTypeTable - *Table* array of virtualOnNetCallTypeTable named
            tuples
    """

    __slots__: List[str] = [
        "virtual_on_net_call_type_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "virtual_on_net_call_type_table",
                "virtualOnNetCallTypeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemVoiceMessageSummaryUpdateGetResponse(OCIResponse):
    """
    Response to `SystemVoiceMessageSummaryUpdateGetRequest()`.


    Attributes:
        send_saved_and_urgent_mwi_on_notification (bool):
            sendSavedAndUrgentMWIOnNotification
        send_message_summary_update_on_register (bool): sendMessageSummaryUpdateOnRegister
        min_time_between_mwi_on_register (int): minTimeBetweenMWIOnRegister
    """

    __slots__: List[str] = [
        "send_saved_and_urgent_mwi_on_notification",
        "send_message_summary_update_on_register",
        "min_time_between_mwi_on_register",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_saved_and_urgent_mwi_on_notification",
                "sendSavedAndUrgentMWIOnNotification",
                bool,
                is_required=True,
            ),
            E(
                "send_message_summary_update_on_register",
                "sendMessageSummaryUpdateOnRegister",
                bool,
                is_required=True,
            ),
            E(
                "min_time_between_mwi_on_register",
                "minTimeBetweenMWIOnRegister",
                int,
                is_required=True,
            ),
        )


class SystemVoiceMessagingGroupGetPasscodeRulesResponse14(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetPasscodeRulesRequest14()`.

    Contains the system voice portal passcode rules setting.

    Replaced By: `SystemPortalPasscodeRulesGetResponse()`

    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
        default_password (str): defaultPassword
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
        "default_password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
            E("default_password", "defaultPassword", str, is_required=True),
        )


class SystemVoiceMessagingGroupGetResponse14(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest14()`.

    Replaced by: `SystemVoiceMessagingGroupGetResponse16()`

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_greeting_length_minutes (int): maxGreetingLengthMinutes
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_greeting_length_minutes",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_greeting_length_minutes",
                "maxGreetingLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
        )


class SystemVoiceMessagingGroupGetResponse16(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest16()`.

    Replaced by: `SystemVoiceMessagingGroupGetResponse16sp2()`

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
        )


class SystemVoiceMessagingGroupGetResponse16sp2(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest16sp2()`.

    The following elements are only used in AS data mode: realDeleteForImap
    useDnInMailBody useShortSubjectLine maxMessageLengthMinutes maxMailboxLengthMinutes
    doesMessageAge holdPeriodDays mailServerProtocol defaultDeliveryFromAddress
    defaultNotificationFromAddress useOutgoingMWIOnSMDI mwiDelayInSeconds voicePortalScope
    enterpriseVoicePortalLicensed networkWideMessaging useExternalRouting vmOnlySystem The
    following elements are only used in AS data mode and not returned in XS data mode:
    mailServerNetAddress defaultExternalRoutingAddress Replaced by:
    `SystemVoiceMessagingGroupGetResponse20()` in AS data mode

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
        vm_only_system (bool): vmOnlySystem
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
        "vm_only_system",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
            E("vm_only_system", "vmOnlySystem", bool, is_required=True),
        )


class SystemVoiceMessagingGroupGetResponse20(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest20()`.

    The following elements are only used in AS data mode: realDeleteForImap
    useDnInMailBody useShortSubjectLine maxMessageLengthMinutes maxMailboxLengthMinutes
    doesMessageAge holdPeriodDays mailServerProtocol defaultDeliveryFromAddress
    defaultNotificationFromAddress useOutgoingMWIOnSMDI mwiDelayInSeconds voicePortalScope
    enterpriseVoicePortalLicensed networkWideMessaging useExternalRouting vmOnlySystem
    clientInitiatedMailServerSessionTimeoutMinutes The following elements are only used in
    AS data mode and not returned in XS data mode mailServerNetAddress
    defaultExternalRoutingAddress Replaced by: `SystemVoiceMessagingGroupGetResponse21()`

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
        vm_only_system (bool): vmOnlySystem
        client_initiated_mail_server_session_timeout_minutes (int):
            clientInitiatedMailServerSessionTimeoutMinutes
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
        "vm_only_system",
        "client_initiated_mail_server_session_timeout_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
            E("vm_only_system", "vmOnlySystem", bool, is_required=True),
            E(
                "client_initiated_mail_server_session_timeout_minutes",
                "clientInitiatedMailServerSessionTimeoutMinutes",
                int,
                is_required=True,
            ),
        )


class SystemVoiceMessagingGroupGetResponse21(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest21()`.

    The following elements are only used in AS data mode: realDeleteForImap
    useDnInMailBody useShortSubjectLine maxMessageLengthMinutes maxMailboxLengthMinutes
    doesMessageAge holdPeriodDays mailServerNetAddress mailServerProtocol
    defaultDeliveryFromAddress defaultNotificationFromAddress useOutgoingMWIOnSMDI
    mwiDelayInSeconds voicePortalScope enterpriseVoicePortalLicensed networkWideMessaging
    useExternalRouting defaultExternalRoutingAddress vmOnlySystem
    clientInitiatedMailServerSessionTimeoutMinutes recordingAudioFileFormat Replaced by:
    `SystemVoiceMessagingGroupGetResponse22()` in AS data mode

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
        vm_only_system (bool): vmOnlySystem
        client_initiated_mail_server_session_timeout_minutes (int):
            clientInitiatedMailServerSessionTimeoutMinutes
        recording_audio_file_format (str): recordingAudioFileFormat
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
        "vm_only_system",
        "client_initiated_mail_server_session_timeout_minutes",
        "recording_audio_file_format",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
            E("vm_only_system", "vmOnlySystem", bool, is_required=True),
            E(
                "client_initiated_mail_server_session_timeout_minutes",
                "clientInitiatedMailServerSessionTimeoutMinutes",
                int,
                is_required=True,
            ),
            E(
                "recording_audio_file_format",
                "recordingAudioFileFormat",
                str,
                is_required=True,
            ),
        )


class SystemVoiceMessagingGroupGetResponse22(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetResponse22()`.

    Replaced by: `SystemVoiceMessagingGroupGetResponse22V2()`.

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
        vm_only_system (bool): vmOnlySystem
        client_initiated_mail_server_session_timeout_minutes (int):
            clientInitiatedMailServerSessionTimeoutMinutes
        recording_audio_file_format (str): recordingAudioFileFormat
        allow_voice_portal_access_from_vm_deposit_menu (bool):
            allowVoicePortalAccessFromVMDepositMenu
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
        "vm_only_system",
        "client_initiated_mail_server_session_timeout_minutes",
        "recording_audio_file_format",
        "allow_voice_portal_access_from_vm_deposit_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
            E("vm_only_system", "vmOnlySystem", bool, is_required=True),
            E(
                "client_initiated_mail_server_session_timeout_minutes",
                "clientInitiatedMailServerSessionTimeoutMinutes",
                int,
                is_required=True,
            ),
            E(
                "recording_audio_file_format",
                "recordingAudioFileFormat",
                str,
                is_required=True,
            ),
            E(
                "allow_voice_portal_access_from_vm_deposit_menu",
                "allowVoicePortalAccessFromVMDepositMenu",
                bool,
                is_required=True,
            ),
        )


class SystemVoiceMessagingGroupGetResponse22V2(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetRequest22V2()`.

    The following elements are only used in AS/Amplify data mode: realDeleteForImap
    useDnInMailBody useShortSubjectLine maxMessageLengthMinutes maxMailboxLengthMinutes
    doesMessageAge holdPeriodDays mailServerNetAddress mailServerProtocol
    defaultDeliveryFromAddress defaultNotificationFromAddress useOutgoingMWIOnSMDI
    mwiDelayInSeconds voicePortalScope enterpriseVoicePortalLicensed networkWideMessaging
    useExternalRouting defaultExternalRoutingAddress vmOnlySystem, value "false" is
    returned in Amplify data mode clientInitiatedMailServerSessionTimeoutMinutes
    recordingAudioFileFormat allowVoicePortalAccessFromVMDepositMenu The following
    elements are only used in AS mode and not returned in XS data mode: vmBucketName The
    following elements are only used in AS data mode: storageSelection, value "Mail
    Server" is returned in XS data mode

    Attributes:
        real_delete_for_imap (bool): realDeleteForImap
        use_dn_in_mail_body (bool): useDnInMailBody
        use_short_subject_line (bool): useShortSubjectLine
        max_message_length_minutes (int): maxMessageLengthMinutes
        max_mailbox_length_minutes (int): maxMailboxLengthMinutes
        does_message_age (bool): doesMessageAge
        hold_period_days (int): holdPeriodDays
        mail_server_net_address (str): mailServerNetAddress *Optional*
        mail_server_protocol (str): mailServerProtocol
        default_delivery_from_address (str): defaultDeliveryFromAddress
        default_notification_from_address (str): defaultNotificationFromAddress
        default_voice_portal_lockout_from_address (str):
            defaultVoicePortalLockoutFromAddress
        use_outgoing_mwi_on_smdi (bool): useOutgoingMWIOnSMDI
        mwi_delay_in_seconds (int): mwiDelayInSeconds
        voice_portal_scope (str): voicePortalScope
        enterprise_voice_portal_licensed (bool): enterpriseVoicePortalLicensed
        network_wide_messaging (bool): networkWideMessaging
        use_external_routing (bool): useExternalRouting
        default_external_routing_address (str): defaultExternalRoutingAddress *Optional*
        vm_only_system (bool): vmOnlySystem
        client_initiated_mail_server_session_timeout_minutes (int):
            clientInitiatedMailServerSessionTimeoutMinutes
        recording_audio_file_format (str): recordingAudioFileFormat
        allow_voice_portal_access_from_vm_deposit_menu (bool):
            allowVoicePortalAccessFromVMDepositMenu
        storage_selection (str): storageSelection
        vm_bucket_name (str): vmBucketName *Optional*
    """

    __slots__: List[str] = [
        "real_delete_for_imap",
        "use_dn_in_mail_body",
        "use_short_subject_line",
        "max_message_length_minutes",
        "max_mailbox_length_minutes",
        "does_message_age",
        "hold_period_days",
        "mail_server_net_address",
        "mail_server_protocol",
        "default_delivery_from_address",
        "default_notification_from_address",
        "default_voice_portal_lockout_from_address",
        "use_outgoing_mwi_on_smdi",
        "mwi_delay_in_seconds",
        "voice_portal_scope",
        "enterprise_voice_portal_licensed",
        "network_wide_messaging",
        "use_external_routing",
        "default_external_routing_address",
        "vm_only_system",
        "client_initiated_mail_server_session_timeout_minutes",
        "recording_audio_file_format",
        "allow_voice_portal_access_from_vm_deposit_menu",
        "storage_selection",
        "vm_bucket_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("real_delete_for_imap", "realDeleteForImap", bool, is_required=True),
            E("use_dn_in_mail_body", "useDnInMailBody", bool, is_required=True),
            E("use_short_subject_line", "useShortSubjectLine", bool, is_required=True),
            E(
                "max_message_length_minutes",
                "maxMessageLengthMinutes",
                int,
                is_required=True,
            ),
            E(
                "max_mailbox_length_minutes",
                "maxMailboxLengthMinutes",
                int,
                is_required=True,
            ),
            E("does_message_age", "doesMessageAge", bool, is_required=True),
            E("hold_period_days", "holdPeriodDays", int, is_required=True),
            E("mail_server_net_address", "mailServerNetAddress", str),
            E("mail_server_protocol", "mailServerProtocol", str, is_required=True),
            E(
                "default_delivery_from_address",
                "defaultDeliveryFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_notification_from_address",
                "defaultNotificationFromAddress",
                str,
                is_required=True,
            ),
            E(
                "default_voice_portal_lockout_from_address",
                "defaultVoicePortalLockoutFromAddress",
                str,
                is_required=True,
            ),
            E(
                "use_outgoing_mwi_on_smdi",
                "useOutgoingMWIOnSMDI",
                bool,
                is_required=True,
            ),
            E("mwi_delay_in_seconds", "mwiDelayInSeconds", int, is_required=True),
            E("voice_portal_scope", "voicePortalScope", str, is_required=True),
            E(
                "enterprise_voice_portal_licensed",
                "enterpriseVoicePortalLicensed",
                bool,
                is_required=True,
            ),
            E("network_wide_messaging", "networkWideMessaging", bool, is_required=True),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("default_external_routing_address", "defaultExternalRoutingAddress", str),
            E("vm_only_system", "vmOnlySystem", bool, is_required=True),
            E(
                "client_initiated_mail_server_session_timeout_minutes",
                "clientInitiatedMailServerSessionTimeoutMinutes",
                int,
                is_required=True,
            ),
            E(
                "recording_audio_file_format",
                "recordingAudioFileFormat",
                str,
                is_required=True,
            ),
            E(
                "allow_voice_portal_access_from_vm_deposit_menu",
                "allowVoicePortalAccessFromVMDepositMenu",
                bool,
                is_required=True,
            ),
            E("storage_selection", "storageSelection", str, is_required=True),
            E("vm_bucket_name", "vmBucketName", str),
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse14(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest14()`.


    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "voice_messaging_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse18(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest18()`.

    Replaced by `SystemVoiceMessagingGroupGetVoicePortalMenusResponse19()`

    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse18sp1(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest18sp1()`.

    Replaced by `SystemVoiceMessagingGroupGetVoicePortalMenusResponse19sp1()`

    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        change_extended_away_greeting_menu_keys (OCI.changeExtendedAwayGreetingMenuKeys):
            changeExtendedAwayGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "change_extended_away_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_extended_away_greeting_menu_keys",
                "changeExtendedAwayGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse19(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest19()`.

    Replaced by: `SystemVoiceMessagingGroupGetVoicePortalMenusResponse19sp1()`

    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        greetings_menu_keys (OCI.greetingsMenuKeys): greetingsMenuKeys
        conference_greeting_menu_keys (OCI.conferenceGreetingMenuKeys):
            conferenceGreetingMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "greetings_menu_keys",
        "conference_greeting_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greetings_menu_keys",
                "greetingsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "conference_greeting_menu_keys",
                "conferenceGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse19sp1(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest19sp1()`.

    Replaced by `SystemVoiceMessagingGroupGetVoicePortalMenusResponse20()`

    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        greetings_menu_keys (OCI.greetingsMenuKeys): greetingsMenuKeys
        conference_greeting_menu_keys (OCI.conferenceGreetingMenuKeys):
            conferenceGreetingMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        change_extended_away_greeting_menu_keys (OCI.changeExtendedAwayGreetingMenuKeys):
            changeExtendedAwayGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "greetings_menu_keys",
        "conference_greeting_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "change_extended_away_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greetings_menu_keys",
                "greetingsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "conference_greeting_menu_keys",
                "conferenceGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_extended_away_greeting_menu_keys",
                "changeExtendedAwayGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse20(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest20()`.


    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        announcement_menu_keys (OCI.announcementMenuKeys): announcementMenuKeys
        announcement_recording_menu_keys (OCI.announcementRecordingMenuKeys):
            announcementRecordingMenuKeys
        greetings_menu_keys (OCI.greetingsMenuKeys): greetingsMenuKeys
        conference_greeting_menu_keys (OCI.conferenceGreetingMenuKeys):
            conferenceGreetingMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        change_extended_away_greeting_menu_keys (OCI.changeExtendedAwayGreetingMenuKeys):
            changeExtendedAwayGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "announcement_menu_keys",
        "announcement_recording_menu_keys",
        "greetings_menu_keys",
        "conference_greeting_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "change_extended_away_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "announcement_menu_keys",
                "announcementMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "announcement_recording_menu_keys",
                "announcementRecordingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greetings_menu_keys",
                "greetingsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "conference_greeting_menu_keys",
                "conferenceGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_extended_away_greeting_menu_keys",
                "changeExtendedAwayGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemVoiceMessagingGroupGetVoicePortalMenusResponse21(OCIResponse):
    """
    Response to `SystemVoiceMessagingGroupGetVoicePortalMenusRequest21()`.


    Attributes:
        use_voice_portal_customization (bool): useVoicePortalCustomization
        voice_portal_main_menu_keys (OCI.voicePortalMainMenuKeys): voicePortalMainMenuKeys
        announcement_menu_keys (OCI.announcementMenuKeys): announcementMenuKeys
        announcement_recording_menu_keys (OCI.announcementRecordingMenuKeys):
            announcementRecordingMenuKeys
        greetings_menu_keys (OCI.greetingsMenuKeys): greetingsMenuKeys
        conference_greeting_menu_keys (OCI.conferenceGreetingMenuKeys):
            conferenceGreetingMenuKeys
        voice_messaging_menu_keys (OCI.voiceMessagingMenuKeys): voiceMessagingMenuKeys
        play_greeting_menu_keys (OCI.playGreetingMenuKeys): playGreetingMenuKeys
        change_busy_or_no_answer_greeting_menu_keys
            (OCI.changeBusyOrNoAnswerGreetingMenuKeys):
            changeBusyOrNoAnswerGreetingMenuKeys
        change_extended_away_greeting_menu_keys (OCI.changeExtendedAwayGreetingMenuKeys):
            changeExtendedAwayGreetingMenuKeys
        record_new_greeting_or_personalized_name_menu_keys
            (OCI.recordNewGreetingOrPersonalizedNameMenuKeys):
            recordNewGreetingOrPersonalizedNameMenuKeys
        delete_all_messages_menu_keys (OCI.deleteAllMessagesMenuKeys):
            deleteAllMessagesMenuKeys
        comm_pilot_express_profile_menu_keys (OCI.commPilotExpressProfileMenuKeys):
            commPilotExpressProfileMenuKeys
        personalized_name_menu_keys (OCI.personalizedNameMenuKeys):
            personalizedNameMenuKeys
        call_forwarding_options_menu_keys (OCI.callForwardingOptionsMenuKeys):
            callForwardingOptionsMenuKeys
        change_call_forwarding_destination_menu_keys
            (OCI.changeCallForwardingDestinationMenuKeys):
            changeCallForwardingDestinationMenuKeys
        voice_portal_calling_menu_keys (OCI.voicePortalCallingMenuKeys):
            voicePortalCallingMenuKeys
        hoteling_menu_keys (OCI.hotelingMenuKeys): hotelingMenuKeys
        passcode_menu_keys (OCI.passcodeMenuKeys): passcodeMenuKeys
        play_messages_menu_keys (OCI.playMessagesMenuKeys): playMessagesMenuKeys
        play_message_menu_keys (OCI.playMessageMenuKeys): playMessageMenuKeys
        additional_message_options_menu_keys (OCI.additionalMessageOptionsMenuKeys):
            additionalMessageOptionsMenuKeys
        forward_or_compose_message_menu_keys (OCI.forwardOrComposeMessageMenuKeys):
            forwardOrComposeMessageMenuKeys
        reply_message_menu_keys (OCI.replyMessageMenuKeys): replyMessageMenuKeys
        send_to_distribution_list_menu_keys (OCI.sendToDistributionListMenuKeys):
            sendToDistributionListMenuKeys
        select_distribution_list_menu_keys (OCI.selectDistributionListMenuKeys):
            selectDistributionListMenuKeys
        review_selected_distribution_list_menu_keys
            (OCI.reviewSelectedDistributionListMenuKeys):
            reviewSelectedDistributionListMenuKeys
        send_message_to_selected_distribution_list_menu_keys
            (OCI.sendMessageToSelectedDistributionListMenuKeys):
            sendMessageToSelectedDistributionListMenuKeys
        send_to_all_group_members_menu_keys (OCI.sendToAllGroupMembersMenuKeys):
            sendToAllGroupMembersMenuKeys
        send_to_person_menu_keys (OCI.sendToPersonMenuKeys): sendToPersonMenuKeys
        change_current_introduction_or_message_or_reply_menu_keys
            (OCI.changeCurrentIntroductionOrMessageOrReplyMenuKeys):
            changeCurrentIntroductionOrMessageOrReplyMenuKeys
        voice_portal_login_menu_keys (OCI.voicePortalLoginMenuKeys):
            voicePortalLoginMenuKeys
        fax_messaging_menu_keys (OCI.faxMessagingMenuKeys): faxMessagingMenuKeys
        message_deposit_menu_keys (OCI.messageDepositMenuKeys): messageDepositMenuKeys
        disable_message_deposit_menu_keys (OCI.disableMessageDepositMenuKeys):
            disableMessageDepositMenuKeys
        greeting_only_forwarding_destination_menu_keys
            (OCI.greetingOnlyForwardingDestinationMenuKeys):
            greetingOnlyForwardingDestinationMenuKeys
        personal_assistant_menu_keys (OCI.personalAssistantMenuKeys):
            personalAssistantMenuKeys
    """

    __slots__: List[str] = [
        "use_voice_portal_customization",
        "voice_portal_main_menu_keys",
        "announcement_menu_keys",
        "announcement_recording_menu_keys",
        "greetings_menu_keys",
        "conference_greeting_menu_keys",
        "voice_messaging_menu_keys",
        "play_greeting_menu_keys",
        "change_busy_or_no_answer_greeting_menu_keys",
        "change_extended_away_greeting_menu_keys",
        "record_new_greeting_or_personalized_name_menu_keys",
        "delete_all_messages_menu_keys",
        "comm_pilot_express_profile_menu_keys",
        "personalized_name_menu_keys",
        "call_forwarding_options_menu_keys",
        "change_call_forwarding_destination_menu_keys",
        "voice_portal_calling_menu_keys",
        "hoteling_menu_keys",
        "passcode_menu_keys",
        "play_messages_menu_keys",
        "play_message_menu_keys",
        "additional_message_options_menu_keys",
        "forward_or_compose_message_menu_keys",
        "reply_message_menu_keys",
        "send_to_distribution_list_menu_keys",
        "select_distribution_list_menu_keys",
        "review_selected_distribution_list_menu_keys",
        "send_message_to_selected_distribution_list_menu_keys",
        "send_to_all_group_members_menu_keys",
        "send_to_person_menu_keys",
        "change_current_introduction_or_message_or_reply_menu_keys",
        "voice_portal_login_menu_keys",
        "fax_messaging_menu_keys",
        "message_deposit_menu_keys",
        "disable_message_deposit_menu_keys",
        "greeting_only_forwarding_destination_menu_keys",
        "personal_assistant_menu_keys",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_voice_portal_customization",
                "useVoicePortalCustomization",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_main_menu_keys",
                "voicePortalMainMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "announcement_menu_keys",
                "announcementMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "announcement_recording_menu_keys",
                "announcementRecordingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greetings_menu_keys",
                "greetingsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "conference_greeting_menu_keys",
                "conferenceGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_messaging_menu_keys",
                "voiceMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_greeting_menu_keys",
                "playGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_busy_or_no_answer_greeting_menu_keys",
                "changeBusyOrNoAnswerGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_extended_away_greeting_menu_keys",
                "changeExtendedAwayGreetingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "record_new_greeting_or_personalized_name_menu_keys",
                "recordNewGreetingOrPersonalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "delete_all_messages_menu_keys",
                "deleteAllMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "comm_pilot_express_profile_menu_keys",
                "commPilotExpressProfileMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personalized_name_menu_keys",
                "personalizedNameMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "call_forwarding_options_menu_keys",
                "callForwardingOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_call_forwarding_destination_menu_keys",
                "changeCallForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_calling_menu_keys",
                "voicePortalCallingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "hoteling_menu_keys",
                "hotelingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "passcode_menu_keys",
                "passcodeMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_messages_menu_keys",
                "playMessagesMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "play_message_menu_keys",
                "playMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "additional_message_options_menu_keys",
                "additionalMessageOptionsMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "forward_or_compose_message_menu_keys",
                "forwardOrComposeMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "reply_message_menu_keys",
                "replyMessageMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_distribution_list_menu_keys",
                "sendToDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "select_distribution_list_menu_keys",
                "selectDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "review_selected_distribution_list_menu_keys",
                "reviewSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_message_to_selected_distribution_list_menu_keys",
                "sendMessageToSelectedDistributionListMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_all_group_members_menu_keys",
                "sendToAllGroupMembersMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "send_to_person_menu_keys",
                "sendToPersonMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "change_current_introduction_or_message_or_reply_menu_keys",
                "changeCurrentIntroductionOrMessageOrReplyMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "voice_portal_login_menu_keys",
                "voicePortalLoginMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "fax_messaging_menu_keys",
                "faxMessagingMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "message_deposit_menu_keys",
                "messageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "disable_message_deposit_menu_keys",
                "disableMessageDepositMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "greeting_only_forwarding_destination_menu_keys",
                "greetingOnlyForwardingDestinationMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
            E(
                "personal_assistant_menu_keys",
                "personalAssistantMenuKeys",
                str,
                is_complex=True,
                is_required=True,
            ),  # unknown
        )


class SystemXsiApplicationIdGetListResponse(OCIResponse):
    """
    Response to the `SystemXsiApplicationIdGetListRequest()` Contains a table with column
    headings: "Xsi Application Id", "Description".


    Attributes:
        xsi_application_id_table (List(xsiApplicationIdTable)): xsiApplicationIdTable -
            *Table* array of xsiApplicationIdTable named tuples
    """

    __slots__: List[str] = [
        "xsi_application_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "xsi_application_id_table",
                "xsiApplicationIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemXsiApplicationIdParameterGetResponse(OCIResponse):
    """
    Response to `SystemXsiApplictionIdParameterGetRequest()`.

    Contains the Xsi application id system parameters.

    Attributes:
        screen_xsi_application_id (bool): screenXsiApplicationId
    """

    __slots__: List[str] = [
        "screen_xsi_application_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "screen_xsi_application_id",
                "screenXsiApplicationId",
                bool,
                is_required=True,
            ),
        )


class SystemXsiPolicyProfileGetAssignedServiceProviderListResponse(OCIResponse):
    """
    Response to `SystemXsiPolicyProfileUsageGetListRequest()`.

    Contains a table with column headings: "Organization ID", "Organization Name",
    "Organization Type" and "Reseller Id".

    Attributes:
        sp_table (List(spTable)): spTable - *Table* array of spTable named tuples
    """

    __slots__: List[str] = [
        "sp_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "sp_table",
                "spTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemXsiPolicyProfileGetListResponse(OCIResponse):
    """
    Response to the `SystemXsiPolicyProfileGetListRequest()` Contains a table with column
    headings: "Name", "Level", "Description", "Default".


    Attributes:
        xsi_policy_profile_table (List(xsiPolicyProfileTable)): xsiPolicyProfileTable -
            *Table* array of xsiPolicyProfileTable named tuples
    """

    __slots__: List[str] = [
        "xsi_policy_profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "xsi_policy_profile_table",
                "xsiPolicyProfileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemXsiPolicyProfileGetResponse(OCIResponse):
    """
    Response to the `SystemXsiPolicyProfileGetRequest()`.

    The response contains the Xsi policy profile.

    Attributes:
        description (str): description *Optional*
        max_target_subscription (int): maxTargetSubscription
        default (bool): default
    """

    __slots__: List[str] = [
        "description",
        "max_target_subscription",
        "default",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "max_target_subscription",
                "maxTargetSubscription",
                int,
                is_required=True,
            ),
            E("default", "default", bool, is_required=True),
        )


class SystemZoneCallingRestrictionsZoneGetListResponse(OCIResponse):
    """
    Response to `SystemZoneCallingRestrictionsZoneGetListRequest()`.

    Contains a table of all the zones in the system.  The column headings are "Zone Name"
    , "Physical Location". Replaced by: `SystemZoneGetListResponse()`

    Attributes:
        zone_table (List(zoneTable)): zoneTable - *Table* array of zoneTable named tuples
    """

    __slots__: List[str] = [
        "zone_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "zone_table",
                "zoneTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class SystemZoneCallingZonePhysicalLocationGetResponse(OCIResponse):
    """
    Response to `SystemZoneCallingZonePhysicalLocationGetRequest()`.


    Attributes:
        physical_location (str): physicalLocation *Optional*
    """

    __slots__: List[str] = [
        "physical_location",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("physical_location", "physicalLocation", str),)


class SystemZoneGetListResponse(OCIResponse):
    """
    Response to the `SystemZoneGetListRequest()`.


    Attributes:
        zone_name (List[str]): zoneName *Optional*
    """

    __slots__: List[str] = [
        "zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("zone_name", "zoneName", str, is_array=True),)


class SystemZoneLocationBasedPhysicalLocationGetListResponse(OCIResponse):
    """
    Response to `SystemZoneLocationBasedPhysicalLocationGetListRequest()`.


    Attributes:
        physical_location (List[str]): physicalLocation *Optional*
    """

    __slots__: List[str] = [
        "physical_location",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("physical_location", "physicalLocation", str, is_array=True),)


class TutorialFlagGetResponse(OCIResponse):
    """
    Response to the `TutorialFlagGetRequest()`.


    Attributes:
        enable_tutorial (bool): enableTutorial
    """

    __slots__: List[str] = [
        "enable_tutorial",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("enable_tutorial", "enableTutorial", bool, is_required=True),)


class UserAccessDeviceDeviceActivationGetListResponse(OCIResponse):
    """
    Response to `UserAccessDeviceDeviceActivationGetListRequest()`.

    Contains a table of devices supporting device activation associated to a user.  The
    column headings are: "Device Name", "Device Level", "Device SP", "Device Group",
    "Endpoint Type", "Line Port", "Activation Status", "Activation Code", "Expiration
    Time" and "MAC Address".

    Attributes:
        access_device_table (List(accessDeviceTable)): accessDeviceTable - *Table* array
            of accessDeviceTable named tuples
    """

    __slots__: List[str] = [
        "access_device_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device_table",
                "accessDeviceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAccessDeviceFileGetListResponse(OCIResponse):
    """
    Response to `UserAccessDeviceFileGetListRequest()`.

    Contains a table of user modifiable Device Management files.  The column headings are:
    "File Format", "Template URL".

    Attributes:
        device_files_table (List(deviceFilesTable)): deviceFilesTable - *Table* array of
            deviceFilesTable named tuples
    """

    __slots__: List[str] = [
        "device_files_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_files_table",
                "deviceFilesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAccessDeviceFileGetResponse(OCIResponse):
    """
    Response to `UserAccessDeviceFileGetRequest()`.


    Attributes:
        template_url (str): templateUrl *Optional*
    """

    __slots__: List[str] = [
        "template_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("template_url", "templateUrl", str),)


class UserAccessDeviceTagsGetResponse(OCIResponse):
    """
    Response to `UserAccessDeviceTagsGetRequest()`.

    The response contains a table with columns: "Tag Name", and "Tag Value".

    Attributes:
        device_tags_table (List(deviceTagsTable)): deviceTagsTable - *Table* array of
            deviceTagsTable named tuples
    """

    __slots__: List[str] = [
        "device_tags_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_tags_table",
                "deviceTagsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAdviceOfChargeGetResponse(OCIResponse):
    """
    Response to `UserAdviceOfChargeGetRequest()`.


    Attributes:
        is_active (bool): isActive
        aoc_type (str): aocType
    """

    __slots__: List[str] = [
        "is_active",
        "aoc_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("aoc_type", "aocType", str, is_required=True),
        )


class UserAlternateUserIdGetListResponse(OCIResponse):
    """
    Response to `UserAlternateUserIdGetListRequest()`.

    Contains a table of the main user id and the alternate user ids, the column headings
    are: "User Id", "Description", "Alternate". The possible values for "Alternate" are
    "true" and "false". The "Description" is only present for alternate user Ids.

    Attributes:
        user_id_table (List(userIdTable)): userIdTable - *Table* array of userIdTable
            named tuples
    """

    __slots__: List[str] = [
        "user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_id_table",
                "userIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAnnouncementFileGetAvailableListResponse(OCIResponse):
    """
    Response to `UserAnnouncementFileGetAvailableListRequest()`.

    The response contains a table with columns: "Name", "Media Type", "File Size",
    "Repository Type", and "Announcement File External Id". The "Name" column contains the
    name of the announcement file.  The "Media Type" column contains the media type of the
    announcement file with the possible values: WMA - Windows Media Audio file WAV - A WAV
    file 3GP - A 3GP file MOV - A MOV file using a H.263 or H.264 codec.  The "File Size"
    is in Kilobytes.  The "Repository Type" column contains the type of repository for the
    announcement file such as "User" or "Group" The "File Size" column contains the file
    size in kB of the announcement file.  The "Announcement File External Id" column
    contains the External Id of the announcement file.  The following columns are
    populated in AS data mode only: "Announcement File External Id"

    Attributes:
        announcement_table (List(announcementTable)): announcementTable - *Table* array of
            announcementTable named tuples
    """

    __slots__: List[str] = [
        "announcement_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_table",
                "announcementTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAnnouncementFileGetListResponse(OCIResponse):
    """
    Response to `UserAnnouncementFileGetListRequest()`.

    When requested, the response contains a table with columns: "Name", "Media Type",
    "File Size", "Announcement File External Id". The "Name" column contains the name of
    the announcement file.  The "Media Type" column contains the media type of the
    announcement file with the possible values: WMA - Windows Media Audio file WAV - A WAV
    file 3GP - A 3GP file MOV - A MOV file using a H.263 or H.264 codec.  The "File Size"
    column contains the file size in kB of the announcement file.  The "Announcement File
    External Id" column contains the external ID of the announcement file.  The following
    columns are populated in AS data mode only: "Announcement File External Id"

    The response also contains the current total file size (KB) for the user across all
    media types and the maximum total file size (MB) allowed for the user.

    Attributes:
        announcement_table (List(announcementTable)): announcementTable - *Table* array of
            announcementTable named tuples *Optional*
        total_file_size (int): totalFileSize
        max_file_size (int): maxFileSize
    """

    __slots__: List[str] = [
        "announcement_table",
        "total_file_size",
        "max_file_size",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_table",
                "announcementTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("total_file_size", "totalFileSize", int, is_required=True),
            E("max_file_size", "maxFileSize", int, is_required=True),
        )


class UserAnnouncementFileGetPagedSortedListResponse(OCIResponse):
    """
    Response to `UserAnnouncementFileGetPagedSortedListRequest()`.

    The response contains a table with columns: "Name", "Media Type", "File Size", and
    "Announcement File External Id". The "Name" column contains the name of the
    announcement file.  The "Media Type" column contains the media type of the
    announcement.  File with the possible values: WMA - Windows Media Audio file WAV - A
    WAV file 3GP - A 3GP file MOV - A MOV file using a H.263 or H.264 codec.  The "File
    Size" column contains the file size (KB) of the announcement file.

    Attributes:
        announcement_table (List(announcementTable)): announcementTable - *Table* array of
            announcementTable named tuples *Optional*
    """

    __slots__: List[str] = [
        "announcement_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_table",
                "announcementTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class UserAnnouncementFileGetResponse(OCIResponse):
    """
    Response to `UserAnnouncementFileGetRequest()`.

    The response contains the file size (KB), uploaded timestamp, description and usage
    for an announcement file in the user announcement repository.  The usage table has
    columns "Service Name", "Criteria Name" The "Service Name"" values correspond to
    string values of the UserService data types.  With the exception of the string "Voice
    Portal" which is returned when the announcement is being used by Voice Portal
    Personalized Name.  For Call Center and Route Point users the "Instance Name" column
    contains the instance id and when the announcement is being used by a DNIS, "Intance
    Name" column contans the instance id and the DNIS id.  For Auto Attendants with
    submenus and the announcement is used by a submenu the "Instance Name" column will
    contain the submenu name Replaced by: `UserAnnouncementFileGetResponse22()`.

    Attributes:
        description (str): description
        filesize (int): filesize
        last_uploaded (str): lastUploaded
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "filesize",
        "last_uploaded",
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str, is_required=True),
            E("filesize", "filesize", int, is_required=True),
            E("last_uploaded", "lastUploaded", str, is_required=True),
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAnnouncementRepositoryGetSettingsResponse(OCIResponse):
    """
    Response to `UserAnnouncementRepositoryGetSettingsRequest()`.

    The response contains the current total file size (KB) for the user across all media
    types and the maximum total file size (MB) allowed for the user.  It also indicates
    the maximum file size for individual audio and video files.

    Attributes:
        total_file_size (int): totalFileSize
        max_audio_file_size (int): maxAudioFileSize
        max_video_file_size (int): maxVideoFileSize
        max_file_size (int): maxFileSize
    """

    __slots__: List[str] = [
        "total_file_size",
        "max_audio_file_size",
        "max_video_file_size",
        "max_file_size",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_file_size", "totalFileSize", int, is_required=True),
            E("max_audio_file_size", "maxAudioFileSize", int, is_required=True),
            E("max_video_file_size", "maxVideoFileSize", int, is_required=True),
            E("max_file_size", "maxFileSize", int, is_required=True),
        )


class UserAnonymousCallRejectionGetResponse(OCIResponse):
    """
    Response to `UserAnonymousCallRejectionGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserAuthenticationGetResponse(OCIResponse):
    """
    Response to the `UserAuthenticationGetRequest()`.


    Attributes:
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("user_name", "userName", str),)


class UserAutomaticCallbackGetResponse(OCIResponse):
    """
    Response to `UserAutomaticCallbackGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserAutomaticCollectCallGetResponse(OCIResponse):
    """
    Response to the `UserAutomaticCollectCallGetRequest()`.

    Returns user Automatic Collect Call service settings.

    Attributes:
        enable_automatic_collect_call (bool): enableAutomaticCollectCall
    """

    __slots__: List[str] = [
        "enable_automatic_collect_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_automatic_collect_call",
                "enableAutomaticCollectCall",
                bool,
                is_required=True,
            ),
        )


class UserAutomaticHoldRetrieveGetResponse(OCIResponse):
    """
    Response to `UserAutomaticHoldRetrieveGetRequest()`.


    Attributes:
        is_active (bool): isActive
        recall_timer_seconds (int): recallTimerSeconds
    """

    __slots__: List[str] = [
        "is_active",
        "recall_timer_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("recall_timer_seconds", "recallTimerSeconds", int, is_required=True),
        )


class UserBargeInExemptGetResponse(OCIResponse):
    """
    Response to `UserBargeInExemptGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserBroadWorksAnywhereGetAvailablePortalListResponse(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetAvailablePortalListRequest()`.

    Contains a table with column headings: "Portal ID", "Phone Number", "Extension",
    "Language". Replaced by `UserBroadWorksAnywhereGetAvailablePortalListResponse21sp1()`

    Attributes:
        portal_table (List(portalTable)): portalTable - *Table* array of portalTable named
            tuples
    """

    __slots__: List[str] = [
        "portal_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "portal_table",
                "portalTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksAnywhereGetAvailablePortalListResponse21sp1(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetAvailablePortalListRequest21sp1()`.

    Contains a table with column headings: "Portal ID", "Portal Name", "Phone Number",
    "Extension", "Language".

    Attributes:
        portal_table (List(portalTable)): portalTable - *Table* array of portalTable named
            tuples
    """

    __slots__: List[str] = [
        "portal_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "portal_table",
                "portalTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksAnywhereGetPhoneNumberPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetPhoneNumberPagedSortedListRequest()`.

    The phoneNumberTable contains columns: "Phone Number", "Description", "Activated"

    Attributes:
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksAnywhereGetPhoneNumberResponse(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetPhoneNumberRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted", "Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a
    caombination of them separated by comma: - The value of the extension for the
    corresponding Calls To Type, when the extension is available.  i.e.  Primary may have
    number, but no extension.  - For Mobility Calls To Type, this is always blank.  - When
    no exension is available a blank space is provided instead.

    Attributes:
        description (str): description *Optional*
        outbound_alternate_number (str): outboundAlternateNumber *Optional*
        is_active (bool): isActive
        broadworks_call_control (bool): broadworksCallControl
        use_diversion_inhibitor (bool): useDiversionInhibitor
        answer_confirmation_required (bool): answerConfirmationRequired
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "description",
        "outbound_alternate_number",
        "is_active",
        "broadworks_call_control",
        "use_diversion_inhibitor",
        "answer_confirmation_required",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("outbound_alternate_number", "outboundAlternateNumber", str),
            E("is_active", "isActive", bool, is_required=True),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E(
                "use_diversion_inhibitor",
                "useDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "answer_confirmation_required",
                "answerConfirmationRequired",
                bool,
                is_required=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksAnywhereGetResponse(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetRequest()`.

    The phoneNumberTable contains columns: "Phone Number", "Description" Replaced by:
    `UserBroadWorksAnywhereGetResponse16sp2()`

    Attributes:
        alert_all_locations_for_click_to_dial_calls (bool):
            alertAllLocationsForClickToDialCalls
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "alert_all_locations_for_click_to_dial_calls",
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_locations_for_click_to_dial_calls",
                "alertAllLocationsForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksAnywhereGetResponse16sp2(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetRequest16sp2()`.

    The phoneNumberTable contains columns: "Phone Number", "Description"

    Attributes:
        alert_all_locations_for_click_to_dial_calls (bool):
            alertAllLocationsForClickToDialCalls
        alert_all_locations_for_group_paging_calls (bool):
            alertAllLocationsForGroupPagingCalls
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "alert_all_locations_for_click_to_dial_calls",
        "alert_all_locations_for_group_paging_calls",
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_locations_for_click_to_dial_calls",
                "alertAllLocationsForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_all_locations_for_group_paging_calls",
                "alertAllLocationsForGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksCommunicatorGetResponse(OCIResponse):
    """
    Response to `UserBroadWorksCommunicatorGetRequest()`.


    Attributes:
        configuration_server_url (str): configurationServerURL *Optional*
    """

    __slots__: List[str] = [
        "configuration_server_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("configuration_server_url", "configurationServerURL", str),)


class UserBroadWorksMobilityGetResponse(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityGetRequest()`.


    Attributes:
        is_active (bool): isActive
        phones_to_ring (str): phonesToRing
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
    """

    __slots__: List[str] = [
        "is_active",
        "phones_to_ring",
        "mobile_phone_number",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("phones_to_ring", "phonesToRing", str, is_required=True),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
        )


class UserBroadWorksMobilityGetResponse21sp1(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityGetRequest21sp1()`.

    Columns for the profileIdentityMobileNumberAlerted table are as follows: "Mobile
    Number", "Country Code", "National Prefix". Columns for the mobileIdentity table are
    as follows: "Mobile Number", "Description", "Country Code", "National Prefix", "Is
    Primary", "Enable Alerting".

    Attributes:
        is_active (bool): isActive
        use_mobile_identity_call_anchoring (bool): useMobileIdentityCallAnchoring
        prevent_calls_to_own_mobiles (bool): preventCallsToOwnMobiles
        profile_identity_devices_to_ring (str): profileIdentityDevicesToRing
        profile_identity_include_shared_call_appearance (bool):
            profileIdentityIncludeSharedCallAppearance
        profile_identity_include_broadworks_anywhere (bool):
            profileIdentityIncludeBroadworksAnywhere
        profile_identity_include_executive_assistant (bool):
            profileIdentityIncludeExecutiveAssistant
        profile_identity_mobile_number_alerted_table
            (List(profileIdentityMobileNumberAlertedTable)):
            profileIdentityMobileNumberAlertedTable - *Table* array of
            profileIdentityMobileNumberAlertedTable named tuples
        mobile_identity_table (List(mobileIdentityTable)): mobileIdentityTable - *Table*
            array of mobileIdentityTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "use_mobile_identity_call_anchoring",
        "prevent_calls_to_own_mobiles",
        "profile_identity_devices_to_ring",
        "profile_identity_include_shared_call_appearance",
        "profile_identity_include_broadworks_anywhere",
        "profile_identity_include_executive_assistant",
        "profile_identity_mobile_number_alerted_table",
        "mobile_identity_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "use_mobile_identity_call_anchoring",
                "useMobileIdentityCallAnchoring",
                bool,
                is_required=True,
            ),
            E(
                "prevent_calls_to_own_mobiles",
                "preventCallsToOwnMobiles",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_devices_to_ring",
                "profileIdentityDevicesToRing",
                str,
                is_required=True,
            ),
            E(
                "profile_identity_include_shared_call_appearance",
                "profileIdentityIncludeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_include_broadworks_anywhere",
                "profileIdentityIncludeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_include_executive_assistant",
                "profileIdentityIncludeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_mobile_number_alerted_table",
                "profileIdentityMobileNumberAlertedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "mobile_identity_table",
                "mobileIdentityTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistEnterpriseGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `UserBroadWorksReceptionistEnterpriseGetAvailableUserListRequest()`.

    Returns a 12 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title", "Receptionist Note". The
    Receptionist Note column is only populated, if the user sending the request is the
    owner of the Receptionist Note and a Note exists.

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistEnterpriseGetResponse(OCIResponse):
    """
    Response to `UserBroadWorksReceptionistEnterpriseGetRequest()`.

    Returns a 12 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title", "Receptionist Note". The
    Receptionist Note column is only populated, if the user sending the request is the
    owner of the Receptionist Note and a Note exists.

    Attributes:
        monitored_user_table (List(monitoredUserTable)): monitoredUserTable - *Table*
            array of monitoredUserTable named tuples
    """

    __slots__: List[str] = [
        "monitored_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "monitored_user_table",
                "monitoredUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistEnterpriseNoteGetResponse(OCIResponse):
    """
    Response to `UserBroadWorksReceptionistEnterpriseNoteGetRequest()`.


    Attributes:
        receptionist_note (str): receptionistNote *Optional*
    """

    __slots__: List[str] = [
        "receptionist_note",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("receptionist_note", "receptionistNote", str),)


class UserBroadWorksReceptionistOfficeGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `UserBroadWorksReceptionistOfficeGetAvailableUserListRequest()`.

    Returns a 12 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistOfficeGetResponse(OCIResponse):
    """
    Response to `UserBroadWorksReceptionistOfficeGetRequest()`.

    Returns a 11 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title".

    Attributes:
        monitored_user_table (List(monitoredUserTable)): monitoredUserTable - *Table*
            array of monitoredUserTable named tuples
    """

    __slots__: List[str] = [
        "monitored_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "monitored_user_table",
                "monitoredUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistSmallBusinessGetAvailableUserListResponse(OCIResponse):
    """
    Response to the
    `UserBroadWorksReceptionistSmallBusinessGetAvailableUserListRequest()`.

    Returns a 11 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksReceptionistSmallBusinessGetResponse(OCIResponse):
    """
    Response to `UserBroadWorksReceptionistSmallBusinessGetRequest()`.

    Returns a 12 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Group Id", "Phone Number", "Extension",
    "Mobile", "Email Address", "Department", "IMP Id", "Title".

    Attributes:
        monitored_user_table (List(monitoredUserTable)): monitoredUserTable - *Table*
            array of monitoredUserTable named tuples
    """

    __slots__: List[str] = [
        "monitored_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "monitored_user_table",
                "monitoredUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBusyLampFieldGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `BusyLampFieldGetAvailableUserListRequest()`.

    Returns a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "IMP Id".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBusyLampFieldGetResponse(OCIResponse):
    """
    Replaced By `UserBusyLampFieldGetResponse16sp2()` Response to
    `UserBusyLampFieldGetRequest()`.

    The table has column headings: "User Id", "Last Name", "First Name", "Hiragana Last
    Name", "Hiragana First Name".

    Attributes:
        list_uri (str): listURI *Optional*
        monitored_user_table (List(monitoredUserTable)): monitoredUserTable - *Table*
            array of monitoredUserTable named tuples
    """

    __slots__: List[str] = [
        "list_uri",
        "monitored_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("list_uri", "listURI", str),
            E(
                "monitored_user_table",
                "monitoredUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBusyLampFieldGetResponse16sp2(OCIResponse):
    """
    Response to `UserBusyLampFieldGetRequest16sp2()`.

    The table has column headings: "User Id", "Last Name", "First Name", "Hiragana Last
    Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "IMP Id".

    Attributes:
        list_uri (str): listURI *Optional*
        enable_call_park_notification (bool): enableCallParkNotification
        monitored_user_table (List(monitoredUserTable)): monitoredUserTable - *Table*
            array of monitoredUserTable named tuples
    """

    __slots__: List[str] = [
        "list_uri",
        "enable_call_park_notification",
        "monitored_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("list_uri", "listURI", str),
            E(
                "enable_call_park_notification",
                "enableCallParkNotification",
                bool,
                is_required=True,
            ),
            E(
                "monitored_user_table",
                "monitoredUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterAgentDetailsGetResponse(OCIResponse):
    """
    Response to the `UserCallCenterAgentDetailsGetRequest()`.

    Contains the detail information for a Call Center Agent.

    Attributes:
        is_call_center_basic_assigned (bool): isCallCenterBasicAssigned
        is_call_center_standard_assigned (bool): isCallCenterStandardAssigned
        is_call_center_premium_assigned (bool): isCallCenterPremiumAssigned
    """

    __slots__: List[str] = [
        "is_call_center_basic_assigned",
        "is_call_center_standard_assigned",
        "is_call_center_premium_assigned",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_call_center_basic_assigned",
                "isCallCenterBasicAssigned",
                bool,
                is_required=True,
            ),
            E(
                "is_call_center_standard_assigned",
                "isCallCenterStandardAssigned",
                bool,
                is_required=True,
            ),
            E(
                "is_call_center_premium_assigned",
                "isCallCenterPremiumAssigned",
                bool,
                is_required=True,
            ),
        )


class UserCallCenterAgentSignOutResponse(OCIResponse):
    """
    Response to the `UserCallCenterAgentSignOutRequest()`.

    It contains a list of call centers for which the agent is the last signed-in agent.
    Contains a table with column headings: "Service User Id" and "Call Center Name".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterCallDispositionCodeGetAvailableListResponse(OCIResponse):
    """
    Response to the `UserCallCenterCallDispositionCodeGetAvailableListRequest()`.

    This list may include Group/Enterprise level codes in addition to the Call Center
    level codes, depending on the call center disposition codes settings.  Only active
    codes are included in the list.  Contains a table with column headings: "Code",
    "Description" and "Level". Level column can be any of the values in the data type
    CallDispositionCodeLevel.

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterEnhancedReportingReportTemplateParamInfoGetResponse(OCIResponse):
    """
    Response to `UserCallCenterEnhancedReportingReportTemplateParamInfoGetRequest()`.


    Attributes:
        is_realtime_report (bool): isRealtimeReport
        require_agent_param (bool): requireAgentParam
        require_call_center_param (bool): requireCallCenterParam
        require_call_center_dnis_param (bool): requireCallCenterDnisParam
        require_sampling_period_param (bool): requireSamplingPeriodParam
        call_completion_threshold_param (str): callCompletionThresholdParam *Optional*
        short_duration_threshold_param (str): shortDurationThresholdParam *Optional*
        service_level_threshold_param (str): serviceLevelThresholdParam *Optional*
        service_level_inclusions_param (str): serviceLevelInclusionsParam *Optional*
        service_level_objective_threshold_param (str): serviceLevelObjectiveThresholdParam
            *Optional*
        abandoned_call_threshold_param (str): abandonedCallThresholdParam *Optional*
        service_level_threshold_param_number (int): serviceLevelThresholdParamNumber
            *Optional*
        abandoned_call_threshold_param_number (int): abandonedCallThresholdParamNumber
            *Optional*
    """

    __slots__: List[str] = [
        "is_realtime_report",
        "require_agent_param",
        "require_call_center_param",
        "require_call_center_dnis_param",
        "require_sampling_period_param",
        "call_completion_threshold_param",
        "short_duration_threshold_param",
        "service_level_threshold_param",
        "service_level_inclusions_param",
        "service_level_objective_threshold_param",
        "abandoned_call_threshold_param",
        "service_level_threshold_param_number",
        "abandoned_call_threshold_param_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_realtime_report", "isRealtimeReport", bool, is_required=True),
            E("require_agent_param", "requireAgentParam", bool, is_required=True),
            E(
                "require_call_center_param",
                "requireCallCenterParam",
                bool,
                is_required=True,
            ),
            E(
                "require_call_center_dnis_param",
                "requireCallCenterDnisParam",
                bool,
                is_required=True,
            ),
            E(
                "require_sampling_period_param",
                "requireSamplingPeriodParam",
                bool,
                is_required=True,
            ),
            E("call_completion_threshold_param", "callCompletionThresholdParam", str),
            E("short_duration_threshold_param", "shortDurationThresholdParam", str),
            E("service_level_threshold_param", "serviceLevelThresholdParam", str),
            E("service_level_inclusions_param", "serviceLevelInclusionsParam", str),
            E(
                "service_level_objective_threshold_param",
                "serviceLevelObjectiveThresholdParam",
                str,
            ),
            E("abandoned_call_threshold_param", "abandonedCallThresholdParam", str),
            E(
                "service_level_threshold_param_number",
                "serviceLevelThresholdParamNumber",
                int,
            ),
            E(
                "abandoned_call_threshold_param_number",
                "abandonedCallThresholdParamNumber",
                int,
            ),
        )


class UserCallCenterGetAgentSupervisorListResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetAgentSupervisorListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "IMP Id", "Location Code".

    Attributes:
        supervisor_table (List(supervisorTable)): supervisorTable - *Table* array of
            supervisorTable named tuples
    """

    __slots__: List[str] = [
        "supervisor_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supervisor_table",
                "supervisorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetAvailableCallCenterListResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetAvailableCallCenterListRequest()`.

    Contains a table with column heading: "Service User Id".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetAvailableCallCenterPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetAvailableCallCenterPagedSortedListRequest()`.

    Contains a table with column heading: "Service User Id".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetListResponse(OCIResponse):
    """
    Response to the `UserCallCentersLoginGetListRequest()`.

    Indicates whether the agent is current available (logged in) to each call center in
    the list.  Contains a table with column headings: "Service User Id", "Phone Number",
    "Extension", "Available", "Logoff Allowed". ***** NOTE: Prior to release 14sp1, the
    AppServer had a bug that caused it to emit column heading "Service User ID" with *****
    the ID capitalized.  Beginning in release 14sp1, the appserver is compliant with the
    schema and emits a ***** the column heading "Service User Id".

    Replaced By: `UserCallCenterGetResponse()`

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest()`.

    Contains the user's ACD state Indicates whether the agent is current available (logged
    in) to each call center in the list.  Contains a table with column headings: "Service
    User Id", "Phone Number", "Extension", "Available", "Logoff Allowed".

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
            *Optional*
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E("user_table", "userTable", list, is_complex=True, is_table=True),
        )


class UserCallCenterGetResponse16(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest16()`.

    Contains the user's call center settings.  Indicates whether the agent is current
    available (logged in) to each call center in the list.  Contains a table with column
    headings: "Service User Id", "Phone Number", "Extension", "Available", "Logoff
    Allowed", "Type", and "Priority".

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        use_default_guard_timer (bool): useDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_unavailable_on_personal_calls (bool): forceUnavailableOnPersonalCalls
            *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "use_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E(
                "use_default_guard_timer",
                "useDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_unavailable_on_personal_calls",
                "forceUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetSupervisedAgentListResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetSupervisedAgentListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "IMP Id", "Location Code".

    Attributes:
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
    """

    __slots__: List[str] = [
        "agent_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetSupervisorCallCenterListResponse(OCIResponse):
    """
    Response to the `UserCallCenterGetSupervisorCallCenterListRequest()`.

    Contains a table with column headings: "Service User Id", "Phone Number", "Extension",
    "Type" and "Priority".

    Attributes:
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterMonitoringGetResponse(OCIResponse):
    """
    Response to `UserCallCenterMonitoringGetRequest()`.

    Replaced by `UserCallCenterMonitoringGetResponse23()`

    Attributes:
        play_tone_to_agent_for_silent_monitoring (bool):
            playToneToAgentForSilentMonitoring
    """

    __slots__: List[str] = [
        "play_tone_to_agent_for_silent_monitoring",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "play_tone_to_agent_for_silent_monitoring",
                "playToneToAgentForSilentMonitoring",
                bool,
                is_required=True,
            ),
        )


class UserCallCenterMonitoringGetResponse23(OCIResponse):
    """
    Response to `UserCallCenterMonitoringGetRequest23()`.


    Attributes:
        play_tone_to_agent_for_silent_monitoring (bool):
            playToneToAgentForSilentMonitoring
        play_tone_to_agent_for_supervisor_coaching (bool):
            playToneToAgentForSupervisorCoaching
    """

    __slots__: List[str] = [
        "play_tone_to_agent_for_silent_monitoring",
        "play_tone_to_agent_for_supervisor_coaching",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "play_tone_to_agent_for_silent_monitoring",
                "playToneToAgentForSilentMonitoring",
                bool,
                is_required=True,
            ),
            E(
                "play_tone_to_agent_for_supervisor_coaching",
                "playToneToAgentForSupervisorCoaching",
                bool,
                is_required=True,
            ),
        )


class UserCallForwardingAlwaysGetResponse(OCIResponse):
    """
    Response to `UserCallForwardingAlwaysGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        is_ring_splash_active (bool): isRingSplashActive
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "is_ring_splash_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("is_ring_splash_active", "isRingSplashActive", bool, is_required=True),
        )


class UserCallForwardingAlwaysSecondaryGetResponse(OCIResponse):
    """
    Response to `UserCallForwardingAlwaysSecondaryGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        is_ring_splash_active (bool): isRingSplashActive
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "is_ring_splash_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("is_ring_splash_active", "isRingSplashActive", bool, is_required=True),
        )


class UserCallForwardingBusyGetResponse(OCIResponse):
    """
    Response to `UserCallForwardingBusyGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
        )


class UserCallForwardingNoAnswerGetResponse13mp16(OCIResponse):
    """
    Response to `UserCallForwardingNoAnswerGetRequest13mp16()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        number_of_rings (int): numberOfRings
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("number_of_rings", "numberOfRings", int, is_required=True),
        )


class UserCallForwardingNotReachableGetResponse(OCIResponse):
    """
    Response to `UserCallForwardingNotReachableGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
        )


class UserCallForwardingSelectiveGetResponse(OCIResponse):
    """
    Response to the `UserCallForwardingSelectiveGetRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From" and "Forward To".

    Attributes:
        default_forward_to_phone_number (str): defaultForwardToPhoneNumber *Optional*
        play_ring_reminder (bool): playRingReminder
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "default_forward_to_phone_number",
        "play_ring_reminder",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_forward_to_phone_number", "defaultForwardToPhoneNumber", str),
            E("play_ring_reminder", "playRingReminder", bool, is_required=True),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallForwardingSelectiveGetResponse16(OCIResponse):
    """
    Response to the `UserCallForwardingSelectiveGetRequest16()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Forward To", "Blacklisted", "Holiday Schedule", "Calls To
    Type", "Calls To Number" and "Calls To Extension". The following columns are only
    returned in AS data mode: "Calls To Type", "Calls To Number" and "Calls To Extension"
    The possible values for the "Calls To Type" column are the following or a combination
    of them separated by comma: - Primary - Alternate X (where x is a number between 1 and
    10) - Mobility The possible values for the "Calls To Number" column are the following
    or a combination of them separated by comma: - The value of the phone number for the
    corresponding Calls To Type, when the number is available.  i.e.  Alternate 1 may have
    extension, but no number.  - When no number is available a blank space is provided
    instead.  The possible values for the "Calls To Extension" column are the following or
    a combination of them separated by comma: - The value of the extension for the
    corresponding Calls To Type, when the extension is available.  i.e.  Primary may have
    number, but no extension.  - For Mobility Calls To Type, this is always blank.  - When
    no extension is available a blank space is provided instead.

    Attributes:
        is_active (bool): isActive
        default_forward_to_phone_number (str): defaultForwardToPhoneNumber *Optional*
        play_ring_reminder (bool): playRingReminder
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "default_forward_to_phone_number",
        "play_ring_reminder",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("default_forward_to_phone_number", "defaultForwardToPhoneNumber", str),
            E("play_ring_reminder", "playRingReminder", bool, is_required=True),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallMeNowGetResponse(OCIResponse):
    """
    Response to the `UserCallMeNowGetRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Call To", "Reject Call" and "Holiday Schedule".

    Attributes:
        is_active (bool): isActive
        answer_confirmation (str): answerConfirmation
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "answer_confirmation",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("answer_confirmation", "answerConfirmation", str, is_required=True),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallNotifyGetResponse(OCIResponse):
    """
    Response to the `UserCallNotifyGetRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted" ,"Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        call_notify_email_address (str): callNotifyEmailAddress *Optional*
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "call_notify_email_address",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("call_notify_email_address", "callNotifyEmailAddress", str),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallParkGetResponse(OCIResponse):
    """
    Response to the `UserCallParkGetRequest()`.

    Identifies which Call Park group the user belongs to and the list of users in the
    group.  Contains a table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name". The users are in the table in the order
    they will try to be parked on.

    Attributes:
        name (str): name *Optional*
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "name",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallPickupGetResponse(OCIResponse):
    """
    Response to the `UserCallPickupGetRequest()`.

    Identifies which Call Pickup group the user belongs to and the list of users in the
    group.  Contains a table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Department", "Phone Number",
    "Extension", "Email Address".

    Attributes:
        name (str): name *Optional*
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "name",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallPoliciesGetResponse(OCIResponse):
    """
    Response to `UserCallPoliciesGetRequest()`.


    Attributes:
        redirected_calls_colp_privacy (str): redirectedCallsCOLPPrivacy
    """

    __slots__: List[str] = [
        "redirected_calls_colp_privacy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "redirected_calls_colp_privacy",
                "redirectedCallsCOLPPrivacy",
                str,
                is_required=True,
            ),
        )


class UserCallPoliciesGetResponse17(OCIResponse):
    """
    Response to `UserCallPoliciesGetRequest17()`.

    Replaced by: `UserCallPoliciesGetResponse19sp1()` in AS data mode

    Attributes:
        redirected_calls_colp_privacy (str): redirectedCallsCOLPPrivacy
        call_being_forwarded_response_call_type (str): callBeingForwardedResponseCallType
    """

    __slots__: List[str] = [
        "redirected_calls_colp_privacy",
        "call_being_forwarded_response_call_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "redirected_calls_colp_privacy",
                "redirectedCallsCOLPPrivacy",
                str,
                is_required=True,
            ),
            E(
                "call_being_forwarded_response_call_type",
                "callBeingForwardedResponseCallType",
                str,
                is_required=True,
            ),
        )


class UserCallPoliciesGetResponse19sp1(OCIResponse):
    """
    Response to `UserCallPoliciesGetRequest19sp1()`.


    Attributes:
        redirected_calls_colp_privacy (str): redirectedCallsCOLPPrivacy
        call_being_forwarded_response_call_type (str): callBeingForwardedResponseCallType
        calling_line_identity_for_redirected_calls (str):
            callingLineIdentityForRedirectedCalls
    """

    __slots__: List[str] = [
        "redirected_calls_colp_privacy",
        "call_being_forwarded_response_call_type",
        "calling_line_identity_for_redirected_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "redirected_calls_colp_privacy",
                "redirectedCallsCOLPPrivacy",
                str,
                is_required=True,
            ),
            E(
                "call_being_forwarded_response_call_type",
                "callBeingForwardedResponseCallType",
                str,
                is_required=True,
            ),
            E(
                "calling_line_identity_for_redirected_calls",
                "callingLineIdentityForRedirectedCalls",
                str,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse14(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest14()`.


    Attributes:
        use_user_setting (bool): useUserSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
    """

    __slots__: List[str] = [
        "use_user_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_setting", "useUserSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
        )


class UserCallProcessingGetPolicyResponse14sp1(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest14sp1()`.

    Replaced By: `UserCallProcessingGetPolicyResponse14sp7()`

    Attributes:
        use_user_setting (bool): useUserSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
    """

    __slots__: List[str] = [
        "use_user_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_setting", "useUserSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse14sp7(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest14sp7()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations)

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
        )


class UserCallProcessingGetPolicyResponse16(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest16()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations)

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
        )


class UserCallProcessingGetPolicyResponse16sp2(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest16sp2()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    useUserDCLIDSetting controls the Dialable Caller ID settings (enableDialableCallerID)
    Replaced by: `UserCallProcessingGetPolicyResponse17sp4()`

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse17(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest17()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations)

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse17sp3(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest17sp3()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    useUserDCLIDSetting controls the Dialable Caller ID settings (enableDialableCallerID)
    The following elements are only used in AS data mode: useUserDCLIDSetting
    enableDialableCallerID Replaced by: UserCallProcessingGetPolicyResponse17Sp4

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse17sp4(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest17sp4()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity) The useUserMediaSetting attribute
    controls the Media settings (medisPolicySelection, supportedMediaSetName) The
    useUserCallLimitsSetting attribute controls the Call Limits setting
    (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    useUserDCLIDSetting controls the Dialable Caller ID settings (enableDialableCallerID)
    The following elements are only used in AS data mode: useUserDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity Replaced by:
    `UserCallProcessingGetPolicyResponse18()`

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse18(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest18()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    following elements are only used in AS data mode: useUserDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride Replaced by:
    `UserCallProcessingGetPolicyResponse19sp1()`

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse19sp1(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest19sp1()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    following elements are only used in AS data mode : useUserDCLIDSetting
    enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride Replaced by:
    `UserCallProcessingGetPolicyResponse21sp1()`

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse21sp1(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest21sp1()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    useUserDCLIDSetting controls the Dialable Caller ID settings (enableDialableCallerID)
    The useUserPhoneListLookupSetting controls whether or not to use the group setting for
    the Phone List Lookup policy (enablePhoneListLookup) The following elements are only
    used in AS data mode : useUserDCLIDSetting enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity allowDepartmentCLIDNameOverride
    useUserPhoneListLookupSetting, value "false" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.  Replaced by:
    `UserCallProcessingGetPolicyResponse21sp2()`

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        use_user_phone_list_lookup_setting (bool): useUserPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "use_user_phone_list_lookup_setting",
        "enable_phone_list_lookup",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_list_lookup_setting",
                "useUserPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
        )


class UserCallProcessingGetPolicyResponse21sp2(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest21sp2()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations) The
    useUserDCLIDSetting controls the Dialable Caller ID settings (enableDialableCallerID)
    The useUserPhoneListLookupSetting controls whether or not to use the group setting for
    the Phone List Lookup policy (enablePhoneListLookup) The
    useUserTranslationRoutingSetting attribute controls the routing and translation
    settings (routeOverrideDomain, routeOverridePrefix) The following elements are only
    used in AS data mode: useUserDCLIDSetting enableDialableCallerID
    allowConfigurableCLIDForRedirectingIdentity allowDepartmentCLIDNameOverride
    useUserPhoneListLookupSetting, value "false" is returned in XS data mode.
    enablePhoneListLookup, value "false" is returned in XS data mode.  The following
    elements are only used in XS data mode and ignored in AS data mode:
    routeOverrideDomain routeOverridePrefix The following elements are only used in XS
    data mode: useUserTranslationRoutingSetting, value "false" is returned in AS data
    mode.  Replaced by: `UserCallProcessingGetPolicyResponse22()` in AS data mode

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_user_translation_routing_setting (bool): useUserTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        use_user_phone_list_lookup_setting (bool): useUserPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_user_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "use_user_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_user_translation_routing_setting",
                "useUserTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_list_lookup_setting",
                "useUserPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class UserCallProcessingGetPolicyResponse22(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest22()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations,
    useMaxConcurrentTerminatingAlertingRequests, maxConcurrentTerminatingAlertingRequests,
    includeRedirectionsInMaximumNumberOfConcurrentCalls) The useUserDCLIDSetting controls
    the Dialable Caller ID settings (enableDialableCallerID) The
    useUserPhoneListLookupSetting controls whether or not to use the group setting for the
    Phone List Lookup policy (enablePhoneListLookup) The useUserTranslationRoutingSetting
    attribute controls the routing and translation settings (routeOverrideDomain,
    routeOverridePrefix) The following elements are only used in AS data mode:
    useUserDCLIDSetting enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride useUserPhoneListLookupSetting, value "false" is
    returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS data
    mode.  useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS
    data mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS
    data mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    ignored in AS data mode: routeOverrideDomain routeOverridePrefix The following
    elements are only used in XS data mode: useUserTranslationRoutingSetting, value
    "false" is returned in AS data mode.  Replaced by:
    `UserCallProcessingGetPolicyResponse22V2()` in AS data mode.

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_user_translation_routing_setting (bool): useUserTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        use_user_phone_list_lookup_setting (bool): useUserPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_user_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "use_user_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "route_override_domain",
        "route_override_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_user_translation_routing_setting",
                "useUserTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_list_lookup_setting",
                "useUserPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
        )


class UserCallProcessingGetPolicyResponse22V2(OCIResponse):
    """
    Response to `UserCallProcessingGetPolicyRequest22V2()`.

    The useUserCLIDSetting attribute controls the CLID settings (clidPolicy,
    emergencyClidPolicy, allowAlternateNumbersForRedirectingIdentity, useGroupName,
    allowConfigurableCLIDForRedirectingIdentity, allowDepartmentCLIDNameOverride) The
    useUserMediaSetting attribute controls the Media settings (medisPolicySelection,
    supportedMediaSetName) The useUserCallLimitsSetting attribute controls the Call Limits
    setting (useMaxSimultaneousCalls, maxSimultaneousCalls, useMaxSimultaneousVideoCalls,
    maxSimultaneousVideoCalls, useMaxCallTimeForAnsweredCalls,
    maxCallTimeForAnsweredCallsMinutes, useMaxCallTimeForUnansweredCalls,
    maxCallTimeForUnansweredCallsMinutes, useMaxConcurrentRedirectedCalls,
    useMaxFindMeFollowMeDepth, maxRedirectionDepth,
    useMaxConcurrentFindMeFollowMeInvocations, maxConcurrentFindMeFollowMeInvocations,
    useMaxConcurrentTerminatingAlertingRequests, maxConcurrentTerminatingAlertingRequests,
    includeRedirectionsInMaximumNumberOfConcurrentCalls) The useUserDCLIDSetting controls
    the Dialable Caller ID settings (enableDialableCallerID) The
    useUserPhoneListLookupSetting controls whether or not to use the group setting for the
    Phone List Lookup policy (enablePhoneListLookup) The useUserTranslationRoutingSetting
    attribute controls the routing and translation settings (routeOverrideDomain,
    routeOverridePrefix) The following elements are only used in AS data mode:
    useUserDCLIDSetting enableDialableCallerID allowConfigurableCLIDForRedirectingIdentity
    allowDepartmentCLIDNameOverride useUserPhoneListLookupSetting, value "false" is
    returned in XS data mode.  enablePhoneListLookup, value "false" is returned in XS data
    mode.  useMaxConcurrentTerminatingAlertingRequests, value "false" is returned in XS
    data mode.  maxConcurrentTerminatingAlertingRequests, value "10" is returned in XS
    data mode.  includeRedirectionsInMaximumNumberOfConcurrentCalls, value "false" is
    returned in XS data mode.  allowMobileDNForRedirectingIdentity,value "false" is
    returned in XS data mode.  The following elements are only used in XS data mode and
    ignored in AS data mode: routeOverrideDomain routeOverridePrefix The following
    elements are only used in XS data mode: useUserTranslationRoutingSetting, value
    "false" is returned in AS data mode.

    Attributes:
        use_user_clid_setting (bool): useUserCLIDSetting
        use_user_media_setting (bool): useUserMediaSetting
        use_user_call_limits_setting (bool): useUserCallLimitsSetting
        use_user_dclid_setting (bool): useUserDCLIDSetting
        use_user_translation_routing_setting (bool): useUserTranslationRoutingSetting
        use_max_simultaneous_calls (bool): useMaxSimultaneousCalls
        max_simultaneous_calls (int): maxSimultaneousCalls
        use_max_simultaneous_video_calls (bool): useMaxSimultaneousVideoCalls
        max_simultaneous_video_calls (int): maxSimultaneousVideoCalls
        use_max_call_time_for_answered_calls (bool): useMaxCallTimeForAnsweredCalls
        max_call_time_for_answered_calls_minutes (int): maxCallTimeForAnsweredCallsMinutes
        use_max_call_time_for_unanswered_calls (bool): useMaxCallTimeForUnansweredCalls
        max_call_time_for_unanswered_calls_minutes (int):
            maxCallTimeForUnansweredCallsMinutes
        media_policy_selection (str): mediaPolicySelection
        supported_media_set_name (str): supportedMediaSetName *Optional*
        use_max_concurrent_redirected_calls (bool): useMaxConcurrentRedirectedCalls
        max_concurrent_redirected_calls (int): maxConcurrentRedirectedCalls
        use_max_find_me_follow_me_depth (bool): useMaxFindMeFollowMeDepth
        max_find_me_follow_me_depth (int): maxFindMeFollowMeDepth
        max_redirection_depth (int): maxRedirectionDepth
        use_max_concurrent_find_me_follow_me_invocations (bool):
            useMaxConcurrentFindMeFollowMeInvocations
        max_concurrent_find_me_follow_me_invocations (int):
            maxConcurrentFindMeFollowMeInvocations
        clid_policy (str): clidPolicy
        emergency_clid_policy (str): emergencyClidPolicy
        allow_alternate_numbers_for_redirecting_identity (bool):
            allowAlternateNumbersForRedirectingIdentity
        use_group_name (bool): useGroupName
        block_calling_name_for_external_calls (bool): blockCallingNameForExternalCalls
        enable_dialable_caller_id (bool): enableDialableCallerID
        allow_configurable_clid_for_redirecting_identity (bool):
            allowConfigurableCLIDForRedirectingIdentity
        allow_department_clid_name_override (bool): allowDepartmentCLIDNameOverride
        use_user_phone_list_lookup_setting (bool): useUserPhoneListLookupSetting
        enable_phone_list_lookup (bool): enablePhoneListLookup
        use_max_concurrent_terminating_alerting_requests (bool):
            useMaxConcurrentTerminatingAlertingRequests
        max_concurrent_terminating_alerting_requests (int):
            maxConcurrentTerminatingAlertingRequests
        include_redirections_in_maximum_number_of_concurrent_calls (bool):
            includeRedirectionsInMaximumNumberOfConcurrentCalls
        route_override_domain (str): routeOverrideDomain *Optional*
        route_override_prefix (str): routeOverridePrefix *Optional*
        allow_mobile_dn_for_redirecting_identity (bool):
            allowMobileDNForRedirectingIdentity
    """

    __slots__: List[str] = [
        "use_user_clid_setting",
        "use_user_media_setting",
        "use_user_call_limits_setting",
        "use_user_dclid_setting",
        "use_user_translation_routing_setting",
        "use_max_simultaneous_calls",
        "max_simultaneous_calls",
        "use_max_simultaneous_video_calls",
        "max_simultaneous_video_calls",
        "use_max_call_time_for_answered_calls",
        "max_call_time_for_answered_calls_minutes",
        "use_max_call_time_for_unanswered_calls",
        "max_call_time_for_unanswered_calls_minutes",
        "media_policy_selection",
        "supported_media_set_name",
        "use_max_concurrent_redirected_calls",
        "max_concurrent_redirected_calls",
        "use_max_find_me_follow_me_depth",
        "max_find_me_follow_me_depth",
        "max_redirection_depth",
        "use_max_concurrent_find_me_follow_me_invocations",
        "max_concurrent_find_me_follow_me_invocations",
        "clid_policy",
        "emergency_clid_policy",
        "allow_alternate_numbers_for_redirecting_identity",
        "use_group_name",
        "block_calling_name_for_external_calls",
        "enable_dialable_caller_id",
        "allow_configurable_clid_for_redirecting_identity",
        "allow_department_clid_name_override",
        "use_user_phone_list_lookup_setting",
        "enable_phone_list_lookup",
        "use_max_concurrent_terminating_alerting_requests",
        "max_concurrent_terminating_alerting_requests",
        "include_redirections_in_maximum_number_of_concurrent_calls",
        "route_override_domain",
        "route_override_prefix",
        "allow_mobile_dn_for_redirecting_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_user_clid_setting", "useUserCLIDSetting", bool, is_required=True),
            E("use_user_media_setting", "useUserMediaSetting", bool, is_required=True),
            E(
                "use_user_call_limits_setting",
                "useUserCallLimitsSetting",
                bool,
                is_required=True,
            ),
            E("use_user_dclid_setting", "useUserDCLIDSetting", bool, is_required=True),
            E(
                "use_user_translation_routing_setting",
                "useUserTranslationRoutingSetting",
                bool,
                is_required=True,
            ),
            E(
                "use_max_simultaneous_calls",
                "useMaxSimultaneousCalls",
                bool,
                is_required=True,
            ),
            E("max_simultaneous_calls", "maxSimultaneousCalls", int, is_required=True),
            E(
                "use_max_simultaneous_video_calls",
                "useMaxSimultaneousVideoCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_simultaneous_video_calls",
                "maxSimultaneousVideoCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_answered_calls",
                "useMaxCallTimeForAnsweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_answered_calls_minutes",
                "maxCallTimeForAnsweredCallsMinutes",
                int,
                is_required=True,
            ),
            E(
                "use_max_call_time_for_unanswered_calls",
                "useMaxCallTimeForUnansweredCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_call_time_for_unanswered_calls_minutes",
                "maxCallTimeForUnansweredCallsMinutes",
                int,
                is_required=True,
            ),
            E("media_policy_selection", "mediaPolicySelection", str, is_required=True),
            E("supported_media_set_name", "supportedMediaSetName", str),
            E(
                "use_max_concurrent_redirected_calls",
                "useMaxConcurrentRedirectedCalls",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_redirected_calls",
                "maxConcurrentRedirectedCalls",
                int,
                is_required=True,
            ),
            E(
                "use_max_find_me_follow_me_depth",
                "useMaxFindMeFollowMeDepth",
                bool,
                is_required=True,
            ),
            E(
                "max_find_me_follow_me_depth",
                "maxFindMeFollowMeDepth",
                int,
                is_required=True,
            ),
            E("max_redirection_depth", "maxRedirectionDepth", int, is_required=True),
            E(
                "use_max_concurrent_find_me_follow_me_invocations",
                "useMaxConcurrentFindMeFollowMeInvocations",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_find_me_follow_me_invocations",
                "maxConcurrentFindMeFollowMeInvocations",
                int,
                is_required=True,
            ),
            E("clid_policy", "clidPolicy", str, is_required=True),
            E("emergency_clid_policy", "emergencyClidPolicy", str, is_required=True),
            E(
                "allow_alternate_numbers_for_redirecting_identity",
                "allowAlternateNumbersForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E("use_group_name", "useGroupName", bool, is_required=True),
            E(
                "block_calling_name_for_external_calls",
                "blockCallingNameForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_dialable_caller_id",
                "enableDialableCallerID",
                bool,
                is_required=True,
            ),
            E(
                "allow_configurable_clid_for_redirecting_identity",
                "allowConfigurableCLIDForRedirectingIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_department_clid_name_override",
                "allowDepartmentCLIDNameOverride",
                bool,
                is_required=True,
            ),
            E(
                "use_user_phone_list_lookup_setting",
                "useUserPhoneListLookupSetting",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_list_lookup",
                "enablePhoneListLookup",
                bool,
                is_required=True,
            ),
            E(
                "use_max_concurrent_terminating_alerting_requests",
                "useMaxConcurrentTerminatingAlertingRequests",
                bool,
                is_required=True,
            ),
            E(
                "max_concurrent_terminating_alerting_requests",
                "maxConcurrentTerminatingAlertingRequests",
                int,
                is_required=True,
            ),
            E(
                "include_redirections_in_maximum_number_of_concurrent_calls",
                "includeRedirectionsInMaximumNumberOfConcurrentCalls",
                bool,
                is_required=True,
            ),
            E("route_override_domain", "routeOverrideDomain", str),
            E("route_override_prefix", "routeOverridePrefix", str),
            E(
                "allow_mobile_dn_for_redirecting_identity",
                "allowMobileDNForRedirectingIdentity",
                bool,
                is_required=True,
            ),
        )


class UserCallRecordingGetResponse(OCIResponse):
    """
    Response to the `UserCallRecordingGetRequest()`.

    The response contains the user's Call Recording option information.

    Attributes:
        recording_option (str): recordingOption
    """

    __slots__: List[str] = [
        "recording_option",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("recording_option", "recordingOption", str, is_required=True),)


class UserCallRecordingGetResponse20(OCIResponse):
    """
    Response to the `UserCallRecordingGetRequest20()`.

    The response contains the user's Call Recording option information.  The following
    parameters are not returned for service instance: - pauseResumeNotification -
    enableCallRecordingAnnouncement - enableRecordCallRepeatWarningTone -
    recordCallRepeatWarningToneTimerSeconds The enableVoiceMailRecording parameter is only
    returned if the Voice Messaging User service is assigned to the user.  This applies to
    both users and service instances.  The recordingOption and
    enableCallRecordingAnnouncement which elements can only be modified by a System or a
    Provisioning administrator when restrictCallRecordingProvisioningAccess system param
    is set to true.  Both the element values will be ignored when group admin or lower
    runs this.  Replaced by: `UserCallRecordingGetResponse23()`.

    Attributes:
        recording_option (str): recordingOption
        pause_resume_notification (str): pauseResumeNotification *Optional*
        enable_call_recording_announcement (bool): enableCallRecordingAnnouncement
            *Optional*
        enable_record_call_repeat_warning_tone (bool): enableRecordCallRepeatWarningTone
            *Optional*
        record_call_repeat_warning_tone_timer_seconds (int):
            recordCallRepeatWarningToneTimerSeconds *Optional*
        enable_voice_mail_recording (bool): enableVoiceMailRecording *Optional*
    """

    __slots__: List[str] = [
        "recording_option",
        "pause_resume_notification",
        "enable_call_recording_announcement",
        "enable_record_call_repeat_warning_tone",
        "record_call_repeat_warning_tone_timer_seconds",
        "enable_voice_mail_recording",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recording_option", "recordingOption", str, is_required=True),
            E("pause_resume_notification", "pauseResumeNotification", str),
            E(
                "enable_call_recording_announcement",
                "enableCallRecordingAnnouncement",
                bool,
            ),
            E(
                "enable_record_call_repeat_warning_tone",
                "enableRecordCallRepeatWarningTone",
                bool,
            ),
            E(
                "record_call_repeat_warning_tone_timer_seconds",
                "recordCallRepeatWarningToneTimerSeconds",
                int,
            ),
            E("enable_voice_mail_recording", "enableVoiceMailRecording", bool),
        )


class UserCallRecordingGetResponse23(OCIResponse):
    """
    Response to the `UserCallRecordingGetRequest23()`.

    The response contains the user's Call Recording option information.  The following
    parameters are not returned for service instance: - pauseResumeNotification -
    enableCallRecordingAnnouncement - enableRecordCallRepeatWarningTone -
    recordCallRepeatWarningToneTimerSeconds The enableVoiceMailRecording parameter is only
    returned if the Voice Messaging User service is assigned to the user.  This applies to
    both users and service instances.  The recordingOption and
    enableCallRecordingAnnouncement which elements can only be modified by a System or a
    Provisioning administrator when restrictCallRecordingProvisioningAccess system param
    is set to true.  Both the element values will be ignored when group admin or lower
    runs this.  The following elements are only used in AS data mode and not returned in
    XS data mode: mediaStream

    Attributes:
        recording_option (str): recordingOption
        pause_resume_notification (str): pauseResumeNotification *Optional*
        enable_call_recording_announcement (bool): enableCallRecordingAnnouncement
            *Optional*
        enable_record_call_repeat_warning_tone (bool): enableRecordCallRepeatWarningTone
            *Optional*
        record_call_repeat_warning_tone_timer_seconds (int):
            recordCallRepeatWarningToneTimerSeconds *Optional*
        enable_voice_mail_recording (bool): enableVoiceMailRecording *Optional*
        media_stream (str): mediaStream *Optional*
    """

    __slots__: List[str] = [
        "recording_option",
        "pause_resume_notification",
        "enable_call_recording_announcement",
        "enable_record_call_repeat_warning_tone",
        "record_call_repeat_warning_tone_timer_seconds",
        "enable_voice_mail_recording",
        "media_stream",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("recording_option", "recordingOption", str, is_required=True),
            E("pause_resume_notification", "pauseResumeNotification", str),
            E(
                "enable_call_recording_announcement",
                "enableCallRecordingAnnouncement",
                bool,
            ),
            E(
                "enable_record_call_repeat_warning_tone",
                "enableRecordCallRepeatWarningTone",
                bool,
            ),
            E(
                "record_call_repeat_warning_tone_timer_seconds",
                "recordCallRepeatWarningToneTimerSeconds",
                int,
            ),
            E("enable_voice_mail_recording", "enableVoiceMailRecording", bool),
            E("media_stream", "mediaStream", str),
        )


class UserCallTransferGetResponse(OCIResponse):
    """
    Response to `UserCallTransferGetRequest()`.


    Attributes:
        is_recall_active (bool): isRecallActive
        recall_number_of_rings (int): recallNumberOfRings
        use_diversion_inhibitor_for_blind_transfer (bool):
            useDiversionInhibitorForBlindTransfer
        use_diversion_inhibitor_for_consultative_calls (bool):
            useDiversionInhibitorForConsultativeCalls
    """

    __slots__: List[str] = [
        "is_recall_active",
        "recall_number_of_rings",
        "use_diversion_inhibitor_for_blind_transfer",
        "use_diversion_inhibitor_for_consultative_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_recall_active", "isRecallActive", bool, is_required=True),
            E("recall_number_of_rings", "recallNumberOfRings", int, is_required=True),
            E(
                "use_diversion_inhibitor_for_blind_transfer",
                "useDiversionInhibitorForBlindTransfer",
                bool,
                is_required=True,
            ),
            E(
                "use_diversion_inhibitor_for_consultative_calls",
                "useDiversionInhibitorForConsultativeCalls",
                bool,
                is_required=True,
            ),
        )


class UserCallTransferGetResponse14sp4(OCIResponse):
    """
    Response to `UserCallTransferGetRequest14sp4()`.


    Attributes:
        is_recall_active (bool): isRecallActive
        recall_number_of_rings (int): recallNumberOfRings
        use_diversion_inhibitor_for_blind_transfer (bool):
            useDiversionInhibitorForBlindTransfer
        use_diversion_inhibitor_for_consultative_calls (bool):
            useDiversionInhibitorForConsultativeCalls
        enable_busy_camp_on (bool): enableBusyCampOn
        busy_camp_on_seconds (int): busyCampOnSeconds
    """

    __slots__: List[str] = [
        "is_recall_active",
        "recall_number_of_rings",
        "use_diversion_inhibitor_for_blind_transfer",
        "use_diversion_inhibitor_for_consultative_calls",
        "enable_busy_camp_on",
        "busy_camp_on_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_recall_active", "isRecallActive", bool, is_required=True),
            E("recall_number_of_rings", "recallNumberOfRings", int, is_required=True),
            E(
                "use_diversion_inhibitor_for_blind_transfer",
                "useDiversionInhibitorForBlindTransfer",
                bool,
                is_required=True,
            ),
            E(
                "use_diversion_inhibitor_for_consultative_calls",
                "useDiversionInhibitorForConsultativeCalls",
                bool,
                is_required=True,
            ),
            E("enable_busy_camp_on", "enableBusyCampOn", bool, is_required=True),
            E("busy_camp_on_seconds", "busyCampOnSeconds", int, is_required=True),
        )


class UserCallWaitingGetResponse(OCIResponse):
    """
    Response to `UserCallWaitingGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserCallWaitingGetResponse17sp4(OCIResponse):
    """
    Response to `UserCallWaitingGetRequest17sp4()`.

    The following elements are only used in AS data mode: disableCallingLineIdDelivery

    Attributes:
        is_active (bool): isActive
        disable_calling_line_id_delivery (bool): disableCallingLineIdDelivery
    """

    __slots__: List[str] = [
        "is_active",
        "disable_calling_line_id_delivery",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "disable_calling_line_id_delivery",
                "disableCallingLineIdDelivery",
                bool,
                is_required=True,
            ),
        )


class UserCallingLineIDBlockingOverrideGetResponse(OCIResponse):
    """
    Response to `UserCallingLineIDBlockingOverrideGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserCallingLineIDDeliveryBlockingGetResponse(OCIResponse):
    """
    Response to `UserCallingLineIDDeliveryBlockingGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserCallingNameDeliveryGetResponse(OCIResponse):
    """
    Response to `UserCallingNameDeliveryGetRequest()`.


    Attributes:
        is_active_for_external_calls (bool): isActiveForExternalCalls
        is_active_for_internal_calls (bool): isActiveForInternalCalls
    """

    __slots__: List[str] = [
        "is_active_for_external_calls",
        "is_active_for_internal_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_active_for_external_calls",
                "isActiveForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "is_active_for_internal_calls",
                "isActiveForInternalCalls",
                bool,
                is_required=True,
            ),
        )


class UserCallingNameRetrievalGetResponse(OCIResponse):
    """
    Response to `UserCallingNameRetrievalGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserCallingNumberDeliveryGetResponse(OCIResponse):
    """
    Response to `UserCallingNumberDeliveryGetRequest()`.


    Attributes:
        is_active_for_external_calls (bool): isActiveForExternalCalls
        is_active_for_internal_calls (bool): isActiveForInternalCalls
    """

    __slots__: List[str] = [
        "is_active_for_external_calls",
        "is_active_for_internal_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "is_active_for_external_calls",
                "isActiveForExternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "is_active_for_internal_calls",
                "isActiveForInternalCalls",
                bool,
                is_required=True,
            ),
        )


class UserCallingPartyCategoryGetResponse(OCIResponse):
    """
    Response to `UserCallingPartyCategoryGetRequest()`.


    Attributes:
        category (str): category
    """

    __slots__: List[str] = [
        "category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("category", "category", str, is_required=True),)


class UserCallingPartyCategoryGetResponse16(OCIResponse):
    """
    Response to `UserCallingPartyCategoryGetRequest16()`.


    Attributes:
        category (str): category
    """

    __slots__: List[str] = [
        "category",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("category", "category", str, is_required=True),)


class UserChargeNumberGetResponse(OCIResponse):
    """
    Response to `UserChargeNumberGetRequest()`.


    Attributes:
        phone_number (str): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("phone_number", "phoneNumber", str),)


class UserChargeNumberGetResponse14sp9(OCIResponse):
    """
    Response to `UserChargeNumberGetRequest14sp9()`.


    Attributes:
        phone_number (str): phoneNumber *Optional*
        use_charge_number_for_enhanced_translations (bool):
            useChargeNumberForEnhancedTranslations
        send_charge_number_to_network (bool): sendChargeNumberToNetwork
    """

    __slots__: List[str] = [
        "phone_number",
        "use_charge_number_for_enhanced_translations",
        "send_charge_number_to_network",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("phone_number", "phoneNumber", str),
            E(
                "use_charge_number_for_enhanced_translations",
                "useChargeNumberForEnhancedTranslations",
                bool,
                is_required=True,
            ),
            E(
                "send_charge_number_to_network",
                "sendChargeNumberToNetwork",
                bool,
                is_required=True,
            ),
        )


class UserClassmarkGetResponse(OCIResponse):
    """
    Response to `UserClassmarkGetRequest()`.

    Contains the Class Mark data

    Attributes:
        classmark (str): classmark *Optional*
    """

    __slots__: List[str] = [
        "classmark",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("classmark", "classmark", str),)


class UserCollaborateInstantRoomAddResponse(OCIResponse):
    """
    Response to `UserCollaborateInstantRoomAddRequest()`.


    Attributes:
        room_id (str): roomId
    """

    __slots__: List[str] = [
        "room_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("room_id", "roomId", str, is_required=True),)


class UserCollaborateInstantRoomGetResponse(OCIResponse):
    """
    Response to `UserCollaborateInstantRoomGetRequest()`.


    Attributes:
        room_name (str): roomName *Optional*
        instant_room_start_time (str): instantRoomStartTime
        instant_room_end_time (str): instantRoomEndTime
    """

    __slots__: List[str] = [
        "room_name",
        "instant_room_start_time",
        "instant_room_end_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("room_name", "roomName", str),
            E("instant_room_start_time", "instantRoomStartTime", str, is_required=True),
            E("instant_room_end_time", "instantRoomEndTime", str, is_required=True),
        )


class UserCollaborateInstantRoomParametersGetResponse(OCIResponse):
    """
    Response to `UserCollaborateInstantRoomParametersGetRequest()`.


    Attributes:
        attendee_notification (str): attendeeNotification
        end_collaborate_room_session_on_owner_exit (bool):
            endCollaborateRoomSessionOnOwnerExit
        owner_required (bool): ownerRequired
    """

    __slots__: List[str] = [
        "attendee_notification",
        "end_collaborate_room_session_on_owner_exit",
        "owner_required",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "end_collaborate_room_session_on_owner_exit",
                "endCollaborateRoomSessionOnOwnerExit",
                bool,
                is_required=True,
            ),
            E("owner_required", "ownerRequired", bool, is_required=True),
        )


class UserCollaborateMyRoomGetResponse(OCIResponse):
    """
    Response to `UserCollaborateMyRoomGetRequest()`.


    Attributes:
        room_id (str): roomId
        room_name (str): roomName
        attendee_notification (str): attendeeNotification
        end_collaborate_room_session_on_owner_exit (bool):
            endCollaborateRoomSessionOnOwnerExit
        owner_required (bool): ownerRequired
    """

    __slots__: List[str] = [
        "room_id",
        "room_name",
        "attendee_notification",
        "end_collaborate_room_session_on_owner_exit",
        "owner_required",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("room_id", "roomId", str, is_required=True),
            E("room_name", "roomName", str, is_required=True),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "end_collaborate_room_session_on_owner_exit",
                "endCollaborateRoomSessionOnOwnerExit",
                bool,
                is_required=True,
            ),
            E("owner_required", "ownerRequired", bool, is_required=True),
        )


class UserCollaborateProjectRoomAddResponse(OCIResponse):
    """
    Response to `UserCollaborateProjectRoomAddRequest()`.


    Attributes:
        room_id (str): roomId
    """

    __slots__: List[str] = [
        "room_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("room_id", "roomId", str, is_required=True),)


class UserCollaborateRoomIDRegenerateResponse(OCIResponse):
    """
    Response to `UserCollaborateRoomIDRegenerateRequest()`.


    Attributes:
        room_id (str): roomId
    """

    __slots__: List[str] = [
        "room_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("room_id", "roomId", str, is_required=True),)


class UserCollaborateRoomListGetResponse(OCIResponse):
    """
    Response to `UserCollaborateRoomListGetRequest()`.

    Contains a table with column headings : "Room Type", "Name", "Room Id", in a row for
    each collaborate room instance.  Possible values for Room Type column are MyRoom,
    Project Room and Instant Room.

    Attributes:
        room_instance_table (List(roomInstanceTable)): roomInstanceTable - *Table* array
            of roomInstanceTable named tuples
    """

    __slots__: List[str] = [
        "room_instance_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "room_instance_table",
                "roomInstanceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCommunicationBarringGetResponse(OCIResponse):
    """
    Response to `UserCommunicationBarringGetRequest()`.

    This command only applies to users in an Enterprise.

    Attributes:
        use_group_setting (bool): useGroupSetting
        profile_name (str): profileName *Optional*
    """

    __slots__: List[str] = [
        "use_group_setting",
        "profile_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_group_setting", "useGroupSetting", bool, is_required=True),
            E("profile_name", "profileName", str),
        )


class UserCommunicationBarringUserControlGetResponse(OCIResponse):
    """
    Response to the `UserCommunicationBarringUserControlGetRequest()`.

    Identifies the profiles available to the user and which one if any is active as well
    as the lockout status.  Contains a table with column headings: "Name", "Code",
    "Activated" and "Primary".

    Attributes:
        lockout_status (bool): lockoutStatus
        profile_table (List(profileTable)): profileTable - *Table* array of profileTable
            named tuples
    """

    __slots__: List[str] = [
        "lockout_status",
        "profile_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("lockout_status", "lockoutStatus", bool, is_required=True),
            E(
                "profile_table",
                "profileTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserConnectedLineIdentificationRestrictionGetResponse(OCIResponse):
    """
    Response to `UserConnectedLineIdentificationRestrictionGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserCustomRingbackUserGetCriteriaListResponse(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaListRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted", "Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserDeviceActivationPolicyInEffectGetResponse(OCIResponse):
    """
    Response to `UserDeviceActivationPolicyInEffectGetRequest()`.


    Attributes:
        allow_activation_code_request_by_user (bool): allowActivationCodeRequestByUser
        send_activation_code_in_email (bool): sendActivationCodeInEmail
    """

    __slots__: List[str] = [
        "allow_activation_code_request_by_user",
        "send_activation_code_in_email",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "allow_activation_code_request_by_user",
                "allowActivationCodeRequestByUser",
                bool,
                is_required=True,
            ),
            E(
                "send_activation_code_in_email",
                "sendActivationCodeInEmail",
                bool,
                is_required=True,
            ),
        )


class UserDevicePoliciesGetResponse(OCIResponse):
    """
    Response to `UserDevicePoliciesGetRequest()`.

    enableDeviceFeatureSynchronization is ignored by the application server in Multiple
    User Shared mode.

    Attributes:
        line_mode (str): lineMode
        enable_device_feature_synchronization (bool): enableDeviceFeatureSynchronization
    """

    __slots__: List[str] = [
        "line_mode",
        "enable_device_feature_synchronization",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("line_mode", "lineMode", str, is_required=True),
            E(
                "enable_device_feature_synchronization",
                "enableDeviceFeatureSynchronization",
                bool,
                is_required=True,
            ),
        )


class UserDevicePoliciesGetResponse19sp1(OCIResponse):
    """
    Response to `UserDevicePoliciesGetRequest19sp1()`.

    enableDeviceFeatureSynchronization is ignored by the application server in Multiple
    User Shared mode.

    Attributes:
        line_mode (str): lineMode
        enable_device_feature_synchronization (bool): enableDeviceFeatureSynchronization
        enable_dnd (bool): enableDnd
        enable_call_forwarding_always (bool): enableCallForwardingAlways
        enable_call_forwarding_busy (bool): enableCallForwardingBusy
        enable_call_forwarding_no_answer (bool): enableCallForwardingNoAnswer
        enable_acd (bool): enableAcd
        enable_executive (bool): enableExecutive
        enable_executive_assistant (bool): enableExecutiveAssistant
    """

    __slots__: List[str] = [
        "line_mode",
        "enable_device_feature_synchronization",
        "enable_dnd",
        "enable_call_forwarding_always",
        "enable_call_forwarding_busy",
        "enable_call_forwarding_no_answer",
        "enable_acd",
        "enable_executive",
        "enable_executive_assistant",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("line_mode", "lineMode", str, is_required=True),
            E(
                "enable_device_feature_synchronization",
                "enableDeviceFeatureSynchronization",
                bool,
                is_required=True,
            ),
            E("enable_dnd", "enableDnd", bool, is_required=True),
            E(
                "enable_call_forwarding_always",
                "enableCallForwardingAlways",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_busy",
                "enableCallForwardingBusy",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_no_answer",
                "enableCallForwardingNoAnswer",
                bool,
                is_required=True,
            ),
            E("enable_acd", "enableAcd", bool, is_required=True),
            E("enable_executive", "enableExecutive", bool, is_required=True),
            E(
                "enable_executive_assistant",
                "enableExecutiveAssistant",
                bool,
                is_required=True,
            ),
        )


class UserDevicePoliciesGetResponse20(OCIResponse):
    """
    Response to `UserDevicePoliciesGetRequest201()`.

    enableDeviceFeatureSynchronization is ignored by the application server in Multiple
    User Shared mode.

    Attributes:
        line_mode (str): lineMode
        enable_device_feature_synchronization (bool): enableDeviceFeatureSynchronization
        enable_dnd (bool): enableDnd
        enable_call_forwarding_always (bool): enableCallForwardingAlways
        enable_call_forwarding_busy (bool): enableCallForwardingBusy
        enable_call_forwarding_no_answer (bool): enableCallForwardingNoAnswer
        enable_acd (bool): enableAcd
        enable_executive (bool): enableExecutive
        enable_executive_assistant (bool): enableExecutiveAssistant
        enable_security_classification (bool): enableSecurityClassification
        enable_call_recording (bool): enableCallRecording
    """

    __slots__: List[str] = [
        "line_mode",
        "enable_device_feature_synchronization",
        "enable_dnd",
        "enable_call_forwarding_always",
        "enable_call_forwarding_busy",
        "enable_call_forwarding_no_answer",
        "enable_acd",
        "enable_executive",
        "enable_executive_assistant",
        "enable_security_classification",
        "enable_call_recording",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("line_mode", "lineMode", str, is_required=True),
            E(
                "enable_device_feature_synchronization",
                "enableDeviceFeatureSynchronization",
                bool,
                is_required=True,
            ),
            E("enable_dnd", "enableDnd", bool, is_required=True),
            E(
                "enable_call_forwarding_always",
                "enableCallForwardingAlways",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_busy",
                "enableCallForwardingBusy",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_no_answer",
                "enableCallForwardingNoAnswer",
                bool,
                is_required=True,
            ),
            E("enable_acd", "enableAcd", bool, is_required=True),
            E("enable_executive", "enableExecutive", bool, is_required=True),
            E(
                "enable_executive_assistant",
                "enableExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E(
                "enable_security_classification",
                "enableSecurityClassification",
                bool,
                is_required=True,
            ),
            E("enable_call_recording", "enableCallRecording", bool, is_required=True),
        )


class UserDevicePoliciesGetResponse21(OCIResponse):
    """
    Response to `UserDevicePoliciesGetRequest21()`.

    enableDeviceFeatureSynchronization and enableCallDecline are ignored by the
    application server in Multiple User Shared mode.  The following element is only used
    in AS data mode: lineMode, value “Single User Private and Shared” is returned in XS
    data mode The following elements are only used in AS data mode:
    enableDeviceFeatureSynchronization, value “false” is returned in XS data mode
    enableDnd, value “false” is returned in XS data mode enableCallForwardingAlways, value
    “false” is returned in XS data mode enableCallForwardingBusy, value “false” is
    returned in XS data mode enableCallForwardingNoAnswer, value “false” is returned in XS
    data mode enableAcd, value “false” is returned in XS data mode enableExecutive, value
    “false” is returned in XS data mode enableExecutiveAssistant, value “false” is
    returned in XS data mode enableSecurityClassification, value “false” is returned in XS
    data mode enableCallRecording, value “false” is returned in XS data mode

    Attributes:
        line_mode (str): lineMode
        enable_device_feature_synchronization (bool): enableDeviceFeatureSynchronization
        enable_dnd (bool): enableDnd
        enable_call_forwarding_always (bool): enableCallForwardingAlways
        enable_call_forwarding_busy (bool): enableCallForwardingBusy
        enable_call_forwarding_no_answer (bool): enableCallForwardingNoAnswer
        enable_acd (bool): enableAcd
        enable_executive (bool): enableExecutive
        enable_executive_assistant (bool): enableExecutiveAssistant
        enable_security_classification (bool): enableSecurityClassification
        enable_call_recording (bool): enableCallRecording
        enable_call_decline (bool): enableCallDecline
    """

    __slots__: List[str] = [
        "line_mode",
        "enable_device_feature_synchronization",
        "enable_dnd",
        "enable_call_forwarding_always",
        "enable_call_forwarding_busy",
        "enable_call_forwarding_no_answer",
        "enable_acd",
        "enable_executive",
        "enable_executive_assistant",
        "enable_security_classification",
        "enable_call_recording",
        "enable_call_decline",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("line_mode", "lineMode", str, is_required=True),
            E(
                "enable_device_feature_synchronization",
                "enableDeviceFeatureSynchronization",
                bool,
                is_required=True,
            ),
            E("enable_dnd", "enableDnd", bool, is_required=True),
            E(
                "enable_call_forwarding_always",
                "enableCallForwardingAlways",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_busy",
                "enableCallForwardingBusy",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_forwarding_no_answer",
                "enableCallForwardingNoAnswer",
                bool,
                is_required=True,
            ),
            E("enable_acd", "enableAcd", bool, is_required=True),
            E("enable_executive", "enableExecutive", bool, is_required=True),
            E(
                "enable_executive_assistant",
                "enableExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E(
                "enable_security_classification",
                "enableSecurityClassification",
                bool,
                is_required=True,
            ),
            E("enable_call_recording", "enableCallRecording", bool, is_required=True),
            E("enable_call_decline", "enableCallDecline", bool, is_required=True),
        )


class UserDirectedCallPickupWithBargeInGetResponse(OCIResponse):
    """
    Response to `UserDirectedCallPickupWithBargeInGetRequest()`.


    Attributes:
        enable_barge_in_warning_tone (bool): enableBargeInWarningTone
    """

    __slots__: List[str] = [
        "enable_barge_in_warning_tone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_barge_in_warning_tone",
                "enableBargeInWarningTone",
                bool,
                is_required=True,
            ),
        )


class UserDirectedCallPickupWithBargeInGetResponse14sp7(OCIResponse):
    """
    Response to `UserDirectedCallPickupWithBargeInGetRequest14sp7()`.


    Attributes:
        enable_barge_in_warning_tone (bool): enableBargeInWarningTone
        enable_automatic_target_selection (bool): enableAutomaticTargetSelection
    """

    __slots__: List[str] = [
        "enable_barge_in_warning_tone",
        "enable_automatic_target_selection",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_barge_in_warning_tone",
                "enableBargeInWarningTone",
                bool,
                is_required=True,
            ),
            E(
                "enable_automatic_target_selection",
                "enableAutomaticTargetSelection",
                bool,
                is_required=True,
            ),
        )


class UserDnGetActivationListResponse(OCIResponse):
    """
    Response to `UserDnGetActivationListRequest()`.

    The response contains a table with columns: "Phone Number", and "Activated". The
    "Phone Number" column contains a single DN. The "Activated" column indicates if the
    phone number is activated or not.

    Attributes:
        dn_table (List(dnTable)): dnTable - *Table* array of dnTable named tuples
    """

    __slots__: List[str] = [
        "dn_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_table",
                "dnTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserDoNotDisturbGetResponse(OCIResponse):
    """
    Response to `UserDoNotDisturbGetRequest()`.


    Attributes:
        is_active (bool): isActive
        ring_splash (bool): ringSplash
    """

    __slots__: List[str] = [
        "is_active",
        "ring_splash",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("ring_splash", "ringSplash", bool, is_required=True),
        )


class UserEnhancedCallLogsGetListResponse17sp4(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest17sp4()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest17sp4()`, if a call log
    type was specified in the request.  - the total number of retrievable logs, if no call
    log type was specified in the request.  A list of MixedCallLogsEntry will be returned
    if the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry will be
    returned if the call logs are stored on DBS The logs are sorted by date/time of the
    call.  Replaced by UserEnhancedCallLogsGetListResponse17sp4V2. Originally deprecated
    in release 20.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse20(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest20()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest20()`, if a call log type
    was specified in the request.  - the total number of retrievable logs, if no call log
    type was specified in the request.  A list of MixedCallLogsEntry will be returned if
    the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry20 will be
    returned if the call logs are stored on DBS The logs are sorted by date/time of the
    call.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse20sp1(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest20sp1()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest20sp1()`, if a call log
    type was specified in the request.  - the total number of retrievable logs, if no call
    log type was specified in the request.  A list of MixedCallLogsEntry will be returned
    if the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry20sp1 will be
    returned if the call logs are stored on DBS The logs are sorted by date/time of the
    call.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse21(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest21()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest21()`, if a call log type
    was specified in the request.  - the total number of retrievable logs, if no call log
    type was specified in the request.  A list of MixedCallLogsEntry will be returned if
    the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry21 will be
    returned if the call logs are stored on DBS The logs are sorted by date/time of the
    call.  Replaced by: UserEnhancedCallLogsGetListResponse21Sp1 in AS data mode

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse21sp1(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest21sp1()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest21sp1()`, if a call log
    type was specified in the request.  - the total number of retrievable logs, if no call
    log type was specified in the request.  A list of MixedCallLogsEntry will be returned
    if the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry21sp1 will be
    returned if the call logs are stored on DBS The logs are sorted by date/time of the
    call.  Replaced by: UserEnhancedCallLogsGetListResponse21Sp1V2 in AS data mode

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse22(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest22()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest22()`, if a call log type
    was specified in the request.  - the total number of retrievable logs, if no call log
    type was specified in the request.  A list of MixedCallLogsEntry will be returned if
    the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry22 will be
    returned if the call logs are stored on DBS or Couchbase The logs are sorted by
    date/time of the call.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnhancedCallLogsGetListResponse23(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest23()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest22()`, if a call log type
    was specified in the request.  - the total number of retrievable logs, if no call log
    type was specified in the request.  A list of MixedCallLogsEntry will be returned if
    the call logs are stored on CDS A list of ExtendedMixedCallLogsEntry22 will be
    returned if the call logs are stored on DBS or Couchbase The logs are sorted by
    date/time of the call.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        legacy_entry (OCI.legacyEntry): legacyEntry *Optional*
        extended_entry (OCI.extendedEntry): extendedEntry *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "legacy_entry",
        "extended_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E("legacy_entry", "legacyEntry", str, is_complex=True),  # unknown
            E("extended_entry", "extendedEntry", str, is_complex=True),  # unknown
        )


class UserEnterpriseCommonPhoneListGetPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserEnterpriseCommonPhoneListGetPagedSortedListRequest()`.

    The response contains the enterprise's common phone list.  The response contains a
    table with column headings: "Name" and "Phone Number".

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        enterprise_common_phone_list_table (List(enterpriseCommonPhoneListTable)):
            enterpriseCommonPhoneListTable - *Table* array of
            enterpriseCommonPhoneListTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "enterprise_common_phone_list_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "enterprise_common_phone_list_table",
                "enterpriseCommonPhoneListTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserExecutiveAssistantGetResponse(OCIResponse):
    """
    Response to the `UserExecutiveAssistantGetRequest()`.

    Contains the executive assistant setting and a table of executives this assistant has
    been assigned to.  The criteria table's column headings are: "User Id", "Last Name",
    "First Name", ", "Hiragana Last Name", "Hiragana First Name", "Phone Number",
    "Extension", "Department", "Email Address", "Assistant Opt-in Status" and "Executive
    Allow Opt-in". The possible values for "Assistant Opt-in Status" and "Executive Allow
    Opt-in" columns are "true" and "false".

    Attributes:
        enable_divert (bool): enableDivert
        divert_to_phone_number (str): divertToPhoneNumber *Optional*
        executive_table (List(executiveTable)): executiveTable - *Table* array of
            executiveTable named tuples
    """

    __slots__: List[str] = [
        "enable_divert",
        "divert_to_phone_number",
        "executive_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_divert", "enableDivert", bool, is_required=True),
            E("divert_to_phone_number", "divertToPhoneNumber", str),
            E(
                "executive_table",
                "executiveTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserExecutiveGetAssistantResponse(OCIResponse):
    """
    Response to the `UserExecutiveGetAssistantsRequest()`.

    Contains the assistant setting and a table of assigned assistants.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Phone Number", "Extension", "Department", "Email Address" and "Opt-in".
    The possible values for "Opt-in" column are "true" and "false".

    Attributes:
        allow_opt_in_out (bool): allowOptInOut
        assistant_user_table (List(assistantUserTable)): assistantUserTable - *Table*
            array of assistantUserTable named tuples
    """

    __slots__: List[str] = [
        "allow_opt_in_out",
        "assistant_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_opt_in_out", "allowOptInOut", bool, is_required=True),
            E(
                "assistant_user_table",
                "assistantUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserExecutiveGetAvailableAssistantListResponse(OCIResponse):
    """
    Response to the `UserExecutiveGetAvailableAssistantListResponse()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department" and
    "Email Address".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserExecutiveGetFilteringResponse(OCIResponse):
    """
    Response to the `UserExecutiveGetFilteringRequest()`.

    Contains the filtering setting and a table of filtering criteria.  The criteria
    table's column headings are: "Is Active", "Criteria Name", "Time Schedule", "Calls
    From", "Filter", "Holiday Schedule", "Calls To Type", "Calls To Number" and "Calls To
    Extension". The "Filter" column can contain "true" or "false". The possible values for
    the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        enable_filtering (bool): enableFiltering
        filtering_mode (str): filteringMode
        simple_filter_type (str): simpleFilterType
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "enable_filtering",
        "filtering_mode",
        "simple_filter_type",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_filtering", "enableFiltering", bool, is_required=True),
            E("filtering_mode", "filteringMode", str, is_required=True),
            E("simple_filter_type", "simpleFilterType", str, is_required=True),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserExecutiveGetScreeningAlertingResponse(OCIResponse):
    """
    Response to the `UserExecutiveGetScreeningAlertingRequest()`.

    Contains the screening and alerting settings for an executive.

    Attributes:
        enable_screening (bool): enableScreening
        screening_alert_type (str): screeningAlertType
        alert_broad_works_mobility_location (bool): alertBroadWorksMobilityLocation
        alert_broad_works_anywhere_locations (bool): alertBroadWorksAnywhereLocations
        alert_shared_call_appearance_locations (bool): alertSharedCallAppearanceLocations
        alerting_mode (str): alertingMode
        alerting_calling_line_id_name_mode (str): alertingCallingLineIdNameMode
        alerting_custom_calling_line_id_name (str): alertingCustomCallingLineIdName
            *Optional*
        unicode_alerting_custom_calling_line_id_name (str):
            unicodeAlertingCustomCallingLineIdName *Optional*
        alerting_calling_line_id_phone_number_mode (str):
            alertingCallingLineIdPhoneNumberMode
        alerting_custom_calling_line_id_phone_number (str):
            alertingCustomCallingLineIdPhoneNumber *Optional*
        call_push_recall_number_of_rings (int): callPushRecallNumberOfRings
        next_assistant_number_of_rings (int): nextAssistantNumberOfRings
        enable_rollover (bool): enableRollover
        rollover_wait_time_seconds (int): rolloverWaitTimeSeconds *Optional*
        rollover_action (str): rolloverAction
        rollover_forward_to_phone_number (str): rolloverForwardToPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "enable_screening",
        "screening_alert_type",
        "alert_broad_works_mobility_location",
        "alert_broad_works_anywhere_locations",
        "alert_shared_call_appearance_locations",
        "alerting_mode",
        "alerting_calling_line_id_name_mode",
        "alerting_custom_calling_line_id_name",
        "unicode_alerting_custom_calling_line_id_name",
        "alerting_calling_line_id_phone_number_mode",
        "alerting_custom_calling_line_id_phone_number",
        "call_push_recall_number_of_rings",
        "next_assistant_number_of_rings",
        "enable_rollover",
        "rollover_wait_time_seconds",
        "rollover_action",
        "rollover_forward_to_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_screening", "enableScreening", bool, is_required=True),
            E("screening_alert_type", "screeningAlertType", str, is_required=True),
            E(
                "alert_broad_works_mobility_location",
                "alertBroadWorksMobilityLocation",
                bool,
                is_required=True,
            ),
            E(
                "alert_broad_works_anywhere_locations",
                "alertBroadWorksAnywhereLocations",
                bool,
                is_required=True,
            ),
            E(
                "alert_shared_call_appearance_locations",
                "alertSharedCallAppearanceLocations",
                bool,
                is_required=True,
            ),
            E("alerting_mode", "alertingMode", str, is_required=True),
            E(
                "alerting_calling_line_id_name_mode",
                "alertingCallingLineIdNameMode",
                str,
                is_required=True,
            ),
            E(
                "alerting_custom_calling_line_id_name",
                "alertingCustomCallingLineIdName",
                str,
            ),
            E(
                "unicode_alerting_custom_calling_line_id_name",
                "unicodeAlertingCustomCallingLineIdName",
                str,
            ),
            E(
                "alerting_calling_line_id_phone_number_mode",
                "alertingCallingLineIdPhoneNumberMode",
                str,
                is_required=True,
            ),
            E(
                "alerting_custom_calling_line_id_phone_number",
                "alertingCustomCallingLineIdPhoneNumber",
                str,
            ),
            E(
                "call_push_recall_number_of_rings",
                "callPushRecallNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "next_assistant_number_of_rings",
                "nextAssistantNumberOfRings",
                int,
                is_required=True,
            ),
            E("enable_rollover", "enableRollover", bool, is_required=True),
            E("rollover_wait_time_seconds", "rolloverWaitTimeSeconds", int),
            E("rollover_action", "rolloverAction", str, is_required=True),
            E("rollover_forward_to_phone_number", "rolloverForwardToPhoneNumber", str),
        )


class UserExternalCallingLineIDDeliveryGetResponse(OCIResponse):
    """
    Response to `UserExternalCallingLineIDDeliveryGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserExternalCustomRingbackGetResponse(OCIResponse):
    """
    Response to `UserExternalCustomRingbackGetRequest()`.


    Attributes:
        is_active (bool): isActive
        use_setting_level (str): useSettingLevel
        sip_request_uri (str): sipRequestURI *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "use_setting_level",
        "sip_request_uri",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("sip_request_uri", "sipRequestURI", str),
        )


class UserFaxMessagingGetResponse(OCIResponse):
    """
    Response to `UserFaxMessagingGetRequest()`.


    Attributes:
        is_active (bool): isActive
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "phone_number",
        "extension",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
        )


class UserFaxMessagingGetResponse17(OCIResponse):
    """
    Response to `UserFaxMessagingGetRequest17()`.


    Attributes:
        is_active (bool): isActive
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "phone_number",
        "extension",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
        )


class UserFaxMessagingGetResponse17sp1(OCIResponse):
    """
    Response to `UserFaxMessagingGetRequest17sp1()`.


    Attributes:
        is_active (bool): isActive
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        alias (List[str]): alias *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "phone_number",
        "extension",
        "alias",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("alias", "alias", str, is_array=True),
        )


class UserFlexibleSeatingGuestGetAvailableHostListResponse(OCIResponse):
    """
    Response to the `UserFlexibleSeatingGuestGetAvailableHostListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Association Limit Hours", "Enable Association Limit",

    Attributes:
        host_user_table (List(hostUserTable)): hostUserTable - *Table* array of
            hostUserTable named tuples
    """

    __slots__: List[str] = [
        "host_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "host_user_table",
                "hostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetListInGroupPagedSortedListResponse(OCIResponse):
    """
    Response to `UserGetListInGroupPagedSortedListRequest()`.

    Contains a table with column headings : "User Id", "Last Name", "First Name",
    "Department", "Department Type", "Parent Department","Parent Department Type", "Phone
    Number", "Phone Number Activated", "Email Address", "Hiragana Last Name", "Hiragana
    First Name", "In Trunk Group", "Extension", "Country Code", "National Prefix", "User
    External Id" in a row for each user.  The "Department Type" and "Parent Department
    Type" columns will contain the values "Enterprise" or "Group". The following columns
    are only populated in AS data mode: "Country Code", "National Prefix", "User External
    Id"

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetListInGroupResponse(OCIResponse):
    """
    Response to `UserGetListInGroupRequest()`.

    Contains a table with column headings : "User Id", "Last Name", "First Name",
    "Department", "Phone Number", "Phone Number Activated", "Email Address", "Hiragana
    Last Name", "Hiragana First Name", "In Trunk Group", "Extension", "Country Code",
    "National Prefix" in a row for each user.  The following columns are only returned in
    AS data mode: "Country Code", "National Prefix

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetListInServiceProviderResponse(OCIResponse):
    """
    Response to `UserGetListInServiceProviderRequest()`.

    Contains a table with column headings : "User Id", "Group Id", "Last Name", "First
    Name", "Department", "Phone Number", "Phone Number Activated", "Email Address",
    "Hiragana Last Name", "Hiragana First Name", "In Trunk Group", "Extension", "User
    External Id" in a row for each user.  The following columns are populated in AS data
    mode only: "User External Id"

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetListInSystemResponse(OCIResponse):
    """
    Response to `UserGetListInSystemRequest()`.

    Contains a table with column headings : "User Id", "Group Id", "Service Provider Id",
    "Last Name", "First Name", "Department", "Phone Number", "Phone Number Activated",
    "Email Address", "Hiragana Last Name", "Hiragana First Name", "In Trunk Group",
    "Extension", "Reseller Id", "User External Id" in a row for each user.  The following
    columns are only returned in AS data mode: "Reseller Id" "User External Id"

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetLoginInfoResponse(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest()` If a phoneNumber is returned, it will be the
    primary DN of the user

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
        )


class UserGetLoginInfoResponse21sp1(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest21sp1()` If a phoneNumber is returned, it will be
    the primary DN of the user The parameter tokenRevocationTime is represented in the
    number of milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more
    current time between the system level token revocation time and user level token
    revocation time.

    Replaced by `UserGetLoginInfoResponse22V2()`.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class UserGetLoginInfoResponse22(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest22()` If a phoneNumber is returned, it will be the
    primary DN of the user Replaced by `UserGetLoginInfoResponse22V2()`.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
        )


class UserGetLoginInfoResponse22V2(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest22V2()` The following data elements are only used
    in AS data mode: resellerId tokenRevocationTime If a phoneNumber is returned, it will
    be the primary DN of the user The parameter tokenRevocationTime is represented in the
    number of milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more
    current time between the system level token revocation time and user level token
    revocation time.

    Replaced by `UserGetLoginInfoResponse22V3()`.

    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class UserGetLoginInfoResponse22V3(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest22V3()` The following data elements are only used
    in AS data mode: resellerId If a phoneNumber is returned, it will be the primary DN of
    the user The parameter tokenRevocationTime is represented in the number of
    milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more current
    time between the system level token revocation time and user level token revocation
    time.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class UserGetLoginInfoResponse22V4(OCIResponse):
    """
    Response to `UserGetLoginInfoRequest22V4()` The following data elements are only used
    in AS data mode: resellerId If a phoneNumber is returned, it will be the primary DN of
    the user The parameter tokenRevocationTime is represented in the number of
    milliseconds since January 1, 1970, 00:00:00 GMT, and it is set to the more current
    time between the system level token revocation time and user level token revocation
    time.


    Attributes:
        login_type (str): loginType
        locale (str): locale
        encoding (str): encoding
        group_id (str): groupId *Optional*
        service_provider_id (str): serviceProviderId *Optional*
        is_enterprise (bool): isEnterprise
        password_expires_days (int): passwordExpiresDays *Optional*
        last_name (str): lastName *Optional*
        first_name (str): firstName *Optional*
        user_id (str): userId
        phone_number (str): phoneNumber *Optional*
        reseller_id (str): resellerId *Optional*
        token_revocation_time (int): tokenRevocationTime *Optional*
    """

    __slots__: List[str] = [
        "login_type",
        "locale",
        "encoding",
        "group_id",
        "service_provider_id",
        "is_enterprise",
        "password_expires_days",
        "last_name",
        "first_name",
        "user_id",
        "phone_number",
        "reseller_id",
        "token_revocation_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("login_type", "loginType", str, is_required=True),
            E("locale", "locale", str, is_required=True),
            E("encoding", "encoding", str, is_required=True),
            E("group_id", "groupId", str),
            E("service_provider_id", "serviceProviderId", str),
            E("is_enterprise", "isEnterprise", bool, is_required=True),
            E("password_expires_days", "passwordExpiresDays", int),
            E("last_name", "lastName", str),
            E("first_name", "firstName", str),
            E("user_id", "userId", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("reseller_id", "resellerId", str),
            E("token_revocation_time", "tokenRevocationTime", int),
        )


class UserGetRegistrationListResponse(OCIResponse):
    """
    Response to `UserGetRegistrationListRequest()`.

    The registrationTable table column headings are: "Device Level", "Device Name",
    "Order", "URI", "Expiration", "Line/Port", "Endpoint Type", "Public Net Address",
    "Public Port", "Private Net Address", "Private Port", "User Agent", "Lockout Started",
    "Lockout Expires", "Lockout Count", "Access Info", "Private Identity", "SIP Instance
    ID", "Supports Only CS Media", "Feature Parameters", "Supports Voice Over PS", "Path
    Header", "Registration Active" The following columns are only used in AS and Amplify
    data modes: "Order", "Public Net Address", "Public Port", "Private Net Address",
    "Private Port", "Lockout Started", "Lockout Expires", "Lockout Count", "Path Header".
    The following columns are only used in XS data mode: "Private Identity", "SIP Instance
    ID", "Supports Only CS Media", "Feature Parameters", "Supports Voice Over PS". The
    following columns are only used in AS data mode: "Registration Active". The "Device
    Level" column contains one of the AccessDeviceLevel enumerated constants.  The
    expiration column will be empty when the registration is static.  In XS data mode, its
    value will be 0 when the registration is dynamic regardless of the registration's
    actual expiration date.  The Endpoint Type column contains one of the enumerated
    EndpointType values.  The Endpoint Type is empty when the registration is against a
    TELURI. The table is sorted by: telURI (after SIPURI), Line/Port, static (after
    dynamic), order.  Lockout times are shown in GMT offset.  When a permanent lockout is
    shown, the "Lockout Expires" column is empty and the "Lockout Count" column contains
    the word Permanent.

    Attributes:
        registration_table (List(registrationTable)): registrationTable - *Table* array of
            registrationTable named tuples
    """

    __slots__: List[str] = [
        "registration_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "registration_table",
                "registrationTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetServiceInstanceListInServiceProviderResponse(OCIResponse):
    """
    Response to `UserGetServiceInstanceListInServiceProviderRequest()`.

    Contains a table with column headings : "User Id", "Group Id", "Service Type", "Name",
    "Phone Number", "Extension", "Department" in a row for each Service Instance.
    Possible values for Service Type column are ServiceType enums.

    Attributes:
        service_instance_table (List(serviceInstanceTable)): serviceInstanceTable -
            *Table* array of serviceInstanceTable named tuples
    """

    __slots__: List[str] = [
        "service_instance_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_table",
                "serviceInstanceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGetServiceInstanceListInSystemResponse(OCIResponse):
    """
    Response to `UserGetServiceInstanceListInSystemRequest()`.

    Contains a table with column headings : "User Id", "Group Id", "Service Provider Id",
    "Service Type", "Name", "Phone Number", "Extension", "Reseller Id" in a row for each
    Service Instance.  Possible values for Service Type column are ServiceType enums.  The
    following columns are only returned in AS data mode: "Reseller Id"

    Attributes:
        service_instance_table (List(serviceInstanceTable)): serviceInstanceTable -
            *Table* array of serviceInstanceTable named tuples
    """

    __slots__: List[str] = [
        "service_instance_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_table",
                "serviceInstanceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGroupCommonPhoneListGetPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserGroupCommonPhoneListGetPagedSortedListRequest()`.

    The response contains the group's common phone list.  The response contains a table
    with column headings: "Name" and "Phone Number".

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        group_common_phone_list_table (List(groupCommonPhoneListTable)):
            groupCommonPhoneListTable - *Table* array of groupCommonPhoneListTable named
            tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "group_common_phone_list_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "group_common_phone_list_table",
                "groupCommonPhoneListTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGroupCustomContactDirectoryGetPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserGroupCustomContactDirectoryGetPagedSortedListRequest()`.

    Returns the number of entries that would be returned if the response Was not page size
    restricted.

    The response contains all the contacts in the group's given custom contact directory.
    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Virtual On-Net Phone Number", "Group Id", "Is
    Virtual On-Net User", "Department", "Phone Number", "Extension", "Mobile", "Email
    Address", "Yahoo Id", "Title", "IMP Id", "Receptionist Note". If the entry represents
    a Virtual On-Net user then "User Id" is blank, the "Virtual On-Net Phone Number"
    contains the phone Number of the Virtual On-Net user, the "Group Id" contains the
    Virtual On-Net user's group and the "Is Virtual On-Net User" contains true.  If the
    entry represents a BroadWorks user then the "User Id" contains his BroadWorks userId,
    the "Virtual On-Net Phone Number" and "Group Id" fields are field is blank and the "Is
    Virtual On-Net User" contains false.  The Receptionist Note column is only populated,
    if the user sending the request is the owner of this Receptionist Note and a Note
    exists.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserGroupPagingGetListResponse(OCIResponse):
    """
    Response to the `UserGroupPagingGetListRequest()`.

    The groupPagingTable contains columns: "Name", "Phone Number", "Extension" and "Is
    Active" The column value for "Is Active" can either be true, or false.

    Attributes:
        paging_group_table (List(pagingGroupTable)): pagingGroupTable - *Table* array of
            pagingGroupTable named tuples
    """

    __slots__: List[str] = [
        "paging_group_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "paging_group_table",
                "pagingGroupTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserHolidayScheduleGetListResponse(OCIResponse):
    """
    Response to the `UserHolidayScheduleGetListRequest()`.

    The response contains all the user's personal and user's group holiday schedule names.

    Attributes:
        holiday_schedule_table (List(holidayScheduleTable)): holidayScheduleTable -
            *Table* array of holidayScheduleTable named tuples
    """

    __slots__: List[str] = [
        "holiday_schedule_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "holiday_schedule_table",
                "holidayScheduleTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserHotelingGuestGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `UserHotelingGuestGetAvailableUserListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Association Limit Hours", "Enable Association
    Limit", "Phone Number", "Extension", "Department", "Email Address".

    Attributes:
        host_user_table (List(hostUserTable)): hostUserTable - *Table* array of
            hostUserTable named tuples
    """

    __slots__: List[str] = [
        "host_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "host_user_table",
                "hostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserHotelingGuestGetResponse14(OCIResponse):
    """
    Response to `UserHotelingGuestGetRequest14()`.

    Replaced By: `UserSharedCallAppearanceAddEndpointRequest14sp2()`

    Attributes:
        is_active (bool): isActive
        association_limit_hours (int): associationLimitHours
        host_user_id (str): hostUserId *Optional*
        host_last_name (str): hostLastName *Optional*
        host_first_name (str): hostFirstName *Optional*
        host_association_date_time (str): hostAssociationDateTime *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "association_limit_hours",
        "host_user_id",
        "host_last_name",
        "host_first_name",
        "host_association_date_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("host_user_id", "hostUserId", str),
            E("host_last_name", "hostLastName", str),
            E("host_first_name", "hostFirstName", str),
            E("host_association_date_time", "hostAssociationDateTime", str),
        )


class UserHotelingGuestGetResponse14sp2(OCIResponse):
    """
    Response to `UserHotelingGuestGetRequest14()`.

    Replaced by: `UserHotelingGuestGetResponse14sp4()`

    Attributes:
        is_active (bool): isActive
        association_limit_hours (int): associationLimitHours
        host_user_id (str): hostUserId *Optional*
        host_last_name (str): hostLastName *Optional*
        host_first_name (str): hostFirstName *Optional*
        host_association_date_time (str): hostAssociationDateTime *Optional*
        host_association_limit_hours (int): hostAssociationLimitHours *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "association_limit_hours",
        "host_user_id",
        "host_last_name",
        "host_first_name",
        "host_association_date_time",
        "host_association_limit_hours",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("host_user_id", "hostUserId", str),
            E("host_last_name", "hostLastName", str),
            E("host_first_name", "hostFirstName", str),
            E("host_association_date_time", "hostAssociationDateTime", str),
            E("host_association_limit_hours", "hostAssociationLimitHours", int),
        )


class UserHotelingGuestGetResponse14sp4(OCIResponse):
    """
    Response to `UserHotelingGuestGetRequest14sp4()`

    Attributes:
        is_active (bool): isActive
        enable_association_limit (bool): enableAssociationLimit
        association_limit_hours (int): associationLimitHours
        host_user_id (str): hostUserId *Optional*
        host_last_name (str): hostLastName *Optional*
        host_first_name (str): hostFirstName *Optional*
        host_association_date_time (str): hostAssociationDateTime *Optional*
        host_enforces_association_limit (bool): hostEnforcesAssociationLimit *Optional*
        host_association_limit_hours (int): hostAssociationLimitHours *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "enable_association_limit",
        "association_limit_hours",
        "host_user_id",
        "host_last_name",
        "host_first_name",
        "host_association_date_time",
        "host_enforces_association_limit",
        "host_association_limit_hours",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "enable_association_limit",
                "enableAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("host_user_id", "hostUserId", str),
            E("host_last_name", "hostLastName", str),
            E("host_first_name", "hostFirstName", str),
            E("host_association_date_time", "hostAssociationDateTime", str),
            E("host_enforces_association_limit", "hostEnforcesAssociationLimit", bool),
            E("host_association_limit_hours", "hostAssociationLimitHours", int),
        )


class UserHotelingHostGetResponse14(OCIResponse):
    """
    Response to `UserHotelingHostGetRequest14()`.

    Replaced by: `UserHotelingHostGetResponse14sp4()`

    Attributes:
        is_active (bool): isActive
        association_limit_hours (int): associationLimitHours
        access_level (str): accessLevel
        guest_last_name (str): guestLastName *Optional*
        guest_first_name (str): guestFirstName *Optional*
        guest_phone_number (str): guestPhoneNumber *Optional*
        guest_extension (str): guestExtension *Optional*
        guest_location_dialing_code (str): guestLocationDialingCode *Optional*
        guest_association_date_time (str): guestAssociationDateTime *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "association_limit_hours",
        "access_level",
        "guest_last_name",
        "guest_first_name",
        "guest_phone_number",
        "guest_extension",
        "guest_location_dialing_code",
        "guest_association_date_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("access_level", "accessLevel", str, is_required=True),
            E("guest_last_name", "guestLastName", str),
            E("guest_first_name", "guestFirstName", str),
            E("guest_phone_number", "guestPhoneNumber", str),
            E("guest_extension", "guestExtension", str),
            E("guest_location_dialing_code", "guestLocationDialingCode", str),
            E("guest_association_date_time", "guestAssociationDateTime", str),
        )


class UserHotelingHostGetResponse14sp4(OCIResponse):
    """
    Response to `UserHotelingHostGetRequest14sp4()`.


    Attributes:
        is_active (bool): isActive
        enforce_association_limit (bool): enforceAssociationLimit
        association_limit_hours (int): associationLimitHours
        access_level (str): accessLevel
        guest_last_name (str): guestLastName *Optional*
        guest_first_name (str): guestFirstName *Optional*
        guest_phone_number (str): guestPhoneNumber *Optional*
        guest_extension (str): guestExtension *Optional*
        guest_location_dialing_code (str): guestLocationDialingCode *Optional*
        guest_association_date_time (str): guestAssociationDateTime *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "enforce_association_limit",
        "association_limit_hours",
        "access_level",
        "guest_last_name",
        "guest_first_name",
        "guest_phone_number",
        "guest_extension",
        "guest_location_dialing_code",
        "guest_association_date_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "enforce_association_limit",
                "enforceAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("access_level", "accessLevel", str, is_required=True),
            E("guest_last_name", "guestLastName", str),
            E("guest_first_name", "guestFirstName", str),
            E("guest_phone_number", "guestPhoneNumber", str),
            E("guest_extension", "guestExtension", str),
            E("guest_location_dialing_code", "guestLocationDialingCode", str),
            E("guest_association_date_time", "guestAssociationDateTime", str),
        )


class UserHotelingHostGetResponse17(OCIResponse):
    """
    Response to `UserHotelingHostGetRequest17()`.


    Attributes:
        is_active (bool): isActive
        enforce_association_limit (bool): enforceAssociationLimit
        association_limit_hours (int): associationLimitHours
        access_level (str): accessLevel
        guest_last_name (str): guestLastName *Optional*
        guest_first_name (str): guestFirstName *Optional*
        guest_phone_number (str): guestPhoneNumber *Optional*
        guest_extension (str): guestExtension *Optional*
        guest_location_dialing_code (str): guestLocationDialingCode *Optional*
        guest_association_date_time (str): guestAssociationDateTime *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "enforce_association_limit",
        "association_limit_hours",
        "access_level",
        "guest_last_name",
        "guest_first_name",
        "guest_phone_number",
        "guest_extension",
        "guest_location_dialing_code",
        "guest_association_date_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "enforce_association_limit",
                "enforceAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("access_level", "accessLevel", str, is_required=True),
            E("guest_last_name", "guestLastName", str),
            E("guest_first_name", "guestFirstName", str),
            E("guest_phone_number", "guestPhoneNumber", str),
            E("guest_extension", "guestExtension", str),
            E("guest_location_dialing_code", "guestLocationDialingCode", str),
            E("guest_association_date_time", "guestAssociationDateTime", str),
        )


class UserINIntegrationGetResponse(OCIResponse):
    """
    Response to `UserINIntegrationGetRequest()`

    Attributes:
        originating_service_key (int): originatingServiceKey *Optional*
        terminating_service_key (int): terminatingServiceKey *Optional*
    """

    __slots__: List[str] = [
        "originating_service_key",
        "terminating_service_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("originating_service_key", "originatingServiceKey", int),
            E("terminating_service_key", "terminatingServiceKey", int),
        )


class UserInCallServiceActivationGetResponse(OCIResponse):
    """
    Response to `UserInCallServiceActivationGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserIntegratedIMPGetResponse(OCIResponse):
    """
    Response to the `UserIntegratedIMPGetRequest()`.

    The response contains the Integrated IMP specific service attributes for the user.
    Replaced by: `UserIntegratedIMPGetResponse21sp1()`

    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserIntegratedIMPGetResponse21sp1(OCIResponse):
    """
    Response to the `UserIntegratedIMPGetRequest21sp1()`.

    The response contains the Integrated IMP specific service attributes for the user.
    The following elements are only used in AS data mode and not returned in XS data mode:
    impId isAlternateImpId

    Attributes:
        is_active (bool): isActive
        imp_id (str): impId *Optional*
        is_alternate_imp_id (bool): isAlternateImpId *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "imp_id",
        "is_alternate_imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("imp_id", "impId", str),
            E("is_alternate_imp_id", "isAlternateImpId", bool),
        )


class UserInterceptUserGetResponse(OCIResponse):
    """
    Response to the `UserInterceptUserGetRequest()`.

    Replaced By: `UserInterceptUserGetResponse16()`

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        video_file_description (str): videoFileDescription *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "video_file_description",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("video_file_description", "videoFileDescription", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
        )


class UserInterceptUserGetResponse16(OCIResponse):
    """
    Response to the `UserInterceptUserGetRequest16()`.

    Replaced By: `UserInterceptUserGetResponse16sp1()`

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
        )


class UserInterceptUserGetResponse16sp1(OCIResponse):
    """
    Response to the `UserInterceptUserGetRequest16sp1()`.

    Replaced by: `UserInterceptUserGetResponse21sp1()` in AS data mode

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        reroute_outbound_calls (bool): rerouteOutboundCalls
        outbound_reroute_phone_number (str): outboundReroutePhoneNumber *Optional*
        allow_outbound_local_calls (bool): allowOutboundLocalCalls
        inbound_call_mode (str): inboundCallMode
        alternate_blocking_announcement (bool): alternateBlockingAnnouncement
        route_to_voice_mail (bool): routeToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "reroute_outbound_calls",
        "outbound_reroute_phone_number",
        "allow_outbound_local_calls",
        "inbound_call_mode",
        "alternate_blocking_announcement",
        "route_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("reroute_outbound_calls", "rerouteOutboundCalls", bool, is_required=True),
            E("outbound_reroute_phone_number", "outboundReroutePhoneNumber", str),
            E(
                "allow_outbound_local_calls",
                "allowOutboundLocalCalls",
                bool,
                is_required=True,
            ),
            E("inbound_call_mode", "inboundCallMode", str, is_required=True),
            E(
                "alternate_blocking_announcement",
                "alternateBlockingAnnouncement",
                bool,
                is_required=True,
            ),
            E("route_to_voice_mail", "routeToVoiceMail", bool, is_required=True),
        )


class UserInterceptUserGetResponse21sp1(OCIResponse):
    """
    Response to the `UserInterceptUserGetRequest21sp1()`.

    The following elements are only used in AS data mode: exemptInboundMobilityCalls
    exemptOutboundMobilityCalls disableParallelRingingToNetworkLocations

    Attributes:
        is_active (bool): isActive
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        inbound_call_mode (str): inboundCallMode
        alternate_blocking_announcement (bool): alternateBlockingAnnouncement
        exempt_inbound_mobility_calls (bool): exemptInboundMobilityCalls
        disable_parallel_ringing_to_network_locations (bool):
            disableParallelRingingToNetworkLocations
        route_to_voice_mail (bool): routeToVoiceMail
        play_new_phone_number (bool): playNewPhoneNumber
        new_phone_number (str): newPhoneNumber *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        outbound_call_mode (str): outboundCallMode
        exempt_outbound_mobility_calls (bool): exemptOutboundMobilityCalls
        reroute_outbound_calls (bool): rerouteOutboundCalls
        outbound_reroute_phone_number (str): outboundReroutePhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "inbound_call_mode",
        "alternate_blocking_announcement",
        "exempt_inbound_mobility_calls",
        "disable_parallel_ringing_to_network_locations",
        "route_to_voice_mail",
        "play_new_phone_number",
        "new_phone_number",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "outbound_call_mode",
        "exempt_outbound_mobility_calls",
        "reroute_outbound_calls",
        "outbound_reroute_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("inbound_call_mode", "inboundCallMode", str, is_required=True),
            E(
                "alternate_blocking_announcement",
                "alternateBlockingAnnouncement",
                bool,
                is_required=True,
            ),
            E(
                "exempt_inbound_mobility_calls",
                "exemptInboundMobilityCalls",
                bool,
                is_required=True,
            ),
            E(
                "disable_parallel_ringing_to_network_locations",
                "disableParallelRingingToNetworkLocations",
                bool,
                is_required=True,
            ),
            E("route_to_voice_mail", "routeToVoiceMail", bool, is_required=True),
            E("play_new_phone_number", "playNewPhoneNumber", bool, is_required=True),
            E("new_phone_number", "newPhoneNumber", str),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("outbound_call_mode", "outboundCallMode", str, is_required=True),
            E(
                "exempt_outbound_mobility_calls",
                "exemptOutboundMobilityCalls",
                bool,
                is_required=True,
            ),
            E("reroute_outbound_calls", "rerouteOutboundCalls", bool, is_required=True),
            E("outbound_reroute_phone_number", "outboundReroutePhoneNumber", str),
        )


class UserInternalCallingLineIDDeliveryGetResponse(OCIResponse):
    """
    Response to `UserInternalCallingLineIDDeliveryGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserLegacyAutomaticCallbackGetResponse(OCIResponse):
    """
    Response to `UserLegacyAutomaticCallbackGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserLinePortGetListResponse(OCIResponse):
    """
    Response to `UserLinePortGetListRequest()`.

    Contains a table of line ports configured for a user The column headings are: "Line
    Port", "Line Port Type", "In Trunk Group", "Contact", "Contact2", "Contact3",
    "Contact4", "Contact5", " Authentication Mode ", and "Auto-Config Soft Client".

    Attributes:
        line_port_table (List(linePortTable)): linePortTable - *Table* array of
            linePortTable named tuples
    """

    __slots__: List[str] = [
        "line_port_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "line_port_table",
                "linePortTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMWIDeliveryToMobileEndpointGetResponse(OCIResponse):
    """
    Response to `UserMWIDeliveryToMobileEndpointGetRequest()`.


    Attributes:
        is_active (bool): isActive
        mobile_phone_number (str): mobilePhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "mobile_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("mobile_phone_number", "mobilePhoneNumber", str),
        )


class UserMeetMeConferencingAddConferenceResponse(OCIResponse):
    """
    Response to `UserMeetMeConferencingAddConferenceRequest()`.


    Attributes:
        conference_id (str): conferenceId
        moderator_pin (str): moderatorPin
    """

    __slots__: List[str] = [
        "conference_id",
        "moderator_pin",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id", "conferenceId", str, is_required=True),
            E("moderator_pin", "moderatorPin", str, is_required=True),
        )


class UserMeetMeConferencingAddConferenceResponse19(OCIResponse):
    """
    Response to `UserMeetMeConferencingAddConferenceRequest19()`.

    Contains the information of a conference.  Replaced by:
    `UserMeetMeConferencingAddConferenceResponse23()`

    Attributes:
        conference_id (str): conferenceId
        moderator_pin (str): moderatorPin
        security_pin (str): securityPin *Optional*
    """

    __slots__: List[str] = [
        "conference_id",
        "moderator_pin",
        "security_pin",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id", "conferenceId", str, is_required=True),
            E("moderator_pin", "moderatorPin", str, is_required=True),
            E("security_pin", "securityPin", str),
        )


class UserMeetMeConferencingAddConferenceResponse23(OCIResponse):
    """
    Response to `UserMeetMeConferencingAddConferenceRequest23()`.

    Contains the information of a conference.

    Attributes:
        conference_id (str): conferenceId
        moderator_pin (str): moderatorPin
        security_pin (str): securityPin *Optional*
    """

    __slots__: List[str] = [
        "conference_id",
        "moderator_pin",
        "security_pin",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id", "conferenceId", str, is_required=True),
            E("moderator_pin", "moderatorPin", str, is_required=True),
            E("security_pin", "securityPin", str),
        )


class UserMeetMeConferencingGetAvailableDelegateListResponse(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetAvailableDelegateListRequest()`.

    Contains all hosts assigned on a bridge.  The table has column headings: "User Id",
    "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name", "Phone
    Number", "Extension", "Department" and "Email Address".

    Attributes:
        conference_delegate_user_table (List(conferenceDelegateUserTable)):
            conferenceDelegateUserTable - *Table* array of conferenceDelegateUserTable
            named tuples
    """

    __slots__: List[str] = [
        "conference_delegate_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_delegate_user_table",
                "conferenceDelegateUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMeetMeConferencingGetBridgeListResponse(OCIResponse):
    """
    Response to the `UserMeetMeConferencingGetBridgeListRequest()`.

    Contains a table with column headings: "Bridge Id", "Name", "Phone Number",
    "Extension", "Ports", and "Is Active" The column values for "Is Active" can either be
    true, or false.

    Attributes:
        conference_bridge_table (List(conferenceBridgeTable)): conferenceBridgeTable -
            *Table* array of conferenceBridgeTable named tuples
    """

    __slots__: List[str] = [
        "conference_bridge_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_bridge_table",
                "conferenceBridgeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMeetMeConferencingGetConferenceDelegateListResponse(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceDelegateListRequest()`.

    Contains a table with table heading:"User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name","Phone Number", "Extension", "Department" and "Email
    Address".

    Attributes:
        conference_delegate_user_table (List(conferenceDelegateUserTable)):
            conferenceDelegateUserTable - *Table* array of conferenceDelegateUserTable
            named tuples
    """

    __slots__: List[str] = [
        "conference_delegate_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_delegate_user_table",
                "conferenceDelegateUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMeetMeConferencingGetConferenceGreetingResponse(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceGreetingRequest()`.

    Contains the information of a conference custom greeting.

    Attributes:
        play_entrance_greeting (bool): playEntranceGreeting
        entrance_greeting_audio_file (str): entranceGreetingAudioFile *Optional*
        entrance_greeting_media_type (str): entranceGreetingMediaType *Optional*
    """

    __slots__: List[str] = [
        "play_entrance_greeting",
        "entrance_greeting_audio_file",
        "entrance_greeting_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_greeting", "playEntranceGreeting", bool, is_required=True),
            E("entrance_greeting_audio_file", "entranceGreetingAudioFile", str),
            E("entrance_greeting_media_type", "entranceGreetingMediaType", str),
        )


class UserMeetMeConferencingGetConferenceListResponse(OCIResponse):
    """
    Response to the `UserMeetMeConferencingGetConferenceListRequest()`.

    Contains a table with column headings: "Bridge Id", "Conference Id", "Title", "Bridge
    Name", "Status", "Type", "Start Time", "Last Name", "First Name" and "Host Id". The
    column values for "Status" can be Active, Inactive, or Expired.  The column values for
    "Type" can be Reservationless, One Time, Recurring Daily, Recurring Weekly, Recurring
    Monthly, or Recurring Yearly.  Start Time is in the format "yyyy-MM-
    dd'T'HH:mm:ss:SSSZ". Example: 2010-10-01T09:30:00:000-0400.

    Attributes:
        conference_table (List(conferenceTable)): conferenceTable - *Table* array of
            conferenceTable named tuples
    """

    __slots__: List[str] = [
        "conference_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_table",
                "conferenceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMeetMeConferencingGetConferenceRecordingListResponse(OCIResponse):
    """
    Response to the `UserMeetMeConferencingGetConferenceRecordingListRequest()`.

    Contains a table with column headings: "Bridge Id", "Conference Id", "Conference
    Title", "Bridge Name", "Start Time", "File Size", and "URL". Start Time is in the
    format "yyyy-MM-dd'T'HH:mm:ss:SSSZ". Example: 2010-10-01T09:30:00:000-0400.

    Attributes:
        conference_recording_table (List(conferenceRecordingTable)):
            conferenceRecordingTable - *Table* array of conferenceRecordingTable named
            tuples
    """

    __slots__: List[str] = [
        "conference_recording_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "conference_recording_table",
                "conferenceRecordingTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserMusicOnHoldGetResponse(OCIResponse):
    """
    Response to `UserMusicOnHoldGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserNetworkConferencingGetResponse(OCIResponse):
    """
    Response to `UserNetworkConferencingGetRequest()`.


    Attributes:
        conference_uri (str): conferenceURI *Optional*
        max_conference_parties (int): maxConferenceParties
    """

    __slots__: List[str] = [
        "conference_uri",
        "max_conference_parties",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_uri", "conferenceURI", str),
            E("max_conference_parties", "maxConferenceParties", int, is_required=True),
        )


class UserNumberPortabilityAnnouncementGetResponse(OCIResponse):
    """
    Response to the `UserNumberPortabilityAnnouncementGetRequest()`.

    The response contains the user Number Portability attributes.

    Attributes:
        enable (bool): enable
    """

    __slots__: List[str] = [
        "enable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("enable", "enable", bool, is_required=True),)


class UserOCICallControlApplicationGetListResponse(OCIResponse):
    """
    Response to `UserOCICallControlApplicationGetListRequest()`.


    Attributes:
        application_id (List[str]): applicationId *Optional*
    """

    __slots__: List[str] = [
        "application_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("application_id", "applicationId", str, is_array=True),)


class UserOutgoingCallingPlanAuthorizationCodeGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanAuthorizationCodeGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
    """

    __slots__: List[str] = [
        "use_custom_settings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("use_custom_settings", "useCustomSettings", bool, is_required=True),)


class UserOutgoingCallingPlanSustainedAuthorizationCodeGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanAuthorizationCodeGetRequest()`.


    Attributes:
        code (str): code *Optional*
    """

    __slots__: List[str] = [
        "code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("code", "code", str),)


class UserPBXIntegrationGetResponse(OCIResponse):
    """
    Response to `UserPBXIntegrationGetRequest()`.


    Attributes:
        proxy_to_header_from_network (bool): proxyToHeaderFromNetwork
    """

    __slots__: List[str] = [
        "proxy_to_header_from_network",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "proxy_to_header_from_network",
                "proxyToHeaderFromNetwork",
                bool,
                is_required=True,
            ),
        )


class UserPasswordInfoGetResponse(OCIResponse):
    """
    Response to `UserPasswordInfoGetRequest()`.


    Attributes:
        is_login_disabled (bool): isLoginDisabled
        expiration_days (int): expirationDays *Optional*
        does_not_expire (bool): doesNotExpire *Optional*
    """

    __slots__: List[str] = [
        "is_login_disabled",
        "expiration_days",
        "does_not_expire",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_login_disabled", "isLoginDisabled", bool, is_required=True),
            E("expiration_days", "expirationDays", int),
            E("does_not_expire", "doesNotExpire", bool),
        )


class UserPersonalAssistantExclusionNumberGetListResponse(OCIResponse):
    """
    Response to the `UserPersonalAssistantExclusionNumberGetListRequest()`.

    Contains a table with column headings: "Number", "Description".

    Attributes:
        exclusion_number_table (List(exclusionNumberTable)): exclusionNumberTable -
            *Table* array of exclusionNumberTable named tuples
    """

    __slots__: List[str] = [
        "exclusion_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "exclusion_number_table",
                "exclusionNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPersonalAssistantExclusionNumberGetResponse(OCIResponse):
    """
    Response to the `UserPersonalAssistantExclusionNumberGetRequest()`

    Attributes:
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("description", "description", str),)


class UserPersonalAssistantGetResponse(OCIResponse):
    """
    Response to the `UserPersonalAssistantGetRequest()`.

    The response contains the user Personal Assistant information". Replaced by:
    `UserPersonalAssistantGetResponse22()`

    Attributes:
        presence (str): presence
        enable_transfer_to_attendant (bool): enableTransferToAttendant
        attendant_number (str): attendantNumber *Optional*
        enable_ring_splash (bool): enableRingSplash
        enable_expiration_time (bool): enableExpirationTime
        expiration_time (str): expirationTime *Optional*
    """

    __slots__: List[str] = [
        "presence",
        "enable_transfer_to_attendant",
        "attendant_number",
        "enable_ring_splash",
        "enable_expiration_time",
        "expiration_time",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("presence", "presence", str, is_required=True),
            E(
                "enable_transfer_to_attendant",
                "enableTransferToAttendant",
                bool,
                is_required=True,
            ),
            E("attendant_number", "attendantNumber", str),
            E("enable_ring_splash", "enableRingSplash", bool, is_required=True),
            E("enable_expiration_time", "enableExpirationTime", bool, is_required=True),
            E("expiration_time", "expirationTime", str),
        )


class UserPersonalAssistantGetResponse22(OCIResponse):
    """
    Response to the `UserPersonalAssistantGetRequest22()`.

    The response contains the user Personal Assistant information".

    Attributes:
        presence (str): presence
        enable_transfer_to_attendant (bool): enableTransferToAttendant
        attendant_number (str): attendantNumber *Optional*
        enable_ring_splash (bool): enableRingSplash
        enable_expiration_time (bool): enableExpirationTime
        expiration_time (str): expirationTime *Optional*
        alert_me_first (bool): alertMeFirst
        alert_me_first_number_of_rings (int): alertMeFirstNumberOfRings
    """

    __slots__: List[str] = [
        "presence",
        "enable_transfer_to_attendant",
        "attendant_number",
        "enable_ring_splash",
        "enable_expiration_time",
        "expiration_time",
        "alert_me_first",
        "alert_me_first_number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("presence", "presence", str, is_required=True),
            E(
                "enable_transfer_to_attendant",
                "enableTransferToAttendant",
                bool,
                is_required=True,
            ),
            E("attendant_number", "attendantNumber", str),
            E("enable_ring_splash", "enableRingSplash", bool, is_required=True),
            E("enable_expiration_time", "enableExpirationTime", bool, is_required=True),
            E("expiration_time", "expirationTime", str),
            E("alert_me_first", "alertMeFirst", bool, is_required=True),
            E(
                "alert_me_first_number_of_rings",
                "alertMeFirstNumberOfRings",
                int,
                is_required=True,
            ),
        )


class UserPersonalPhoneListGetPagedSortedListResponse(OCIResponse):
    """
    Response to the `UserPersonalPhoneListGetPagedSortedListRequest()`.

    The response contains a user's personal phone list.  The response contains a table
    with column headings: "Name" and "Phone Number".

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        personal_phone_list_table (List(personalPhoneListTable)): personalPhoneListTable -
            *Table* array of personalPhoneListTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "personal_phone_list_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "personal_phone_list_table",
                "personalPhoneListTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPhoneDirectoryGetListResponse(OCIResponse):
    """
    Response to `UserPhoneDirectoryGetListRequest()`.

    The "My Room Room Id" and "My Room Bridge Id" are only populated for users assigned
    the "Collaborate-Audio" service.  Contains a table with a row for each phone number
    and column headings : "Name", "Number", "Extension", "Mobile", "Email Address",
    "Department", "First Name", "Last Name", "User Id", "Title", "IMP Id", "My Room Room
    Id", "My Room Bridge Id", "Service Name". The Service Name represents the localized
    service name for service instances.  The localized values are taken from the
    BroadworksLabel.properties file.  Service Name is currently supporting: AutoAttendant,
    AutoAttendantStandard, AutoAttendantVideo, CallCenter, CallCenterStandard,
    CallCenterPremium HuntGroup, InstantGroupCall, VoiceMessagingGroup, RoutePoint,
    BroadWorksAnywhere, GroupPaging, FindmeFollowme, VoiceXML, FlexibleSeatingGuest,
    CollaborateAudio, MeetMeConferencing.  For a Regular User or a Virtual On Network
    Enterprise Extensions, the Service Name is empty.  The following columns are only
    returned in AS data mode: "My Room Room Id", "My Room Bridge Id", "Service Name"

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPhoneDirectoryGetPagedListResponse(OCIResponse):
    """
    Response to `UserPhoneDirectoryGetPagedListRequest()`.

    Returns the number of entries that would be returned if the response Was not page size
    restricted.  The "My Room Room Id" and "My Room Bridge Id" are only populated for
    users assigned the "Collaborate-Audio" service.  Contains a table with a row for each
    user and column headings: "User Id", "First Name", "Last Name", "First Name Unicode",
    "Last Name Unicode", "Hiragana First Name", "Hiragana Last Name", "Title", "Phone
    Number", "Extension", "Mobile", "Pager", "Email Address", "Yahoo Id", "Department",
    "Group Id", "Location", "Address Line 1", "Address Line 2", "City", "State", "Zip",
    "Country", "IMP Id", "Location Code", "My Room Room Id", "My Room Bridge Id", "Service
    Name", and "Receptionist Note". The Service Name represents the localized service name
    for service instances.  The localized values are taken from the
    BroadworksLabel.properties file.  Service Name is currently supporting: AutoAttendant,
    AutoAttendantStandard, AutoAttendantVideo, CallCenter, CallCenterStandard,
    CallCenterPremium HuntGroup, InstantGroupCall, VoiceMessagingGroup, RoutePoint,
    BroadWorksAnywhere, GroupPaging, FindmeFollowme, VoiceXML, FlexibleSeatingGuest,
    CollaborateAudio, MeetMeConferencing.  For a Regular User or a Virtual On Network
    Enterprise Extensions, the Service Name is empty.

    The response entries are sorted by "Last Name Unicode" first and "First Name unicode"
    secondarily.  The following columns are only returned in AS data mode: "Location
    Code", "My Room Room Id", "My Room Bridge Id", "Service Name", "Receptionist Note" The
    Receptionist Note column is only populated, if the user sending the request is the
    owner of the Receptionist Note and a Note exists.

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPhoneDirectoryGetPagedSortedListResponse(OCIResponse):
    """
    Response to `UserPhoneDirectoryGetPagedSortedListRequest()`.

    Returns the number of entries that would be returned if the response Was not page size
    restricted.  The "My Room Room Id" and "My Room Bridge Id" are only populated for
    users assigned the "Collaborate-Audio" service.  Contains a table with a row for each
    user and column headings: "User Id", "CLID First Name", "CLID Last Name", "First
    Name", "Last Name", "Hiragana First Name", "Hiragana Last Name", "Title", "Phone
    Number", "Extension", "Mobile", "Pager", "Email Address", "Yahoo Id", "Department",
    "Group Id", "Location", "Address Line 1", "Address Line 2", "City", "State", "Zip",
    "Country", "IMP Id", "Location Code", "My Room Room Id", "My Room Bridge Id", "Service
    Name", and "Receptionist Note". The Service Name represents the localized service name
    for service instances.  The localized values are taken from the
    BroadworksLabel.properties file.  Service Name is currently supporting: AutoAttendant,
    AutoAttendantStandard, AutoAttendantVideo, CallCenter, CallCenterStandard,
    CallCenterPremium, HuntGroup, InstantGroupCall, VoiceMessagingGroup, RoutePoint,
    BroadWorksAnywhere, GroupPaging, FindmeFollowme, VoiceXML, FlexibleSeatingGuest,
    CollaborateAudio, MeetMeConferencing.  For a Regular User or a Virtual On Network
    Enterprise Extensions, the Service Name is empty.  The Receptionist Note column is
    only populated, if the user sending the request is the owner of the Receptionist Note
    and a Note exists.  The following columns are returned in AS data mode only: "Service
    Name", "Receptionist Notes"

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPhoneDirectoryGetSearchedListResponse(OCIResponse):
    """
    Response to `UserPhoneDirectoryGetSearchedListRequest()`.

    The "My Room Room Id" and "My Room Bridge Id" are only populated for users assigned
    the "Collaborate-Audio" service.  Contains a table with a row for each phone number
    and column headings : "Name", "Number", "Extension", "Mobile", "Email Address",
    "Department", "Hiragana Name", "Group Id", "Yahoo Id", "User Id", "IMP Id", "First
    Name", "Last Name", "My Room Room Id", "My Room Bridge Id", "Service Name". The
    Service Name represents the localized service name for service instances.  The
    localized values are taken from the BroadworksLabel.properties file.  Service Name is
    currently supporting: AutoAttendant, AutoAttendantStandard, AutoAttendantVideo,
    CallCenter, CallCenterStandard, CallCenterPremium HuntGroup, InstantGroupCall,
    VoiceMessagingGroup, RoutePoint, BroadWorksAnywhere, GroupPaging, FindmeFollowme,
    VoiceXML, FlexibleSeatingGuest, CollaborateAudio, MeetMeConferencing.  For a Regular
    User or a Virtual On Network Enterprise Extensions, the Service Name is empty.  The
    following columns are only returned in AS data mode: "My Room Room Id", "My Room
    Bridge Id", "Service Name"

    Attributes:
        directory_table (List(directoryTable)): directoryTable - *Table* array of
            directoryTable named tuples
    """

    __slots__: List[str] = [
        "directory_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "directory_table",
                "directoryTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPhysicalLocationGetResponse(OCIResponse):
    """
    Response to `UserPhysicalLocationGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserPolycomPhoneServicesGetPrimaryEndpointListResponse(OCIResponse):
    """
    Response to `UserPolycomPhoneServicesGetPrimaryEndpointListRequest()`.

    The column headings for the deviceUserTable are: "Device Level", "Device Name",
    "Line/Port".

    Attributes:
        device_user_table (List(deviceUserTable)): deviceUserTable - *Table* array of
            deviceUserTable named tuples
    """

    __slots__: List[str] = [
        "device_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "device_user_table",
                "deviceUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPolycomPhoneServicesGetResponse(OCIResponse):
    """
    Response to `UserPolycomPhoneServicesGetRequest()`.


    Attributes:
        integrate_phone_directory_with_broad_works (bool):
            integratePhoneDirectoryWithBroadWorks
        include_user_personal_phone_list_in_directory (bool):
            includeUserPersonalPhoneListInDirectory
        include_group_custom_contact_directory_in_directory (bool):
            includeGroupCustomContactDirectoryInDirectory
        group_custom_contact_directory (str): groupCustomContactDirectory *Optional*
    """

    __slots__: List[str] = [
        "integrate_phone_directory_with_broad_works",
        "include_user_personal_phone_list_in_directory",
        "include_group_custom_contact_directory_in_directory",
        "group_custom_contact_directory",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "integrate_phone_directory_with_broad_works",
                "integratePhoneDirectoryWithBroadWorks",
                bool,
                is_required=True,
            ),
            E(
                "include_user_personal_phone_list_in_directory",
                "includeUserPersonalPhoneListInDirectory",
                bool,
                is_required=True,
            ),
            E(
                "include_group_custom_contact_directory_in_directory",
                "includeGroupCustomContactDirectoryInDirectory",
                bool,
                is_required=True,
            ),
            E("group_custom_contact_directory", "groupCustomContactDirectory", str),
        )


class UserPortalPasscodeGetInfoResponse(OCIResponse):
    """
    Response to `UserPortalPasscodeGetInfoRequest()`.


    Attributes:
        is_login_disabled (bool): isLoginDisabled
        expiration_days (int): expirationDays *Optional*
        does_not_expire (bool): doesNotExpire *Optional*
        passcode (str): passcode
    """

    __slots__: List[str] = [
        "is_login_disabled",
        "expiration_days",
        "does_not_expire",
        "passcode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_login_disabled", "isLoginDisabled", bool, is_required=True),
            E("expiration_days", "expirationDays", int),
            E("does_not_expire", "doesNotExpire", bool),
            E("passcode", "passcode", str, is_required=True),
        )


class UserPortalPasscodeRulesGetResponse(OCIResponse):
    """
    Response to `UserPortalPasscodeRulesGetRequest()`.


    Attributes:
        disallow_repeated_digits (bool): disallowRepeatedDigits
        number_of_repeated_digits (int): numberOfRepeatedDigits
        disallow_repeated_patterns (bool): disallowRepeatedPatterns
        disallow_contiguous_sequences (bool): disallowContiguousSequences
        number_of_ascending_digits (int): numberOfAscendingDigits
        number_of_descending_digits (int): numberOfDescendingDigits
        disallow_user_number (bool): disallowUserNumber
        disallow_reversed_user_number (bool): disallowReversedUserNumber
        disallow_old_passcode (bool): disallowOldPasscode
        number_of_previous_passcodes (int): numberOfPreviousPasscodes
        disallow_reversed_old_passcode (bool): disallowReversedOldPasscode
        min_code_length (int): minCodeLength
        max_code_length (int): maxCodeLength
        disable_login_after_max_failed_login_attempts (bool):
            disableLoginAfterMaxFailedLoginAttempts
        max_failed_login_attempts (int): maxFailedLoginAttempts *Optional*
        expire_password (bool): expirePassword
        passcode_expires_days (int): passcodeExpiresDays *Optional*
        send_login_disabled_notify_email (bool): sendLoginDisabledNotifyEmail
        login_disabled_notify_email_address (str): loginDisabledNotifyEmailAddress
            *Optional*
    """

    __slots__: List[str] = [
        "disallow_repeated_digits",
        "number_of_repeated_digits",
        "disallow_repeated_patterns",
        "disallow_contiguous_sequences",
        "number_of_ascending_digits",
        "number_of_descending_digits",
        "disallow_user_number",
        "disallow_reversed_user_number",
        "disallow_old_passcode",
        "number_of_previous_passcodes",
        "disallow_reversed_old_passcode",
        "min_code_length",
        "max_code_length",
        "disable_login_after_max_failed_login_attempts",
        "max_failed_login_attempts",
        "expire_password",
        "passcode_expires_days",
        "send_login_disabled_notify_email",
        "login_disabled_notify_email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disallow_repeated_digits",
                "disallowRepeatedDigits",
                bool,
                is_required=True,
            ),
            E(
                "number_of_repeated_digits",
                "numberOfRepeatedDigits",
                int,
                is_required=True,
            ),
            E(
                "disallow_repeated_patterns",
                "disallowRepeatedPatterns",
                bool,
                is_required=True,
            ),
            E(
                "disallow_contiguous_sequences",
                "disallowContiguousSequences",
                bool,
                is_required=True,
            ),
            E(
                "number_of_ascending_digits",
                "numberOfAscendingDigits",
                int,
                is_required=True,
            ),
            E(
                "number_of_descending_digits",
                "numberOfDescendingDigits",
                int,
                is_required=True,
            ),
            E("disallow_user_number", "disallowUserNumber", bool, is_required=True),
            E(
                "disallow_reversed_user_number",
                "disallowReversedUserNumber",
                bool,
                is_required=True,
            ),
            E("disallow_old_passcode", "disallowOldPasscode", bool, is_required=True),
            E(
                "number_of_previous_passcodes",
                "numberOfPreviousPasscodes",
                int,
                is_required=True,
            ),
            E(
                "disallow_reversed_old_passcode",
                "disallowReversedOldPasscode",
                bool,
                is_required=True,
            ),
            E("min_code_length", "minCodeLength", int, is_required=True),
            E("max_code_length", "maxCodeLength", int, is_required=True),
            E(
                "disable_login_after_max_failed_login_attempts",
                "disableLoginAfterMaxFailedLoginAttempts",
                bool,
                is_required=True,
            ),
            E("max_failed_login_attempts", "maxFailedLoginAttempts", int),
            E("expire_password", "expirePassword", bool, is_required=True),
            E("passcode_expires_days", "passcodeExpiresDays", int),
            E(
                "send_login_disabled_notify_email",
                "sendLoginDisabledNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "login_disabled_notify_email_address",
                "loginDisabledNotifyEmailAddress",
                str,
            ),
        )


class UserPreAlertingAnnouncementGetResponse(OCIResponse):
    """
    Response to a `UserPreAlertingAnnouncementGetRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Blacklisted",
    and "Calls From". Replaced by: `UserPreAlertingAnnouncementGetResponse20()` in AS data
    mode

    Attributes:
        is_active (bool): isActive
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        video_file_url (str): videoFileUrl *Optional*
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "audio_selection",
        "audio_file_description",
        "audio_media_type",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_media_type",
        "video_file_url",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("video_file_url", "videoFileUrl", str),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPrepaidGetResponse(OCIResponse):
    """
    Response to `UserPrepaidGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserPrimaryEndpointAdvancedSettingGetResponse(OCIResponse):
    """
    Response to the `UserPrimaryEndpointAdvancedSettingGetRequest()`.


    Attributes:
        allow_origination (bool): allowOrigination
        allow_termination (bool): allowTermination
    """

    __slots__: List[str] = [
        "allow_origination",
        "allow_termination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_origination", "allowOrigination", bool, is_required=True),
            E("allow_termination", "allowTermination", bool, is_required=True),
        )


class UserPriorityAlertGetCriteriaListResponse(OCIResponse):
    """
    Response to the `UserPriorityAlertGetCriteriaListRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted", "Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPrivacyGetAvailableMonitorsUserListResponse(OCIResponse):
    """
    Response to the `UserPrivacyGetAvailableMonitorsUserListRequest()`.

    Returns a 10 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department", "Email Address", "IMP Id".

    Attributes:
        available_monitors_table (List(availableMonitorsTable)): availableMonitorsTable -
            *Table* array of availableMonitorsTable named tuples
    """

    __slots__: List[str] = [
        "available_monitors_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_monitors_table",
                "availableMonitorsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPrivacyGetResponse(OCIResponse):
    """
    Response to `UserPrivacyGetRequest()`.


    Attributes:
        enable_directory_privacy (bool): enableDirectoryPrivacy
    """

    __slots__: List[str] = [
        "enable_directory_privacy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_directory_privacy",
                "enableDirectoryPrivacy",
                bool,
                is_required=True,
            ),
        )


class UserPrivacyGetResponse13mp17(OCIResponse):
    """
    Response to `UserPrivacyGetRequest13mp17()`.

    The permittedMonitorUserIdTable contains the members of the enterprise or group
    allowed to monitor the phone status of the user specified in the request.  Members of
    this table are allowed to monitor the user even if enablePhoneStatusPrivacy is set to
    true.  The table contains column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department", "Email Address", "IMP Id".

    Attributes:
        enable_directory_privacy (bool): enableDirectoryPrivacy
        enable_auto_attendant_extension_dialing_privacy (bool):
            enableAutoAttendantExtensionDialingPrivacy
        enable_auto_attendant_name_dialing_privacy (bool):
            enableAutoAttendantNameDialingPrivacy
        enable_phone_status_privacy (bool): enablePhoneStatusPrivacy
        permitted_monitor_user_id_table (List(permittedMonitorUserIdTable)):
            permittedMonitorUserIdTable - *Table* array of permittedMonitorUserIdTable
            named tuples
    """

    __slots__: List[str] = [
        "enable_directory_privacy",
        "enable_auto_attendant_extension_dialing_privacy",
        "enable_auto_attendant_name_dialing_privacy",
        "enable_phone_status_privacy",
        "permitted_monitor_user_id_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_directory_privacy",
                "enableDirectoryPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_auto_attendant_extension_dialing_privacy",
                "enableAutoAttendantExtensionDialingPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_auto_attendant_name_dialing_privacy",
                "enableAutoAttendantNameDialingPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "enable_phone_status_privacy",
                "enablePhoneStatusPrivacy",
                bool,
                is_required=True,
            ),
            E(
                "permitted_monitor_user_id_table",
                "permittedMonitorUserIdTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPushNotificationGetResponse(OCIResponse):
    """
    Response to `UserPushNotificationGetRequest()`.

    Replaced by: `UserPushNotificationResponse24()`

    Attributes:
        send_push_notification_for_click_to_dial (bool):
            sendPushNotificationForClickToDial
    """

    __slots__: List[str] = [
        "send_push_notification_for_click_to_dial",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_push_notification_for_click_to_dial",
                "sendPushNotificationForClickToDial",
                bool,
                is_required=True,
            ),
        )


class UserPushNotificationGetResponse24(OCIResponse):
    """
    Response to `UserPushNotificationGetRequest24()`.


    Attributes:
        send_push_notification_for_click_to_dial (bool):
            sendPushNotificationForClickToDial
        send_push_notification_for_group_paging (bool): sendPushNotificationForGroupPaging
    """

    __slots__: List[str] = [
        "send_push_notification_for_click_to_dial",
        "send_push_notification_for_group_paging",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "send_push_notification_for_click_to_dial",
                "sendPushNotificationForClickToDial",
                bool,
                is_required=True,
            ),
            E(
                "send_push_notification_for_group_paging",
                "sendPushNotificationForGroupPaging",
                bool,
                is_required=True,
            ),
        )


class UserPushNotificationRegistrationGetListResponse(OCIResponse):
    """
    Response to `UserPushNotificationRegistrationGetListRequest()`.

    A registration has more than one row in the response when the registration includes
    more than one token.  Registration Date uses the format "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    in the time zone of the requested user.  Example: 2010-10-01T09:30:00:000-0400.
    Contains a table with a row for each registration and token with column headings :
    "User Id", "Registration Id", "Application Id", "Application Version", "Device Os
    Type", "Device Os Version", "Registration Date", "Token", "Events" Replaced by:
    `UserPushNotificationRegistrationGetListResponse21sp1()`

    Attributes:
        registrations_table (List(registrationsTable)): registrationsTable - *Table* array
            of registrationsTable named tuples
    """

    __slots__: List[str] = [
        "registrations_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "registrations_table",
                "registrationsTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPushToTalkGetAvailableUserListResponse(OCIResponse):
    """
    Response to the `UserPushToTalkGetAvailableUserListRequest()`.

    Returns a 10 column table with column headings: "User Id", "Last Name", "First Name",
    "Hiragana Last Name", "Hiragana First Name", "Phone Number", "Extension",
    "Department", "Email Address", "IMP Id".

    Attributes:
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPushToTalkGetResponse(OCIResponse):
    """
    Response to `UserPushToTalkGetRequest()`.

    It returns the service settings and a 9 column selected user table with the following
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Phone Number", "Extension", "Department", "Email Address", "IMP Id".

    Attributes:
        allow_auto_answer (bool): allowAutoAnswer
        outgoing_connection_selection (str): outgoingConnectionSelection
        access_list_selection (str): accessListSelection
        selected_user_table (List(selectedUserTable)): selectedUserTable - *Table* array
            of selectedUserTable named tuples
    """

    __slots__: List[str] = [
        "allow_auto_answer",
        "outgoing_connection_selection",
        "access_list_selection",
        "selected_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("allow_auto_answer", "allowAutoAnswer", bool, is_required=True),
            E(
                "outgoing_connection_selection",
                "outgoingConnectionSelection",
                str,
                is_required=True,
            ),
            E("access_list_selection", "accessListSelection", str, is_required=True),
            E(
                "selected_user_table",
                "selectedUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserRemoteOfficeGetResponse(OCIResponse):
    """
    Response to `UserRemoteOfficeGetRequest()`.


    Attributes:
        is_active (bool): isActive
        remote_office_phone_number (str): remoteOfficePhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "remote_office_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("remote_office_phone_number", "remoteOfficePhoneNumber", str),
        )


class UserResourcePriorityGetResponse(OCIResponse):
    """
    Response to `UserResourcePriorityGetRequest()`.

    Contains the Resource Priority settings of a user.  If useDefaultResourcePriority is
    true, parameter resourcePriority will not be returned.

    Attributes:
        use_default_resource_priority (bool): useDefaultResourcePriority
        default_resource_priority (str): defaultResourcePriority
        user_resource_priority (str): userResourcePriority
    """

    __slots__: List[str] = [
        "use_default_resource_priority",
        "default_resource_priority",
        "user_resource_priority",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_default_resource_priority",
                "useDefaultResourcePriority",
                bool,
                is_required=True,
            ),
            E(
                "default_resource_priority",
                "defaultResourcePriority",
                str,
                is_required=True,
            ),
            E("user_resource_priority", "userResourcePriority", str, is_required=True),
        )


class UserRouteListGetResponse(OCIResponse):
    """
    Response to `UserRouteListGetRequest()`.

    Contains the route list setting and a list of assigned number ranges and number
    prefixes.  The column headings for assignedNumberRangeTable are "Number Range Start",
    "Number Range End" and "Is Active". Replaced by: `UserRouteListGetResponse22()`

    Attributes:
        treat_originations_and_pbx_redirections_as_screened (bool):
            treatOriginationsAndPBXRedirectionsAsScreened
        use_route_list_identity_for_non_emergency_calls (bool):
            useRouteListIdentityForNonEmergencyCalls
        use_route_list_identity_for_emergency_calls (bool):
            useRouteListIdentityForEmergencyCalls
        assigned_number_range_table (List(assignedNumberRangeTable)):
            assignedNumberRangeTable - *Table* array of assignedNumberRangeTable named
            tuples
    """

    __slots__: List[str] = [
        "treat_originations_and_pbx_redirections_as_screened",
        "use_route_list_identity_for_non_emergency_calls",
        "use_route_list_identity_for_emergency_calls",
        "assigned_number_range_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treat_originations_and_pbx_redirections_as_screened",
                "treatOriginationsAndPBXRedirectionsAsScreened",
                bool,
                is_required=True,
            ),
            E(
                "use_route_list_identity_for_non_emergency_calls",
                "useRouteListIdentityForNonEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_route_list_identity_for_emergency_calls",
                "useRouteListIdentityForEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "assigned_number_range_table",
                "assignedNumberRangeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserRouteListGetResponse22(OCIResponse):
    """
    Response to `UserRouteListGetRequest22()`.

    Contains the route list setting and a list of assigned number ranges and number
    prefixes.  The column headings for assignedNumberRangeTable are "Number Range Start",
    "Number Range End", "Is Active" and “Extension Length”. The column headings for
    assignedNumberPrefixTable are "Number Prefix" ","Is Active", “Extension Range Start”
    and “Extension Range End”.

    Attributes:
        treat_originations_and_pbx_redirections_as_screened (bool):
            treatOriginationsAndPBXRedirectionsAsScreened
        use_route_list_identity_for_non_emergency_calls (bool):
            useRouteListIdentityForNonEmergencyCalls
        use_route_list_identity_for_emergency_calls (bool):
            useRouteListIdentityForEmergencyCalls
        assigned_number_range_table (List(assignedNumberRangeTable)):
            assignedNumberRangeTable - *Table* array of assignedNumberRangeTable named
            tuples
        assigned_number_prefix_table (List(assignedNumberPrefixTable)):
            assignedNumberPrefixTable - *Table* array of assignedNumberPrefixTable named
            tuples
    """

    __slots__: List[str] = [
        "treat_originations_and_pbx_redirections_as_screened",
        "use_route_list_identity_for_non_emergency_calls",
        "use_route_list_identity_for_emergency_calls",
        "assigned_number_range_table",
        "assigned_number_prefix_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "treat_originations_and_pbx_redirections_as_screened",
                "treatOriginationsAndPBXRedirectionsAsScreened",
                bool,
                is_required=True,
            ),
            E(
                "use_route_list_identity_for_non_emergency_calls",
                "useRouteListIdentityForNonEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_route_list_identity_for_emergency_calls",
                "useRouteListIdentityForEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "assigned_number_range_table",
                "assignedNumberRangeTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "assigned_number_prefix_table",
                "assignedNumberPrefixTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserRoutePointCallDispositionCodeGetAvailableListResponse(OCIResponse):
    """
    Response to the `UserRoutePointCallDispositionCodeGetAvailableListRequest()`.

    This list may include Group/Enterprise level codes in addition to the Route Point
    level codes, depending on the call center disposition codes settings.  Only active
    codes are included in the list.  Contains a table with column headings: "Code",
    "Description" and "Level". Level column can be any of the values in the data type
    CallDispositionCodeLevel.

    Attributes:
        disposition_codes_table (List(dispositionCodesTable)): dispositionCodesTable -
            *Table* array of dispositionCodesTable named tuples
    """

    __slots__: List[str] = [
        "disposition_codes_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "disposition_codes_table",
                "dispositionCodesTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserRoutePointSupervisorGetListResponse(OCIResponse):
    """
    Response to the `UserRoutePointSupervisorGetListRequest()`.

    Contains a table with column headings: "User Id", "Last Name", "First Name", "Hiragana
    Last Name", "Hiragana First Name", "Phone Number", "Extension", "Department", "Email
    Address", "Location Code".

    Attributes:
        supervisor_table (List(supervisorTable)): supervisorTable - *Table* array of
            supervisorTable named tuples
    """

    __slots__: List[str] = [
        "supervisor_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "supervisor_table",
                "supervisorTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSMDIMessageDeskGetResponse(OCIResponse):
    """
    Response to the `UserSMDIMessageDeskGetRequest()`.


    Attributes:
        is_active (bool): isActive
        message_desk_number (str): messageDeskNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "message_desk_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("message_desk_number", "messageDeskNumber", str),
        )


class UserSMDIMessageDeskGetServerListResponse(OCIResponse):
    """
    Response to the `UserSMDIMessageDeskGetServerListRequest()`.

    The SMDI Server table column headings are: "Device Name", "Net Address", "Port".

    Attributes:
        smdi_server_table (List(smdiServerTable)): smdiServerTable - *Table* array of
            smdiServerTable named tuples
    """

    __slots__: List[str] = [
        "smdi_server_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "smdi_server_table",
                "smdiServerTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserScheduleGetEventListResponse(OCIResponse):
    """
    Response to `UserScheduleGetEventListRequest()`.

    The response contains a list of events.

    Attributes:
        event_name (List[str]): eventName *Optional*
    """

    __slots__: List[str] = [
        "event_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("event_name", "eventName", str, is_array=True),)


class UserScheduleGetListResponse(OCIResponse):
    """
    Response to `UserScheduleGetListRequest()`.

    The response contains a list of system schedules.

    Attributes:
        schedule_name (List[str]): scheduleName *Optional*
        schedule_type (List[str]): scheduleType *Optional*
        schedule_level (List[str]): scheduleLevel *Optional*
    """

    __slots__: List[str] = [
        "schedule_name",
        "schedule_type",
        "schedule_level",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("schedule_name", "scheduleName", str, is_array=True),
            E("schedule_type", "scheduleType", str, is_array=True),
            E("schedule_level", "scheduleLevel", str, is_array=True),
        )


class UserScheduleGetPagedSortedListResponse(OCIResponse):
    """
    Response to `UserScheduleGetPagedSortedListRequest()`.

    Contains a 3 column table with column headings: "Name", "Type", "Level" and a row for
    each schedule.

    Attributes:
        schedule_table (List(scheduleTable)): scheduleTable - *Table* array of
            scheduleTable named tuples
    """

    __slots__: List[str] = [
        "schedule_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_table",
                "scheduleTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSecurityClassificationGetResponse(OCIResponse):
    """
    Response to the `UserSecurityClassificationGetRequest()`.


    Attributes:
        security_classification (str): securityClassification *Optional*
    """

    __slots__: List[str] = [
        "security_classification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("security_classification", "securityClassification", str),)


class UserSecurityClassificationGetResponse22(OCIResponse):
    """
    Response to the `UserSecurityClassificationGetRequest22()`.

    The following elements are only used in Amplify data mode and not returned in AS and
    XS data mode: customizedSecurityClassification

    Attributes:
        security_classification (str): securityClassification *Optional*
        customized_security_classification (str): customizedSecurityClassification
            *Optional*
    """

    __slots__: List[str] = [
        "security_classification",
        "customized_security_classification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("security_classification", "securityClassification", str),
            E(
                "customized_security_classification",
                "customizedSecurityClassification",
                str,
            ),
        )


class UserSelectiveCallAcceptanceGetCriteriaListResponse(OCIResponse):
    """
    Response to the `UserSelectiveCallAcceptanceGetCriteriaListRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted", "Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSelectiveCallRejectionGetCriteriaListResponse(OCIResponse):
    """
    Response to the `UserSelectiveCallRejectionGetCriteriaListRequest()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted", "Holiday Schedule", "Calls To Type", "Calls To
    Number" and "Calls To Extension". The following columns are only returned in AS data
    mode: "Calls To Type", "Calls To Number" and "Calls To Extension" The possible values
    for the "Calls To Type" column are the following or a combination of them separated by
    comma: - Primary - Alternate X (where x is a number between 1 and 10) - Mobility The
    possible values for the "Calls To Number" column are the following or a combination of
    them separated by comma: - The value of the phone number for the corresponding Calls
    To Type, when the number is available.  i.e.  Alternate 1 may have extension, but no
    number.  - When no number is available a blank space is provided instead.  The
    possible values for the "Calls To Extension" column are the following or a combination
    of them separated by comma: - The value of the extension for the corresponding Calls
    To Type, when the extension is available.  i.e.  Primary may have number, but no
    extension.  - For Mobility Calls To Type, this is always blank.  - When no extension
    is available a blank space is provided instead.

    Attributes:
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSeriesCompletionGetResponse(OCIResponse):
    """
    Response to the `UserSeriesCompletionGetRequest()`.

    Identifies which Series Completion group the user belongs to and the list of users in
    the group.  Contains a table with column headings: "User Id", "Last Name", "First
    Name", "Hiragana Last Name", "Hiragana First Name", "Department", "Phone Number",
    "Extension", "Email Address".

    Attributes:
        name (str): name *Optional*
        user_table (List(userTable)): userTable - *Table* array of userTable named tuples
    """

    __slots__: List[str] = [
        "name",
        "user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("name", "name", str),
            E(
                "user_table",
                "userTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserServiceGetAssignmentListResponse(OCIResponse):
    """
    Response to `UserServiceGetAssignmentListRequest()`.

    Contains two tables, one for the service packs, and one for the user services.  The
    user table has the column headings: "Service Name", "Assigned", The service pack
    table's column headings are: "Service Pack Name", "Assigned", "Description". The
    "Assigned" column has either a true or false value

    Attributes:
        service_packs_assignment_table (List(servicePacksAssignmentTable)):
            servicePacksAssignmentTable - *Table* array of servicePacksAssignmentTable
            named tuples
        user_services_assignment_table (List(userServicesAssignmentTable)):
            userServicesAssignmentTable - *Table* array of userServicesAssignmentTable
            named tuples
    """

    __slots__: List[str] = [
        "service_packs_assignment_table",
        "user_services_assignment_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_packs_assignment_table",
                "servicePacksAssignmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "user_services_assignment_table",
                "userServicesAssignmentTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserServiceIsAssignedResponse(OCIResponse):
    """
    Returns true if the UserService or service pack is assigned, otherwise false.


    Attributes:
        is_assigned (bool): isAssigned
    """

    __slots__: List[str] = [
        "is_assigned",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_assigned", "isAssigned", bool, is_required=True),)


class UserShInterfaceGetPublicIdDataResponse(OCIResponse):
    """
    Response to the `UserShInterfaceGetPublicIdDataRequest()`.

    The response contains the Sh non-transparent data for the specified Public User
    Identity.  The data also includes a userId, userType, and endpointType.  Replaced by:
    `UserShInterfaceGetPublicIdDataResponse21sp1()`.

    Attributes:
        user_id (str): userId
        user_type (str): userType
        endpoint_type (str): endpointType
        scscf_name (str): SCSCFName *Optional*
        ims_user_state (str): IMSUserState
    """

    __slots__: List[str] = [
        "user_id",
        "user_type",
        "endpoint_type",
        "scscf_name",
        "ims_user_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id", "userId", str, is_required=True),
            E("user_type", "userType", str, is_required=True),
            E("endpoint_type", "endpointType", str, is_required=True),
            E("scscf_name", "SCSCFName", str),
            E("ims_user_state", "IMSUserState", str, is_required=True),
        )


class UserShInterfaceGetPublicIdDataResponse21sp1(OCIResponse):
    """
    Response to the `UserShInterfaceGetPublicIdDataRequest21sp1()`.

    The response contains the Sh non-transparent data for the specified Public User
    Identity.  The data also includes a userId, userType, and endpointType.  The value
    Mobility in Endpoint Type is only applicable in AS data mode.

    Attributes:
        user_id (str): userId
        user_type (str): userType
        endpoint_type (str): endpointType
        scscf_name (str): SCSCFName *Optional*
        ims_user_state (str): IMSUserState
    """

    __slots__: List[str] = [
        "user_id",
        "user_type",
        "endpoint_type",
        "scscf_name",
        "ims_user_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id", "userId", str, is_required=True),
            E("user_type", "userType", str, is_required=True),
            E("endpoint_type", "endpointType", str, is_required=True),
            E("scscf_name", "SCSCFName", str),
            E("ims_user_state", "IMSUserState", str, is_required=True),
        )


class UserSharedCallAppearanceGetEndpointResponse(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetEndpointRequest()`.

    Replaced by: `UserSharedCallAppearanceGetEndpointResponse21()` in XS data mode

    Attributes:
        is_active (bool): isActive
        allow_origination (bool): allowOrigination
        allow_termination (bool): allowTermination
    """

    __slots__: List[str] = [
        "is_active",
        "allow_origination",
        "allow_termination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("allow_origination", "allowOrigination", bool, is_required=True),
            E("allow_termination", "allowTermination", bool, is_required=True),
        )


class UserSharedCallAppearanceGetEndpointResponse22(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetEndpointRequest()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    hotlineContact The following elements are only used in AS data mode and a value false
    is returned in the XS mode: useHotline

    Attributes:
        is_active (bool): isActive
        allow_origination (bool): allowOrigination
        allow_termination (bool): allowTermination
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "allow_origination",
        "allow_termination",
        "use_hotline",
        "hotline_contact",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("allow_origination", "allowOrigination", bool, is_required=True),
            E("allow_termination", "allowTermination", bool, is_required=True),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
        )


class UserSharedCallAppearanceGetResponse14(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetRequest14()`.

    The endpointTable contains columns: "Device Level", "Device Name", "Device Type",
    "Line/Port", "SIP Contact". The "Device Level" column contains one of the
    AccessDeviceLevel enumerated constants.

    Replaced By: `UserSharedCallAppearanceGetResponse14sp2()`

    Attributes:
        alert_all_appearances_for_click_to_dial_calls (bool):
            alertAllAppearancesForClickToDialCalls
        max_appearances (int): maxAppearances
        enable_multiple_call_arrangement (bool): enableMultipleCallArrangement
        multiple_call_arrangement_is_active (bool): multipleCallArrangementIsActive
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
        allow_bridging_between_locations (bool): allowBridgingBetweenLocations
        bridge_warning_tone (str): bridgeWarningTone
    """

    __slots__: List[str] = [
        "alert_all_appearances_for_click_to_dial_calls",
        "max_appearances",
        "enable_multiple_call_arrangement",
        "multiple_call_arrangement_is_active",
        "endpoint_table",
        "allow_bridging_between_locations",
        "bridge_warning_tone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_appearances_for_click_to_dial_calls",
                "alertAllAppearancesForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E("max_appearances", "maxAppearances", int, is_required=True),
            E(
                "enable_multiple_call_arrangement",
                "enableMultipleCallArrangement",
                bool,
                is_required=True,
            ),
            E(
                "multiple_call_arrangement_is_active",
                "multipleCallArrangementIsActive",
                bool,
                is_required=True,
            ),
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_bridging_between_locations",
                "allowBridgingBetweenLocations",
                bool,
                is_required=True,
            ),
            E("bridge_warning_tone", "bridgeWarningTone", str, is_required=True),
        )


class UserSharedCallAppearanceGetResponse14sp2(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetRequest14sp2()`.

    The endpointTable contains columns: "Device Level", "Device Name", "Device Type",
    "Line/Port", "SIP Contact". The "Device Level" column contains one of the
    AccessDeviceLevel enumerated constants.

    Attributes:
        alert_all_appearances_for_click_to_dial_calls (bool):
            alertAllAppearancesForClickToDialCalls
        max_appearances (int): maxAppearances
        allow_sca_call_retrieve (bool): allowSCACallRetrieve
        enable_multiple_call_arrangement (bool): enableMultipleCallArrangement
        multiple_call_arrangement_is_active (bool): multipleCallArrangementIsActive
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
        allow_bridging_between_locations (bool): allowBridgingBetweenLocations
        bridge_warning_tone (str): bridgeWarningTone
    """

    __slots__: List[str] = [
        "alert_all_appearances_for_click_to_dial_calls",
        "max_appearances",
        "allow_sca_call_retrieve",
        "enable_multiple_call_arrangement",
        "multiple_call_arrangement_is_active",
        "endpoint_table",
        "allow_bridging_between_locations",
        "bridge_warning_tone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_appearances_for_click_to_dial_calls",
                "alertAllAppearancesForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E("max_appearances", "maxAppearances", int, is_required=True),
            E(
                "allow_sca_call_retrieve",
                "allowSCACallRetrieve",
                bool,
                is_required=True,
            ),
            E(
                "enable_multiple_call_arrangement",
                "enableMultipleCallArrangement",
                bool,
                is_required=True,
            ),
            E(
                "multiple_call_arrangement_is_active",
                "multipleCallArrangementIsActive",
                bool,
                is_required=True,
            ),
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_bridging_between_locations",
                "allowBridgingBetweenLocations",
                bool,
                is_required=True,
            ),
            E("bridge_warning_tone", "bridgeWarningTone", str, is_required=True),
        )


class UserSharedCallAppearanceGetResponse16sp2(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetRequest()`.

    The endpointTable contains columns: "Device Level", "Device Name", "Device Type",
    "Line/Port", "SIP Contact", "Port Number". "Private Identity" . The following columns
    are only returned in XS data mode: "Private Identity" The "Device Level" column
    contains one of the AccessDeviceLevel enumerated constants.  Port numbers are only
    used by devices with static line ordering.  The following elements are only used in AS
    data mode: enableCallParkNotification Replaced by:
    `UserSharedCallAppearanceGetResponse21sp1()`.

    Attributes:
        alert_all_appearances_for_click_to_dial_calls (bool):
            alertAllAppearancesForClickToDialCalls
        alert_all_appearances_for_group_paging_calls (bool):
            alertAllAppearancesForGroupPagingCalls
        max_appearances (int): maxAppearances
        allow_sca_call_retrieve (bool): allowSCACallRetrieve
        enable_multiple_call_arrangement (bool): enableMultipleCallArrangement
        multiple_call_arrangement_is_active (bool): multipleCallArrangementIsActive
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
        allow_bridging_between_locations (bool): allowBridgingBetweenLocations
        bridge_warning_tone (str): bridgeWarningTone
        enable_call_park_notification (bool): enableCallParkNotification
    """

    __slots__: List[str] = [
        "alert_all_appearances_for_click_to_dial_calls",
        "alert_all_appearances_for_group_paging_calls",
        "max_appearances",
        "allow_sca_call_retrieve",
        "enable_multiple_call_arrangement",
        "multiple_call_arrangement_is_active",
        "endpoint_table",
        "allow_bridging_between_locations",
        "bridge_warning_tone",
        "enable_call_park_notification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_appearances_for_click_to_dial_calls",
                "alertAllAppearancesForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_all_appearances_for_group_paging_calls",
                "alertAllAppearancesForGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E("max_appearances", "maxAppearances", int, is_required=True),
            E(
                "allow_sca_call_retrieve",
                "allowSCACallRetrieve",
                bool,
                is_required=True,
            ),
            E(
                "enable_multiple_call_arrangement",
                "enableMultipleCallArrangement",
                bool,
                is_required=True,
            ),
            E(
                "multiple_call_arrangement_is_active",
                "multipleCallArrangementIsActive",
                bool,
                is_required=True,
            ),
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_bridging_between_locations",
                "allowBridgingBetweenLocations",
                bool,
                is_required=True,
            ),
            E("bridge_warning_tone", "bridgeWarningTone", str, is_required=True),
            E(
                "enable_call_park_notification",
                "enableCallParkNotification",
                bool,
                is_required=True,
            ),
        )


class UserSharedCallAppearanceGetResponse21sp1(OCIResponse):
    """
    Response to the `UserSharedCallAppearanceGetRequest21sp1()`.

    The endpointTable contains columns: "Device Level", "Device Name", "Device Type",
    "Line/Port", "SIP Contact", "Port Number", "Device Support Visual Device Management",
    "Is Active", "Allow Origination", "Allow Termination", "Mac Address", "Path Header".
    The "Device Level" column contains one of the AccessDeviceLevel enumerated constants.
    The "SIP Contact" column does not contain "sip:" in 21sp1. Port numbers are only used
    by devices with static line ordering.

    Attributes:
        alert_all_appearances_for_click_to_dial_calls (bool):
            alertAllAppearancesForClickToDialCalls
        alert_all_appearances_for_group_paging_calls (bool):
            alertAllAppearancesForGroupPagingCalls
        max_appearances (int): maxAppearances
        allow_sca_call_retrieve (bool): allowSCACallRetrieve
        enable_multiple_call_arrangement (bool): enableMultipleCallArrangement
        multiple_call_arrangement_is_active (bool): multipleCallArrangementIsActive
        endpoint_table (List(endpointTable)): endpointTable - *Table* array of
            endpointTable named tuples
        allow_bridging_between_locations (bool): allowBridgingBetweenLocations
        bridge_warning_tone (str): bridgeWarningTone
        enable_call_park_notification (bool): enableCallParkNotification
    """

    __slots__: List[str] = [
        "alert_all_appearances_for_click_to_dial_calls",
        "alert_all_appearances_for_group_paging_calls",
        "max_appearances",
        "allow_sca_call_retrieve",
        "enable_multiple_call_arrangement",
        "multiple_call_arrangement_is_active",
        "endpoint_table",
        "allow_bridging_between_locations",
        "bridge_warning_tone",
        "enable_call_park_notification",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "alert_all_appearances_for_click_to_dial_calls",
                "alertAllAppearancesForClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_all_appearances_for_group_paging_calls",
                "alertAllAppearancesForGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E("max_appearances", "maxAppearances", int, is_required=True),
            E(
                "allow_sca_call_retrieve",
                "allowSCACallRetrieve",
                bool,
                is_required=True,
            ),
            E(
                "enable_multiple_call_arrangement",
                "enableMultipleCallArrangement",
                bool,
                is_required=True,
            ),
            E(
                "multiple_call_arrangement_is_active",
                "multipleCallArrangementIsActive",
                bool,
                is_required=True,
            ),
            E(
                "endpoint_table",
                "endpointTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_bridging_between_locations",
                "allowBridgingBetweenLocations",
                bool,
                is_required=True,
            ),
            E("bridge_warning_tone", "bridgeWarningTone", str, is_required=True),
            E(
                "enable_call_park_notification",
                "enableCallParkNotification",
                bool,
                is_required=True,
            ),
        )


class UserSilentAlertingGetResponse(OCIResponse):
    """
    Response to `UserSilentAlertingGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserSimultaneousRingFamilyGetPhoneNumberResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingFamilyGetPhoneNumberRequest()`.


    Attributes:
        answer_confirmation_required (bool): answerConfirmationRequired
    """

    __slots__: List[str] = [
        "answer_confirmation_required",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "answer_confirmation_required",
                "answerConfirmationRequired",
                bool,
                is_required=True,
            ),
        )


class UserSimultaneousRingFamilyGetResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingFamilyGetRequest()`.

    Replaced By: `UserSimultaneousRingFamilyGetResponse14sp4()`

    Attributes:
        is_active (bool): isActive
        incoming_calls (str): incomingCalls
        sim_ring_phone_number (List[str]): simRingPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "incoming_calls",
        "sim_ring_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("incoming_calls", "incomingCalls", str, is_required=True),
            E("sim_ring_phone_number", "simRingPhoneNumber", str, is_array=True),
        )


class UserSimultaneousRingFamilyGetResponse14sp4(OCIResponse):
    """
    Response to the `UserSimultaneousRingFamilyGetRequest14sp4()`.

    Contains a table with column headings: "Phone Number", "Answer Confirmation Required".

    Attributes:
        is_active (bool): isActive
        incoming_calls (str): incomingCalls
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "incoming_calls",
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("incoming_calls", "incomingCalls", str, is_required=True),
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSimultaneousRingPersonalGetPhoneNumberResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingPersonalGetPhoneNumberRequest()`.


    Attributes:
        answer_confirmation_required (bool): answerConfirmationRequired
    """

    __slots__: List[str] = [
        "answer_confirmation_required",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "answer_confirmation_required",
                "answerConfirmationRequired",
                bool,
                is_required=True,
            ),
        )


class UserSimultaneousRingPersonalGetResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingPersonalGetRequest()`.

    Replaced By: `UserSimultaneousRingPersonalGetResponse14sp4()`

    Attributes:
        is_active (bool): isActive
        incoming_calls (str): incomingCalls
        sim_ring_phone_number (List[str]): simRingPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "incoming_calls",
        "sim_ring_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("incoming_calls", "incomingCalls", str, is_required=True),
            E("sim_ring_phone_number", "simRingPhoneNumber", str, is_array=True),
        )


class UserSimultaneousRingPersonalGetResponse14sp4(OCIResponse):
    """
    Response to the `UserSimultaneousRingPersonalGetRequest14sp4()`.

    Contains a table with column headings: "Phone Number", "Answer Confirmation Required".

    Attributes:
        is_active (bool): isActive
        incoming_calls (str): incomingCalls
        phone_number_table (List(phoneNumberTable)): phoneNumberTable - *Table* array of
            phoneNumberTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "incoming_calls",
        "phone_number_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("incoming_calls", "incomingCalls", str, is_required=True),
            E(
                "phone_number_table",
                "phoneNumberTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSingleSignOnCreateDeviceTokenResponse(OCIResponse):
    """
    Response to `UserSingleSignOnCreateDeviceTokenRequest()`.


    Attributes:
        device_token (str): deviceToken
    """

    __slots__: List[str] = [
        "device_token",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("device_token", "deviceToken", str, is_required=True),)


class UserSpeedDial100GetResponse(OCIResponse):
    """
    Response to the `UserSpeedDial100GetRequest()`.


    Attributes:
        phone_number (str): phoneNumber
        description (str): description *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
        "description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("phone_number", "phoneNumber", str, is_required=True),
            E("description", "description", str),
        )


class UserTerminatingAlternateTrunkIdentityGetResponse(OCIResponse):
    """
    Response to `UserTerminatingAlternateTrunkIdentityGetRequest()`.


    Attributes:
        terminating_trunk_identity (str): terminatingTrunkIdentity *Optional*
    """

    __slots__: List[str] = [
        "terminating_trunk_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("terminating_trunk_identity", "terminatingTrunkIdentity", str),)


class UserTerminatingClosedUserGroupGetResponse(OCIResponse):
    """
    Response to the `UserTerminatingClosedUserGroupGetRequest()`.

    Returns user Terminating CUG service settings.

    Attributes:
        user_interlock_code (str): userInterlockCode *Optional*
    """

    __slots__: List[str] = [
        "user_interlock_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("user_interlock_code", "userInterlockCode", str),)


class UserThirdPartyVoiceMailSupportGetResponse13mp16(OCIResponse):
    """
    Response to `UserThirdPartyVoiceMailSupportGetRequest13mp16()`.

    Replaced by: `UserThirdPartyVoiceMailSupportGetResponse17()`

    Attributes:
        is_active (bool): isActive
        busy_redirect_to_voice_mail (bool): busyRedirectToVoiceMail
        no_answer_redirect_to_voice_mail (bool): noAnswerRedirectToVoiceMail
        server_selection (str): serverSelection
        user_server (str): userServer *Optional*
        mailbox_id_type (str): mailboxIdType
        mailbox_url (str): mailboxURL *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        always_redirect_to_voice_mail (bool): alwaysRedirectToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "busy_redirect_to_voice_mail",
        "no_answer_redirect_to_voice_mail",
        "server_selection",
        "user_server",
        "mailbox_id_type",
        "mailbox_url",
        "no_answer_number_of_rings",
        "always_redirect_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "busy_redirect_to_voice_mail",
                "busyRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "no_answer_redirect_to_voice_mail",
                "noAnswerRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E("server_selection", "serverSelection", str, is_required=True),
            E("user_server", "userServer", str),
            E("mailbox_id_type", "mailboxIdType", str, is_required=True),
            E("mailbox_url", "mailboxURL", str),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "always_redirect_to_voice_mail",
                "alwaysRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
        )


class UserThirdPartyVoiceMailSupportGetResponse17(OCIResponse):
    """
    Response to `UserThirdPartyVoiceMailSupportGetRequest17()`.


    Attributes:
        is_active (bool): isActive
        busy_redirect_to_voice_mail (bool): busyRedirectToVoiceMail
        no_answer_redirect_to_voice_mail (bool): noAnswerRedirectToVoiceMail
        server_selection (str): serverSelection
        user_server (str): userServer *Optional*
        mailbox_id_type (str): mailboxIdType
        mailbox_url (str): mailboxURL *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        always_redirect_to_voice_mail (bool): alwaysRedirectToVoiceMail
        out_of_primary_zone_redirect_to_voice_mail (bool):
            outOfPrimaryZoneRedirectToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "busy_redirect_to_voice_mail",
        "no_answer_redirect_to_voice_mail",
        "server_selection",
        "user_server",
        "mailbox_id_type",
        "mailbox_url",
        "no_answer_number_of_rings",
        "always_redirect_to_voice_mail",
        "out_of_primary_zone_redirect_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "busy_redirect_to_voice_mail",
                "busyRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "no_answer_redirect_to_voice_mail",
                "noAnswerRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E("server_selection", "serverSelection", str, is_required=True),
            E("user_server", "userServer", str),
            E("mailbox_id_type", "mailboxIdType", str, is_required=True),
            E("mailbox_url", "mailboxURL", str),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "always_redirect_to_voice_mail",
                "alwaysRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "out_of_primary_zone_redirect_to_voice_mail",
                "outOfPrimaryZoneRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
        )


class UserTimeScheduleGetListResponse(OCIResponse):
    """
    Response to the `UserTimeScheduleGetListRequest()`.

    The column headings are "Time Schedule" and "Type".

    The response contains user's personal and user's group's schedule names.

    Attributes:
        time_schedule_table (List(timeScheduleTable)): timeScheduleTable - *Table* array
            of timeScheduleTable named tuples
    """

    __slots__: List[str] = [
        "time_schedule_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "time_schedule_table",
                "timeScheduleTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserVoiceMessagingUserGetAdvancedVoiceManagementResponse(OCIResponse):
    """
    Response to the `UserVoiceMessagingUserGetAdvancedVoiceManagementRequest()`.

    Replaced By: `UserVoiceMessagingUserGetAdvancedVoiceManagementResponse14sp3()`

    Attributes:
        mail_server_selection (str): mailServerSelection
        group_mail_server_email_address (str): groupMailServerEmailAddress *Optional*
        group_mail_server_user_id (str): groupMailServerUserId *Optional*
        group_mail_server_password (str): groupMailServerPassword *Optional*
        use_group_default_mail_server_full_mailbox_limit (bool):
            useGroupDefaultMailServerFullMailboxLimit *Optional*
        group_mail_server_full_mailbox_limit (int): groupMailServerFullMailboxLimit
            *Optional*
        personal_mail_server_net_address (str): personalMailServerNetAddress *Optional*
        personal_mail_server_protocol (str): personalMailServerProtocol
        personal_mail_server_real_delete_for_imap (bool):
            personalMailServerRealDeleteForImap
        personal_mail_server_email_address (str): personalMailServerEmailAddress
            *Optional*
        personal_mail_server_user_id (str): personalMailServerUserId *Optional*
        personal_mail_server_password (str): personalMailServerPassword *Optional*
    """

    __slots__: List[str] = [
        "mail_server_selection",
        "group_mail_server_email_address",
        "group_mail_server_user_id",
        "group_mail_server_password",
        "use_group_default_mail_server_full_mailbox_limit",
        "group_mail_server_full_mailbox_limit",
        "personal_mail_server_net_address",
        "personal_mail_server_protocol",
        "personal_mail_server_real_delete_for_imap",
        "personal_mail_server_email_address",
        "personal_mail_server_user_id",
        "personal_mail_server_password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("mail_server_selection", "mailServerSelection", str, is_required=True),
            E("group_mail_server_email_address", "groupMailServerEmailAddress", str),
            E("group_mail_server_user_id", "groupMailServerUserId", str),
            E("group_mail_server_password", "groupMailServerPassword", str),
            E(
                "use_group_default_mail_server_full_mailbox_limit",
                "useGroupDefaultMailServerFullMailboxLimit",
                bool,
            ),
            E(
                "group_mail_server_full_mailbox_limit",
                "groupMailServerFullMailboxLimit",
                int,
            ),
            E("personal_mail_server_net_address", "personalMailServerNetAddress", str),
            E(
                "personal_mail_server_protocol",
                "personalMailServerProtocol",
                str,
                is_required=True,
            ),
            E(
                "personal_mail_server_real_delete_for_imap",
                "personalMailServerRealDeleteForImap",
                bool,
                is_required=True,
            ),
            E(
                "personal_mail_server_email_address",
                "personalMailServerEmailAddress",
                str,
            ),
            E("personal_mail_server_user_id", "personalMailServerUserId", str),
            E("personal_mail_server_password", "personalMailServerPassword", str),
        )


class UserVoiceMessagingUserGetAdvancedVoiceManagementResponse14sp3(OCIResponse):
    """
    Response to the `UserVoiceMessagingUserGetAdvancedVoiceManagementRequest14sp3()`.


    Attributes:
        mail_server_selection (str): mailServerSelection
        group_mail_server_email_address (str): groupMailServerEmailAddress *Optional*
        group_mail_server_user_id (str): groupMailServerUserId *Optional*
        use_group_default_mail_server_full_mailbox_limit (bool):
            useGroupDefaultMailServerFullMailboxLimit *Optional*
        group_mail_server_full_mailbox_limit (int): groupMailServerFullMailboxLimit
            *Optional*
        personal_mail_server_net_address (str): personalMailServerNetAddress *Optional*
        personal_mail_server_protocol (str): personalMailServerProtocol
        personal_mail_server_real_delete_for_imap (bool):
            personalMailServerRealDeleteForImap
        personal_mail_server_email_address (str): personalMailServerEmailAddress
            *Optional*
        personal_mail_server_user_id (str): personalMailServerUserId *Optional*
    """

    __slots__: List[str] = [
        "mail_server_selection",
        "group_mail_server_email_address",
        "group_mail_server_user_id",
        "use_group_default_mail_server_full_mailbox_limit",
        "group_mail_server_full_mailbox_limit",
        "personal_mail_server_net_address",
        "personal_mail_server_protocol",
        "personal_mail_server_real_delete_for_imap",
        "personal_mail_server_email_address",
        "personal_mail_server_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("mail_server_selection", "mailServerSelection", str, is_required=True),
            E("group_mail_server_email_address", "groupMailServerEmailAddress", str),
            E("group_mail_server_user_id", "groupMailServerUserId", str),
            E(
                "use_group_default_mail_server_full_mailbox_limit",
                "useGroupDefaultMailServerFullMailboxLimit",
                bool,
            ),
            E(
                "group_mail_server_full_mailbox_limit",
                "groupMailServerFullMailboxLimit",
                int,
            ),
            E("personal_mail_server_net_address", "personalMailServerNetAddress", str),
            E(
                "personal_mail_server_protocol",
                "personalMailServerProtocol",
                str,
                is_required=True,
            ),
            E(
                "personal_mail_server_real_delete_for_imap",
                "personalMailServerRealDeleteForImap",
                bool,
                is_required=True,
            ),
            E(
                "personal_mail_server_email_address",
                "personalMailServerEmailAddress",
                str,
            ),
            E("personal_mail_server_user_id", "personalMailServerUserId", str),
        )


class UserVoiceMessagingUserGetAliasListResponse(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetAliasListRequest()`.


    Attributes:
        phone_number (List[str]): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("phone_number", "phoneNumber", str, is_array=True),)


class UserVoiceMessagingUserGetDistributionListResponse(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetDistributionListRequest()`.


    Attributes:
        description (str): description *Optional*
        phone_number (List[str]): phoneNumber *Optional*
    """

    __slots__: List[str] = [
        "description",
        "phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("phone_number", "phoneNumber", str, is_array=True),
        )


class UserVoiceMessagingUserGetOutgoingSMDIMWIResponse(OCIResponse):
    """
    Response to the `UserVoiceMessagingUserGetOutgoingSMDIMWIRequest()`.


    Attributes:
        is_active (bool): isActive
        outgoing_smdimwi_phone_number (List[str]): outgoingSMDIMWIPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "outgoing_smdimwi_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "outgoing_smdimwi_phone_number",
                "outgoingSMDIMWIPhoneNumber",
                str,
                is_array=True,
            ),
        )


class UserVoiceMessagingUserGetVoiceManagementResponse13mp8(OCIResponse):
    """
    Response to the `UserVoiceMessagingUserGetVoiceManagementRequest13mp8()`.

    Replaced by: `UserVoiceMessagingUserGetVoiceManagementResponse17()`

    Attributes:
        is_active (bool): isActive
        processing (str): processing
        voice_message_delivery_email_address (str): voiceMessageDeliveryEmailAddress
            *Optional*
        use_phone_message_waiting_indicator (bool): usePhoneMessageWaitingIndicator
        send_voice_message_notify_email (bool): sendVoiceMessageNotifyEmail
        voice_message_notify_email_address (str): voiceMessageNotifyEmailAddress
            *Optional*
        send_carbon_copy_voice_message (bool): sendCarbonCopyVoiceMessage
        voice_message_carbon_copy_email_address (str): voiceMessageCarbonCopyEmailAddress
            *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        always_redirect_to_voice_mail (bool): alwaysRedirectToVoiceMail
        busy_redirect_to_voice_mail (bool): busyRedirectToVoiceMail
        no_answer_redirect_to_voice_mail (bool): noAnswerRedirectToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "processing",
        "voice_message_delivery_email_address",
        "use_phone_message_waiting_indicator",
        "send_voice_message_notify_email",
        "voice_message_notify_email_address",
        "send_carbon_copy_voice_message",
        "voice_message_carbon_copy_email_address",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "always_redirect_to_voice_mail",
        "busy_redirect_to_voice_mail",
        "no_answer_redirect_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("processing", "processing", str, is_required=True),
            E(
                "voice_message_delivery_email_address",
                "voiceMessageDeliveryEmailAddress",
                str,
            ),
            E(
                "use_phone_message_waiting_indicator",
                "usePhoneMessageWaitingIndicator",
                bool,
                is_required=True,
            ),
            E(
                "send_voice_message_notify_email",
                "sendVoiceMessageNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "voice_message_notify_email_address",
                "voiceMessageNotifyEmailAddress",
                str,
            ),
            E(
                "send_carbon_copy_voice_message",
                "sendCarbonCopyVoiceMessage",
                bool,
                is_required=True,
            ),
            E(
                "voice_message_carbon_copy_email_address",
                "voiceMessageCarbonCopyEmailAddress",
                str,
            ),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "always_redirect_to_voice_mail",
                "alwaysRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "busy_redirect_to_voice_mail",
                "busyRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "no_answer_redirect_to_voice_mail",
                "noAnswerRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
        )


class UserVoiceMessagingUserGetVoiceManagementResponse17(OCIResponse):
    """
    Response to the `UserVoiceMessagingUserGetVoiceManagementRequest17()`.


    Attributes:
        is_active (bool): isActive
        processing (str): processing
        voice_message_delivery_email_address (str): voiceMessageDeliveryEmailAddress
            *Optional*
        use_phone_message_waiting_indicator (bool): usePhoneMessageWaitingIndicator
        send_voice_message_notify_email (bool): sendVoiceMessageNotifyEmail
        voice_message_notify_email_address (str): voiceMessageNotifyEmailAddress
            *Optional*
        send_carbon_copy_voice_message (bool): sendCarbonCopyVoiceMessage
        voice_message_carbon_copy_email_address (str): voiceMessageCarbonCopyEmailAddress
            *Optional*
        transfer_on_zero_to_phone_number (bool): transferOnZeroToPhoneNumber
        transfer_phone_number (str): transferPhoneNumber *Optional*
        always_redirect_to_voice_mail (bool): alwaysRedirectToVoiceMail
        busy_redirect_to_voice_mail (bool): busyRedirectToVoiceMail
        no_answer_redirect_to_voice_mail (bool): noAnswerRedirectToVoiceMail
        out_of_primary_zone_redirect_to_voice_mail (bool):
            outOfPrimaryZoneRedirectToVoiceMail
    """

    __slots__: List[str] = [
        "is_active",
        "processing",
        "voice_message_delivery_email_address",
        "use_phone_message_waiting_indicator",
        "send_voice_message_notify_email",
        "voice_message_notify_email_address",
        "send_carbon_copy_voice_message",
        "voice_message_carbon_copy_email_address",
        "transfer_on_zero_to_phone_number",
        "transfer_phone_number",
        "always_redirect_to_voice_mail",
        "busy_redirect_to_voice_mail",
        "no_answer_redirect_to_voice_mail",
        "out_of_primary_zone_redirect_to_voice_mail",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("processing", "processing", str, is_required=True),
            E(
                "voice_message_delivery_email_address",
                "voiceMessageDeliveryEmailAddress",
                str,
            ),
            E(
                "use_phone_message_waiting_indicator",
                "usePhoneMessageWaitingIndicator",
                bool,
                is_required=True,
            ),
            E(
                "send_voice_message_notify_email",
                "sendVoiceMessageNotifyEmail",
                bool,
                is_required=True,
            ),
            E(
                "voice_message_notify_email_address",
                "voiceMessageNotifyEmailAddress",
                str,
            ),
            E(
                "send_carbon_copy_voice_message",
                "sendCarbonCopyVoiceMessage",
                bool,
                is_required=True,
            ),
            E(
                "voice_message_carbon_copy_email_address",
                "voiceMessageCarbonCopyEmailAddress",
                str,
            ),
            E(
                "transfer_on_zero_to_phone_number",
                "transferOnZeroToPhoneNumber",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "always_redirect_to_voice_mail",
                "alwaysRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "busy_redirect_to_voice_mail",
                "busyRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "no_answer_redirect_to_voice_mail",
                "noAnswerRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
            E(
                "out_of_primary_zone_redirect_to_voice_mail",
                "outOfPrimaryZoneRedirectToVoiceMail",
                bool,
                is_required=True,
            ),
        )


class UserVoiceMessagingUserGetVoicePortalPasswordInfoResponse(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetVoicePortalPasswordInfoRequest()`.

    Replaced By: `UserPortalPasscodeGetInfoResponse()`

    Attributes:
        is_login_disabled (bool): isLoginDisabled
        expiration_days (int): expirationDays *Optional*
        does_not_expire (bool): doesNotExpire *Optional*
        password (str): password
    """

    __slots__: List[str] = [
        "is_login_disabled",
        "expiration_days",
        "does_not_expire",
        "password",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_login_disabled", "isLoginDisabled", bool, is_required=True),
            E("expiration_days", "expirationDays", int),
            E("does_not_expire", "doesNotExpire", bool),
            E("password", "password", str, is_required=True),
        )


class UserVoiceMessagingUserGetVoicePortalResponse(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetVoicePortalRequest()`.

    Replaced By: `UserVoiceMessagingUserGetVoicePortalResponse16()`

    Attributes:
        use_personalized_name (bool): usePersonalizedName
        voice_portal_auto_login (bool): voicePortalAutoLogin
        personalized_name_audio_file_description (str):
            personalizedNameAudioFileDescription *Optional*
    """

    __slots__: List[str] = [
        "use_personalized_name",
        "voice_portal_auto_login",
        "personalized_name_audio_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_personalized_name", "usePersonalizedName", bool, is_required=True),
            E(
                "voice_portal_auto_login",
                "voicePortalAutoLogin",
                bool,
                is_required=True,
            ),
            E(
                "personalized_name_audio_file_description",
                "personalizedNameAudioFileDescription",
                str,
            ),
        )


class UserVoiceMessagingUserGetVoicePortalResponse16(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetVoicePortalRequest16()`.


    Attributes:
        use_personalized_name (bool): usePersonalizedName
        voice_portal_auto_login (bool): voicePortalAutoLogin
        personalized_name_audio_file_description (str):
            personalizedNameAudioFileDescription *Optional*
        personalized_name_media_type (str): personalizedNameMediaType *Optional*
    """

    __slots__: List[str] = [
        "use_personalized_name",
        "voice_portal_auto_login",
        "personalized_name_audio_file_description",
        "personalized_name_media_type",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_personalized_name", "usePersonalizedName", bool, is_required=True),
            E(
                "voice_portal_auto_login",
                "voicePortalAutoLogin",
                bool,
                is_required=True,
            ),
            E(
                "personalized_name_audio_file_description",
                "personalizedNameAudioFileDescription",
                str,
            ),
            E("personalized_name_media_type", "personalizedNameMediaType", str),
        )


class UserVoicePortalCallingGetResponse(OCIResponse):
    """
    Response to `UserVoicePortalCallingGetRequest()`.


    Attributes:
        is_active (bool): isActive
    """

    __slots__: List[str] = [
        "is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("is_active", "isActive", bool, is_required=True),)


class UserXsiPolicyProfileGetResponse(OCIResponse):
    """
    Response to `UserXsiPolicyProfileGetRequest()`.


    Attributes:
        xsi_policy_profile (str): xsiPolicyProfile
    """

    __slots__: List[str] = [
        "xsi_policy_profile",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("xsi_policy_profile", "xsiPolicyProfile", str, is_required=True),)


class UserZoneCallingRestrictionsGetResponse(OCIResponse):
    """
    Gets the home zone for a user Response to a `UserZoneCallingRestrictionsGetRequest()`

    Attributes:
        home_zone_name (str): homeZoneName *Optional*
    """

    __slots__: List[str] = [
        "home_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (E("home_zone_name", "homeZoneName", str),)


class EnterpriseCommonPhoneListGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCommonPhoneListGetListRequest()`.

    The response contains the enterprise's common phone list.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("entry", "entry", OCI.PhoneListEntry, is_complex=True, is_array=True),
        )


class EnterpriseCommunicationBarringAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to the `EnterpriseCommunicationBarringAuthorizationCodeGetListRequest()`.

    Contains a list of Communication Barring Authorization Codes assigned to a group.

    Attributes:
        code (List[OCI.code]): code *Optional*
    """

    __slots__: List[str] = [
        "code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code",
                "code",
                OCI.CommunicationBarringAuthorizationCodeConfiguration,
                is_complex=True,
                is_array=True,
            ),
        )


class EnterpriseDepartmentGetAvailableParentListResponse(OCIResponse):
    """
    Response to `EnterpriseDepartmentGetAvailableParentListRequest()`.

    The response includes two parallel arrays of department keys and department display
    names.

    Attributes:
        department_key (List[OCI.departmentKey]): departmentKey *Optional*
        full_path_name (List[str]): fullPathName *Optional*
    """

    __slots__: List[str] = [
        "department_key",
        "full_path_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_key",
                "departmentKey",
                OCI.DepartmentKey,
                is_complex=True,
                is_array=True,
            ),
            E("full_path_name", "fullPathName", str, is_array=True),
        )


class EnterpriseDepartmentGetListResponse(OCIResponse):
    """
    Response to `EnterpriseDepartmentGetListRequest()`.

    The response includes two parallel arrays of department keys and department display
    names.

    Attributes:
        department_key (List[OCI.departmentKey]): departmentKey *Optional*
        full_path_name (List[str]): fullPathName *Optional*
    """

    __slots__: List[str] = [
        "department_key",
        "full_path_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_key",
                "departmentKey",
                OCI.DepartmentKey,
                is_complex=True,
                is_array=True,
            ),
            E("full_path_name", "fullPathName", str, is_array=True),
        )


class EnterpriseEnterpriseTrunkGetAvailableTrunkGroupListResponse(OCIResponse):
    """
    Response to `EnterpriseEnterpriseTrunkGetAvailableTrunkGroupListRequest()`.


    Attributes:
        trunk_group (List[OCI.trunkGroup]): trunkGroup *Optional*
    """

    __slots__: List[str] = [
        "trunk_group",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "trunk_group",
                "trunkGroup",
                OCI.EnterpriseTrunkTrunkGroupKey,
                is_complex=True,
                is_array=True,
            ),
        )


class EnterpriseVoiceVPNGetDefaultResponse(OCIResponse):
    """
    Response to `EnterpriseVoiceVPNGetDefaultResponse()`.


    Attributes:
        policy_selection (List[str]): policySelection
        digit_manipulation_operation (List[str]): digitManipulationOperation
        route_group_id (List[str]): routeGroupId *Optional*
        treatment (List[OCI.treatment]): treatment *Optional*
    """

    __slots__: List[str] = [
        "policy_selection",
        "digit_manipulation_operation",
        "route_group_id",
        "treatment",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "policy_selection",
                "policySelection",
                str,
                is_required=True,
                is_array=True,
            ),
            E(
                "digit_manipulation_operation",
                "digitManipulationOperation",
                str,
                is_required=True,
                is_array=True,
            ),
            E("route_group_id", "routeGroupId", str, is_array=True),
            E(
                "treatment",
                "treatment",
                OCI.EnterpriseVoiceVPNTreatmentEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class EnterpriseVoiceVPNGetPolicyResponse(OCIResponse):
    """
    Response to `EnterpriseVoiceVPNGetPolicyRequest()`.


    Attributes:
        min_extension_length (int): minExtensionLength
        max_extension_length (int): maxExtensionLength
        description (str): description *Optional*
        route_group_id (str): routeGroupId *Optional*
        policy_selection (str): policySelection
        digit_manipulation (List[OCI.digitManipulation]): digitManipulation *Optional*
        treatment_id (str): treatmentId *Optional*
    """

    __slots__: List[str] = [
        "min_extension_length",
        "max_extension_length",
        "description",
        "route_group_id",
        "policy_selection",
        "digit_manipulation",
        "treatment_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("min_extension_length", "minExtensionLength", int, is_required=True),
            E("max_extension_length", "maxExtensionLength", int, is_required=True),
            E("description", "description", str),
            E("route_group_id", "routeGroupId", str),
            E("policy_selection", "policySelection", str, is_required=True),
            E(
                "digit_manipulation",
                "digitManipulation",
                OCI.EnterpriseVoiceVPNDigitManipulation,
                is_complex=True,
                is_array=True,
            ),
            E("treatment_id", "treatmentId", str),
        )


class GroupAccessDeviceGetLinkedLeafDeviceListResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetLinkedLeafDeviceListRequest()`.


    Attributes:
        tree_device_link_id (str): treeDeviceLinkId
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "tree_device_link_id",
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("tree_device_link_id", "treeDeviceLinkId", str, is_required=True),
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupAccessDeviceGetResponse14(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest14()`.

    Replaced By: `GroupAccessDeviceGetResponse14sp3()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
        )


class GroupAccessDeviceGetResponse14sp3(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest14sp3()`.

    Replaced By: `GroupAccessDeviceGetResponse14sp6()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
        )


class GroupAccessDeviceGetResponse14sp6(OCIResponse):
    """
    Response to: `GroupAccessDeviceGetRequest14sp6()` Replaced by:
    `GroupAccessDeviceGetResponse16()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class GroupAccessDeviceGetResponse16(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest16()`.


    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class GroupAccessDeviceGetResponse18sp1(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest18sp1()`.

    Replaced by: `GroupAccessDeviceGetResponse22()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
        )


class GroupAccessDeviceGetResponse22(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest22()`.

    Replaced by `GroupAccessDeviceGetResponse24()`. The following elements are only used
    in AS data mode: useHotline hotlineContact

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
        )


class GroupAccessDeviceGetResponse22V2(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest22V2()`.

    The following elements are only returned in AS data mode: useHotline hotlineContact
    serviceProviderId groupId The following elements are only used in AS data mode and not
    returned in XS data mode: deviceName deviceExternalId Replaced by:
    `GroupAccessDeviceGetResponse24()` in AS data mode.

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
        "service_provider_id",
        "group_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class GroupAccessDeviceGetResponse22V3(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest22V3()`.

    The following elements are only returned in AS data mode: serviceProviderId groupId
    The following elements are only used in AS data mode and not returned in XS data mode:
    deviceName deviceExternalId Replaced by `GroupAccessDeviceGetResponse24()`.

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "service_provider_id",
        "group_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class GroupAccessDeviceGetResponse24(OCIResponse):
    """
    Response to `GroupAccessDeviceGetRequest24()`.

    The following elements are only used in AS data mode: serviceProviderId groupId
    deviceName deviceExternalId

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol *Optional*
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        configuration_mode (str): configurationMode *Optional*
        configuration_file_name (str): configurationFileName *Optional*
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "configuration_mode",
        "configuration_file_name",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "service_provider_id",
        "group_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("configuration_mode", "configurationMode", str),
            E("configuration_file_name", "configurationFileName", str),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class GroupAccountAuthorizationCodesGetListResponse(OCIResponse):
    """
    Response to `GroupAccountAuthorizationCodesGetListRequest()`.


    Attributes:
        code_entry (List[OCI.codeEntry]): codeEntry *Optional*
    """

    __slots__: List[str] = [
        "code_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code_entry",
                "codeEntry",
                OCI.AccountAuthorizationCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupAnnouncementFileGetResponse22(OCIResponse):
    """
    Response to `GroupAnnouncementFileGetRequest22()`.

    The response contains the file size, uploaded timestamp, description and usage for an
    announcement file in the user announcement repository.  The usage table has columns
    "Service Name", and "Instance Name". The Service Name values correspond to string
    values of the GroupService and UserService data types.  With the exception of the
    string "Voice Portal" which is returned when the announcement is being used by Voice
    Portal Personalized Name.  The following data elements are only used in AS data mode:
    announcementFileExternalId

    Attributes:
        description (str): description
        filesize (int): filesize
        last_uploaded (str): lastUploaded
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        announcement_file_key (OCI.announcementFileKey): announcementFileKey
        announcement_file_external_id (str): announcementFileExternalId *Optional*
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "filesize",
        "last_uploaded",
        "service_provider_id",
        "group_id",
        "announcement_file_key",
        "announcement_file_external_id",
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str, is_required=True),
            E("filesize", "filesize", int, is_required=True),
            E("last_uploaded", "lastUploaded", str, is_required=True),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E(
                "announcement_file_key",
                "announcementFileKey",
                OCI.AnnouncementFileKey,
                is_complex=True,
                is_required=True,
            ),
            E("announcement_file_external_id", "announcementFileExternalId", str),
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupBroadWorksMobilityGetResponse22V4(OCIResponse):
    """
    The response to a `GroupBroadWorksMobilityGetRequest22V4()`.


    Attributes:
        use_setting_level (str): useSettingLevel
        enable_location_services (bool): enableLocationServices
        enable_msrn_lookup (bool): enableMSRNLookup
        enable_mobile_state_checking (bool): enableMobileStateChecking
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        enable_announcement_suppression (bool): enableAnnouncementSuppression
        enable_internal_clid_delivery (bool): enableInternalCLIDDelivery
        enable_internal_clid_delivery_access_locations (bool):
            enableInternalCLIDDeliveryAccessLocations
        enable_enhanced_unreachable_state_checking (bool):
            enableEnhancedUnreachableStateChecking
        enable_network_call_barring_status_check (bool):
            enableNetworkCallBarringStatusCheck
        network_translation_index (str): networkTranslationIndex *Optional*
        enable_pbx_route_policy (bool): enablePBXRoutePolicy
        pbx_route_identity (OCI.pbxRouteIdentity): pbxRouteIdentity *Optional*
    """

    __slots__: List[str] = [
        "use_setting_level",
        "enable_location_services",
        "enable_msrn_lookup",
        "enable_mobile_state_checking",
        "deny_call_originations",
        "deny_call_terminations",
        "enable_announcement_suppression",
        "enable_internal_clid_delivery",
        "enable_internal_clid_delivery_access_locations",
        "enable_enhanced_unreachable_state_checking",
        "enable_network_call_barring_status_check",
        "network_translation_index",
        "enable_pbx_route_policy",
        "pbx_route_identity",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E(
                "enable_location_services",
                "enableLocationServices",
                bool,
                is_required=True,
            ),
            E("enable_msrn_lookup", "enableMSRNLookup", bool, is_required=True),
            E(
                "enable_mobile_state_checking",
                "enableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "enable_announcement_suppression",
                "enableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery",
                "enableInternalCLIDDelivery",
                bool,
                is_required=True,
            ),
            E(
                "enable_internal_clid_delivery_access_locations",
                "enableInternalCLIDDeliveryAccessLocations",
                bool,
                is_required=True,
            ),
            E(
                "enable_enhanced_unreachable_state_checking",
                "enableEnhancedUnreachableStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_call_barring_status_check",
                "enableNetworkCallBarringStatusCheck",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
            E(
                "enable_pbx_route_policy",
                "enablePBXRoutePolicy",
                bool,
                is_required=True,
            ),
            E(
                "pbx_route_identity",
                "pbxRouteIdentity",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
        )


class GroupCallCenterComfortMessageBypassGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterComfortMessageBypassGetRequest17()`.

    Replaced by: `GroupCallCenterComfortMessageBypassGetResponse20()`

    Attributes:
        is_active (bool): isActive
        call_waiting_age_threshold_seconds (int): callWaitingAgeThresholdSeconds
        play_announcement_after_ringing (bool): playAnnouncementAfterRinging
        ring_time_before_playing_announcement_seconds (int):
            ringTimeBeforePlayingAnnouncementSeconds
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "call_waiting_age_threshold_seconds",
        "play_announcement_after_ringing",
        "ring_time_before_playing_announcement_seconds",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "call_waiting_age_threshold_seconds",
                "callWaitingAgeThresholdSeconds",
                int,
                is_required=True,
            ),
            E(
                "play_announcement_after_ringing",
                "playAnnouncementAfterRinging",
                bool,
                is_required=True,
            ),
            E(
                "ring_time_before_playing_announcement_seconds",
                "ringTimeBeforePlayingAnnouncementSeconds",
                int,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterForcedForwardingGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterForcedForwardingGetRequest17()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        allow_enable_via_fac (bool): allowEnableViaFAC
        play_announcement_before_forwarding (bool): playAnnouncementBeforeForwarding
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "allow_enable_via_fac",
        "play_announcement_before_forwarding",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("allow_enable_via_fac", "allowEnableViaFAC", bool, is_required=True),
            E(
                "play_announcement_before_forwarding",
                "playAnnouncementBeforeForwarding",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse14sp6(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest14sp6()`.


    Attributes:
        entrance_message_selection (str): entranceMessageSelection
        entrance_message_audio_file_description (str): entranceMessageAudioFileDescription
            *Optional*
        entrance_message_video_file_description (str): entranceMessageVideoFileDescription
            *Optional*
        periodic_comfort_message_selection (str): periodicComfortMessageSelection
        periodic_comfort_message_audio_file_description (str):
            periodicComfortMessageAudioFileDescription *Optional*
        periodic_comfort_message_video_file_description (str):
            periodicComfortMessageVideoFileDescription *Optional*
        on_hold_source (OCI.onHoldSource): onHoldSource
        on_hold_use_alternate_source_for_internal_calls (bool):
            onHoldUseAlternateSourceForInternalCalls
        on_hold_internal_source (OCI.onHoldInternalSource): onHoldInternalSource
            *Optional*
    """

    __slots__: List[str] = [
        "entrance_message_selection",
        "entrance_message_audio_file_description",
        "entrance_message_video_file_description",
        "periodic_comfort_message_selection",
        "periodic_comfort_message_audio_file_description",
        "periodic_comfort_message_video_file_description",
        "on_hold_source",
        "on_hold_use_alternate_source_for_internal_calls",
        "on_hold_internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entrance_message_selection",
                "entranceMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_file_description",
                "entranceMessageAudioFileDescription",
                str,
            ),
            E(
                "entrance_message_video_file_description",
                "entranceMessageVideoFileDescription",
                str,
            ),
            E(
                "periodic_comfort_message_selection",
                "periodicComfortMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_file_description",
                "periodicComfortMessageAudioFileDescription",
                str,
            ),
            E(
                "periodic_comfort_message_video_file_description",
                "periodicComfortMessageVideoFileDescription",
                str,
            ),
            E(
                "on_hold_source",
                "onHoldSource",
                OCI.CallCenterMusicOnHoldSourceRead,
                is_complex=True,
                is_required=True,
            ),
            E(
                "on_hold_use_alternate_source_for_internal_calls",
                "onHoldUseAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "on_hold_internal_source",
                "onHoldInternalSource",
                OCI.CallCenterMusicOnHoldSourceRead,
                is_complex=True,
            ),
        )


class GroupCallCenterHolidayServiceGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterHolidayServiceGetRequest17()`.


    Attributes:
        action (str): action
        holiday_schedule (str): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("holiday_schedule", "holidaySchedule", str),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterHolidayServiceGetResponse17sp1(OCIResponse):
    """
    Response to the `GroupCallCenterHolidayServiceGetRequest17sp1()`.


    Attributes:
        action (str): action
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterNightServiceGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterNightServiceGetRequest17()`.


    Attributes:
        action (str): action
        business_hours (str): businessHours *Optional*
        force_night_service (bool): forceNightService
        allow_manual_override_via_fac (bool): allowManualOverrideViaFAC
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_audio_media_type_list (OCI.manualAudioMediaTypeList):
            manualAudioMediaTypeList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
        manual_video_media_type_list (OCI.manualVideoMediaTypeList):
            manualVideoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "allow_manual_override_via_fac",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_audio_media_type_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
        "manual_video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", str),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E(
                "allow_manual_override_via_fac",
                "allowManualOverrideViaFAC",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_audio_media_type_list",
                "manualAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_video_media_type_list",
                "manualVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterNightServiceGetResponse17sp1(OCIResponse):
    """
    Response to the `GroupCallCenterNightServiceGetRequest17sp1()`.


    Attributes:
        action (str): action
        business_hours (OCI.businessHours): businessHours *Optional*
        force_night_service (bool): forceNightService
        allow_manual_override_via_fac (bool): allowManualOverrideViaFAC
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_audio_media_type_list (OCI.manualAudioMediaTypeList):
            manualAudioMediaTypeList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
        manual_video_media_type_list (OCI.manualVideoMediaTypeList):
            manualVideoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "allow_manual_override_via_fac",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_audio_media_type_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
        "manual_video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E(
                "allow_manual_override_via_fac",
                "allowManualOverrideViaFAC",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_audio_media_type_list",
                "manualAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_video_media_type_list",
                "manualVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterOverflowGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterOverflowGetRequest17()` .


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        overflow_after_timeout (bool): overflowAfterTimeout
        timeout_seconds (int): timeoutSeconds
        play_announcement_before_overflow_processing (bool):
            playAnnouncementBeforeOverflowProcessing
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "overflow_after_timeout",
        "timeout_seconds",
        "play_announcement_before_overflow_processing",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("overflow_after_timeout", "overflowAfterTimeout", bool, is_required=True),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "play_announcement_before_overflow_processing",
                "playAnnouncementBeforeOverflowProcessing",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterQueueCallDispositionCodeSettingsGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterQueueCallDispositionCodeSettingsGetRequest()`.


    Attributes:
        enable_call_disposition_codes (bool): enableCallDispositionCodes
        include_organization_codes (bool): includeOrganizationCodes
        force_use_of_call_disposition_codes (bool): forceUseOfCallDispositionCodes
        default_call_disposition_code (OCI.defaultCallDispositionCode):
            defaultCallDispositionCode *Optional*
    """

    __slots__: List[str] = [
        "enable_call_disposition_codes",
        "include_organization_codes",
        "force_use_of_call_disposition_codes",
        "default_call_disposition_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_call_disposition_codes",
                "enableCallDispositionCodes",
                bool,
                is_required=True,
            ),
            E(
                "include_organization_codes",
                "includeOrganizationCodes",
                bool,
                is_required=True,
            ),
            E(
                "force_use_of_call_disposition_codes",
                "forceUseOfCallDispositionCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_call_disposition_code",
                "defaultCallDispositionCode",
                OCI.CallDispositionCodeWithLevel,
                is_complex=True,
            ),
        )


class GroupCallCenterStrandedCallGetResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterStrandedCallGetRequest17()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        audio_message_selection (str): audioMessageSelection *Optional*
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("audio_message_selection", "audioMessageSelection", str),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCallCenterStrandedCallUnavailableGetResponse(OCIResponse):
    """
    Response to the `GroupCallCenterStrandedCallUnavailableGetRequest()`.


    Attributes:
        condition_policy_on_number_of_agents_with_specified_unavailable_code (bool):
            conditionPolicyOnNumberOfAgentsWithSpecifiedUnavailableCode
        number_of_agents_with_specified_unavailable_code (int):
            numberOfAgentsWithSpecifiedUnavailableCode *Optional*
        agents_unavailable_code (str): agentsUnavailableCode *Optional*
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        audio_message_selection (str): audioMessageSelection *Optional*
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "condition_policy_on_number_of_agents_with_specified_unavailable_code",
        "number_of_agents_with_specified_unavailable_code",
        "agents_unavailable_code",
        "action",
        "transfer_phone_number",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "condition_policy_on_number_of_agents_with_specified_unavailable_code",
                "conditionPolicyOnNumberOfAgentsWithSpecifiedUnavailableCode",
                bool,
                is_required=True,
            ),
            E(
                "number_of_agents_with_specified_unavailable_code",
                "numberOfAgentsWithSpecifiedUnavailableCode",
                int,
            ),
            E("agents_unavailable_code", "agentsUnavailableCode", str),
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("audio_message_selection", "audioMessageSelection", str),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupCommonPhoneListGetListResponse(OCIResponse):
    """
    Response to the `GroupCommonPhoneListGetListRequest()`.

    The response contains the group's common phone list.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("entry", "entry", OCI.PhoneListEntry, is_complex=True, is_array=True),
        )


class GroupCommunicationBarringAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to `GroupCommunicationBarringAuthorizationCodeGetListRequest()`.

    Contains a list of Communication Barring Authorization Codes assigned to the group.
    Replaced by: `GroupCommunicationBarringAuthorizationCodeGetListResponse21sp1()` in AS
    data mode

    Attributes:
        code (List[OCI.code]): code *Optional*
    """

    __slots__: List[str] = [
        "code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code",
                "code",
                OCI.CommunicationBarringAuthorizationCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupCommunicationBarringAuthorizationCodeGetListResponse21sp1(OCIResponse):
    """
    Response to `GroupCommunicationBarringAuthorizationCodeGetListRequest21sp1()`.

    Contains a list of Communication Barring Authorization Codes assigned to the group.

    Attributes:
        code (List[OCI.code]): code *Optional*
    """

    __slots__: List[str] = [
        "code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code",
                "code",
                OCI.CommunicationBarringAuthorizationCodeConfiguration,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupConsolidatedAddResponse22(OCIResponse):
    """
    Response to `GroupConsolidatedAddRequest22()`.


    Attributes:
        dn_validation_error (List[OCI.dnValidationError]): dnValidationError *Optional*
    """

    __slots__: List[str] = [
        "dn_validation_error",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_validation_error",
                "dnValidationError",
                OCI.DNValidationStatusMessage,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupConsolidatedDnAssignListResponse(OCIResponse):
    """
    Response to `GroupConsolidatedDnAssignListRequest()`.


    Attributes:
        dn_validation_error (List[OCI.dnValidationError]): dnValidationError *Optional*
    """

    __slots__: List[str] = [
        "dn_validation_error",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_validation_error",
                "dnValidationError",
                OCI.DNValidationStatusMessage,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupCustomRingbackGroupGetResponse20(OCIResponse):
    """
    Response to the `GroupCustomRingbackGroupGetRequest20()`.


    Attributes:
        is_active (bool): isActive
        audio_selection (str): audioSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file (OCI.videoFile): videoFile *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "audio_selection",
        "audio_file",
        "audio_file_url",
        "video_selection",
        "video_file",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileKey, is_complex=True),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file", "videoFile", OCI.AnnouncementFileKey, is_complex=True),
            E("video_file_url", "videoFileUrl", str),
        )


class GroupDepartmentAdminGetResponse(OCIResponse):
    """
    Response to the `GroupDepartmentAdminGetRequest()`.

    The response contains the group department administrators profile information.

    Attributes:
        department_key (OCI.departmentKey): departmentKey
        department_full_path (str): departmentFullPath
        first_name (str): firstName *Optional*
        last_name (str): lastName *Optional*
        language (str): language
    """

    __slots__: List[str] = [
        "department_key",
        "department_full_path",
        "first_name",
        "last_name",
        "language",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_key",
                "departmentKey",
                OCI.GroupDepartmentKey,
                is_complex=True,
                is_required=True,
            ),
            E("department_full_path", "departmentFullPath", str, is_required=True),
            E("first_name", "firstName", str),
            E("last_name", "lastName", str),
            E("language", "language", str, is_required=True),
        )


class GroupDepartmentGetAvailableParentListResponse(OCIResponse):
    """
    Response to `GroupDepartmentGetAvailableParentListRequest()`.

    The response includes two parallel arrays of department keys and department display
    names.

    Attributes:
        department_key (List[OCI.departmentKey]): departmentKey *Optional*
        full_path_name (List[str]): fullPathName *Optional*
    """

    __slots__: List[str] = [
        "department_key",
        "full_path_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_key",
                "departmentKey",
                OCI.DepartmentKey,
                is_complex=True,
                is_array=True,
            ),
            E("full_path_name", "fullPathName", str, is_array=True),
        )


class GroupDepartmentGetListResponse(OCIResponse):
    """
    Response to `GroupDepartmentGetListRequest()`.

    The response includes two parallel arrays of department keys and department display
    names.  Replaced by: `GroupDepartmentGetListResponse18()`

    Attributes:
        department_key (List[OCI.departmentKey]): departmentKey *Optional*
        full_path_name (List[str]): fullPathName *Optional*
    """

    __slots__: List[str] = [
        "department_key",
        "full_path_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "department_key",
                "departmentKey",
                OCI.DepartmentKey,
                is_complex=True,
                is_array=True,
            ),
            E("full_path_name", "fullPathName", str, is_array=True),
        )


class GroupDepartmentGetResponse(OCIResponse):
    """
    Response to `GroupDepartmentGetRequest()`.

    The following elements are only used in AS data mode: callingLineIdName
    caliingLineIdPhoneNumber

    Attributes:
        parent_department_key (OCI.parentDepartmentKey): parentDepartmentKey *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "parent_department_key",
        "calling_line_id_name",
        "calling_line_id_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "parent_department_key",
                "parentDepartmentKey",
                OCI.DepartmentKey,
                is_complex=True,
            ),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
        )


class GroupDnGetStatusListResponse(OCIResponse):
    """
    Response to `GroupDnGetStatusListRequest()`.


    Attributes:
        dn_status (List[OCI.dnStatus]): dnStatus *Optional*
    """

    __slots__: List[str] = [
        "dn_status",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_status",
                "dnStatus",
                OCI.DNValidationStatusMessage,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupEmergencyZonesGetHomeZoneListResponse(OCIResponse):
    """
    Response to `GroupEmergencyZonesGetHomeZoneListRequest()`.


    Attributes:
        home_zone_ip_address (List[str]): homeZoneIpAddress *Optional*
        home_zone_ip_address_range (List[OCI.homeZoneIpAddressRange]):
            homeZoneIpAddressRange *Optional*
    """

    __slots__: List[str] = [
        "home_zone_ip_address",
        "home_zone_ip_address_range",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("home_zone_ip_address", "homeZoneIpAddress", str, is_array=True),
            E(
                "home_zone_ip_address_range",
                "homeZoneIpAddressRange",
                OCI.IPAddressRange,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupFeatureAccessCodeGetListResponse(OCIResponse):
    """
    Response to the `GroupFeatureAccessCodeGetListRequest()`.

    Replaced by: `GroupFeatureAccessCodeGetResponse()`

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupFeatureAccessCodeGetResponse(OCIResponse):
    """
    Response to the `GroupFeatureAccessCodeGetRequest()`.

    Replaced by: `GroupFeatureAccessCodeGetResponse21()` in AS data mode

    Attributes:
        use_feature_access_code_level (str): useFeatureAccessCodeLevel
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "use_feature_access_code_level",
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_feature_access_code_level",
                "useFeatureAccessCodeLevel",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupFeatureAccessCodeGetResponse20(OCIResponse):
    """
    Response to the `GroupFeatureAccessCodeGetRequest20()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".
    Replaced by : `GroupFeatureAccessCodeGetResponse21()`

    Attributes:
        use_feature_access_code_level (str): useFeatureAccessCodeLevel
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "use_feature_access_code_level",
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_feature_access_code_level",
                "useFeatureAccessCodeLevel",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupFeatureAccessCodeGetResponse21(OCIResponse):
    """
    Response to the `GroupFeatureAccessCodeGetRequest21()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".

    Attributes:
        use_feature_access_code_level (str): useFeatureAccessCodeLevel
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "use_feature_access_code_level",
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "use_feature_access_code_level",
                "useFeatureAccessCodeLevel",
                str,
                is_required=True,
            ),
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeReadEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupFindMeFollowMeGetAlertingGroupSelectiveCriteriaResponse(OCIResponse):
    """
    Response to `GroupFindMeFollowMeGetAlertingGroupSelectiveCriteriaRequest()`.

    Contains the alerting group selective criteria information.  Replaced by:
    `GroupFindMeFollowMeGetAlertingGroupSelectiveCriteriaResponse21()`

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupFindMeFollowMeGetAlertingGroupSelectiveCriteriaResponse21(OCIResponse):
    """
    Response to `GroupFindMeFollowMeGetAlertingGroupSelectiveCriteriaRequest21()`.

    Contains the alerting group selective criteria information.

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupGetAvailableLeafDeviceListResponse(OCIResponse):
    """
    Response to `GroupGetAvailableLeafDeviceListRequest()`.


    Attributes:
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupGetResponse(OCIResponse):
    """
    Response to the `GroupGetRequest()`.

    The response contains the group's profile information.

    Replaced By: `GroupGetResponse14sp7()`

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
        )


class GroupGetResponse14sp7(OCIResponse):
    """
    Response to the `GroupGetRequest14sp7()`.

    The response contains the group's profile information.

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
        )


class GroupGetResponse22(OCIResponse):
    """
    Response to the `GroupGetRequest22()`.

    The response contains the group's profile information.  The following element is only
    used in Amplify data mode and not returned in AS and XS data mode: servicePolicy,
    callProcessingSliceId, provisioningSliceId, subscriberPartition, preferredDataCenter.
    Replaced by `GroupGetResponse22V2()` in AS data mode.

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
        )


class GroupGetResponse22V2(OCIResponse):
    """
    Response to the `GroupGetRequest22V2()`.

    The response contains the group's profile information.  The following element is only
    used in Amplify data mode and not returned in AS and XS data mode: servicePolicy,
    callProcessingSliceId, provisioningSliceId, subscriberPartition, preferredDataCenter.
    The following data elements are only used in AS data mode: resellerId Replaced by:
    `GroupGetResponse22V3()`

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
        )


class GroupGetResponse22V3(OCIResponse):
    """
    Response to the `GroupGetRequest22V3()`.

    The response contains the group's profile information.  The following element is only
    used in Amplify data mode and not returned in AS and XS data mode: servicePolicy,
    callProcessingSliceId, provisioningSliceId, subscriberPartition, preferredDataCenter.
    The following elements are only used in Amplify and XS data mode and not returned in
    AS data mode: preferredDataCenter.  The following data elements are only used in AS
    data mode and not returned in XS data mode: resellerId.  The following elements are
    only used in XS data mode and not returned in AS data mode:
    defaultUserCallingLineIdPhoneNumber.  Replaced by `GroupGetResponse22V4()`

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
        default_user_calling_line_id_phone_number (str):
            defaultUserCallingLineIdPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
        "default_user_calling_line_id_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
            E(
                "default_user_calling_line_id_phone_number",
                "defaultUserCallingLineIdPhoneNumber",
                str,
            ),
        )


class GroupGetResponse22V4(OCIResponse):
    """
    Response to the `GroupGetRequest22V4()`.

    The response contains the group's profile information.  The following element is only
    used in Amplify data mode and not returned in AS and XS data mode: servicePolicy,
    callProcessingSliceId, provisioningSliceId, subscriberPartition, preferredDataCenter.
    The following elements are only used in Amplify and XS data mode and not returned in
    AS data mode: preferredDataCenter.  The following data elements are only used in AS
    data mode and not returned in XS data mode: resellerId.  The following elements are
    only used in XS data mode and not returned in AS data mode:
    defaultUserCallingLineIdPhoneNumber.  Replaced by: `GroupGetResponse22V5()` in AS data
    mode.

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
        default_user_calling_line_id_phone_number (str):
            defaultUserCallingLineIdPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
        "default_user_calling_line_id_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
            E(
                "default_user_calling_line_id_phone_number",
                "defaultUserCallingLineIdPhoneNumber",
                str,
            ),
        )


class GroupGetResponse22V5(OCIResponse):
    """
    Response to the `GroupGetRequest22V5()`.

    The response contains the group's profile information.  The following element is only
    used in Amplify data mode and not returned in AS and XS data mode: servicePolicy,
    callProcessingSliceId, provisioningSliceId, subscriberPartition, preferredDataCenter.
    The following elements are only used in Amplify and XS data mode and not returned in
    AS data mode: preferredDataCenter.  The following data elements are only used in AS
    data mode and not returned in XS data mode: resellerId, groupExternalId.  The
    following elements are only used in XS data mode and not returned in AS data mode:
    defaultUserCallingLineIdPhoneNumber.

    Attributes:
        default_domain (str): defaultDomain
        user_limit (int): userLimit
        user_count (int): userCount
        group_name (str): groupName *Optional*
        calling_line_id_name (str): callingLineIdName *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        calling_line_id_display_phone_number (str): callingLineIdDisplayPhoneNumber
            *Optional*
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        location_dialing_code (str): locationDialingCode *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
        default_user_calling_line_id_phone_number (str):
            defaultUserCallingLineIdPhoneNumber *Optional*
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        group_external_id (str): groupExternalId *Optional*
    """

    __slots__: List[str] = [
        "default_domain",
        "user_limit",
        "user_count",
        "group_name",
        "calling_line_id_name",
        "calling_line_id_phone_number",
        "calling_line_id_display_phone_number",
        "time_zone",
        "time_zone_display_name",
        "location_dialing_code",
        "contact",
        "address",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
        "default_user_calling_line_id_phone_number",
        "service_provider_id",
        "group_id",
        "group_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("default_domain", "defaultDomain", str, is_required=True),
            E("user_limit", "userLimit", int, is_required=True),
            E("user_count", "userCount", int, is_required=True),
            E("group_name", "groupName", str),
            E("calling_line_id_name", "callingLineIdName", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E(
                "calling_line_id_display_phone_number",
                "callingLineIdDisplayPhoneNumber",
                str,
            ),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("location_dialing_code", "locationDialingCode", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
            E(
                "default_user_calling_line_id_phone_number",
                "defaultUserCallingLineIdPhoneNumber",
                str,
            ),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("group_external_id", "groupExternalId", str),
        )


class GroupGroupNightForwardingGetResponse(OCIResponse):
    """
    Response to `GroupGroupNightForwardingGetRequest()`.


    Attributes:
        night_forwarding (str): nightForwarding
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
    """

    __slots__: List[str] = [
        "night_forwarding",
        "business_hours",
        "holiday_schedule",
        "forward_to_phone_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("night_forwarding", "nightForwarding", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
        )


class GroupHolidayScheduleGetResponse(OCIResponse):
    """
    Response to the `GroupHolidayScheduleGetRequest()`.

    The response contains the group's holiday schedule information.

    Attributes:
        holiday_schedule_name (str): holidayScheduleName
        holiday01 (OCI.holiday01): holiday01 *Optional*
        holiday02 (OCI.holiday02): holiday02 *Optional*
        holiday03 (OCI.holiday03): holiday03 *Optional*
        holiday04 (OCI.holiday04): holiday04 *Optional*
        holiday05 (OCI.holiday05): holiday05 *Optional*
        holiday06 (OCI.holiday06): holiday06 *Optional*
        holiday07 (OCI.holiday07): holiday07 *Optional*
        holiday08 (OCI.holiday08): holiday08 *Optional*
        holiday09 (OCI.holiday09): holiday09 *Optional*
        holiday10 (OCI.holiday10): holiday10 *Optional*
        holiday11 (OCI.holiday11): holiday11 *Optional*
        holiday12 (OCI.holiday12): holiday12 *Optional*
        holiday13 (OCI.holiday13): holiday13 *Optional*
        holiday14 (OCI.holiday14): holiday14 *Optional*
        holiday15 (OCI.holiday15): holiday15 *Optional*
        holiday16 (OCI.holiday16): holiday16 *Optional*
        holiday17 (OCI.holiday17): holiday17 *Optional*
        holiday18 (OCI.holiday18): holiday18 *Optional*
        holiday19 (OCI.holiday19): holiday19 *Optional*
        holiday20 (OCI.holiday20): holiday20 *Optional*
    """

    __slots__: List[str] = [
        "holiday_schedule_name",
        "holiday01",
        "holiday02",
        "holiday03",
        "holiday04",
        "holiday05",
        "holiday06",
        "holiday07",
        "holiday08",
        "holiday09",
        "holiday10",
        "holiday11",
        "holiday12",
        "holiday13",
        "holiday14",
        "holiday15",
        "holiday16",
        "holiday17",
        "holiday18",
        "holiday19",
        "holiday20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("holiday_schedule_name", "holidayScheduleName", str, is_required=True),
            E("holiday01", "holiday01", OCI.Holiday, is_complex=True),
            E("holiday02", "holiday02", OCI.Holiday, is_complex=True),
            E("holiday03", "holiday03", OCI.Holiday, is_complex=True),
            E("holiday04", "holiday04", OCI.Holiday, is_complex=True),
            E("holiday05", "holiday05", OCI.Holiday, is_complex=True),
            E("holiday06", "holiday06", OCI.Holiday, is_complex=True),
            E("holiday07", "holiday07", OCI.Holiday, is_complex=True),
            E("holiday08", "holiday08", OCI.Holiday, is_complex=True),
            E("holiday09", "holiday09", OCI.Holiday, is_complex=True),
            E("holiday10", "holiday10", OCI.Holiday, is_complex=True),
            E("holiday11", "holiday11", OCI.Holiday, is_complex=True),
            E("holiday12", "holiday12", OCI.Holiday, is_complex=True),
            E("holiday13", "holiday13", OCI.Holiday, is_complex=True),
            E("holiday14", "holiday14", OCI.Holiday, is_complex=True),
            E("holiday15", "holiday15", OCI.Holiday, is_complex=True),
            E("holiday16", "holiday16", OCI.Holiday, is_complex=True),
            E("holiday17", "holiday17", OCI.Holiday, is_complex=True),
            E("holiday18", "holiday18", OCI.Holiday, is_complex=True),
            E("holiday19", "holiday19", OCI.Holiday, is_complex=True),
            E("holiday20", "holiday20", OCI.Holiday, is_complex=True),
        )


class GroupMeetMeConferencingGetResponse(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetRequest()`.


    Attributes:
        available_ports (OCI.availablePorts): availablePorts
        allocated_ports (OCI.allocatedPorts): allocatedPorts
    """

    __slots__: List[str] = [
        "available_ports",
        "allocated_ports",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_ports",
                "availablePorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetDepartmentListResponse(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetDepartmentListRequest()`.


    Attributes:
        has_department (bool): hasDepartment
        department (List[OCI.department]): department *Optional*
        department_full_path (List[str]): departmentFullPath *Optional*
    """

    __slots__: List[str] = [
        "has_department",
        "department",
        "department_full_path",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("has_department", "hasDepartment", bool, is_required=True),
            E(
                "department",
                "department",
                OCI.DepartmentKey,
                is_complex=True,
                is_array=True,
            ),
            E("department_full_path", "departmentFullPath", str, is_array=True),
        )


class GroupMusicOnHoldGetInstanceResponse14sp6(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest14sp6()`.

    Replaced By: `GroupMusicOnHoldGetInstanceResponse16()`

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead,
                is_complex=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse16(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest16()`.


    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead16,
                is_complex=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse19(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest19()`.


    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse20(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest20()`.

    Replaced by: `GroupMusicOnHoldGetInstanceResponse21()`

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse21(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest21()`.

    Replaced by `GroupMusicOnHoldGetInstanceResponse22()`.

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead21,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead21,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse22(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest22()`.


    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse22V2(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest22V2()`.

    Replaced by: `GroupMusicOnHoldGetInstanceResponse22V2()`

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead22V2,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead22V2,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse22V3(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest22V3()`.

    Replaced by: `GroupMusicOnHoldGetInstanceResponse23V2()`

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead22V3,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead22V3,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse23(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest23()`.

    The following elements are only used in AS data mode: - useDynamicMOHDuringCallHold,
    value "false" is returned in XS data mode.

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
        use_dynamic_moh_during_call_hold (bool): useDynamicMOHDuringCallHold
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
        "use_dynamic_moh_during_call_hold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead22V2,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead22V2,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_dynamic_moh_during_call_hold",
                "useDynamicMOHDuringCallHold",
                bool,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse23V2(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest23V2()`.

    The following elements are only used in AS data mode: - useDynamicMOHDuringCallHold,
    value “false” is returned in XS data mode.

    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource
        use_dynamic_moh_during_call_hold (bool): useDynamicMOHDuringCallHold
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
        "use_dynamic_moh_during_call_hold",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldSourceRead22V3,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldSourceRead22V3,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_dynamic_moh_during_call_hold",
                "useDynamicMOHDuringCallHold",
                bool,
                is_required=True,
            ),
        )


class GroupOutgoingCallingPlanDepartmentAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanDepartmentAuthorizationCodeGetListRequest()`.


    Attributes:
        code_entry (List[OCI.codeEntry]): codeEntry *Optional*
    """

    __slots__: List[str] = [
        "code_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code_entry",
                "codeEntry",
                OCI.OutgoingCallingPlanAuthorizationCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupPreAlertingAnnouncementGetResponse20(OCIResponse):
    """
    Response to a `GroupPreAlertingAnnouncementGetResponse20()`.


    Attributes:
        announcement_interruption (str): announcementInterruption
        interruption_digit_sequence (str): interruptionDigitSequence *Optional*
        audio_selection (str): audioSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file (OCI.videoFile): videoFile *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "announcement_interruption",
        "interruption_digit_sequence",
        "audio_selection",
        "audio_file",
        "audio_file_url",
        "video_selection",
        "video_file",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "announcement_interruption",
                "announcementInterruption",
                str,
                is_required=True,
            ),
            E("interruption_digit_sequence", "interruptionDigitSequence", str),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileKey, is_complex=True),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file", "videoFile", OCI.AnnouncementFileKey, is_complex=True),
            E("video_file_url", "videoFileUrl", str),
        )


class GroupPreferredCarrierGroupGetResponse(OCIResponse):
    """
    Response to a `GroupPreferredCarrierGroupGetRequest()`.


    Attributes:
        intra_lata_carrier (OCI.intraLataCarrier): intraLataCarrier
        inter_lata_carrier (OCI.interLataCarrier): interLataCarrier
        international_carrier (OCI.internationalCarrier): internationalCarrier
    """

    __slots__: List[str] = [
        "intra_lata_carrier",
        "inter_lata_carrier",
        "international_carrier",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "intra_lata_carrier",
                "intraLataCarrier",
                OCI.GroupPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
            E(
                "inter_lata_carrier",
                "interLataCarrier",
                OCI.GroupPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
            E(
                "international_carrier",
                "internationalCarrier",
                OCI.GroupPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointForcedForwardingGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointForcedForwardingGetRequest()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        play_announcement_before_forwarding (bool): playAnnouncementBeforeForwarding
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "play_announcement_before_forwarding",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "play_announcement_before_forwarding",
                "playAnnouncementBeforeForwarding",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointHolidayServiceGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointHolidayServiceGetRequest()`.


    Attributes:
        action (str): action
        holiday_schedule (str): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("holiday_schedule", "holidaySchedule", str),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointHolidayServiceGetResponse17sp1(OCIResponse):
    """
    Response to the `GroupRoutePointHolidayServiceGetRequest17sp1()`.


    Attributes:
        action (str): action
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointNightServiceGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointNightServiceGetRequest()`.


    Attributes:
        action (str): action
        business_hours (str): businessHours *Optional*
        force_night_service (bool): forceNightService
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_audio_media_type_list (OCI.manualAudioMediaTypeList):
            manualAudioMediaTypeList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
        manual_video_media_type_list (OCI.manualVideoMediaTypeList):
            manualVideoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_audio_media_type_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
        "manual_video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", str),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_audio_media_type_list",
                "manualAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_video_media_type_list",
                "manualVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointNightServiceGetResponse17sp1(OCIResponse):
    """
    Response to the `GroupRoutePointNightServiceGetRequest17sp1()`.


    Attributes:
        action (str): action
        business_hours (OCI.businessHours): businessHours *Optional*
        force_night_service (bool): forceNightService
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_audio_media_type_list (OCI.manualAudioMediaTypeList):
            manualAudioMediaTypeList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
        manual_video_media_type_list (OCI.manualVideoMediaTypeList):
            manualVideoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_audio_media_type_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
        "manual_video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_audio_media_type_list",
                "manualAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "manual_video_media_type_list",
                "manualVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointOverflowGetResponse(OCIResponse):
    """
    Response to the `GroupRoutePointOverflowGetRequest()` .


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        overflow_after_timeout (bool): overflowAfterTimeout
        timeout_seconds (int): timeoutSeconds
        play_announcement_before_overflow_processing (bool):
            playAnnouncementBeforeOverflowProcessing
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        audio_media_type_list (OCI.audioMediaTypeList): audioMediaTypeList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        video_media_type_list (OCI.videoMediaTypeList): videoMediaTypeList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "overflow_after_timeout",
        "timeout_seconds",
        "play_announcement_before_overflow_processing",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "audio_media_type_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "video_media_type_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("overflow_after_timeout", "overflowAfterTimeout", bool, is_required=True),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "play_announcement_before_overflow_processing",
                "playAnnouncementBeforeOverflowProcessing",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "audio_media_type_list",
                "audioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "video_media_type_list",
                "videoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
        )


class GroupRoutePointQueueCallDispositionCodeSettingsGetResponse(OCIResponse):
    """
    Response to `GroupRoutePointQueueCallDispositionCodeSettingsGetRequest()`.


    Attributes:
        enable_call_disposition_codes (bool): enableCallDispositionCodes
        include_organization_codes (bool): includeOrganizationCodes
        force_use_of_call_disposition_codes (bool): forceUseOfCallDispositionCodes
        default_call_disposition_code (OCI.defaultCallDispositionCode):
            defaultCallDispositionCode *Optional*
    """

    __slots__: List[str] = [
        "enable_call_disposition_codes",
        "include_organization_codes",
        "force_use_of_call_disposition_codes",
        "default_call_disposition_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "enable_call_disposition_codes",
                "enableCallDispositionCodes",
                bool,
                is_required=True,
            ),
            E(
                "include_organization_codes",
                "includeOrganizationCodes",
                bool,
                is_required=True,
            ),
            E(
                "force_use_of_call_disposition_codes",
                "forceUseOfCallDispositionCodes",
                bool,
                is_required=True,
            ),
            E(
                "default_call_disposition_code",
                "defaultCallDispositionCode",
                OCI.CallDispositionCodeWithLevel,
                is_complex=True,
            ),
        )


class GroupScheduleGetEventResponse(OCIResponse):
    """
    Response to `GroupScheduleGetEventRequest()`.

    The response contains the event of the group schedule.

    Attributes:
        start_date (str): startDate
        all_day_event (bool): allDayEvent *Optional*
        start_time (OCI.startTime): startTime *Optional*
        end_time (OCI.endTime): endTime *Optional*
        end_date (str): endDate
        recurrence (OCI.recurrence): recurrence *Optional*
    """

    __slots__: List[str] = [
        "start_date",
        "all_day_event",
        "start_time",
        "end_time",
        "end_date",
        "recurrence",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("start_date", "startDate", str, is_required=True),
            E("all_day_event", "allDayEvent", bool),
            E("start_time", "startTime", OCI.HourMinute, is_complex=True),
            E("end_time", "endTime", OCI.HourMinute, is_complex=True),
            E("end_date", "endDate", str, is_required=True),
            E("recurrence", "recurrence", OCI.Recurrence, is_complex=True),
        )


class GroupServiceGetAuthorizationResponse(OCIResponse):
    """
    Response to `GroupServiceGetAuthorizationRequest()`.

    If the feature is not authorized, then "authorized" is false and the remaining
    elements are not returned.  If the service pack is not available for use or is not
    authorized, then "authorized" is false and the remaining elements are not returned.
    "authorizedQuantity" can be unlimited or a quantity.  In the case of a service pack,
    "authorizedQuantity" is the service pack's quantity.  "authorizable" is applicable for
    user services and group services; it is not returned for service packs.

    Attributes:
        authorized (bool): authorized
        authorized_quantity (OCI.authorizedQuantity): authorizedQuantity *Optional*
        used_quantity (OCI.usedQuantity): usedQuantity *Optional*
        authorizable (bool): authorizable *Optional*
    """

    __slots__: List[str] = [
        "authorized",
        "authorized_quantity",
        "used_quantity",
        "authorizable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("authorized", "authorized", bool, is_required=True),
            E(
                "authorized_quantity",
                "authorizedQuantity",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
            ),
            E(
                "used_quantity",
                "usedQuantity",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
            ),
            E("authorizable", "authorizable", bool),
        )


class GroupSessionAdmissionControlGetAvailableDeviceListResponse(OCIResponse):
    """
    Response to `GroupSessionAdmissionControlGetAvailableDeviceListRequest()`.

    Contains a table of devices can be assigned to session admission control group in the
    group.

    Attributes:
        access_device (List[OCI.accessDevice]): accessDevice *Optional*
    """

    __slots__: List[str] = [
        "access_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device",
                "accessDevice",
                OCI.AccessDevice,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupSessionAdmissionControlGroupGetResponse(OCIResponse):
    """
    Response to `GroupSessionAdmissionControlGroupGetRequest()`.

    Returns the profile information for the session admission control group.

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E("devices", "devices", OCI.AccessDevice, is_complex=True, is_array=True),
        )


class GroupSessionAdmissionControlGroupGetResponse19sp1(OCIResponse):
    """
    Response to `GroupSessionAdmissionControlGroupGetRequest19sp1()`.

    Returns the profile information for the session admission control group.  Replaced by:
    `GroupSessionAdmissionControlGroupGetResponse21sp1()`

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
        block_emergency_and_repair_calls_due_to_sac_limits (bool):
            blockEmergencyAndRepairCallsDueToSACLimits
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
        "block_emergency_and_repair_calls_due_to_sac_limits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E("devices", "devices", OCI.AccessDevice, is_complex=True, is_array=True),
            E(
                "block_emergency_and_repair_calls_due_to_sac_limits",
                "blockEmergencyAndRepairCallsDueToSACLimits",
                bool,
                is_required=True,
            ),
        )


class GroupSessionAdmissionControlGroupGetResponse21sp1(OCIResponse):
    """
    Response to `GroupSessionAdmissionControlGroupGetRequest21sp1()`.

    Returns the profile information for the session admission control group.

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
        block_emergency_and_repair_calls_due_to_sac_limits (bool):
            blockEmergencyAndRepairCallsDueToSACLimits
        media_group_name (str): mediaGroupName *Optional*
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
        "block_emergency_and_repair_calls_due_to_sac_limits",
        "media_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E("devices", "devices", OCI.AccessDevice, is_complex=True, is_array=True),
            E(
                "block_emergency_and_repair_calls_due_to_sac_limits",
                "blockEmergencyAndRepairCallsDueToSACLimits",
                bool,
                is_required=True,
            ),
            E("media_group_name", "mediaGroupName", str),
        )


class GroupTimeScheduleGetResponse(OCIResponse):
    """
    Response to the `GroupTimeScheduleGetRequest()`.

    The response contains the group's time schedule information.

    Attributes:
        time_schedule_name (str): timeScheduleName
        time_interval01 (OCI.timeInterval01): timeInterval01 *Optional*
        time_interval02 (OCI.timeInterval02): timeInterval02 *Optional*
        time_interval03 (OCI.timeInterval03): timeInterval03 *Optional*
        time_interval04 (OCI.timeInterval04): timeInterval04 *Optional*
        time_interval05 (OCI.timeInterval05): timeInterval05 *Optional*
        time_interval06 (OCI.timeInterval06): timeInterval06 *Optional*
        time_interval07 (OCI.timeInterval07): timeInterval07 *Optional*
        time_interval08 (OCI.timeInterval08): timeInterval08 *Optional*
        time_interval09 (OCI.timeInterval09): timeInterval09 *Optional*
        time_interval10 (OCI.timeInterval10): timeInterval10 *Optional*
        time_interval11 (OCI.timeInterval11): timeInterval11 *Optional*
        time_interval12 (OCI.timeInterval12): timeInterval12 *Optional*
        time_interval13 (OCI.timeInterval13): timeInterval13 *Optional*
        time_interval14 (OCI.timeInterval14): timeInterval14 *Optional*
        time_interval15 (OCI.timeInterval15): timeInterval15 *Optional*
        time_interval16 (OCI.timeInterval16): timeInterval16 *Optional*
        time_interval17 (OCI.timeInterval17): timeInterval17 *Optional*
        time_interval18 (OCI.timeInterval18): timeInterval18 *Optional*
        time_interval19 (OCI.timeInterval19): timeInterval19 *Optional*
        time_interval20 (OCI.timeInterval20): timeInterval20 *Optional*
    """

    __slots__: List[str] = [
        "time_schedule_name",
        "time_interval01",
        "time_interval02",
        "time_interval03",
        "time_interval04",
        "time_interval05",
        "time_interval06",
        "time_interval07",
        "time_interval08",
        "time_interval09",
        "time_interval10",
        "time_interval11",
        "time_interval12",
        "time_interval13",
        "time_interval14",
        "time_interval15",
        "time_interval16",
        "time_interval17",
        "time_interval18",
        "time_interval19",
        "time_interval20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule_name", "timeScheduleName", str, is_required=True),
            E("time_interval01", "timeInterval01", OCI.TimeInterval, is_complex=True),
            E("time_interval02", "timeInterval02", OCI.TimeInterval, is_complex=True),
            E("time_interval03", "timeInterval03", OCI.TimeInterval, is_complex=True),
            E("time_interval04", "timeInterval04", OCI.TimeInterval, is_complex=True),
            E("time_interval05", "timeInterval05", OCI.TimeInterval, is_complex=True),
            E("time_interval06", "timeInterval06", OCI.TimeInterval, is_complex=True),
            E("time_interval07", "timeInterval07", OCI.TimeInterval, is_complex=True),
            E("time_interval08", "timeInterval08", OCI.TimeInterval, is_complex=True),
            E("time_interval09", "timeInterval09", OCI.TimeInterval, is_complex=True),
            E("time_interval10", "timeInterval10", OCI.TimeInterval, is_complex=True),
            E("time_interval11", "timeInterval11", OCI.TimeInterval, is_complex=True),
            E("time_interval12", "timeInterval12", OCI.TimeInterval, is_complex=True),
            E("time_interval13", "timeInterval13", OCI.TimeInterval, is_complex=True),
            E("time_interval14", "timeInterval14", OCI.TimeInterval, is_complex=True),
            E("time_interval15", "timeInterval15", OCI.TimeInterval, is_complex=True),
            E("time_interval16", "timeInterval16", OCI.TimeInterval, is_complex=True),
            E("time_interval17", "timeInterval17", OCI.TimeInterval, is_complex=True),
            E("time_interval18", "timeInterval18", OCI.TimeInterval, is_complex=True),
            E("time_interval19", "timeInterval19", OCI.TimeInterval, is_complex=True),
            E("time_interval20", "timeInterval20", OCI.TimeInterval, is_complex=True),
        )


class GroupTrunkGroupGetInstanceResponse14sp4(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest14sp4()`.

    Returns the profile information for the Trunk Group.

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        unreachable_destination_trap_initial_calls (int):
            unreachableDestinationTrapInitialCalls
        unreachable_destination_trap_offset_calls (int):
            unreachableDestinationTrapOffsetCalls
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "unreachable_destination_trap_initial_calls",
        "unreachable_destination_trap_offset_calls",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "unreachable_destination_trap_initial_calls",
                "unreachableDestinationTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "unreachable_destination_trap_offset_calls",
                "unreachableDestinationTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
        )


class GroupTrunkGroupGetInstanceResponse14sp5(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest14sp5()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        unreachable_destination_trap_initial_calls (int):
            unreachableDestinationTrapInitialCalls
        unreachable_destination_trap_offset_calls (int):
            unreachableDestinationTrapOffsetCalls
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "unreachable_destination_trap_initial_calls",
        "unreachable_destination_trap_offset_calls",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "unreachable_destination_trap_initial_calls",
                "unreachableDestinationTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "unreachable_destination_trap_offset_calls",
                "unreachableDestinationTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse14sp9(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest14sp9()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        unreachable_destination_trap_initial_calls (int):
            unreachableDestinationTrapInitialCalls
        unreachable_destination_trap_offset_calls (int):
            unreachableDestinationTrapOffsetCalls
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        use_pilot_user_calling_line_identity (bool): usePilotUserCallingLineIdentity
        use_pilot_user_charge_number (bool): usePilotUserChargeNumber
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "unreachable_destination_trap_initial_calls",
        "unreachable_destination_trap_offset_calls",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "use_pilot_user_calling_line_identity",
        "use_pilot_user_charge_number",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "unreachable_destination_trap_initial_calls",
                "unreachableDestinationTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "unreachable_destination_trap_offset_calls",
                "unreachableDestinationTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_pilot_user_calling_line_identity",
                "usePilotUserCallingLineIdentity",
                bool,
                is_required=True,
            ),
            E(
                "use_pilot_user_charge_number",
                "usePilotUserChargeNumber",
                bool,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse15(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest15()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse15sp2(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest15sp2()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest17()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse17sp3(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest17sp3()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
        )


class GroupTrunkGroupGetInstanceResponse17sp4(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest17sp4()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse19(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest19()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Replaced by `GroupTrunkGroupGetInstanceResponse19sp1()`.

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse19V2(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest19V2()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Replaced by GroupTrunkGroupGetInstanceResponse19sp1V2.

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_policy (str): pilotUserCallingLineIdentityPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_policy",
                "pilotUserCallingLineIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest19sp1()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Replaced by GroupTrunkGroupGetInstanceResponse19sp1V2.

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_for_external_calls_policy (str):
            pilotUserCallingLineIdentityForExternalCallsPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        use_system_clid_source_for_screened_calls_policy (bool):
            useSystemCLIDSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        use_system_user_lookup_policy (bool): useSystemUserLookupPolicy
        pilot_user_calling_line_identity_for_emergency_calls_policy (str):
            pilotUserCallingLineIdentityForEmergencyCallsPolicy
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_for_external_calls_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
        "clid_source_for_screened_calls_policy",
        "use_system_clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "use_system_user_lookup_policy",
        "pilot_user_calling_line_identity_for_emergency_calls_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_external_calls_policy",
                "pilotUserCallingLineIdentityForExternalCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_clid_source_for_screened_calls_policy",
                "useSystemCLIDSourceForScreenedCallsPolicy",
                bool,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "use_system_user_lookup_policy",
                "useSystemUserLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_emergency_calls_policy",
                "pilotUserCallingLineIdentityForEmergencyCallsPolicy",
                str,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse20sp1(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest20sp1()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Replaced by: `GroupTrunkGroupGetInstanceResponse21()`

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_for_external_calls_policy (str):
            pilotUserCallingLineIdentityForExternalCallsPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        use_system_clid_source_for_screened_calls_policy (bool):
            useSystemCLIDSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        use_system_user_lookup_policy (bool): useSystemUserLookupPolicy
        pilot_user_calling_line_identity_for_emergency_calls_policy (str):
            pilotUserCallingLineIdentityForEmergencyCallsPolicy
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_for_external_calls_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
        "clid_source_for_screened_calls_policy",
        "use_system_clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "use_system_user_lookup_policy",
        "pilot_user_calling_line_identity_for_emergency_calls_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_external_calls_policy",
                "pilotUserCallingLineIdentityForExternalCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_clid_source_for_screened_calls_policy",
                "useSystemCLIDSourceForScreenedCallsPolicy",
                bool,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "use_system_user_lookup_policy",
                "useSystemUserLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_emergency_calls_policy",
                "pilotUserCallingLineIdentityForEmergencyCallsPolicy",
                str,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse21(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest21()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    useSystemImplicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy
    useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy Replaced by:
    `GroupTrunkGroupGetInstanceResponse23()`

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_for_external_calls_policy (str):
            pilotUserCallingLineIdentityForExternalCallsPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        use_system_clid_source_for_screened_calls_policy (bool):
            useSystemCLIDSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        use_system_user_lookup_policy (bool): useSystemUserLookupPolicy
        pilot_user_calling_line_identity_for_emergency_calls_policy (str):
            pilotUserCallingLineIdentityForEmergencyCallsPolicy
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        use_system_implicit_registration_set_support_policy (bool):
            useSystemImplicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy (bool):
            useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy
        use_system_support_connected_identity_policy (bool):
            useSystemSupportConnectedIdentityPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
        use_system_options_message_response_status_codes (bool):
            useSystemOptionsMessageResponseStatusCodes
        options_message_response_status_code (List[str]): optionsMessageResponseStatusCode
            *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_for_external_calls_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
        "clid_source_for_screened_calls_policy",
        "use_system_clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "use_system_user_lookup_policy",
        "pilot_user_calling_line_identity_for_emergency_calls_policy",
        "implicit_registration_set_support_policy",
        "use_system_implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "use_system_support_connected_identity_policy",
        "support_connected_identity_policy",
        "use_system_options_message_response_status_codes",
        "options_message_response_status_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_external_calls_policy",
                "pilotUserCallingLineIdentityForExternalCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_clid_source_for_screened_calls_policy",
                "useSystemCLIDSourceForScreenedCallsPolicy",
                bool,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "use_system_user_lookup_policy",
                "useSystemUserLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_emergency_calls_policy",
                "pilotUserCallingLineIdentityForEmergencyCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_implicit_registration_set_support_policy",
                "useSystemImplicitRegistrationSetSupportPolicy",
                bool,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy",
                bool,
                is_required=True,
            ),
            E(
                "use_system_support_connected_identity_policy",
                "useSystemSupportConnectedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_options_message_response_status_codes",
                "useSystemOptionsMessageResponseStatusCodes",
                bool,
                is_required=True,
            ),
            E(
                "options_message_response_status_code",
                "optionsMessageResponseStatusCode",
                str,
                is_array=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse23(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest23()`.

    Returns the profile information for the Trunk Group.  Contains a hosted user table
    with column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name",
    "Hiragana First Name", "Phone Number", "Extension", "Department", "Email Address".
    Following attributes are only used in IMS mode: implicitRegistrationSetSupportPolicy
    useSystemImplicitRegistrationSetSupportPolicy
    sipIdentityForPilotAndProxyTrunkModesPolicy
    useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy

    Attributes:
        pilot_user_id (str): pilotUserId *Optional*
        department (OCI.department): department *Optional*
        access_device (OCI.accessDevice): accessDevice *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_key
            (OCI.capacityExceededRerouteTrunkGroupKey):
            capacityExceededRerouteTrunkGroupKey *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_key
            (OCI.unreachableDestinationRerouteTrunkGroupKey):
            unreachableDestinationRerouteTrunkGroupKey *Optional*
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
        hosted_user_table (List(hostedUserTable)): hostedUserTable - *Table* array of
            hostedUserTable named tuples *Optional*
        trunk_group_identity (str): trunkGroupIdentity *Optional*
        otg_dtg_identity (str): otgDtgIdentity *Optional*
        allow_termination_to_trunk_group_identity (bool):
            allowTerminationToTrunkGroupIdentity
        allow_termination_to_dtg_identity (bool): allowTerminationToDtgIdentity
        include_trunk_group_identity (bool): includeTrunkGroupIdentity
        include_dtg_identity (bool): includeDtgIdentity
        include_trunk_group_identity_for_network_calls (bool):
            includeTrunkGroupIdentityForNetworkCalls
        include_otg_identity_for_network_calls (bool): includeOtgIdentityForNetworkCalls
        enable_network_address_identity (bool): enableNetworkAddressIdentity
        allow_unscreened_calls (bool): allowUnscreenedCalls
        allow_unscreened_emergency_calls (bool): allowUnscreenedEmergencyCalls
        pilot_user_calling_line_identity_for_external_calls_policy (str):
            pilotUserCallingLineIdentityForExternalCallsPolicy
        pilot_user_charge_number_policy (str): pilotUserChargeNumberPolicy
        call_forwarding_always_action (str): callForwardingAlwaysAction *Optional*
        call_forwarding_always_forward_address (str): callForwardingAlwaysForwardAddress
            *Optional*
        call_forwarding_always_reroute_trunk_group_key
            (OCI.callForwardingAlwaysRerouteTrunkGroupKey):
            callForwardingAlwaysRerouteTrunkGroupKey *Optional*
        peering_domain (str): peeringDomain *Optional*
        route_to_peering_domain (bool): routeToPeeringDomain
        prefix_enabled (bool): prefixEnabled
        prefix (str): prefix *Optional*
        stateful_rerouting_enabled (bool): statefulReroutingEnabled
        send_continuous_options_message (bool): sendContinuousOptionsMessage
        continuous_options_sending_interval_seconds (int):
            continuousOptionsSendingIntervalSeconds
        failure_options_sending_interval_seconds (int):
            failureOptionsSendingIntervalSeconds
        failure_threshold_counter (int): failureThresholdCounter
        success_threshold_counter (int): successThresholdCounter
        invite_failure_threshold_counter (int): inviteFailureThresholdCounter
        invite_failure_threshold_window_seconds (int): inviteFailureThresholdWindowSeconds
        trunk_group_state (str): trunkGroupState
        pilot_user_calling_line_asserted_identity_policy (str):
            pilotUserCallingLineAssertedIdentityPolicy
        use_system_calling_line_asserted_identity_policy (bool):
            useSystemCallingLineAssertedIdentityPolicy
        total_active_incoming_calls (int): totalActiveIncomingCalls
        total_active_outgoing_calls (int): totalActiveOutgoingCalls
        pilot_user_call_optimization_policy (str): pilotUserCallOptimizationPolicy
        clid_source_for_screened_calls_policy (str): clidSourceForScreenedCallsPolicy
        use_system_clid_source_for_screened_calls_policy (bool):
            useSystemCLIDSourceForScreenedCallsPolicy
        user_lookup_policy (str): userLookupPolicy
        use_system_user_lookup_policy (bool): useSystemUserLookupPolicy
        pilot_user_calling_line_identity_for_emergency_calls_policy (str):
            pilotUserCallingLineIdentityForEmergencyCallsPolicy
        implicit_registration_set_support_policy (str):
            implicitRegistrationSetSupportPolicy
        use_system_implicit_registration_set_support_policy (bool):
            useSystemImplicitRegistrationSetSupportPolicy
        sip_identity_for_pilot_and_proxy_trunk_modes_policy (str):
            sipIdentityForPilotAndProxyTrunkModesPolicy
        use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy (bool):
            useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy
        use_system_support_connected_identity_policy (bool):
            useSystemSupportConnectedIdentityPolicy
        support_connected_identity_policy (str): supportConnectedIdentityPolicy
        use_system_options_message_response_status_codes (bool):
            useSystemOptionsMessageResponseStatusCodes
        options_message_response_status_code (List[str]): optionsMessageResponseStatusCode
            *Optional*
    """

    __slots__: List[str] = [
        "pilot_user_id",
        "department",
        "access_device",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_key",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_key",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
        "hosted_user_table",
        "trunk_group_identity",
        "otg_dtg_identity",
        "allow_termination_to_trunk_group_identity",
        "allow_termination_to_dtg_identity",
        "include_trunk_group_identity",
        "include_dtg_identity",
        "include_trunk_group_identity_for_network_calls",
        "include_otg_identity_for_network_calls",
        "enable_network_address_identity",
        "allow_unscreened_calls",
        "allow_unscreened_emergency_calls",
        "pilot_user_calling_line_identity_for_external_calls_policy",
        "pilot_user_charge_number_policy",
        "call_forwarding_always_action",
        "call_forwarding_always_forward_address",
        "call_forwarding_always_reroute_trunk_group_key",
        "peering_domain",
        "route_to_peering_domain",
        "prefix_enabled",
        "prefix",
        "stateful_rerouting_enabled",
        "send_continuous_options_message",
        "continuous_options_sending_interval_seconds",
        "failure_options_sending_interval_seconds",
        "failure_threshold_counter",
        "success_threshold_counter",
        "invite_failure_threshold_counter",
        "invite_failure_threshold_window_seconds",
        "trunk_group_state",
        "pilot_user_calling_line_asserted_identity_policy",
        "use_system_calling_line_asserted_identity_policy",
        "total_active_incoming_calls",
        "total_active_outgoing_calls",
        "pilot_user_call_optimization_policy",
        "clid_source_for_screened_calls_policy",
        "use_system_clid_source_for_screened_calls_policy",
        "user_lookup_policy",
        "use_system_user_lookup_policy",
        "pilot_user_calling_line_identity_for_emergency_calls_policy",
        "implicit_registration_set_support_policy",
        "use_system_implicit_registration_set_support_policy",
        "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy",
        "use_system_support_connected_identity_policy",
        "support_connected_identity_policy",
        "use_system_options_message_response_status_codes",
        "options_message_response_status_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("pilot_user_id", "pilotUserId", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("access_device", "accessDevice", OCI.AccessDevice, is_complex=True),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_key",
                "capacityExceededRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_key",
                "unreachableDestinationRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
            E(
                "hosted_user_table",
                "hostedUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
            E("trunk_group_identity", "trunkGroupIdentity", str),
            E("otg_dtg_identity", "otgDtgIdentity", str),
            E(
                "allow_termination_to_trunk_group_identity",
                "allowTerminationToTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E(
                "allow_termination_to_dtg_identity",
                "allowTerminationToDtgIdentity",
                bool,
                is_required=True,
            ),
            E(
                "include_trunk_group_identity",
                "includeTrunkGroupIdentity",
                bool,
                is_required=True,
            ),
            E("include_dtg_identity", "includeDtgIdentity", bool, is_required=True),
            E(
                "include_trunk_group_identity_for_network_calls",
                "includeTrunkGroupIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "include_otg_identity_for_network_calls",
                "includeOtgIdentityForNetworkCalls",
                bool,
                is_required=True,
            ),
            E(
                "enable_network_address_identity",
                "enableNetworkAddressIdentity",
                bool,
                is_required=True,
            ),
            E("allow_unscreened_calls", "allowUnscreenedCalls", bool, is_required=True),
            E(
                "allow_unscreened_emergency_calls",
                "allowUnscreenedEmergencyCalls",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_external_calls_policy",
                "pilotUserCallingLineIdentityForExternalCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "pilot_user_charge_number_policy",
                "pilotUserChargeNumberPolicy",
                str,
                is_required=True,
            ),
            E("call_forwarding_always_action", "callForwardingAlwaysAction", str),
            E(
                "call_forwarding_always_forward_address",
                "callForwardingAlwaysForwardAddress",
                str,
            ),
            E(
                "call_forwarding_always_reroute_trunk_group_key",
                "callForwardingAlwaysRerouteTrunkGroupKey",
                OCI.TrunkGroupKey,
                is_complex=True,
            ),
            E("peering_domain", "peeringDomain", str),
            E(
                "route_to_peering_domain",
                "routeToPeeringDomain",
                bool,
                is_required=True,
            ),
            E("prefix_enabled", "prefixEnabled", bool, is_required=True),
            E("prefix", "prefix", str),
            E(
                "stateful_rerouting_enabled",
                "statefulReroutingEnabled",
                bool,
                is_required=True,
            ),
            E(
                "send_continuous_options_message",
                "sendContinuousOptionsMessage",
                bool,
                is_required=True,
            ),
            E(
                "continuous_options_sending_interval_seconds",
                "continuousOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_options_sending_interval_seconds",
                "failureOptionsSendingIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "failure_threshold_counter",
                "failureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "success_threshold_counter",
                "successThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_counter",
                "inviteFailureThresholdCounter",
                int,
                is_required=True,
            ),
            E(
                "invite_failure_threshold_window_seconds",
                "inviteFailureThresholdWindowSeconds",
                int,
                is_required=True,
            ),
            E("trunk_group_state", "trunkGroupState", str, is_required=True),
            E(
                "pilot_user_calling_line_asserted_identity_policy",
                "pilotUserCallingLineAssertedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_calling_line_asserted_identity_policy",
                "useSystemCallingLineAssertedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "total_active_incoming_calls",
                "totalActiveIncomingCalls",
                int,
                is_required=True,
            ),
            E(
                "total_active_outgoing_calls",
                "totalActiveOutgoingCalls",
                int,
                is_required=True,
            ),
            E(
                "pilot_user_call_optimization_policy",
                "pilotUserCallOptimizationPolicy",
                str,
                is_required=True,
            ),
            E(
                "clid_source_for_screened_calls_policy",
                "clidSourceForScreenedCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_clid_source_for_screened_calls_policy",
                "useSystemCLIDSourceForScreenedCallsPolicy",
                bool,
                is_required=True,
            ),
            E("user_lookup_policy", "userLookupPolicy", str, is_required=True),
            E(
                "use_system_user_lookup_policy",
                "useSystemUserLookupPolicy",
                bool,
                is_required=True,
            ),
            E(
                "pilot_user_calling_line_identity_for_emergency_calls_policy",
                "pilotUserCallingLineIdentityForEmergencyCallsPolicy",
                str,
                is_required=True,
            ),
            E(
                "implicit_registration_set_support_policy",
                "implicitRegistrationSetSupportPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_implicit_registration_set_support_policy",
                "useSystemImplicitRegistrationSetSupportPolicy",
                bool,
                is_required=True,
            ),
            E(
                "sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "sipIdentityForPilotAndProxyTrunkModesPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_sip_identity_for_pilot_and_proxy_trunk_modes_policy",
                "useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy",
                bool,
                is_required=True,
            ),
            E(
                "use_system_support_connected_identity_policy",
                "useSystemSupportConnectedIdentityPolicy",
                bool,
                is_required=True,
            ),
            E(
                "support_connected_identity_policy",
                "supportConnectedIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "use_system_options_message_response_status_codes",
                "useSystemOptionsMessageResponseStatusCodes",
                bool,
                is_required=True,
            ),
            E(
                "options_message_response_status_code",
                "optionsMessageResponseStatusCode",
                str,
                is_array=True,
            ),
        )


class GroupTrunkGroupGetResponse(OCIResponse):
    """
    Response to the `GroupTrunkGroupGetRequest()`.

    The response contains the maximum permissible active trunk group calls for the group.

    Attributes:
        max_active_calls (OCI.maxActiveCalls): maxActiveCalls
        max_available_active_calls (OCI.maxAvailableActiveCalls): maxAvailableActiveCalls
    """

    __slots__: List[str] = [
        "max_active_calls",
        "max_available_active_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_active_calls",
                "maxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "max_available_active_calls",
                "maxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetResponse14sp1(OCIResponse):
    """
    Response to the `GroupTrunkGroupGetRequest14sp1()`.

    The response contains the maximum and bursting maximum permissible active trunk group
    calls for the group.

    Attributes:
        max_active_calls (OCI.maxActiveCalls): maxActiveCalls
        max_available_active_calls (OCI.maxAvailableActiveCalls): maxAvailableActiveCalls
        bursting_max_active_calls (OCI.burstingMaxActiveCalls): burstingMaxActiveCalls
        bursting_max_available_active_calls (OCI.burstingMaxAvailableActiveCalls):
            burstingMaxAvailableActiveCalls
    """

    __slots__: List[str] = [
        "max_active_calls",
        "max_available_active_calls",
        "bursting_max_active_calls",
        "bursting_max_available_active_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_active_calls",
                "maxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "max_available_active_calls",
                "maxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_active_calls",
                "burstingMaxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_available_active_calls",
                "burstingMaxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetResponse14sp9(OCIResponse):
    """
    Response to the `GroupTrunkGroupGetRequest14sp9()`.

    The response contains the maximum and bursting maximum permissible active trunk group
    calls for the group.  Deprecated by `GroupTrunkGroupGetResponse23()`

    Attributes:
        max_active_calls (int): maxActiveCalls
        max_available_active_calls (OCI.maxAvailableActiveCalls): maxAvailableActiveCalls
        bursting_max_active_calls (OCI.burstingMaxActiveCalls): burstingMaxActiveCalls
        bursting_max_available_active_calls (OCI.burstingMaxAvailableActiveCalls):
            burstingMaxAvailableActiveCalls
    """

    __slots__: List[str] = [
        "max_active_calls",
        "max_available_active_calls",
        "bursting_max_active_calls",
        "bursting_max_available_active_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E(
                "max_available_active_calls",
                "maxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_active_calls",
                "burstingMaxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_available_active_calls",
                "burstingMaxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupTrunkGroupGetResponse23(OCIResponse):
    """
    Response to the `GroupTrunkGroupGetRequest23()`.

    The response contains the maximum and bursting maximum permissible active trunk group
    calls for the group.

    Attributes:
        max_active_calls (int): maxActiveCalls
        max_available_active_calls (OCI.maxAvailableActiveCalls): maxAvailableActiveCalls
        bursting_max_active_calls (OCI.burstingMaxActiveCalls): burstingMaxActiveCalls
        bursting_max_available_active_calls (OCI.burstingMaxAvailableActiveCalls):
            burstingMaxAvailableActiveCalls
        max_available_number_of_bursting_btl_us (OCI.maxAvailableNumberOfBurstingBTLUs):
            maxAvailableNumberOfBurstingBTLUs
        number_of_bursting_btl_us (int): numberOfBurstingBTLUs *Optional*
    """

    __slots__: List[str] = [
        "max_active_calls",
        "max_available_active_calls",
        "bursting_max_active_calls",
        "bursting_max_available_active_calls",
        "max_available_number_of_bursting_btl_us",
        "number_of_bursting_btl_us",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E(
                "max_available_active_calls",
                "maxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_active_calls",
                "burstingMaxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_available_active_calls",
                "burstingMaxAvailableActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "max_available_number_of_bursting_btl_us",
                "maxAvailableNumberOfBurstingBTLUs",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E("number_of_bursting_btl_us", "numberOfBurstingBTLUs", int),
        )


class GroupVisualDeviceManagementGetDeviceInfoResponse(OCIResponse):
    """
    Response to `GroupVisualDeviceManagementGetDeviceInfoRequest()`.


    Attributes:
        device_type (str): deviceType
        support_visual_device_management (bool): supportVisualDeviceManagement
        mac_address (str): macAddress *Optional*
        primary_user (OCI.primaryUser): primaryUser *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "support_visual_device_management",
        "mac_address",
        "primary_user",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("mac_address", "macAddress", str),
            E("primary_user", "primaryUser", OCI.PrimaryUserInfo, is_complex=True),
        )


class GroupVoiceMessagingGroupGetVoicePortalBrandingResponse20(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalBrandingRequest20()`.


    Attributes:
        voice_portal_greeting_selection (str): voicePortalGreetingSelection
        voice_portal_greeting_file (OCI.voicePortalGreetingFile): voicePortalGreetingFile
            *Optional*
        voice_messaging_greeting_selection (str): voiceMessagingGreetingSelection
        voice_messaging_greeting_file (OCI.voiceMessagingGreetingFile):
            voiceMessagingGreetingFile *Optional*
    """

    __slots__: List[str] = [
        "voice_portal_greeting_selection",
        "voice_portal_greeting_file",
        "voice_messaging_greeting_selection",
        "voice_messaging_greeting_file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "voice_portal_greeting_selection",
                "voicePortalGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_portal_greeting_file",
                "voicePortalGreetingFile",
                OCI.AnnouncementFileKey,
                is_complex=True,
            ),
            E(
                "voice_messaging_greeting_selection",
                "voiceMessagingGreetingSelection",
                str,
                is_required=True,
            ),
            E(
                "voice_messaging_greeting_file",
                "voiceMessagingGreetingFile",
                OCI.AnnouncementFileKey,
                is_complex=True,
            ),
        )


class ServiceProviderAccessDeviceGetLinkedLeafDeviceListResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetLinkedLeafDeviceListRequest()`.


    Attributes:
        tree_device_link_id (str): treeDeviceLinkId
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "tree_device_link_id",
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("tree_device_link_id", "treeDeviceLinkId", str, is_required=True),
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderAccessDeviceGetResponse14(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest14()`.

    Replaced By: `ServiceProviderAccessDeviceGetResponse14sp3()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
        )


class ServiceProviderAccessDeviceGetResponse14sp3(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest14sp3()`.

    Replaced By: `ServiceProviderAccessDeviceGetRequest14sp6()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
        )


class ServiceProviderAccessDeviceGetResponse14sp6(OCIResponse):
    """
    Response to: `ServiceProviderAccessDeviceGetRequest14sp6()` Replaced by:
    `ServiceProviderAccessDeviceGetRequest16()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class ServiceProviderAccessDeviceGetResponse16(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest16()`.


    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class ServiceProviderAccessDeviceGetResponse18sp1(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest18sp1()`.

    Replaced by: `ServiceProviderAccessDeviceGetResponse22()`.

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
        )


class ServiceProviderAccessDeviceGetResponse22(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest22()`.

    The following elements are only used in AS data mode: useHotline hotlineContact
    Replaced by: `ServiceProviderAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
        )


class ServiceProviderAccessDeviceGetResponse22V2(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest22V2()`.

    The following elements are only used in AS data mode: useHotline hotlineContact
    serviceProviderId The following elements are only used in AS data mode and not
    returned in XS data mode: deviceName deviceExternalId

    Replaced By: `ServiceProviderAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
        service_provider_id (str): serviceProviderId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
        "service_provider_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class ServiceProviderAccessDeviceGetResponse22V3(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest22V3()`.

    The following elements are only used in AS data mode: serviceProviderId The following
    elements are only used in AS data mode and not returned in XS data mode: deviceName
    deviceExternalId Replaced by: `ServiceProviderAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        service_provider_id (str): serviceProviderId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "service_provider_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class ServiceProviderAccessDeviceGetResponse24(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetRequest24()`.

    The following elements are only used in AS data mode: useHotline hotlineContact
    serviceProviderId deviceName deviceExternalId

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        service_provider_id (str): serviceProviderId
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "service_provider_id",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class ServiceProviderCommunicationBarringProfileGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderCommunicationBarringProfileGetRequest()`.

    The response contains the Communication Barring Profile information.  The incoming,
    originating and redirecting rules are returned in ascending priority order.

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
        is_default (bool): isDefault
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
        "is_default",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
        )


class ServiceProviderCommunicationBarringProfileGetResponse17sp3(OCIResponse):
    """
    Response to the `ServiceProviderCommunicationBarringProfileGetRequest17sp3()`.

    The response contains the Communication Barring Profile information.  The incoming,
    originating, redirecting and call me now rules are returned in ascending priority
    order.  The following elements are only used in AS data mode: callMeNowDefaultAction,
    value "Blocked" is returned in XS data mode The following elements are only used in AS
    data mode and not returned in XS data mode: callMeNowDefaultCallTimeout callMeNowRule

    Replaced By : ServiceProviderCommunicationBarringProfileGetResponse19sp1V2 in AS data
    mode

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        call_me_now_default_action (str): callMeNowDefaultAction
        call_me_now_default_call_timeout (int): callMeNowDefaultCallTimeout *Optional*
        call_me_now_rule (List[OCI.callMeNowRule]): callMeNowRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
        is_default (bool): isDefault
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "call_me_now_default_action",
        "call_me_now_default_call_timeout",
        "call_me_now_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
        "is_default",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "call_me_now_default_action",
                "callMeNowDefaultAction",
                str,
                is_required=True,
            ),
            E("call_me_now_default_call_timeout", "callMeNowDefaultCallTimeout", int),
            E(
                "call_me_now_rule",
                "callMeNowRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalCallMeNowRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
        )


class ServiceProviderCommunicationBarringProfileGetResponse19sp1(OCIResponse):
    """
    Response to the `ServiceProviderCommunicationBarringProfileGetRequest19sp1()`.

    The response contains the Communication Barring Profile information.  The incoming,
    originating, redirecting and call me now rules are returned in ascending priority
    order.  The following elements are only used in AS data mode: callMeNowDefaultAction
    applyToAttendedCallTransfers The following elements are only used in AS data mode and
    not returned in XS data mode callMeNowDefaultCallTimeout callMeNowRule

    Replaced By : ServiceProviderCommunicationBarringProfileGetResponse19sp1V2 in AS data
    mode

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        call_me_now_default_action (str): callMeNowDefaultAction
        call_me_now_default_call_timeout (int): callMeNowDefaultCallTimeout *Optional*
        call_me_now_rule (List[OCI.callMeNowRule]): callMeNowRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
        is_default (bool): isDefault
        apply_to_attended_call_transfers (bool): applyToAttendedCallTransfers
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "call_me_now_default_action",
        "call_me_now_default_call_timeout",
        "call_me_now_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
        "is_default",
        "apply_to_attended_call_transfers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "call_me_now_default_action",
                "callMeNowDefaultAction",
                str,
                is_required=True,
            ),
            E("call_me_now_default_call_timeout", "callMeNowDefaultCallTimeout", int),
            E(
                "call_me_now_rule",
                "callMeNowRule",
                OCI.ServiceProviderCommunicationBarringHierarchicalCallMeNowRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "apply_to_attended_call_transfers",
                "applyToAttendedCallTransfers",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderDnGetStatusListResponse(OCIResponse):
    """
    Response to `ServiceProviderDnGetStatusListRequest()`.


    Attributes:
        dn_status (List[OCI.dnStatus]): dnStatus *Optional*
    """

    __slots__: List[str] = [
        "dn_status",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "dn_status",
                "dnStatus",
                OCI.DNValidationStatusMessage,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderFeatureAccessCodeGetListResponse(OCIResponse):
    """
    Response to the `ServiceProviderFeatureAccessCodeGetListRequest()`.

    Replaced By : `ServiceProviderFeatureAccessCodeGetListResponse20()` in AS data mode

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderFeatureAccessCodeGetListResponse20(OCIResponse):
    """
    Response to the `ServiceProviderFeatureAccessCodeGetListRequest20()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".
    Replaced by: `ServiceProviderFeatureAccessCodeGetListResponse21()`

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderFeatureAccessCodeGetListResponse21(OCIResponse):
    """
    Response to the `ServiceProviderFeatureAccessCodeGetListRequest21()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeReadEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderGetAvailableLeafDeviceListResponse(OCIResponse):
    """
    Response to `ServiceProviderGetAvailableLeafDeviceListRequest()`.


    Attributes:
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderGetResponse13mp2(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest13mp2()`.

    The response contains the service provider or enterprise's profile information.
    Replaced by: `ServiceProviderGetResponse17sp1()`

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
        )


class ServiceProviderGetResponse17sp1(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest17sp1()`.

    The response contains the service provider or enterprise's profile information.
    Replaced by: `ServiceProviderGetResponse22()`.

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        use_service_provider_languages (bool): useServiceProviderLanguages
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
        "use_service_provider_languages",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E(
                "use_service_provider_languages",
                "useServiceProviderLanguages",
                bool,
                is_required=True,
            ),
        )


class ServiceProviderGetResponse22(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest22()`.

    The response contains the service provider or enterprise's profile information.  The
    following element is only used in Amplify data mode and not returned in AS and XS data
    mode: servicePolicy, callProcessingSliceId, provisioningSliceId, subscriberPartition,
    preferredDataCenter.  Replaced by `ServiceProviderGetResponse22V2()`.

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        use_service_provider_languages (bool): useServiceProviderLanguages
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
        "use_service_provider_languages",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E(
                "use_service_provider_languages",
                "useServiceProviderLanguages",
                bool,
                is_required=True,
            ),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
        )


class ServiceProviderGetResponse22V2(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest22V2()`.

    The response contains the service provider or enterprise's profile information.  The
    following elements isare only used in Amplify data mode and not returned in AS and XS
    data mode: servicePolicy, callProcessingSliceId, provisioningSliceId,
    subscriberPartition, preferredDataCenter.  The following elements are only used in
    Amplify and XS data mode and not returned in AS data mode: preferredDataCenter.  The
    following data elements are only used in AS data mode and not returned in XS data
    mode: resellerId.  Replaced by `ServiceProviderGetResponse22V3()`.

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        use_service_provider_languages (bool): useServiceProviderLanguages
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
        "use_service_provider_languages",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E(
                "use_service_provider_languages",
                "useServiceProviderLanguages",
                bool,
                is_required=True,
            ),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
        )


class ServiceProviderGetResponse22V3(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest22V3()`.

    The response contains the service provider or enterprise's profile information.  The
    following elements isare only used in Amplify data mode and not returned in AS and XS
    data mode: servicePolicy, callProcessingSliceId, provisioningSliceId,
    subscriberPartition, preferredDataCenter.  The following elements are only used in
    Amplify and XS data mode and not returned in AS data mode: preferredDataCenter.  The
    following data elements are only used in AS data mode and not returned in XS data
    mode: resellerId.  Replaced by: `ServiceProviderGetResponse22V4()` in AS data mode.

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        use_service_provider_languages (bool): useServiceProviderLanguages
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
        "use_service_provider_languages",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E(
                "use_service_provider_languages",
                "useServiceProviderLanguages",
                bool,
                is_required=True,
            ),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
        )


class ServiceProviderGetResponse22V4(OCIResponse):
    """
    Response to the `ServiceProviderGetRequest22V4()`.

    The response contains the service provider or enterprise's profile information.  The
    following elements are only used in Amplify data mode and not returned in AS and XS
    data mode: servicePolicy, callProcessingSliceId, provisioningSliceId,
    subscriberPartition, preferredDataCenter.  The following elements are only used in
    Amplify and XS data mode and not returned in AS data mode: preferredDataCenter.  The
    following data elements are only used in AS data mode and not returned in XS data
    mode: resellerId, serviceProviderExternalId.

    Attributes:
        is_enterprise (bool): isEnterprise *Optional*
        use_custom_routing_profile (bool): useCustomRoutingProfile *Optional*
        default_domain (str): defaultDomain
        service_provider_name (str): serviceProviderName *Optional*
        support_email (str): supportEmail *Optional*
        contact (OCI.contact): contact *Optional*
        address (OCI.address): address *Optional*
        use_service_provider_languages (bool): useServiceProviderLanguages
        service_policy (str): servicePolicy *Optional*
        call_processing_slice_id (str): callProcessingSliceId *Optional*
        provisioning_slice_id (str): provisioningSliceId *Optional*
        subscriber_partition (str): subscriberPartition *Optional*
        preferred_data_center (str): preferredDataCenter *Optional*
        reseller_id (str): resellerId *Optional*
        service_provider_id (str): serviceProviderId
        service_provider_external_id (str): serviceProviderExternalId *Optional*
    """

    __slots__: List[str] = [
        "is_enterprise",
        "use_custom_routing_profile",
        "default_domain",
        "service_provider_name",
        "support_email",
        "contact",
        "address",
        "use_service_provider_languages",
        "service_policy",
        "call_processing_slice_id",
        "provisioning_slice_id",
        "subscriber_partition",
        "preferred_data_center",
        "reseller_id",
        "service_provider_id",
        "service_provider_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enterprise", "isEnterprise", bool),
            E("use_custom_routing_profile", "useCustomRoutingProfile", bool),
            E("default_domain", "defaultDomain", str, is_required=True),
            E("service_provider_name", "serviceProviderName", str),
            E("support_email", "supportEmail", str),
            E("contact", "contact", OCI.Contact, is_complex=True),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E(
                "use_service_provider_languages",
                "useServiceProviderLanguages",
                bool,
                is_required=True,
            ),
            E("service_policy", "servicePolicy", str),
            E("call_processing_slice_id", "callProcessingSliceId", str),
            E("provisioning_slice_id", "provisioningSliceId", str),
            E("subscriber_partition", "subscriberPartition", str),
            E("preferred_data_center", "preferredDataCenter", str),
            E("reseller_id", "resellerId", str),
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("service_provider_external_id", "serviceProviderExternalId", str),
        )


class ServiceProviderMeetMeConferencingGetResponse(OCIResponse):
    """
    Response to `ServiceProviderMeetMeConferencingGetRequest()`.


    Attributes:
        allocated_ports (OCI.allocatedPorts): allocatedPorts
    """

    __slots__: List[str] = [
        "allocated_ports",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
        )


class ServiceProviderScheduleGetEventResponse(OCIResponse):
    """
    Response to `ServiceProviderScheduleGetEventRequest()`.

    The response contains the event of the service provider schedule.

    Attributes:
        start_date (str): startDate
        all_day_event (bool): allDayEvent *Optional*
        start_time (OCI.startTime): startTime *Optional*
        end_time (OCI.endTime): endTime *Optional*
        end_date (str): endDate
        recurrence (OCI.recurrence): recurrence *Optional*
    """

    __slots__: List[str] = [
        "start_date",
        "all_day_event",
        "start_time",
        "end_time",
        "end_date",
        "recurrence",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("start_date", "startDate", str, is_required=True),
            E("all_day_event", "allDayEvent", bool),
            E("start_time", "startTime", OCI.HourMinute, is_complex=True),
            E("end_time", "endTime", OCI.HourMinute, is_complex=True),
            E("end_date", "endDate", str, is_required=True),
            E("recurrence", "recurrence", OCI.Recurrence, is_complex=True),
        )


class ServiceProviderScheduleGetListResponse(OCIResponse):
    """
    Response to `ServiceProviderScheduleGetListRequest()`.

    The response contains a list of service provider schedules.

    Attributes:
        schedule_key (List[OCI.scheduleKey]): scheduleKey *Optional*
    """

    __slots__: List[str] = [
        "schedule_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_key",
                "scheduleKey",
                OCI.ScheduleKey,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderServiceGetAuthorizationResponse(OCIResponse):
    """
    Response to `ServiceProviderServiceGetAuthorizationRequest()`.

    If the feature was never licensed, then "authorized" is false and the remaining
    elements are not returned.  If the service pack is available for use, "authorized" is
    true.  "authorizedQuantity" can be unlimited or a quantity.  In the case of a service
    pack, "authorizedQuantity" is the service pack's quantity.  "authorizable" is
    applicable for user services and group services; it is not returned for service packs.

    Attributes:
        authorized (bool): authorized
        authorized_quantity (OCI.authorizedQuantity): authorizedQuantity *Optional*
        used_quantity (OCI.usedQuantity): usedQuantity *Optional*
        authorizable (bool): authorizable *Optional*
    """

    __slots__: List[str] = [
        "authorized",
        "authorized_quantity",
        "used_quantity",
        "authorizable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("authorized", "authorized", bool, is_required=True),
            E(
                "authorized_quantity",
                "authorizedQuantity",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
            ),
            E(
                "used_quantity",
                "usedQuantity",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
            ),
            E("authorizable", "authorizable", bool),
        )


class ServiceProviderServicePackGetDetailListResponse(OCIResponse):
    """
    Response to `ServiceProviderServicePackGetDetailListRequest()`.

    It contains the service pack details and the list of services in a table format.  The
    column headings are "Service", "Authorized" "Allocated" and "Available".

    Attributes:
        service_pack_name (str): servicePackName
        service_pack_description (str): servicePackDescription *Optional*
        is_available_for_use (bool): isAvailableForUse
        service_pack_quantity (OCI.servicePackQuantity): servicePackQuantity
        assigned_quantity (OCI.assignedQuantity): assignedQuantity
        allowed_quantity (OCI.allowedQuantity): allowedQuantity
        user_service_table (List(userServiceTable)): userServiceTable - *Table* array of
            userServiceTable named tuples
    """

    __slots__: List[str] = [
        "service_pack_name",
        "service_pack_description",
        "is_available_for_use",
        "service_pack_quantity",
        "assigned_quantity",
        "allowed_quantity",
        "user_service_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_pack_name", "servicePackName", str, is_required=True),
            E("service_pack_description", "servicePackDescription", str),
            E("is_available_for_use", "isAvailableForUse", bool, is_required=True),
            E(
                "service_pack_quantity",
                "servicePackQuantity",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "assigned_quantity",
                "assignedQuantity",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allowed_quantity",
                "allowedQuantity",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "user_service_table",
                "userServiceTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class ServiceProviderTrunkGroupGetResponse(OCIResponse):
    """
    Response to the `ServiceProviderTrunkGroupGetRequest()`.

    The response contains the maximum permissible active trunk group calls for the service
    provider.

    Attributes:
        max_active_calls (OCI.maxActiveCalls): maxActiveCalls
    """

    __slots__: List[str] = [
        "max_active_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_active_calls",
                "maxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class ServiceProviderTrunkGroupGetResponse14sp1(OCIResponse):
    """
    Response to the `ServiceProviderTrunkGroupGetRequest14sp1()`.

    The response contains the maximum and bursting maximum permissible active trunk group
    calls for the service provider.

    Attributes:
        max_active_calls (OCI.maxActiveCalls): maxActiveCalls
        bursting_max_active_calls (OCI.burstingMaxActiveCalls): burstingMaxActiveCalls
    """

    __slots__: List[str] = [
        "max_active_calls",
        "bursting_max_active_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_active_calls",
                "maxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_active_calls",
                "burstingMaxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class ServiceProviderTrunkGroupGetResponse23(OCIResponse):
    """
    Response to the `ServiceProviderTrunkGroupGetRequest23()`.

    The response contains the maximum and bursting maximum permissible active trunk group
    calls for the service provider.

    Attributes:
        max_active_calls (OCI.maxActiveCalls): maxActiveCalls
        bursting_max_active_calls (OCI.burstingMaxActiveCalls): burstingMaxActiveCalls
        number_of_bursting_btl_us (OCI.numberOfBurstingBTLUs): numberOfBurstingBTLUs
    """

    __slots__: List[str] = [
        "max_active_calls",
        "bursting_max_active_calls",
        "number_of_bursting_btl_us",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "max_active_calls",
                "maxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "bursting_max_active_calls",
                "burstingMaxActiveCalls",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_bursting_btl_us",
                "numberOfBurstingBTLUs",
                OCI.UnboundedNonNegativeInt,
                is_complex=True,
                is_required=True,
            ),
        )


class ServiceProviderVisualDeviceManagementGetDeviceInfoResponse(OCIResponse):
    """
    Response to `ServiceProviderVisualDeviceManagementGetDeviceInfoRequest()`.


    Attributes:
        device_type (str): deviceType
        support_visual_device_management (bool): supportVisualDeviceManagement
        mac_address (str): macAddress *Optional*
        primary_user (OCI.primaryUser): primaryUser *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "support_visual_device_management",
        "mac_address",
        "primary_user",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("mac_address", "macAddress", str),
            E("primary_user", "primaryUser", OCI.PrimaryUserInfo, is_complex=True),
        )


class SystemAccessDeviceGetLinkedLeafDeviceListResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetLinkedLeafDeviceListRequest()`.


    Attributes:
        tree_device_link_id (str): treeDeviceLinkId
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "tree_device_link_id",
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("tree_device_link_id", "treeDeviceLinkId", str, is_required=True),
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemAccessDeviceGetResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest()`.

    Replaced By: `SystemAccessDeviceGetResponse14sp3()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
        )


class SystemAccessDeviceGetResponse14sp3(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest14sp3()`

    Replaced By: `SystemAccessDeviceGetResponse14sp6()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
        )


class SystemAccessDeviceGetResponse14sp6(OCIResponse):
    """
    Response to: `SystemAccessDeviceGetRequest14sp6()` Replaced by:
    `SystemAccessDeviceGetRequest16()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class SystemAccessDeviceGetResponse16(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest16()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
        )


class SystemAccessDeviceGetResponse18sp1(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest18sp1()` The following elements are only used
    in AS data mode: version Replaced by: `SystemAccessDeviceGetResponse22()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
        )


class SystemAccessDeviceGetResponse22(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest22()` The following elements are only used in
    AS data mode: version useHotline hotlineContact Replaced by:
    `SystemAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
        )


class SystemAccessDeviceGetResponse22V2(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest22V2()` The following elements are only
    returned in AS data mode: version useHotline hotlineContact The following elements are
    only used in AS data mode and not returned in XS data mode: deviceName
    deviceExternalId

    Replaced By: `SystemAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class SystemAccessDeviceGetResponse22V3(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest22V3()` The following elements are only used
    in AS data mode: version useHotline hotlineContact The following elements are only
    used in AS data mode and not returned in XS data mode: isWebexTeamsDevice
    defaultPathHeader deviceExternalId

    Replaced By: `SystemAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        mobility_manager_provisioning_url (str): mobilityManagerProvisioningURL *Optional*
        mobility_manager_provisioning_user_name (str): mobilityManagerProvisioningUserName
            *Optional*
        mobility_manager_default_originating_service_key (int):
            mobilityManagerDefaultOriginatingServiceKey *Optional*
        mobility_manager_default_terminating_service_key (int):
            mobilityManagerDefaultTerminatingServiceKey *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        use_hotline (bool): useHotline
        hotline_contact (str): hotlineContact *Optional*
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
        is_webex_teams_device (bool): isWebexTeamsDevice *Optional*
        default_path_header (str): defaultPathHeader *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "mobility_manager_provisioning_url",
        "mobility_manager_provisioning_user_name",
        "mobility_manager_default_originating_service_key",
        "mobility_manager_default_terminating_service_key",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "use_hotline",
        "hotline_contact",
        "device_name",
        "device_external_id",
        "is_webex_teams_device",
        "default_path_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E(
                "mobility_manager_provisioning_url",
                "mobilityManagerProvisioningURL",
                str,
            ),
            E(
                "mobility_manager_provisioning_user_name",
                "mobilityManagerProvisioningUserName",
                str,
            ),
            E(
                "mobility_manager_default_originating_service_key",
                "mobilityManagerDefaultOriginatingServiceKey",
                int,
            ),
            E(
                "mobility_manager_default_terminating_service_key",
                "mobilityManagerDefaultTerminatingServiceKey",
                int,
            ),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("use_hotline", "useHotline", bool, is_required=True),
            E("hotline_contact", "hotlineContact", str),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
            E("is_webex_teams_device", "isWebexTeamsDevice", bool),
            E("default_path_header", "defaultPathHeader", str),
        )


class SystemAccessDeviceGetResponse22V4(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest22V4()` The following elements are only used
    in AS data mode: version The following elements are only used in AS data mode and not
    returned in XS data mode: isWebexTeamsDevice defaultPathHeader deviceExternalId
    Replaced by: `SystemAccessDeviceGetResponse24()`

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
        is_webex_teams_device (bool): isWebexTeamsDevice *Optional*
        default_path_header (str): defaultPathHeader *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "device_name",
        "device_external_id",
        "is_webex_teams_device",
        "default_path_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
            E("is_webex_teams_device", "isWebexTeamsDevice", bool),
            E("default_path_header", "defaultPathHeader", str),
        )


class SystemAccessDeviceGetResponse24(OCIResponse):
    """
    Response to `SystemAccessDeviceGetRequest24()` The following elements are only used in
    AS data mode: version deviceName deviceExternalId The following elements are only used
    in AS data mode and not returned in XS data mode: isWebexTeamsDevice defaultPathHeader

    Attributes:
        device_type (str): deviceType
        protocol (str): protocol
        net_address (str): netAddress *Optional*
        port (int): port *Optional*
        outbound_proxy_server_net_address (str): outboundProxyServerNetAddress *Optional*
        stun_server_net_address (str): stunServerNetAddress *Optional*
        mac_address (str): macAddress *Optional*
        serial_number (str): serialNumber *Optional*
        description (str): description *Optional*
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        number_of_assigned_ports (int): numberOfAssignedPorts
        status (str): status
        physical_location (str): physicalLocation *Optional*
        transport_protocol (str): transportProtocol *Optional*
        use_custom_user_name_password (bool): useCustomUserNamePassword *Optional*
        user_name (str): userName *Optional*
        version (str): version *Optional*
        is_webex_teams_device (bool): isWebexTeamsDevice *Optional*
        default_path_header (str): defaultPathHeader *Optional*
        device_name (str): deviceName
        device_external_id (str): deviceExternalId *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "protocol",
        "net_address",
        "port",
        "outbound_proxy_server_net_address",
        "stun_server_net_address",
        "mac_address",
        "serial_number",
        "description",
        "number_of_ports",
        "number_of_assigned_ports",
        "status",
        "physical_location",
        "transport_protocol",
        "use_custom_user_name_password",
        "user_name",
        "version",
        "is_webex_teams_device",
        "default_path_header",
        "device_name",
        "device_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E("protocol", "protocol", str, is_required=True),
            E("net_address", "netAddress", str),
            E("port", "port", int),
            E(
                "outbound_proxy_server_net_address",
                "outboundProxyServerNetAddress",
                str,
            ),
            E("stun_server_net_address", "stunServerNetAddress", str),
            E("mac_address", "macAddress", str),
            E("serial_number", "serialNumber", str),
            E("description", "description", str),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "number_of_assigned_ports",
                "numberOfAssignedPorts",
                int,
                is_required=True,
            ),
            E("status", "status", str, is_required=True),
            E("physical_location", "physicalLocation", str),
            E("transport_protocol", "transportProtocol", str),
            E("use_custom_user_name_password", "useCustomUserNamePassword", bool),
            E("user_name", "userName", str),
            E("version", "version", str),
            E("is_webex_teams_device", "isWebexTeamsDevice", bool),
            E("default_path_header", "defaultPathHeader", str),
            E("device_name", "deviceName", str, is_required=True),
            E("device_external_id", "deviceExternalId", str),
        )


class SystemCallCenterEnhancedReportingDataTemplateGetListResponse(OCIResponse):
    """
    Response to `SystemCallCenterEnhancedReportingDataTemplateGetListRequest()`.


    Attributes:
        info (List[OCI.info]): info *Optional*
    """

    __slots__: List[str] = [
        "info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "info",
                "info",
                OCI.CallCenterReportDataTemplateInfo,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemCollaborateGetResponse(OCIResponse):
    """
    Response to `SystemCollaborateGetRequest()`.

    Replaced by: `SystemCollaborateGetResponse20sp1()`

    Attributes:
        collaborate_room_id_length (int): collaborateRoomIdLength
        instant_room_idle_timeout_seconds (int): instantRoomIdleTimeoutSeconds
        collaborate_room_maximum_duration_minutes (int):
            collaborateRoomMaximumDurationMinutes
        support_outdial (bool): supportOutdial
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
        collaborate_active_talker_refresh_interval_seconds (int):
            collaborateActiveTalkerRefreshIntervalSeconds
        terminate_collaborate_after_grace_period (bool):
            terminateCollaborateAfterGracePeriod
        collaborate_grace_period (OCI.collaborateGracePeriod): collaborateGracePeriod
        enable_active_collaborate_notification (bool): enableActiveCollaborateNotification
        collaborate_from_address (str): collaborateFromAddress *Optional*
    """

    __slots__: List[str] = [
        "collaborate_room_id_length",
        "instant_room_idle_timeout_seconds",
        "collaborate_room_maximum_duration_minutes",
        "support_outdial",
        "max_collaborate_room_participants",
        "collaborate_active_talker_refresh_interval_seconds",
        "terminate_collaborate_after_grace_period",
        "collaborate_grace_period",
        "enable_active_collaborate_notification",
        "collaborate_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "collaborate_room_id_length",
                "collaborateRoomIdLength",
                int,
                is_required=True,
            ),
            E(
                "instant_room_idle_timeout_seconds",
                "instantRoomIdleTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "collaborate_room_maximum_duration_minutes",
                "collaborateRoomMaximumDurationMinutes",
                int,
                is_required=True,
            ),
            E("support_outdial", "supportOutdial", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
            E(
                "collaborate_active_talker_refresh_interval_seconds",
                "collaborateActiveTalkerRefreshIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "terminate_collaborate_after_grace_period",
                "terminateCollaborateAfterGracePeriod",
                bool,
                is_required=True,
            ),
            E(
                "collaborate_grace_period",
                "collaborateGracePeriod",
                OCI.CollaborateGracePeriodDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "enable_active_collaborate_notification",
                "enableActiveCollaborateNotification",
                bool,
                is_required=True,
            ),
            E("collaborate_from_address", "collaborateFromAddress", str),
        )


class SystemCollaborateGetResponse20sp1(OCIResponse):
    """
    Response to `SystemCollaborateGetRequest20sp1()`.

    Replaced by: SystemCollaborateGetResponse20sp1V2

    Attributes:
        collaborate_room_id_length (int): collaborateRoomIdLength
        instant_room_idle_timeout_seconds (int): instantRoomIdleTimeoutSeconds
        collaborate_room_maximum_duration_minutes (int):
            collaborateRoomMaximumDurationMinutes
        support_outdial (bool): supportOutdial
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
        collaborate_active_talker_refresh_interval_seconds (int):
            collaborateActiveTalkerRefreshIntervalSeconds
        terminate_collaborate_after_grace_period (bool):
            terminateCollaborateAfterGracePeriod
        collaborate_grace_period (OCI.collaborateGracePeriod): collaborateGracePeriod
        enable_active_collaborate_notification (bool): enableActiveCollaborateNotification
        collaborate_from_address (str): collaborateFromAddress *Optional*
    """

    __slots__: List[str] = [
        "collaborate_room_id_length",
        "instant_room_idle_timeout_seconds",
        "collaborate_room_maximum_duration_minutes",
        "support_outdial",
        "max_collaborate_room_participants",
        "collaborate_active_talker_refresh_interval_seconds",
        "terminate_collaborate_after_grace_period",
        "collaborate_grace_period",
        "enable_active_collaborate_notification",
        "collaborate_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "collaborate_room_id_length",
                "collaborateRoomIdLength",
                int,
                is_required=True,
            ),
            E(
                "instant_room_idle_timeout_seconds",
                "instantRoomIdleTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "collaborate_room_maximum_duration_minutes",
                "collaborateRoomMaximumDurationMinutes",
                int,
                is_required=True,
            ),
            E("support_outdial", "supportOutdial", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
            E(
                "collaborate_active_talker_refresh_interval_seconds",
                "collaborateActiveTalkerRefreshIntervalSeconds",
                int,
                is_required=True,
            ),
            E(
                "terminate_collaborate_after_grace_period",
                "terminateCollaborateAfterGracePeriod",
                bool,
                is_required=True,
            ),
            E(
                "collaborate_grace_period",
                "collaborateGracePeriod",
                OCI.CollaborateGracePeriodDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "enable_active_collaborate_notification",
                "enableActiveCollaborateNotification",
                bool,
                is_required=True,
            ),
            E("collaborate_from_address", "collaborateFromAddress", str),
        )


class SystemCommunicationBarringProfileGetResponse(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetRequest()`.

    The response contains the Communication Barring Profile information.  Replaced by:
    `SystemCommunicationBarringProfileGetResponse16()`

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_rule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E(
                "originating_rule",
                "originatingRule",
                OCI.CommunicationBarringOriginatingRule15sp2,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.CommunicationBarringRedirectingRule15sp2,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemCommunicationBarringProfileGetResponse16(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetRequest16()`.

    The response contains the Communication Barring Profile information.

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.CommunicationBarringOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.CommunicationBarringRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemCommunicationBarringProfileGetResponse17sp1(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetRequest17sp1()`.

    The response contains the Communication Barring Profile information.  The incoming
    rules are returned in ascending priority order.  The following elements are only used
    in XS data mode: incomingDefaultAction incomingDefaultCallTimeout incomingRule

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.CommunicationBarringOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.CommunicationBarringRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemCommunicationBarringProfileGetResponse17sp3(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetRequest17sp3()`.

    The response contains the Communication Barring Profile information.  The incoming
    rules are returned in ascending priority order.  The following elements are only used
    in AS data mode: callMeNowDefaultAction, value "Block" is returned in XS data mode The
    following elements are only used in AS data mode and not returned in XS data mode:
    callMeNowDefaultCallTimeout callMeNowRule Replaced by:
    `SystemCommunicationBarringProfileGetResponse19sp1()` in AS data mode

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
        call_me_now_default_action (str): callMeNowDefaultAction
        call_me_now_default_call_timeout (int): callMeNowDefaultCallTimeout *Optional*
        call_me_now_rule (List[OCI.callMeNowRule]): callMeNowRule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
        "call_me_now_default_action",
        "call_me_now_default_call_timeout",
        "call_me_now_rule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.CommunicationBarringOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.CommunicationBarringRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "call_me_now_default_action",
                "callMeNowDefaultAction",
                str,
                is_required=True,
            ),
            E("call_me_now_default_call_timeout", "callMeNowDefaultCallTimeout", int),
            E(
                "call_me_now_rule",
                "callMeNowRule",
                OCI.CommunicationBarringCallMeNowRule,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemCommunicationBarringProfileGetResponse19sp1(OCIResponse):
    """
    Response to the `SystemCommunicationBarringProfileGetRequest19sp1()`.

    The response contains the Communication Barring Profile information.  The incoming
    rules are returned in ascending priority order.  The following elements are only used
    in AS data mode: callMeNowDefaultAction, value "Block" is returned in XS data mode
    applyToAttendedCallTransfers, The following elements are only used in AS data mode and
    not returned in XS data mode: callMeNowDefaultCallTimeout callMeNowRule Replaced by:
    SystemCommunicationBarringProfileGetResponse19sp1V2 in AS data mode

    Attributes:
        description (str): description *Optional*
        originating_default_action (str): originatingDefaultAction
        originating_default_treatment_id (str): originatingDefaultTreatmentId *Optional*
        originating_default_transfer_number (str): originatingDefaultTransferNumber
            *Optional*
        originating_default_call_timeout (int): originatingDefaultCallTimeout *Optional*
        originating_rule (List[OCI.originatingRule]): originatingRule *Optional*
        redirecting_default_action (str): redirectingDefaultAction
        redirecting_default_call_timeout (int): redirectingDefaultCallTimeout *Optional*
        redirecting_rule (List[OCI.redirectingRule]): redirectingRule *Optional*
        incoming_default_action (str): incomingDefaultAction
        incoming_default_call_timeout (int): incomingDefaultCallTimeout *Optional*
        incoming_rule (List[OCI.incomingRule]): incomingRule *Optional*
        call_me_now_default_action (str): callMeNowDefaultAction
        call_me_now_default_call_timeout (int): callMeNowDefaultCallTimeout *Optional*
        call_me_now_rule (List[OCI.callMeNowRule]): callMeNowRule *Optional*
        apply_to_attended_call_transfers (bool): applyToAttendedCallTransfers
    """

    __slots__: List[str] = [
        "description",
        "originating_default_action",
        "originating_default_treatment_id",
        "originating_default_transfer_number",
        "originating_default_call_timeout",
        "originating_rule",
        "redirecting_default_action",
        "redirecting_default_call_timeout",
        "redirecting_rule",
        "incoming_default_action",
        "incoming_default_call_timeout",
        "incoming_rule",
        "call_me_now_default_action",
        "call_me_now_default_call_timeout",
        "call_me_now_rule",
        "apply_to_attended_call_transfers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "originating_default_action",
                "originatingDefaultAction",
                str,
                is_required=True,
            ),
            E("originating_default_treatment_id", "originatingDefaultTreatmentId", str),
            E(
                "originating_default_transfer_number",
                "originatingDefaultTransferNumber",
                str,
            ),
            E("originating_default_call_timeout", "originatingDefaultCallTimeout", int),
            E(
                "originating_rule",
                "originatingRule",
                OCI.CommunicationBarringOriginatingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "redirecting_default_action",
                "redirectingDefaultAction",
                str,
                is_required=True,
            ),
            E("redirecting_default_call_timeout", "redirectingDefaultCallTimeout", int),
            E(
                "redirecting_rule",
                "redirectingRule",
                OCI.CommunicationBarringRedirectingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "incoming_default_action",
                "incomingDefaultAction",
                str,
                is_required=True,
            ),
            E("incoming_default_call_timeout", "incomingDefaultCallTimeout", int),
            E(
                "incoming_rule",
                "incomingRule",
                OCI.CommunicationBarringIncomingRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "call_me_now_default_action",
                "callMeNowDefaultAction",
                str,
                is_required=True,
            ),
            E("call_me_now_default_call_timeout", "callMeNowDefaultCallTimeout", int),
            E(
                "call_me_now_rule",
                "callMeNowRule",
                OCI.CommunicationBarringCallMeNowRule,
                is_complex=True,
                is_array=True,
            ),
            E(
                "apply_to_attended_call_transfers",
                "applyToAttendedCallTransfers",
                bool,
                is_required=True,
            ),
        )


class SystemDeviceTypeGetResponse(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest()`.

    Replaced By: `SystemDeviceTypeGetResponse14sp3()`

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
        )


class SystemDeviceTypeGetResponse14sp3(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest14sp3()`.

    Replaced By: `SystemDeviceTypeGetResponse14sp6()`

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemFeatureAccessCodeGetListResponse(OCIResponse):
    """
    Response to the `SystemFeatureAccessCodeGetListRequest()`.

    Replaced by: `SystemFeatureAccessCodeGetListResponse21()` in AS data mode

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemFeatureAccessCodeGetListResponse20(OCIResponse):
    """
    Response to the `SystemFeatureAccessCodeGetListRequest20()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".
    Replaced by: `SystemFeatureAccessCodeGetListResponse21()`

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemFeatureAccessCodeGetListResponse21(OCIResponse):
    """
    Response to the `SystemFeatureAccessCodeGetListRequest21()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording - Start".

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeReadEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemFileRepositoryDeviceGetResponse(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceGetRequest()`.


    Attributes:
        root_directory (str): rootDirectory *Optional*
        port (int): port *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
        protocol_ftp (OCI.protocolFTP): protocolFTP *Optional*
    """

    __slots__: List[str] = [
        "root_directory",
        "port",
        "protocol_web_dav",
        "protocol_ftp",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("root_directory", "rootDirectory", str),
            E("port", "port", int),
            E(
                "protocol_web_dav",
                "protocolWebDAV",
                OCI.FileRepositoryProtocolWebDAV,
                is_complex=True,
            ),
            E(
                "protocol_ftp",
                "protocolFTP",
                OCI.FileRepositoryProtocolFTP,
                is_complex=True,
            ),
        )


class SystemFileRepositoryDeviceGetResponse16(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceGetRequest16()`.

    Replaced by: `SystemFileRepositoryDeviceGetResponse20()` in AS data mode

    Attributes:
        root_directory (str): rootDirectory *Optional*
        port (int): port *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
        protocol_ftp (OCI.protocolFTP): protocolFTP *Optional*
    """

    __slots__: List[str] = [
        "root_directory",
        "port",
        "protocol_web_dav",
        "protocol_ftp",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("root_directory", "rootDirectory", str),
            E("port", "port", int),
            E(
                "protocol_web_dav",
                "protocolWebDAV",
                OCI.FileRepositoryProtocolWebDAV,
                is_complex=True,
            ),
            E(
                "protocol_ftp",
                "protocolFTP",
                OCI.FileRepositoryProtocolFTP16,
                is_complex=True,
            ),
        )


class SystemFileRepositoryDeviceGetResponse20(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceGetRequest20()`.


    Attributes:
        root_directory (str): rootDirectory *Optional*
        port (int): port *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
        protocol_ftp (OCI.protocolFTP): protocolFTP *Optional*
    """

    __slots__: List[str] = [
        "root_directory",
        "port",
        "protocol_web_dav",
        "protocol_ftp",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("root_directory", "rootDirectory", str),
            E("port", "port", int),
            E(
                "protocol_web_dav",
                "protocolWebDAV",
                OCI.FileRepositoryProtocolWebDAV20,
                is_complex=True,
            ),
            E(
                "protocol_ftp",
                "protocolFTP",
                OCI.FileRepositoryProtocolFTP16,
                is_complex=True,
            ),
        )


class SystemFileRepositoryDeviceGetResponse22(OCIResponse):
    """
    Response to `SystemFileRepositoryDeviceGetRequest22()`.


    Attributes:
        root_directory (str): rootDirectory *Optional*
        port (int): port *Optional*
        protocol_web_dav (OCI.protocolWebDAV): protocolWebDAV *Optional*
        protocol_ftp (OCI.protocolFTP): protocolFTP *Optional*
        protocol_sftp (OCI.protocolSFTP): protocolSFTP *Optional*
        protocol_ftps (OCI.protocolFTPS): protocolFTPS *Optional*
    """

    __slots__: List[str] = [
        "root_directory",
        "port",
        "protocol_web_dav",
        "protocol_ftp",
        "protocol_sftp",
        "protocol_ftps",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("root_directory", "rootDirectory", str),
            E("port", "port", int),
            E(
                "protocol_web_dav",
                "protocolWebDAV",
                OCI.FileRepositoryProtocolWebDAV20,
                is_complex=True,
            ),
            E(
                "protocol_ftp",
                "protocolFTP",
                OCI.FileRepositoryProtocolFTP16,
                is_complex=True,
            ),
            E(
                "protocol_sftp",
                "protocolSFTP",
                OCI.FileRepositoryProtocolFTP16,
                is_complex=True,
            ),
            E(
                "protocol_ftps",
                "protocolFTPS",
                OCI.FileRepositoryProtocolFTP16,
                is_complex=True,
            ),
        )


class SystemGetAvailableLeafDeviceListResponse(OCIResponse):
    """
    Response to `SystemGetAvailableLeafDeviceListRequest()`.


    Attributes:
        leaf_device_key (List[OCI.leafDeviceKey]): leafDeviceKey *Optional*
    """

    __slots__: List[str] = [
        "leaf_device_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "leaf_device_key",
                "leafDeviceKey",
                OCI.AccessDeviceKey,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemHolidayScheduleGetResponse(OCIResponse):
    """
    Response to the `SystemHolidayScheduleGetRequest()`.

    The response contains the system holiday schedule information.

    Attributes:
        holiday01 (OCI.holiday01): holiday01 *Optional*
        holiday02 (OCI.holiday02): holiday02 *Optional*
        holiday03 (OCI.holiday03): holiday03 *Optional*
        holiday04 (OCI.holiday04): holiday04 *Optional*
        holiday05 (OCI.holiday05): holiday05 *Optional*
        holiday06 (OCI.holiday06): holiday06 *Optional*
        holiday07 (OCI.holiday07): holiday07 *Optional*
        holiday08 (OCI.holiday08): holiday08 *Optional*
        holiday09 (OCI.holiday09): holiday09 *Optional*
        holiday10 (OCI.holiday10): holiday10 *Optional*
        holiday11 (OCI.holiday11): holiday11 *Optional*
        holiday12 (OCI.holiday12): holiday12 *Optional*
        holiday13 (OCI.holiday13): holiday13 *Optional*
        holiday14 (OCI.holiday14): holiday14 *Optional*
        holiday15 (OCI.holiday15): holiday15 *Optional*
        holiday16 (OCI.holiday16): holiday16 *Optional*
        holiday17 (OCI.holiday17): holiday17 *Optional*
        holiday18 (OCI.holiday18): holiday18 *Optional*
        holiday19 (OCI.holiday19): holiday19 *Optional*
        holiday20 (OCI.holiday20): holiday20 *Optional*
    """

    __slots__: List[str] = [
        "holiday01",
        "holiday02",
        "holiday03",
        "holiday04",
        "holiday05",
        "holiday06",
        "holiday07",
        "holiday08",
        "holiday09",
        "holiday10",
        "holiday11",
        "holiday12",
        "holiday13",
        "holiday14",
        "holiday15",
        "holiday16",
        "holiday17",
        "holiday18",
        "holiday19",
        "holiday20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("holiday01", "holiday01", OCI.Holiday, is_complex=True),
            E("holiday02", "holiday02", OCI.Holiday, is_complex=True),
            E("holiday03", "holiday03", OCI.Holiday, is_complex=True),
            E("holiday04", "holiday04", OCI.Holiday, is_complex=True),
            E("holiday05", "holiday05", OCI.Holiday, is_complex=True),
            E("holiday06", "holiday06", OCI.Holiday, is_complex=True),
            E("holiday07", "holiday07", OCI.Holiday, is_complex=True),
            E("holiday08", "holiday08", OCI.Holiday, is_complex=True),
            E("holiday09", "holiday09", OCI.Holiday, is_complex=True),
            E("holiday10", "holiday10", OCI.Holiday, is_complex=True),
            E("holiday11", "holiday11", OCI.Holiday, is_complex=True),
            E("holiday12", "holiday12", OCI.Holiday, is_complex=True),
            E("holiday13", "holiday13", OCI.Holiday, is_complex=True),
            E("holiday14", "holiday14", OCI.Holiday, is_complex=True),
            E("holiday15", "holiday15", OCI.Holiday, is_complex=True),
            E("holiday16", "holiday16", OCI.Holiday, is_complex=True),
            E("holiday17", "holiday17", OCI.Holiday, is_complex=True),
            E("holiday18", "holiday18", OCI.Holiday, is_complex=True),
            E("holiday19", "holiday19", OCI.Holiday, is_complex=True),
            E("holiday20", "holiday20", OCI.Holiday, is_complex=True),
        )


class SystemInterceptUserGetDnListResponse(OCIResponse):
    """
    Response to `SystemInterceptUserGetDnListRequest()`.

    The Intercept User DN List.

    Attributes:
        intercept_user_list (List[OCI.interceptUserList]): interceptUserList *Optional*
    """

    __slots__: List[str] = [
        "intercept_user_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "intercept_user_list",
                "interceptUserList",
                OCI.InterceptDNListEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemMGCPDeviceTypeGetResponse(OCIResponse):
    """
    Response to `SystemMGCPDeviceTypeGetRequest()`.


    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        protocol_choice (List[str]): protocolChoice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "number_of_ports",
        "protocol_choice",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
        )


class SystemMeetMeConferencingGetResponse18(OCIResponse):
    """
    Response to `SystemMeetMeConferencingGetRequest18()`.


    Attributes:
        conference_id_length (int): conferenceIdLength
        moderator_pin_length (int): moderatorPinLength
        enable_conference_end_date_restriction (bool): enableConferenceEndDateRestriction
        conference_end_date_restriction_months (int): conferenceEndDateRestrictionMonths
        delete_expired_conferences_after_hold_period (bool):
            deleteExpiredConferencesAfterHoldPeriod
        expired_conference_hold_period_days (int): expiredConferenceHoldPeriodDays
        recording_web_app_url (str): recordingWebAppURL *Optional*
        recording_file_format (str): recordingFileFormat
        terminate_after_grace_period (bool): terminateAfterGracePeriod
        conference_grace_period_minutes (OCI.conferenceGracePeriodMinutes):
            conferenceGracePeriodMinutes
        conference_participant_early_entry_minutes (int):
            conferenceParticipantEarlyEntryMinutes
        enable_conference_expiry_notification (bool): enableConferenceExpiryNotification
        enable_active_conference_notification (bool): enableActiveConferenceNotification
        conference_from_address (str): conferenceFromAddress
    """

    __slots__: List[str] = [
        "conference_id_length",
        "moderator_pin_length",
        "enable_conference_end_date_restriction",
        "conference_end_date_restriction_months",
        "delete_expired_conferences_after_hold_period",
        "expired_conference_hold_period_days",
        "recording_web_app_url",
        "recording_file_format",
        "terminate_after_grace_period",
        "conference_grace_period_minutes",
        "conference_participant_early_entry_minutes",
        "enable_conference_expiry_notification",
        "enable_active_conference_notification",
        "conference_from_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id_length", "conferenceIdLength", int, is_required=True),
            E("moderator_pin_length", "moderatorPinLength", int, is_required=True),
            E(
                "enable_conference_end_date_restriction",
                "enableConferenceEndDateRestriction",
                bool,
                is_required=True,
            ),
            E(
                "conference_end_date_restriction_months",
                "conferenceEndDateRestrictionMonths",
                int,
                is_required=True,
            ),
            E(
                "delete_expired_conferences_after_hold_period",
                "deleteExpiredConferencesAfterHoldPeriod",
                bool,
                is_required=True,
            ),
            E(
                "expired_conference_hold_period_days",
                "expiredConferenceHoldPeriodDays",
                int,
                is_required=True,
            ),
            E("recording_web_app_url", "recordingWebAppURL", str),
            E("recording_file_format", "recordingFileFormat", str, is_required=True),
            E(
                "terminate_after_grace_period",
                "terminateAfterGracePeriod",
                bool,
                is_required=True,
            ),
            E(
                "conference_grace_period_minutes",
                "conferenceGracePeriodMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "conference_participant_early_entry_minutes",
                "conferenceParticipantEarlyEntryMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_conference_expiry_notification",
                "enableConferenceExpiryNotification",
                bool,
                is_required=True,
            ),
            E(
                "enable_active_conference_notification",
                "enableActiveConferenceNotification",
                bool,
                is_required=True,
            ),
            E(
                "conference_from_address",
                "conferenceFromAddress",
                str,
                is_required=True,
            ),
        )


class SystemMeetMeConferencingGetResponse19(OCIResponse):
    """
    Response to `SystemMeetMeConferencingGetRequest19()`.


    Attributes:
        conference_id_length (int): conferenceIdLength
        moderator_pin_length (int): moderatorPinLength
        enable_conference_end_date_restriction (bool): enableConferenceEndDateRestriction
        conference_end_date_restriction_months (int): conferenceEndDateRestrictionMonths
        delete_expired_conferences_after_hold_period (bool):
            deleteExpiredConferencesAfterHoldPeriod
        expired_conference_hold_period_days (int): expiredConferenceHoldPeriodDays
        recording_web_app_url (str): recordingWebAppURL *Optional*
        recording_file_format (str): recordingFileFormat
        terminate_after_grace_period (bool): terminateAfterGracePeriod
        conference_grace_period_minutes (OCI.conferenceGracePeriodMinutes):
            conferenceGracePeriodMinutes
        conference_participant_early_entry_minutes (int):
            conferenceParticipantEarlyEntryMinutes
        enable_conference_expiry_notification (bool): enableConferenceExpiryNotification
        enable_active_conference_notification (bool): enableActiveConferenceNotification
        conference_from_address (str): conferenceFromAddress
        conference_active_talker_refresh_interval_seconds (int):
            conferenceActiveTalkerRefreshIntervalSeconds
    """

    __slots__: List[str] = [
        "conference_id_length",
        "moderator_pin_length",
        "enable_conference_end_date_restriction",
        "conference_end_date_restriction_months",
        "delete_expired_conferences_after_hold_period",
        "expired_conference_hold_period_days",
        "recording_web_app_url",
        "recording_file_format",
        "terminate_after_grace_period",
        "conference_grace_period_minutes",
        "conference_participant_early_entry_minutes",
        "enable_conference_expiry_notification",
        "enable_active_conference_notification",
        "conference_from_address",
        "conference_active_talker_refresh_interval_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("conference_id_length", "conferenceIdLength", int, is_required=True),
            E("moderator_pin_length", "moderatorPinLength", int, is_required=True),
            E(
                "enable_conference_end_date_restriction",
                "enableConferenceEndDateRestriction",
                bool,
                is_required=True,
            ),
            E(
                "conference_end_date_restriction_months",
                "conferenceEndDateRestrictionMonths",
                int,
                is_required=True,
            ),
            E(
                "delete_expired_conferences_after_hold_period",
                "deleteExpiredConferencesAfterHoldPeriod",
                bool,
                is_required=True,
            ),
            E(
                "expired_conference_hold_period_days",
                "expiredConferenceHoldPeriodDays",
                int,
                is_required=True,
            ),
            E("recording_web_app_url", "recordingWebAppURL", str),
            E("recording_file_format", "recordingFileFormat", str, is_required=True),
            E(
                "terminate_after_grace_period",
                "terminateAfterGracePeriod",
                bool,
                is_required=True,
            ),
            E(
                "conference_grace_period_minutes",
                "conferenceGracePeriodMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "conference_participant_early_entry_minutes",
                "conferenceParticipantEarlyEntryMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_conference_expiry_notification",
                "enableConferenceExpiryNotification",
                bool,
                is_required=True,
            ),
            E(
                "enable_active_conference_notification",
                "enableActiveConferenceNotification",
                bool,
                is_required=True,
            ),
            E(
                "conference_from_address",
                "conferenceFromAddress",
                str,
                is_required=True,
            ),
            E(
                "conference_active_talker_refresh_interval_seconds",
                "conferenceActiveTalkerRefreshIntervalSeconds",
                int,
                is_required=True,
            ),
        )


class SystemNetworkClassOfServiceGetResponse(OCIResponse):
    """
    Response to the `SystemNetworkClassOfServiceGetRequest()`.

    The response contains the Network Class of Service information.  Replaced by:
    `SystemNetworkClassOfServiceGetResponse17()`

    Attributes:
        description (str): description *Optional*
        communication_barring_profile0 (OCI.communicationBarringProfile0):
            communicationBarringProfile0 *Optional*
        communication_barring_profile1 (OCI.communicationBarringProfile1):
            communicationBarringProfile1 *Optional*
        communication_barring_profile2 (OCI.communicationBarringProfile2):
            communicationBarringProfile2 *Optional*
        communication_barring_profile3 (OCI.communicationBarringProfile3):
            communicationBarringProfile3 *Optional*
        communication_barring_profile4 (OCI.communicationBarringProfile4):
            communicationBarringProfile4 *Optional*
        communication_barring_profile5 (OCI.communicationBarringProfile5):
            communicationBarringProfile5 *Optional*
        communication_barring_profile6 (OCI.communicationBarringProfile6):
            communicationBarringProfile6 *Optional*
        communication_barring_profile7 (OCI.communicationBarringProfile7):
            communicationBarringProfile7 *Optional*
        communication_barring_profile8 (OCI.communicationBarringProfile8):
            communicationBarringProfile8 *Optional*
        communication_barring_profile9 (OCI.communicationBarringProfile9):
            communicationBarringProfile9 *Optional*
    """

    __slots__: List[str] = [
        "description",
        "communication_barring_profile0",
        "communication_barring_profile1",
        "communication_barring_profile2",
        "communication_barring_profile3",
        "communication_barring_profile4",
        "communication_barring_profile5",
        "communication_barring_profile6",
        "communication_barring_profile7",
        "communication_barring_profile8",
        "communication_barring_profile9",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "communication_barring_profile0",
                "communicationBarringProfile0",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile1",
                "communicationBarringProfile1",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile2",
                "communicationBarringProfile2",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile3",
                "communicationBarringProfile3",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile4",
                "communicationBarringProfile4",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile5",
                "communicationBarringProfile5",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile6",
                "communicationBarringProfile6",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile7",
                "communicationBarringProfile7",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile8",
                "communicationBarringProfile8",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile9",
                "communicationBarringProfile9",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
        )


class SystemNetworkClassOfServiceGetResponse17(OCIResponse):
    """
    Response to the `SystemNetworkClassOfServiceGetRequest17()`.

    The response contains the Network Class of Service information.  Replaced by:
    `SystemNetworkClassOfServiceGetResponse19sp1()` in AS data mode

    Attributes:
        description (str): description *Optional*
        communication_barring_profile0 (OCI.communicationBarringProfile0):
            communicationBarringProfile0 *Optional*
        communication_barring_profile1 (OCI.communicationBarringProfile1):
            communicationBarringProfile1 *Optional*
        communication_barring_profile2 (OCI.communicationBarringProfile2):
            communicationBarringProfile2 *Optional*
        communication_barring_profile3 (OCI.communicationBarringProfile3):
            communicationBarringProfile3 *Optional*
        communication_barring_profile4 (OCI.communicationBarringProfile4):
            communicationBarringProfile4 *Optional*
        communication_barring_profile5 (OCI.communicationBarringProfile5):
            communicationBarringProfile5 *Optional*
        communication_barring_profile6 (OCI.communicationBarringProfile6):
            communicationBarringProfile6 *Optional*
        communication_barring_profile7 (OCI.communicationBarringProfile7):
            communicationBarringProfile7 *Optional*
        communication_barring_profile8 (OCI.communicationBarringProfile8):
            communicationBarringProfile8 *Optional*
        communication_barring_profile9 (OCI.communicationBarringProfile9):
            communicationBarringProfile9 *Optional*
        network_translation_index (str): networkTranslationIndex *Optional*
    """

    __slots__: List[str] = [
        "description",
        "communication_barring_profile0",
        "communication_barring_profile1",
        "communication_barring_profile2",
        "communication_barring_profile3",
        "communication_barring_profile4",
        "communication_barring_profile5",
        "communication_barring_profile6",
        "communication_barring_profile7",
        "communication_barring_profile8",
        "communication_barring_profile9",
        "network_translation_index",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "communication_barring_profile0",
                "communicationBarringProfile0",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile1",
                "communicationBarringProfile1",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile2",
                "communicationBarringProfile2",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile3",
                "communicationBarringProfile3",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile4",
                "communicationBarringProfile4",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile5",
                "communicationBarringProfile5",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile6",
                "communicationBarringProfile6",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile7",
                "communicationBarringProfile7",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile8",
                "communicationBarringProfile8",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile9",
                "communicationBarringProfile9",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
        )


class SystemNetworkClassOfServiceGetResponse19sp1(OCIResponse):
    """
    Response to the `SystemNetworkClassOfServiceGetRequest19sp1()`.

    The response contains the Network Class of Service information.

    Attributes:
        description (str): description *Optional*
        communication_barring_profile0 (OCI.communicationBarringProfile0):
            communicationBarringProfile0 *Optional*
        communication_barring_profile1 (OCI.communicationBarringProfile1):
            communicationBarringProfile1 *Optional*
        communication_barring_profile2 (OCI.communicationBarringProfile2):
            communicationBarringProfile2 *Optional*
        communication_barring_profile3 (OCI.communicationBarringProfile3):
            communicationBarringProfile3 *Optional*
        communication_barring_profile4 (OCI.communicationBarringProfile4):
            communicationBarringProfile4 *Optional*
        communication_barring_profile5 (OCI.communicationBarringProfile5):
            communicationBarringProfile5 *Optional*
        communication_barring_profile6 (OCI.communicationBarringProfile6):
            communicationBarringProfile6 *Optional*
        communication_barring_profile7 (OCI.communicationBarringProfile7):
            communicationBarringProfile7 *Optional*
        communication_barring_profile8 (OCI.communicationBarringProfile8):
            communicationBarringProfile8 *Optional*
        communication_barring_profile9 (OCI.communicationBarringProfile9):
            communicationBarringProfile9 *Optional*
        network_translation_index (str): networkTranslationIndex *Optional*
        call_processing_policy_profile_name (str): callProcessingPolicyProfileName
            *Optional*
    """

    __slots__: List[str] = [
        "description",
        "communication_barring_profile0",
        "communication_barring_profile1",
        "communication_barring_profile2",
        "communication_barring_profile3",
        "communication_barring_profile4",
        "communication_barring_profile5",
        "communication_barring_profile6",
        "communication_barring_profile7",
        "communication_barring_profile8",
        "communication_barring_profile9",
        "network_translation_index",
        "call_processing_policy_profile_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "communication_barring_profile0",
                "communicationBarringProfile0",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile1",
                "communicationBarringProfile1",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile2",
                "communicationBarringProfile2",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile3",
                "communicationBarringProfile3",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile4",
                "communicationBarringProfile4",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile5",
                "communicationBarringProfile5",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile6",
                "communicationBarringProfile6",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile7",
                "communicationBarringProfile7",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile8",
                "communicationBarringProfile8",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E(
                "communication_barring_profile9",
                "communicationBarringProfile9",
                OCI.NetworkClassOfServiceCommunicationBarringProfile,
                is_complex=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
            E(
                "call_processing_policy_profile_name",
                "callProcessingPolicyProfileName",
                str,
            ),
        )


class SystemSIPDeviceTypeGetResponse(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest()`.


    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        authentication_override (bool): authenticationOverride
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_music_on_hold_device",
        "authentication_override",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E(
                "authentication_override",
                "authenticationOverride",
                bool,
                is_required=True,
            ),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse14sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest14sp1()`.


    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        authentication_override (bool): authenticationOverride
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_music_on_hold_device",
        "authentication_override",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E(
                "authentication_override",
                "authenticationOverride",
                bool,
                is_required=True,
            ),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse14sp2(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest14sp2()`.

    Replaced By: `SystemSIPDeviceTypeGetResponse14sp3()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse14sp3(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest14sp3()`.

    Replaced by: `SystemSIPDeviceTypeGetResponse14sp6()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        tdm_overlay (bool): tdmOverlay
        supports_broad_works_info_for_call_waiting (bool):
            supportsBroadWorksINFOForCallWaiting
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "tdm_overlay",
        "supports_broad_works_info_for_call_waiting",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptions,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E("tdm_overlay", "tdmOverlay", bool, is_required=True),
            E(
                "supports_broad_works_info_for_call_waiting",
                "supportsBroadWorksINFOForCallWaiting",
                bool,
                is_required=True,
            ),
        )


class SystemScheduleGetEventResponse(OCIResponse):
    """
    Response to `SystemScheduleGetEventRequest()`.

    The response contains the event of the system schedulable.

    Attributes:
        start_date (str): startDate
        all_day_event (bool): allDayEvent *Optional*
        start_time (OCI.startTime): startTime *Optional*
        end_time (OCI.endTime): endTime *Optional*
        end_date (str): endDate
        recurrence (OCI.recurrence): recurrence *Optional*
    """

    __slots__: List[str] = [
        "start_date",
        "all_day_event",
        "start_time",
        "end_time",
        "end_date",
        "recurrence",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("start_date", "startDate", str, is_required=True),
            E("all_day_event", "allDayEvent", bool),
            E("start_time", "startTime", OCI.HourMinute, is_complex=True),
            E("end_time", "endTime", OCI.HourMinute, is_complex=True),
            E("end_date", "endDate", str, is_required=True),
            E("recurrence", "recurrence", OCI.Recurrence, is_complex=True),
        )


class SystemServiceAttributeDefaultGetListResponse(OCIResponse):
    """
    Response to `SystemServiceAttributeDefaultGetListRequest()`.

    Contains an array Service Attribute entries.

    Attributes:
        service_attribute_entry (List[OCI.serviceAttributeEntry]): serviceAttributeEntry
    """

    __slots__: List[str] = [
        "service_attribute_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_attribute_entry",
                "serviceAttributeEntry",
                OCI.ServiceAttributeEntryRead,
                is_complex=True,
                is_required=True,
                is_array=True,
            ),
        )


class SystemTimeScheduleGetResponse(OCIResponse):
    """
    Response to the `SystemTimeScheduleGetRequest()`.

    The response contains the system time schedule's information.

    Attributes:
        time_interval01 (OCI.timeInterval01): timeInterval01 *Optional*
        time_interval02 (OCI.timeInterval02): timeInterval02 *Optional*
        time_interval03 (OCI.timeInterval03): timeInterval03 *Optional*
        time_interval04 (OCI.timeInterval04): timeInterval04 *Optional*
        time_interval05 (OCI.timeInterval05): timeInterval05 *Optional*
        time_interval06 (OCI.timeInterval06): timeInterval06 *Optional*
        time_interval07 (OCI.timeInterval07): timeInterval07 *Optional*
        time_interval08 (OCI.timeInterval08): timeInterval08 *Optional*
        time_interval09 (OCI.timeInterval09): timeInterval09 *Optional*
        time_interval10 (OCI.timeInterval10): timeInterval10 *Optional*
        time_interval11 (OCI.timeInterval11): timeInterval11 *Optional*
        time_interval12 (OCI.timeInterval12): timeInterval12 *Optional*
        time_interval13 (OCI.timeInterval13): timeInterval13 *Optional*
        time_interval14 (OCI.timeInterval14): timeInterval14 *Optional*
        time_interval15 (OCI.timeInterval15): timeInterval15 *Optional*
        time_interval16 (OCI.timeInterval16): timeInterval16 *Optional*
        time_interval17 (OCI.timeInterval17): timeInterval17 *Optional*
        time_interval18 (OCI.timeInterval18): timeInterval18 *Optional*
        time_interval19 (OCI.timeInterval19): timeInterval19 *Optional*
        time_interval20 (OCI.timeInterval20): timeInterval20 *Optional*
    """

    __slots__: List[str] = [
        "time_interval01",
        "time_interval02",
        "time_interval03",
        "time_interval04",
        "time_interval05",
        "time_interval06",
        "time_interval07",
        "time_interval08",
        "time_interval09",
        "time_interval10",
        "time_interval11",
        "time_interval12",
        "time_interval13",
        "time_interval14",
        "time_interval15",
        "time_interval16",
        "time_interval17",
        "time_interval18",
        "time_interval19",
        "time_interval20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_interval01", "timeInterval01", OCI.TimeInterval, is_complex=True),
            E("time_interval02", "timeInterval02", OCI.TimeInterval, is_complex=True),
            E("time_interval03", "timeInterval03", OCI.TimeInterval, is_complex=True),
            E("time_interval04", "timeInterval04", OCI.TimeInterval, is_complex=True),
            E("time_interval05", "timeInterval05", OCI.TimeInterval, is_complex=True),
            E("time_interval06", "timeInterval06", OCI.TimeInterval, is_complex=True),
            E("time_interval07", "timeInterval07", OCI.TimeInterval, is_complex=True),
            E("time_interval08", "timeInterval08", OCI.TimeInterval, is_complex=True),
            E("time_interval09", "timeInterval09", OCI.TimeInterval, is_complex=True),
            E("time_interval10", "timeInterval10", OCI.TimeInterval, is_complex=True),
            E("time_interval11", "timeInterval11", OCI.TimeInterval, is_complex=True),
            E("time_interval12", "timeInterval12", OCI.TimeInterval, is_complex=True),
            E("time_interval13", "timeInterval13", OCI.TimeInterval, is_complex=True),
            E("time_interval14", "timeInterval14", OCI.TimeInterval, is_complex=True),
            E("time_interval15", "timeInterval15", OCI.TimeInterval, is_complex=True),
            E("time_interval16", "timeInterval16", OCI.TimeInterval, is_complex=True),
            E("time_interval17", "timeInterval17", OCI.TimeInterval, is_complex=True),
            E("time_interval18", "timeInterval18", OCI.TimeInterval, is_complex=True),
            E("time_interval19", "timeInterval19", OCI.TimeInterval, is_complex=True),
            E("time_interval20", "timeInterval20", OCI.TimeInterval, is_complex=True),
        )


class SystemVisualDeviceManagementGetDeviceInfoResponse(OCIResponse):
    """
    Response to `SystemVisualDeviceManagementGetDeviceInfoRequest()`.


    Attributes:
        device_type (str): deviceType
        support_visual_device_management (bool): supportVisualDeviceManagement
        mac_address (str): macAddress *Optional*
        primary_user (OCI.primaryUser): primaryUser *Optional*
    """

    __slots__: List[str] = [
        "device_type",
        "support_visual_device_management",
        "mac_address",
        "primary_user",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("device_type", "deviceType", str, is_required=True),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("mac_address", "macAddress", str),
            E("primary_user", "primaryUser", OCI.PrimaryUserInfo, is_complex=True),
        )


class SystemZoneCallingRestrictionsNetAddressGetListResponse(OCIResponse):
    """
    Response to `SystemZoneCallingRestrictionsNetAddressGetListRequest()`.

    Replaced by: `SystemZoneNetAddressGetListResponse()`

    Attributes:
        net_address (List[str]): netAddress *Optional*
        net_address_range (List[OCI.netAddressRange]): netAddressRange *Optional*
    """

    __slots__: List[str] = [
        "net_address",
        "net_address_range",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("net_address", "netAddress", str, is_array=True),
            E(
                "net_address_range",
                "netAddressRange",
                OCI.IPAddressRange,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemZoneNetAddressGetListResponse(OCIResponse):
    """
    Response to `SystemZoneNetAddressGetListRequest()`.


    Attributes:
        net_address (List[str]): netAddress *Optional*
        net_address_range (List[OCI.netAddressRange]): netAddressRange *Optional*
    """

    __slots__: List[str] = [
        "net_address",
        "net_address_range",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("net_address", "netAddress", str, is_array=True),
            E(
                "net_address_range",
                "netAddressRange",
                OCI.IPAddressRange,
                is_complex=True,
                is_array=True,
            ),
        )


class UserAlternateNumbersGetResponse(OCIResponse):
    """
    Response to `UserAlternateNumbersGetRequest()`.


    Attributes:
        distinctive_ring (bool): distinctiveRing
        alternate_entry01 (OCI.alternateEntry01): alternateEntry01 *Optional*
        alternate_entry02 (OCI.alternateEntry02): alternateEntry02 *Optional*
        alternate_entry03 (OCI.alternateEntry03): alternateEntry03 *Optional*
        alternate_entry04 (OCI.alternateEntry04): alternateEntry04 *Optional*
        alternate_entry05 (OCI.alternateEntry05): alternateEntry05 *Optional*
        alternate_entry06 (OCI.alternateEntry06): alternateEntry06 *Optional*
        alternate_entry07 (OCI.alternateEntry07): alternateEntry07 *Optional*
        alternate_entry08 (OCI.alternateEntry08): alternateEntry08 *Optional*
        alternate_entry09 (OCI.alternateEntry09): alternateEntry09 *Optional*
        alternate_entry10 (OCI.alternateEntry10): alternateEntry10 *Optional*
    """

    __slots__: List[str] = [
        "distinctive_ring",
        "alternate_entry01",
        "alternate_entry02",
        "alternate_entry03",
        "alternate_entry04",
        "alternate_entry05",
        "alternate_entry06",
        "alternate_entry07",
        "alternate_entry08",
        "alternate_entry09",
        "alternate_entry10",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("distinctive_ring", "distinctiveRing", bool, is_required=True),
            E(
                "alternate_entry01",
                "alternateEntry01",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry02",
                "alternateEntry02",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry03",
                "alternateEntry03",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry04",
                "alternateEntry04",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry05",
                "alternateEntry05",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry06",
                "alternateEntry06",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry07",
                "alternateEntry07",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry08",
                "alternateEntry08",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry09",
                "alternateEntry09",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
            E(
                "alternate_entry10",
                "alternateEntry10",
                OCI.AlternateNumberEntry,
                is_complex=True,
            ),
        )


class UserAlternateNumbersGetResponse17(OCIResponse):
    """
    Response to `UserAlternateNumbersGetRequest17()`.

    Replaced by: `UserAlternateNumbersGetResponse21()` in AS data mode

    Attributes:
        distinctive_ring (bool): distinctiveRing
        alternate_entry01 (OCI.alternateEntry01): alternateEntry01 *Optional*
        alternate_entry02 (OCI.alternateEntry02): alternateEntry02 *Optional*
        alternate_entry03 (OCI.alternateEntry03): alternateEntry03 *Optional*
        alternate_entry04 (OCI.alternateEntry04): alternateEntry04 *Optional*
        alternate_entry05 (OCI.alternateEntry05): alternateEntry05 *Optional*
        alternate_entry06 (OCI.alternateEntry06): alternateEntry06 *Optional*
        alternate_entry07 (OCI.alternateEntry07): alternateEntry07 *Optional*
        alternate_entry08 (OCI.alternateEntry08): alternateEntry08 *Optional*
        alternate_entry09 (OCI.alternateEntry09): alternateEntry09 *Optional*
        alternate_entry10 (OCI.alternateEntry10): alternateEntry10 *Optional*
    """

    __slots__: List[str] = [
        "distinctive_ring",
        "alternate_entry01",
        "alternate_entry02",
        "alternate_entry03",
        "alternate_entry04",
        "alternate_entry05",
        "alternate_entry06",
        "alternate_entry07",
        "alternate_entry08",
        "alternate_entry09",
        "alternate_entry10",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("distinctive_ring", "distinctiveRing", bool, is_required=True),
            E(
                "alternate_entry01",
                "alternateEntry01",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry02",
                "alternateEntry02",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry03",
                "alternateEntry03",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry04",
                "alternateEntry04",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry05",
                "alternateEntry05",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry06",
                "alternateEntry06",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry07",
                "alternateEntry07",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry08",
                "alternateEntry08",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry09",
                "alternateEntry09",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
            E(
                "alternate_entry10",
                "alternateEntry10",
                OCI.AlternateNumberEntry17,
                is_complex=True,
            ),
        )


class UserAlternateNumbersGetResponse21(OCIResponse):
    """
    Response to `UserAlternateNumbersGetRequest21()`.


    Attributes:
        distinctive_ring (bool): distinctiveRing
        alternate_entry01 (OCI.alternateEntry01): alternateEntry01 *Optional*
        alternate_entry02 (OCI.alternateEntry02): alternateEntry02 *Optional*
        alternate_entry03 (OCI.alternateEntry03): alternateEntry03 *Optional*
        alternate_entry04 (OCI.alternateEntry04): alternateEntry04 *Optional*
        alternate_entry05 (OCI.alternateEntry05): alternateEntry05 *Optional*
        alternate_entry06 (OCI.alternateEntry06): alternateEntry06 *Optional*
        alternate_entry07 (OCI.alternateEntry07): alternateEntry07 *Optional*
        alternate_entry08 (OCI.alternateEntry08): alternateEntry08 *Optional*
        alternate_entry09 (OCI.alternateEntry09): alternateEntry09 *Optional*
        alternate_entry10 (OCI.alternateEntry10): alternateEntry10 *Optional*
    """

    __slots__: List[str] = [
        "distinctive_ring",
        "alternate_entry01",
        "alternate_entry02",
        "alternate_entry03",
        "alternate_entry04",
        "alternate_entry05",
        "alternate_entry06",
        "alternate_entry07",
        "alternate_entry08",
        "alternate_entry09",
        "alternate_entry10",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("distinctive_ring", "distinctiveRing", bool, is_required=True),
            E(
                "alternate_entry01",
                "alternateEntry01",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry02",
                "alternateEntry02",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry03",
                "alternateEntry03",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry04",
                "alternateEntry04",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry05",
                "alternateEntry05",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry06",
                "alternateEntry06",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry07",
                "alternateEntry07",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry08",
                "alternateEntry08",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry09",
                "alternateEntry09",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
            E(
                "alternate_entry10",
                "alternateEntry10",
                OCI.AlternateNumberEntry21,
                is_complex=True,
            ),
        )


class UserAnnouncementFileGetResponse22(OCIResponse):
    """
    Response to `UserAnnouncementFileGetRequest22()`.

    The response contains the file size (KB), uploaded timestamp, description and usage
    for an announcement file in the user announcement repository.  The usage table has
    columns "Service Name", "Criteria Name" The "Service Name"" values correspond to
    string values of the UserService data types.  With the exception of the string "Voice
    Portal" which is returned when the announcement is being used by Voice Portal
    Personalized Name.  For Call Center and Route Point users the "Instance Name" column
    contains the instance id and when the announcement is being used by a DNIS, "Intance
    Name" column contans the instance id and the DNIS id.  For Auto Attendants with
    submenus and the announcement is used by a submenu the "Instance Name" column will
    contain the submenu name The following data elements are only used in AS data mode:
    announcementFileExternalId

    Attributes:
        description (str): description
        filesize (int): filesize
        last_uploaded (str): lastUploaded
        user_id (str): userId
        announcement_file_key (OCI.announcementFileKey): announcementFileKey
        announcement_file_external_id (str): announcementFileExternalId *Optional*
        usage_table (List(usageTable)): usageTable - *Table* array of usageTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "filesize",
        "last_uploaded",
        "user_id",
        "announcement_file_key",
        "announcement_file_external_id",
        "usage_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str, is_required=True),
            E("filesize", "filesize", int, is_required=True),
            E("last_uploaded", "lastUploaded", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E(
                "announcement_file_key",
                "announcementFileKey",
                OCI.AnnouncementFileKey,
                is_complex=True,
                is_required=True,
            ),
            E("announcement_file_external_id", "announcementFileExternalId", str),
            E(
                "usage_table",
                "usageTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserAssignedServicesGetListResponse(OCIResponse):
    """
    Response to `UserAssignedServicesGetListRequest()`.

    A user can have both user services and group services because of music on hold.

    Attributes:
        group_service_entry (List[OCI.groupServiceEntry]): groupServiceEntry *Optional*
        user_service_entry (List[OCI.userServiceEntry]): userServiceEntry *Optional*
    """

    __slots__: List[str] = [
        "group_service_entry",
        "user_service_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_service_entry",
                "groupServiceEntry",
                OCI.AssignedGroupServicesEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "user_service_entry",
                "userServiceEntry",
                OCI.AssignedUserServicesEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserBasicCallLogsGetListResponse(OCIResponse):
    """
    Response to `UserBasicCallLogsGetListRequest()`.

    Replaced By: `UserBasicCallLogsGetListResponse14sp4()`

    Attributes:
        placed (List[OCI.placed]): placed *Optional*
        received (List[OCI.received]): received *Optional*
        missed (List[OCI.missed]): missed *Optional*
    """

    __slots__: List[str] = [
        "placed",
        "received",
        "missed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "placed",
                "placed",
                OCI.BasicCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "received",
                "received",
                OCI.BasicCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "missed",
                "missed",
                OCI.BasicCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserBasicCallLogsGetListResponse14sp4(OCIResponse):
    """
    Response to `UserBasicCallLogsGetListRequest14sp4()`.


    Attributes:
        placed (List[OCI.placed]): placed *Optional*
        received (List[OCI.received]): received *Optional*
        missed (List[OCI.missed]): missed *Optional*
    """

    __slots__: List[str] = [
        "placed",
        "received",
        "missed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("placed", "placed", OCI.CallLogsEntry, is_complex=True, is_array=True),
            E(
                "received",
                "received",
                OCI.CallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E("missed", "missed", OCI.CallLogsEntry, is_complex=True, is_array=True),
        )


class UserBroadWorksAnywhereGetSelectiveCriteriaResponse(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetSelectiveCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserBroadWorksAnywhereGetSelectiveCriteriaResponse16(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetSelectiveCriteriaRequest16()`.

    Replaced by: `UserBroadWorksAnywhereGetSelectiveCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserBroadWorksAnywhereGetSelectiveCriteriaResponse21(OCIResponse):
    """
    Response to the `UserBroadWorksAnywhereGetSelectiveCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserBroadWorksMobilityGetResponse21(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityGetRequest21()`.


    Attributes:
        is_active (bool): isActive
        use_mobile_identity_call_anchoring (bool): useMobileIdentityCallAnchoring
        prevent_calls_to_own_mobiles (bool): preventCallsToOwnMobiles
        mobile_identity (List[OCI.mobileIdentity]): mobileIdentity *Optional*
        profile_identity_devices_to_ring (str): profileIdentityDevicesToRing
        profile_identity_include_shared_call_appearance (bool):
            profileIdentityIncludeSharedCallAppearance
        profile_identity_include_broadworks_anywhere (bool):
            profileIdentityIncludeBroadworksAnywhere
        profile_identity_include_executive_assistant (bool):
            profileIdentityIncludeExecutiveAssistant
        profile_identity_mobile_number_alerted (List[str]):
            profileIdentityMobileNumberAlerted *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "use_mobile_identity_call_anchoring",
        "prevent_calls_to_own_mobiles",
        "mobile_identity",
        "profile_identity_devices_to_ring",
        "profile_identity_include_shared_call_appearance",
        "profile_identity_include_broadworks_anywhere",
        "profile_identity_include_executive_assistant",
        "profile_identity_mobile_number_alerted",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "use_mobile_identity_call_anchoring",
                "useMobileIdentityCallAnchoring",
                bool,
                is_required=True,
            ),
            E(
                "prevent_calls_to_own_mobiles",
                "preventCallsToOwnMobiles",
                bool,
                is_required=True,
            ),
            E(
                "mobile_identity",
                "mobileIdentity",
                OCI.BroadWorksMobilityUserMobileIdentityEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "profile_identity_devices_to_ring",
                "profileIdentityDevicesToRing",
                str,
                is_required=True,
            ),
            E(
                "profile_identity_include_shared_call_appearance",
                "profileIdentityIncludeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_include_broadworks_anywhere",
                "profileIdentityIncludeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_include_executive_assistant",
                "profileIdentityIncludeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E(
                "profile_identity_mobile_number_alerted",
                "profileIdentityMobileNumberAlerted",
                str,
                is_array=True,
            ),
        )


class UserCallCenterGetAvailableDNISListResponse(OCIResponse):
    """
    Response to `UserCallCenterGetAvailableDNISListRequest()`.

    Contains a list of available DNIS for agent to select.

    Attributes:
        available_dnis (List[OCI.availableDNIS]): availableDNIS *Optional*
    """

    __slots__: List[str] = [
        "available_dnis",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "available_dnis",
                "availableDNIS",
                OCI.DNISKey,
                is_complex=True,
                is_array=True,
            ),
        )


class UserCallCenterGetResponse17(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest17()`.

    Contains the user's call center settings.  Indicates whether the agent is current
    available (logged in) to each call center in the list.  Contains a table with column
    headings: "Service User Id", "Phone Number", "Extension", "Available", "Logoff
    Allowed", "Type", and "Priority". Replaced by `UserCallCenterGetResponse17sp4()`.

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        use_default_guard_timer (bool): useDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_unavailable_on_personal_calls (bool): forceUnavailableOnPersonalCalls
            *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        make_outgoing_calls_as_call_center (bool): makeOutgoingCallsAsCallCenter
            *Optional*
        outgoing_call_dnis (OCI.outgoingCallDNIS): outgoingCallDNIS *Optional*
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "agent_unavailable_code",
        "use_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "make_outgoing_calls_as_call_center",
        "outgoing_call_dnis",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "use_default_guard_timer",
                "useDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_unavailable_on_personal_calls",
                "forceUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "make_outgoing_calls_as_call_center",
                "makeOutgoingCallsAsCallCenter",
                bool,
            ),
            E("outgoing_call_dnis", "outgoingCallDNIS", OCI.DNISKey, is_complex=True),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetResponse17sp4(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest17sp4()`.

    Contains the user's call center settings.  Indicates whether the agent is current
    available (logged in) to each call center in the list.  Contains a table with column
    headings: "Service User Id", "Phone Number", "Extension", "Available", "Logoff
    Allowed", "Type", and "Priority". Replaced by `UserCallCenterGetResponse19()`

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        use_default_guard_timer (bool): useDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
        make_outgoing_calls_as_call_center (bool): makeOutgoingCallsAsCallCenter
            *Optional*
        outgoing_call_dnis (OCI.outgoingCallDNIS): outgoingCallDNIS *Optional*
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "agent_unavailable_code",
        "use_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "make_outgoing_calls_as_call_center",
        "outgoing_call_dnis",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "use_default_guard_timer",
                "useDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
            E(
                "make_outgoing_calls_as_call_center",
                "makeOutgoingCallsAsCallCenter",
                bool,
            ),
            E("outgoing_call_dnis", "outgoingCallDNIS", OCI.DNISKey, is_complex=True),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetResponse19(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest19()`.

    Contains the user's call center settings.  Indicates whether the agent is current
    available (logged in) to each call center in the list.  Contains a table with column
    headings: "Service User Id", "Phone Number", "Extension", "Available", "Logoff
    Allowed", "Type", "Priority","Routing Policy" and "Skill Level". The valid "Routing
    Type" values are "Priority Based" and "Skill Based". This column is only populated for
    Premium Call Centers.  The valid "Skill Level" values are of from 1-20. This column is
    only populated for Premium Skill Based Call Centers.  The following elements are only
    used in AS data mode and not returned in XS data mode: agentACDState
    agentThresholdProfileName agentUnavailableCode useSystemDefaultUnavailableSettings
    forceAgentUnavailableOnDNDActivation forceAgentUnavailableOnPersonalCalls
    forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable makeOutgoingCallsAsCallCenter outgoingCallDNIS The
    following columns are only used in AS data mode and not returned in XS data mode:
    "Routing Policy" "Skill Level" Replaced by `UserCallCenterGetResponse23()`.

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        agent_threshold_profile_name (str): agentThresholdProfileName *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        use_default_guard_timer (bool): useDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
        make_outgoing_calls_as_call_center (bool): makeOutgoingCallsAsCallCenter
            *Optional*
        outgoing_call_dnis (OCI.outgoingCallDNIS): outgoingCallDNIS *Optional*
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "agent_threshold_profile_name",
        "agent_unavailable_code",
        "use_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "make_outgoing_calls_as_call_center",
        "outgoing_call_dnis",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E("agent_threshold_profile_name", "agentThresholdProfileName", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "use_default_guard_timer",
                "useDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
            E(
                "make_outgoing_calls_as_call_center",
                "makeOutgoingCallsAsCallCenter",
                bool,
            ),
            E("outgoing_call_dnis", "outgoingCallDNIS", OCI.DNISKey, is_complex=True),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallCenterGetResponse23(OCIResponse):
    """
    Response to the `UserCallCenterGetRequest23()`.

    Contains the user's call center settings.  Indicates whether the agent is current
    available (logged in) to each call center in the list.  Contains a table with column
    headings: "Service User Id", "Phone Number", "Extension", "Available", "Logoff
    Allowed", "Type", "Priority","Routing Policy" and "Skill Level". The valid "Routing
    Type" values are "Priority Based" and "Skill Based". This column is only populated for
    Premium Call Centers.  The valid "Skill Level" values are of from 1-20. This column is
    only populated for Premium Skill Based Call Centers.  The following elements are only
    used in AS data mode and not returned in XS data mode: agentACDState
    agentThresholdProfileName agentUnavailableCode useSystemDefaultUnavailableSettings
    forceAgentUnavailableOnDNDActivation forceAgentUnavailableOnPersonalCalls
    forceAgentUnavailableOnBouncedCallLimit
    numberConsecutiveBouncedCallsToForceAgentUnavailable
    forceAgentUnavailableOnNotReachable makeOutgoingCallsAsCallCenter outgoingCallDNIS
    useSystemDefaultWrapUpDestination wrapUpDestination The following columns are only
    used in AS data mode and not returned in XS data mode: "Routing Policy" "Skill Level"

    Attributes:
        agent_acd_state (str): agentACDState *Optional*
        agent_threshold_profile_name (str): agentThresholdProfileName *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        use_default_guard_timer (bool): useDefaultGuardTimer
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        use_system_default_unavailable_settings (bool):
            useSystemDefaultUnavailableSettings *Optional*
        force_agent_unavailable_on_dnd_activation (bool):
            forceAgentUnavailableOnDNDActivation *Optional*
        force_agent_unavailable_on_personal_calls (bool):
            forceAgentUnavailableOnPersonalCalls *Optional*
        force_agent_unavailable_on_bounced_call_limit (bool):
            forceAgentUnavailableOnBouncedCallLimit *Optional*
        number_consecutive_bounced_calls_to_force_agent_unavailable (int):
            numberConsecutiveBouncedCallsToForceAgentUnavailable *Optional*
        force_agent_unavailable_on_not_reachable (bool):
            forceAgentUnavailableOnNotReachable *Optional*
        make_outgoing_calls_as_call_center (bool): makeOutgoingCallsAsCallCenter
            *Optional*
        outgoing_call_dnis (OCI.outgoingCallDNIS): outgoingCallDNIS *Optional*
        use_system_default_wrap_up_destination (bool): useSystemDefaultWrapUpDestination
            *Optional*
        wrap_up_destination (str): wrapUpDestination *Optional*
        call_center_table (List(callCenterTable)): callCenterTable - *Table* array of
            callCenterTable named tuples
    """

    __slots__: List[str] = [
        "agent_acd_state",
        "agent_threshold_profile_name",
        "agent_unavailable_code",
        "use_default_guard_timer",
        "enable_guard_timer",
        "guard_timer_seconds",
        "use_system_default_unavailable_settings",
        "force_agent_unavailable_on_dnd_activation",
        "force_agent_unavailable_on_personal_calls",
        "force_agent_unavailable_on_bounced_call_limit",
        "number_consecutive_bounced_calls_to_force_agent_unavailable",
        "force_agent_unavailable_on_not_reachable",
        "make_outgoing_calls_as_call_center",
        "outgoing_call_dnis",
        "use_system_default_wrap_up_destination",
        "wrap_up_destination",
        "call_center_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("agent_acd_state", "agentACDState", str),
            E("agent_threshold_profile_name", "agentThresholdProfileName", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "use_default_guard_timer",
                "useDefaultGuardTimer",
                bool,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "use_system_default_unavailable_settings",
                "useSystemDefaultUnavailableSettings",
                bool,
            ),
            E(
                "force_agent_unavailable_on_dnd_activation",
                "forceAgentUnavailableOnDNDActivation",
                bool,
            ),
            E(
                "force_agent_unavailable_on_personal_calls",
                "forceAgentUnavailableOnPersonalCalls",
                bool,
            ),
            E(
                "force_agent_unavailable_on_bounced_call_limit",
                "forceAgentUnavailableOnBouncedCallLimit",
                bool,
            ),
            E(
                "number_consecutive_bounced_calls_to_force_agent_unavailable",
                "numberConsecutiveBouncedCallsToForceAgentUnavailable",
                int,
            ),
            E(
                "force_agent_unavailable_on_not_reachable",
                "forceAgentUnavailableOnNotReachable",
                bool,
            ),
            E(
                "make_outgoing_calls_as_call_center",
                "makeOutgoingCallsAsCallCenter",
                bool,
            ),
            E("outgoing_call_dnis", "outgoingCallDNIS", OCI.DNISKey, is_complex=True),
            E(
                "use_system_default_wrap_up_destination",
                "useSystemDefaultWrapUpDestination",
                bool,
            ),
            E("wrap_up_destination", "wrapUpDestination", str),
            E(
                "call_center_table",
                "callCenterTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCallForwardingSelectiveGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserCallForwardingSelectiveGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        forward_to_number_selection (str): forwardToNumberSelection
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "forward_to_number_selection",
        "forward_to_phone_number",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "forward_to_number_selection",
                "forwardToNumberSelection",
                str,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallForwardingSelectiveGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserCallForwardingSelectiveGetCriteriaRequest16()`.

    Replaced by: `UserCallForwardingSelectiveGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        forward_to_number_selection (str): forwardToNumberSelection
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "forward_to_number_selection",
        "forward_to_phone_number",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "forward_to_number_selection",
                "forwardToNumberSelection",
                str,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallForwardingSelectiveGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserCallForwardingSelectiveGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        forward_to_number_selection (str): forwardToNumberSelection
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "forward_to_number_selection",
        "forward_to_phone_number",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "forward_to_number_selection",
                "forwardToNumberSelection",
                str,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserCallMeNowGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserCallMeNowGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        reject_call (bool): rejectCall
        to_dn_criteria (OCI.toDnCriteria): toDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "reject_call",
        "to_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("reject_call", "rejectCall", bool, is_required=True),
            E(
                "to_dn_criteria",
                "toDnCriteria",
                OCI.CallMeNowToDnCriteria,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallNotifyGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserCallNotifyGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallNotifyGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserCallNotifyGetCriteriaRequest16()`.

    Replaced by: `UserCallNotifyGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallNotifyGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserCallNotifyGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserCallToNumberGetAvailableListResponse(OCIResponse):
    """
    Response to the `UserCallToNumberGetAvailableListRequest()`.

    Contains a list of the user available Call to Numbers".

    Attributes:
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserCollaborateBridgeGetResponse(OCIResponse):
    """
    The system-level collaborate supportOutdial setting is returned in the response when
    the system-level collaborate supportOutdial setting is disabled.

    Response to `UserCollaborateBridgeGetRequest()`. Replaced by:
    `UserCollaborateBridgeGetResponse20sp1()`

    Attributes:
        bridge_id (str): bridgeId
        bridge_name (str): bridgeName
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        alternate_number_entry (List[OCI.alternateNumberEntry]): alternateNumberEntry
            *Optional*
        support_out_dial (bool): supportOutDial
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
    """

    __slots__: List[str] = [
        "bridge_id",
        "bridge_name",
        "phone_number",
        "extension",
        "alternate_number_entry",
        "support_out_dial",
        "max_collaborate_room_participants",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("bridge_id", "bridgeId", str, is_required=True),
            E("bridge_name", "bridgeName", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E(
                "alternate_number_entry",
                "alternateNumberEntry",
                OCI.AlternateNumberEntry21,
                is_complex=True,
                is_array=True,
            ),
            E("support_out_dial", "supportOutDial", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
        )


class UserCollaborateBridgeGetResponse20sp1(OCIResponse):
    """
    The system-level collaborate supportOutdial setting is returned in the response when
    the system-level collaborate supportOutdial setting is disabled.

    Response to `UserCollaborateBridgeGetRequest20sp1()`.

    Attributes:
        bridge_id (str): bridgeId
        bridge_name (str): bridgeName
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        alternate_number_entry (List[OCI.alternateNumberEntry]): alternateNumberEntry
            *Optional*
        support_out_dial (bool): supportOutDial
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
    """

    __slots__: List[str] = [
        "bridge_id",
        "bridge_name",
        "phone_number",
        "extension",
        "alternate_number_entry",
        "support_out_dial",
        "max_collaborate_room_participants",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("bridge_id", "bridgeId", str, is_required=True),
            E("bridge_name", "bridgeName", str, is_required=True),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E(
                "alternate_number_entry",
                "alternateNumberEntry",
                OCI.AlternateNumberEntry21,
                is_complex=True,
                is_array=True,
            ),
            E("support_out_dial", "supportOutDial", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
        )


class UserCollaborateProjectRoomGetResponse(OCIResponse):
    """
    Response to `UserCollaborateProjectRoomGetRequest()`.


    Attributes:
        room_name (str): roomName
        attendee_notification (str): attendeeNotification
        end_collaborate_room_session_on_owner_exit (bool):
            endCollaborateRoomSessionOnOwnerExit
        owner_required (bool): ownerRequired
        room_schedule (OCI.roomSchedule): roomSchedule
    """

    __slots__: List[str] = [
        "room_name",
        "attendee_notification",
        "end_collaborate_room_session_on_owner_exit",
        "owner_required",
        "room_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("room_name", "roomName", str, is_required=True),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "end_collaborate_room_session_on_owner_exit",
                "endCollaborateRoomSessionOnOwnerExit",
                bool,
                is_required=True,
            ),
            E("owner_required", "ownerRequired", bool, is_required=True),
            E(
                "room_schedule",
                "roomSchedule",
                OCI.CollaborateRoomSchedule,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCollaborateRoomGetResponse(OCIResponse):
    """
    Response to `UserCollaborateRoomGetRequest()`.

    The roomType and roomName parameters are returned for all rooms.  The following
    parameters are returned for My room and Project Room: attendeeNotification,
    endCollaborateRoomSessionOnOwnerExit and ownerRequired.  In addition, the roomSchedule
    is returned for Project Room and the instantRoomStartTime and instantRoomEndTime are
    returned for Instant Room.

    Attributes:
        room_type (str): roomType
        room_name (str): roomName
        attendee_notification (str): attendeeNotification *Optional*
        end_collaborate_room_session_on_owner_exit (bool):
            endCollaborateRoomSessionOnOwnerExit *Optional*
        owner_required (bool): ownerRequired *Optional*
        instant_room_start_time (str): instantRoomStartTime *Optional*
        instant_room_end_time (str): instantRoomEndTime *Optional*
        room_schedule (OCI.roomSchedule): roomSchedule *Optional*
    """

    __slots__: List[str] = [
        "room_type",
        "room_name",
        "attendee_notification",
        "end_collaborate_room_session_on_owner_exit",
        "owner_required",
        "instant_room_start_time",
        "instant_room_end_time",
        "room_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("room_type", "roomType", str, is_required=True),
            E("room_name", "roomName", str, is_required=True),
            E("attendee_notification", "attendeeNotification", str),
            E(
                "end_collaborate_room_session_on_owner_exit",
                "endCollaborateRoomSessionOnOwnerExit",
                bool,
            ),
            E("owner_required", "ownerRequired", bool),
            E("instant_room_start_time", "instantRoomStartTime", str),
            E("instant_room_end_time", "instantRoomEndTime", str),
            E(
                "room_schedule",
                "roomSchedule",
                OCI.CollaborateRoomSchedule,
                is_complex=True,
            ),
        )


class UserCommunicationBarringAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to `UserCommunicationBarringAuthorizationCodeGetListRequest()`.

    Contains a list of Communication Barring Authorization Codes assigned to the user.

    Attributes:
        code (List[OCI.code]): code *Optional*
    """

    __slots__: List[str] = [
        "code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code",
                "code",
                OCI.CommunicationBarringAuthorizationCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserCustomRingbackUserGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_file_url (str): videoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
        "audio_selection",
        "audio_file_description",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_file_url", "videoFileUrl", str),
        )


class UserCustomRingbackUserGetCriteriaResponse15sp2(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaRequest15sp2()`.

    Replaced By: `UserCustomRingbackUserAddCriteriaResponse16()`

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_file_url (str): videoFileUrl *Optional*
        call_waiting_audio_selection (str): callWaitingAudioSelection *Optional*
        call_waiting_audio_file_description (str): callWaitingAudioFileDescription
            *Optional*
        call_waiting_audio_file_url (str): callWaitingAudioFileUrl *Optional*
        call_waiting_video_selection (str): callWaitingVideoSelection *Optional*
        call_waiting_video_file_description (str): callWaitingVideoFileDescription
            *Optional*
        call_waiting_video_file_url (str): callWaitingVideoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
        "audio_selection",
        "audio_file_description",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_file_url",
        "call_waiting_audio_selection",
        "call_waiting_audio_file_description",
        "call_waiting_audio_file_url",
        "call_waiting_video_selection",
        "call_waiting_video_file_description",
        "call_waiting_video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_file_url", "videoFileUrl", str),
            E("call_waiting_audio_selection", "callWaitingAudioSelection", str),
            E(
                "call_waiting_audio_file_description",
                "callWaitingAudioFileDescription",
                str,
            ),
            E("call_waiting_audio_file_url", "callWaitingAudioFileUrl", str),
            E("call_waiting_video_selection", "callWaitingVideoSelection", str),
            E(
                "call_waiting_video_file_description",
                "callWaitingVideoFileDescription",
                str,
            ),
            E("call_waiting_video_file_url", "callWaitingVideoFileUrl", str),
        )


class UserCustomRingbackUserGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaRequest16()`.

    Replaced by: `UserCustomRingbackUserGetCriteriaResponse20()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        audio_selection (str): audioSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        video_file_url (str): videoFileUrl *Optional*
        call_waiting_audio_selection (str): callWaitingAudioSelection *Optional*
        call_waiting_audio_file_description (str): callWaitingAudioFileDescription
            *Optional*
        call_waiting_audio_media_type (str): callWaitingAudioMediaType *Optional*
        call_waiting_audio_file_url (str): callWaitingAudioFileUrl *Optional*
        call_waiting_video_selection (str): callWaitingVideoSelection *Optional*
        call_waiting_video_file_description (str): callWaitingVideoFileDescription
            *Optional*
        call_waiting_video_media_type (str): callWaitingVideoMediaType *Optional*
        call_waiting_video_file_url (str): callWaitingVideoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "audio_selection",
        "audio_file_description",
        "audio_media_type",
        "audio_file_url",
        "video_selection",
        "video_file_description",
        "video_media_type",
        "video_file_url",
        "call_waiting_audio_selection",
        "call_waiting_audio_file_description",
        "call_waiting_audio_media_type",
        "call_waiting_audio_file_url",
        "call_waiting_video_selection",
        "call_waiting_video_file_description",
        "call_waiting_video_media_type",
        "call_waiting_video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E("video_file_url", "videoFileUrl", str),
            E("call_waiting_audio_selection", "callWaitingAudioSelection", str),
            E(
                "call_waiting_audio_file_description",
                "callWaitingAudioFileDescription",
                str,
            ),
            E("call_waiting_audio_media_type", "callWaitingAudioMediaType", str),
            E("call_waiting_audio_file_url", "callWaitingAudioFileUrl", str),
            E("call_waiting_video_selection", "callWaitingVideoSelection", str),
            E(
                "call_waiting_video_file_description",
                "callWaitingVideoFileDescription",
                str,
            ),
            E("call_waiting_video_media_type", "callWaitingVideoMediaType", str),
            E("call_waiting_video_file_url", "callWaitingVideoFileUrl", str),
        )


class UserCustomRingbackUserGetCriteriaResponse20(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaRequest20()`.

    Replaced by: `UserCustomRingbackUserGetCriteriaResponse21()`

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        audio_selection (str): audioSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file (OCI.videoFile): videoFile *Optional*
        video_file_url (str): videoFileUrl *Optional*
        call_waiting_audio_selection (str): callWaitingAudioSelection *Optional*
        call_waiting_audio_file (OCI.callWaitingAudioFile): callWaitingAudioFile
            *Optional*
        call_waiting_audio_file_url (str): callWaitingAudioFileUrl *Optional*
        call_waiting_video_selection (str): callWaitingVideoSelection *Optional*
        call_waiting_video_file (OCI.callWaitingVideoFile): callWaitingVideoFile
            *Optional*
        call_waiting_video_file_url (str): callWaitingVideoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "audio_selection",
        "audio_file",
        "audio_file_url",
        "video_selection",
        "video_file",
        "video_file_url",
        "call_waiting_audio_selection",
        "call_waiting_audio_file",
        "call_waiting_audio_file_url",
        "call_waiting_video_selection",
        "call_waiting_video_file",
        "call_waiting_video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file", "videoFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("video_file_url", "videoFileUrl", str),
            E("call_waiting_audio_selection", "callWaitingAudioSelection", str),
            E(
                "call_waiting_audio_file",
                "callWaitingAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E("call_waiting_audio_file_url", "callWaitingAudioFileUrl", str),
            E("call_waiting_video_selection", "callWaitingVideoSelection", str),
            E(
                "call_waiting_video_file",
                "callWaitingVideoFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E("call_waiting_video_file_url", "callWaitingVideoFileUrl", str),
        )


class UserCustomRingbackUserGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserCustomRingbackUserGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
        audio_selection (str): audioSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file (OCI.videoFile): videoFile *Optional*
        video_file_url (str): videoFileUrl *Optional*
        call_waiting_audio_selection (str): callWaitingAudioSelection *Optional*
        call_waiting_audio_file (OCI.callWaitingAudioFile): callWaitingAudioFile
            *Optional*
        call_waiting_audio_file_url (str): callWaitingAudioFileUrl *Optional*
        call_waiting_video_selection (str): callWaitingVideoSelection *Optional*
        call_waiting_video_file (OCI.callWaitingVideoFile): callWaitingVideoFile
            *Optional*
        call_waiting_video_file_url (str): callWaitingVideoFileUrl *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
        "audio_selection",
        "audio_file",
        "audio_file_url",
        "video_selection",
        "video_file",
        "video_file_url",
        "call_waiting_audio_selection",
        "call_waiting_audio_file",
        "call_waiting_audio_file_url",
        "call_waiting_video_selection",
        "call_waiting_video_file",
        "call_waiting_video_file_url",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file", "videoFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("video_file_url", "videoFileUrl", str),
            E("call_waiting_audio_selection", "callWaitingAudioSelection", str),
            E(
                "call_waiting_audio_file",
                "callWaitingAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E("call_waiting_audio_file_url", "callWaitingAudioFileUrl", str),
            E("call_waiting_video_selection", "callWaitingVideoSelection", str),
            E(
                "call_waiting_video_file",
                "callWaitingVideoFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E("call_waiting_video_file_url", "callWaitingVideoFileUrl", str),
        )


class UserDirectRouteGetResponse(OCIResponse):
    """
    Response to `UserDirectRouteGetRequest()`.

    Contains the direct route setting and the list of DTGs/Trunk Identities assigned to a
    user.

    Attributes:
        outgoing_dtg_policy (str): outgoingDTGPolicy
        outgoing_trunk_identity_policy (str): outgoingTrunkIdentityPolicy
        direct_route_identity_list (OCI.directRouteIdentityList): directRouteIdentityList
            *Optional*
    """

    __slots__: List[str] = [
        "outgoing_dtg_policy",
        "outgoing_trunk_identity_policy",
        "direct_route_identity_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("outgoing_dtg_policy", "outgoingDTGPolicy", str, is_required=True),
            E(
                "outgoing_trunk_identity_policy",
                "outgoingTrunkIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "direct_route_identity_list",
                "directRouteIdentityList",
                OCI.DirectRouteIdentifiers,
                is_complex=True,
            ),
        )


class UserEnhancedCallLogsGetListResponse(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest()`.

    Replaced By: `UserEnhancedCallLogsGetListResponse14sp4()`

    Attributes:
        placed (List[OCI.placed]): placed *Optional*
        received (List[OCI.received]): received *Optional*
        missed (List[OCI.missed]): missed *Optional*
    """

    __slots__: List[str] = [
        "placed",
        "received",
        "missed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "placed",
                "placed",
                OCI.EnhancedCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "received",
                "received",
                OCI.EnhancedCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E(
                "missed",
                "missed",
                OCI.EnhancedCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserEnhancedCallLogsGetListResponse14sp4(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest14sp4()`.

    Replaced by: `UserEnhancedCallLogsGetListResponse16()`

    Attributes:
        placed (List[OCI.placed]): placed *Optional*
        received (List[OCI.received]): received *Optional*
        missed (List[OCI.missed]): missed *Optional*
    """

    __slots__: List[str] = [
        "placed",
        "received",
        "missed",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("placed", "placed", OCI.CallLogsEntry, is_complex=True, is_array=True),
            E(
                "received",
                "received",
                OCI.CallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
            E("missed", "missed", OCI.CallLogsEntry, is_complex=True, is_array=True),
        )


class UserEnhancedCallLogsGetListResponse16(OCIResponse):
    """
    Response to `UserEnhancedCallLogsGetListRequest16()`.

    Total numbers of rows is: - the total number of retrievable logs of the call log type
    that was specified in the `UserEnhancedCallLogsGetListRequest16()`, if a call log type
    was specified in the request.  - the total number of retrievable logs, if no call log
    type was specified in the request.  Replaced by
    `UserEnhancedCallLogsGetListResponse17sp4()`

    Attributes:
        total_number_of_rows (int): totalNumberOfRows
        call_log (List[OCI.callLog]): callLog *Optional*
    """

    __slots__: List[str] = [
        "total_number_of_rows",
        "call_log",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("total_number_of_rows", "totalNumberOfRows", int, is_required=True),
            E(
                "call_log",
                "callLog",
                OCI.MixedCallLogsEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserExecutiveGetFilteringSelectiveCriteriaResponse(OCIResponse):
    """
    Response to the `UserExecutiveGetFilteringSelectiveCriteriaRequest()`.

    Replaced by: `UserExecutiveGetFilteringSelectiveCriteriaResponse21()`

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        filter (bool): filter
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "filter",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("filter", "filter", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.ExecutiveCallFilteringCriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserExecutiveGetFilteringSelectiveCriteriaResponse21(OCIResponse):
    """
    Response to the `UserExecutiveGetFilteringSelectiveCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        filter (bool): filter
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "filter",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("filter", "filter", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.ExecutiveCallFilteringCriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserFeatureAccessCodeGetListResponse(OCIResponse):
    """
    Response to the `UserFeatureAccessCodeGetListRequest()`.

    Replaced by: `UserFeatureAccessCodeGetListResponse20()` in AS data mode

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserFeatureAccessCodeGetListResponse20(OCIResponse):
    """
    Response to the `UserFeatureAccessCodeGetListRequest20()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording Start".
    Replaced by: `UserFeatureAccessCodeGetListResponse21()`

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserFeatureAccessCodeGetListResponse21(OCIResponse):
    """
    Response to the `UserFeatureAccessCodeGetListRequest21()`.

    In release 20 the "Call Recording" FAC name is changed to "Call Recording Start".

    Attributes:
        feature_access_code (List[OCI.featureAccessCode]): featureAccessCode *Optional*
    """

    __slots__: List[str] = [
        "feature_access_code",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "feature_access_code",
                "featureAccessCode",
                OCI.FeatureAccessCodeReadEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserGroupNightForwardingGetResponse(OCIResponse):
    """
    Response to `UserGroupNightForwardingGetRequest()`.

    businessHours and holidaySchedule are returned in the response only when
    groupNightForwarding is ‘Auto On’.

    Attributes:
        night_forwarding (str): nightForwarding
        group_night_forwarding (str): groupNightForwarding
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
    """

    __slots__: List[str] = [
        "night_forwarding",
        "group_night_forwarding",
        "business_hours",
        "holiday_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("night_forwarding", "nightForwarding", str, is_required=True),
            E("group_night_forwarding", "groupNightForwarding", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
        )


class UserHolidayScheduleGetResponse(OCIResponse):
    """
    Response to the `UserHolidayScheduleGetRequest()`.

    The response contains the user?s holiday schedule information.

    Attributes:
        holiday_schedule_name (str): holidayScheduleName
        holiday01 (OCI.holiday01): holiday01 *Optional*
        holiday02 (OCI.holiday02): holiday02 *Optional*
        holiday03 (OCI.holiday03): holiday03 *Optional*
        holiday04 (OCI.holiday04): holiday04 *Optional*
        holiday05 (OCI.holiday05): holiday05 *Optional*
        holiday06 (OCI.holiday06): holiday06 *Optional*
        holiday07 (OCI.holiday07): holiday07 *Optional*
        holiday08 (OCI.holiday08): holiday08 *Optional*
        holiday09 (OCI.holiday09): holiday09 *Optional*
        holiday10 (OCI.holiday10): holiday10 *Optional*
        holiday11 (OCI.holiday11): holiday11 *Optional*
        holiday12 (OCI.holiday12): holiday12 *Optional*
        holiday13 (OCI.holiday13): holiday13 *Optional*
        holiday14 (OCI.holiday14): holiday14 *Optional*
        holiday15 (OCI.holiday15): holiday15 *Optional*
        holiday16 (OCI.holiday16): holiday16 *Optional*
        holiday17 (OCI.holiday17): holiday17 *Optional*
        holiday18 (OCI.holiday18): holiday18 *Optional*
        holiday19 (OCI.holiday19): holiday19 *Optional*
        holiday20 (OCI.holiday20): holiday20 *Optional*
    """

    __slots__: List[str] = [
        "holiday_schedule_name",
        "holiday01",
        "holiday02",
        "holiday03",
        "holiday04",
        "holiday05",
        "holiday06",
        "holiday07",
        "holiday08",
        "holiday09",
        "holiday10",
        "holiday11",
        "holiday12",
        "holiday13",
        "holiday14",
        "holiday15",
        "holiday16",
        "holiday17",
        "holiday18",
        "holiday19",
        "holiday20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("holiday_schedule_name", "holidayScheduleName", str, is_required=True),
            E("holiday01", "holiday01", OCI.Holiday, is_complex=True),
            E("holiday02", "holiday02", OCI.Holiday, is_complex=True),
            E("holiday03", "holiday03", OCI.Holiday, is_complex=True),
            E("holiday04", "holiday04", OCI.Holiday, is_complex=True),
            E("holiday05", "holiday05", OCI.Holiday, is_complex=True),
            E("holiday06", "holiday06", OCI.Holiday, is_complex=True),
            E("holiday07", "holiday07", OCI.Holiday, is_complex=True),
            E("holiday08", "holiday08", OCI.Holiday, is_complex=True),
            E("holiday09", "holiday09", OCI.Holiday, is_complex=True),
            E("holiday10", "holiday10", OCI.Holiday, is_complex=True),
            E("holiday11", "holiday11", OCI.Holiday, is_complex=True),
            E("holiday12", "holiday12", OCI.Holiday, is_complex=True),
            E("holiday13", "holiday13", OCI.Holiday, is_complex=True),
            E("holiday14", "holiday14", OCI.Holiday, is_complex=True),
            E("holiday15", "holiday15", OCI.Holiday, is_complex=True),
            E("holiday16", "holiday16", OCI.Holiday, is_complex=True),
            E("holiday17", "holiday17", OCI.Holiday, is_complex=True),
            E("holiday18", "holiday18", OCI.Holiday, is_complex=True),
            E("holiday19", "holiday19", OCI.Holiday, is_complex=True),
            E("holiday20", "holiday20", OCI.Holiday, is_complex=True),
        )


class UserMaliciousCallTraceGetResponse(OCIResponse):
    """
    Response to `UserMaliciousCallTraceGetRequest()`.


    Attributes:
        is_active (bool): isActive
        trace_type_selection (str): traceTypeSelection
        trace_for_time_period (bool): traceForTimePeriod
        trace_time_period (OCI.traceTimePeriod): traceTimePeriod *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "trace_type_selection",
        "trace_for_time_period",
        "trace_time_period",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("trace_type_selection", "traceTypeSelection", str, is_required=True),
            E("trace_for_time_period", "traceForTimePeriod", bool, is_required=True),
            E(
                "trace_time_period",
                "traceTimePeriod",
                OCI.MaliciousCallTraceTimePeriod,
                is_complex=True,
            ),
        )


class UserMeetMeConferencingGetConferenceGreetingResponse20(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceGreetingRequest20()`.

    Contains the information of a conference custom greeting.

    Attributes:
        play_entrance_greeting (bool): playEntranceGreeting
        entrance_greeting_file (OCI.entranceGreetingFile): entranceGreetingFile *Optional*
    """

    __slots__: List[str] = [
        "play_entrance_greeting",
        "entrance_greeting_file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_greeting", "playEntranceGreeting", bool, is_required=True),
            E(
                "entrance_greeting_file",
                "entranceGreetingFile",
                OCI.AnnouncementFileKey,
                is_complex=True,
            ),
        )


class UserMeetMeConferencingGetConferenceResponse(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceRequest()`.

    Contains the information of a conference.

    Attributes:
        title (str): title
        estimated_participants (int): estimatedParticipants *Optional*
        restrict_participants (bool): restrictParticipants *Optional*
        max_participants (int): maxParticipants *Optional*
        account_code (str): accountCode *Optional*
        mute_all_attendees_on_entry (bool): muteAllAttendeesOnEntry
        end_conference_on_moderator_exit (bool): endConferenceOnModeratorExit
        moderator_required (bool): moderatorRequired
        attendee_notification (str): attendeeNotification
        conference_schedule (OCI.conferenceSchedule): conferenceSchedule
        moderator_pin (str): moderatorPin
    """

    __slots__: List[str] = [
        "title",
        "estimated_participants",
        "restrict_participants",
        "max_participants",
        "account_code",
        "mute_all_attendees_on_entry",
        "end_conference_on_moderator_exit",
        "moderator_required",
        "attendee_notification",
        "conference_schedule",
        "moderator_pin",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("title", "title", str, is_required=True),
            E("estimated_participants", "estimatedParticipants", int),
            E("restrict_participants", "restrictParticipants", bool),
            E("max_participants", "maxParticipants", int),
            E("account_code", "accountCode", str),
            E(
                "mute_all_attendees_on_entry",
                "muteAllAttendeesOnEntry",
                bool,
                is_required=True,
            ),
            E(
                "end_conference_on_moderator_exit",
                "endConferenceOnModeratorExit",
                bool,
                is_required=True,
            ),
            E("moderator_required", "moderatorRequired", bool, is_required=True),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "conference_schedule",
                "conferenceSchedule",
                OCI.MeetMeConferencingConferenceSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("moderator_pin", "moderatorPin", str, is_required=True),
        )


class UserMeetMeConferencingGetConferenceResponse19(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceRequest19()`.

    Contains the information of a conference.

    Attributes:
        title (str): title
        estimated_participants (int): estimatedParticipants *Optional*
        restrict_participants (bool): restrictParticipants *Optional*
        max_participants (int): maxParticipants *Optional*
        account_code (str): accountCode *Optional*
        mute_all_attendees_on_entry (bool): muteAllAttendeesOnEntry
        end_conference_on_moderator_exit (bool): endConferenceOnModeratorExit
        moderator_required (bool): moderatorRequired
        require_security_pin (bool): requireSecurityPin
        security_pin (str): securityPin *Optional*
        allow_unique_identifier (bool): allowUniqueIdentifier
        attendee_notification (str): attendeeNotification
        conference_schedule (OCI.conferenceSchedule): conferenceSchedule
        moderator_pin (str): moderatorPin
    """

    __slots__: List[str] = [
        "title",
        "estimated_participants",
        "restrict_participants",
        "max_participants",
        "account_code",
        "mute_all_attendees_on_entry",
        "end_conference_on_moderator_exit",
        "moderator_required",
        "require_security_pin",
        "security_pin",
        "allow_unique_identifier",
        "attendee_notification",
        "conference_schedule",
        "moderator_pin",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("title", "title", str, is_required=True),
            E("estimated_participants", "estimatedParticipants", int),
            E("restrict_participants", "restrictParticipants", bool),
            E("max_participants", "maxParticipants", int),
            E("account_code", "accountCode", str),
            E(
                "mute_all_attendees_on_entry",
                "muteAllAttendeesOnEntry",
                bool,
                is_required=True,
            ),
            E(
                "end_conference_on_moderator_exit",
                "endConferenceOnModeratorExit",
                bool,
                is_required=True,
            ),
            E("moderator_required", "moderatorRequired", bool, is_required=True),
            E("require_security_pin", "requireSecurityPin", bool, is_required=True),
            E("security_pin", "securityPin", str),
            E(
                "allow_unique_identifier",
                "allowUniqueIdentifier",
                bool,
                is_required=True,
            ),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "conference_schedule",
                "conferenceSchedule",
                OCI.MeetMeConferencingConferenceSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("moderator_pin", "moderatorPin", str, is_required=True),
        )


class UserMeetMeConferencingGetConferenceResponse20(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceRequest20()`.

    Contains the information of a conference.  Replaced by:
    `UserMeetMeConferencingGetConferenceResponse23()`

    Attributes:
        title (str): title
        estimated_participants (int): estimatedParticipants *Optional*
        restrict_participants (bool): restrictParticipants *Optional*
        max_participants (int): maxParticipants *Optional*
        account_code (str): accountCode *Optional*
        mute_all_attendees_on_entry (bool): muteAllAttendeesOnEntry
        end_conference_on_moderator_exit (bool): endConferenceOnModeratorExit
        moderator_required (bool): moderatorRequired
        require_security_pin (bool): requireSecurityPin
        security_pin (str): securityPin *Optional*
        allow_unique_identifier (bool): allowUniqueIdentifier
        attendee_notification (str): attendeeNotification
        conference_schedule (OCI.conferenceSchedule): conferenceSchedule
        moderator_pin (str): moderatorPin
        host_time_zone (str): hostTimeZone
    """

    __slots__: List[str] = [
        "title",
        "estimated_participants",
        "restrict_participants",
        "max_participants",
        "account_code",
        "mute_all_attendees_on_entry",
        "end_conference_on_moderator_exit",
        "moderator_required",
        "require_security_pin",
        "security_pin",
        "allow_unique_identifier",
        "attendee_notification",
        "conference_schedule",
        "moderator_pin",
        "host_time_zone",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("title", "title", str, is_required=True),
            E("estimated_participants", "estimatedParticipants", int),
            E("restrict_participants", "restrictParticipants", bool),
            E("max_participants", "maxParticipants", int),
            E("account_code", "accountCode", str),
            E(
                "mute_all_attendees_on_entry",
                "muteAllAttendeesOnEntry",
                bool,
                is_required=True,
            ),
            E(
                "end_conference_on_moderator_exit",
                "endConferenceOnModeratorExit",
                bool,
                is_required=True,
            ),
            E("moderator_required", "moderatorRequired", bool, is_required=True),
            E("require_security_pin", "requireSecurityPin", bool, is_required=True),
            E("security_pin", "securityPin", str),
            E(
                "allow_unique_identifier",
                "allowUniqueIdentifier",
                bool,
                is_required=True,
            ),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "conference_schedule",
                "conferenceSchedule",
                OCI.MeetMeConferencingConferenceSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("moderator_pin", "moderatorPin", str, is_required=True),
            E("host_time_zone", "hostTimeZone", str, is_required=True),
        )


class UserMeetMeConferencingGetConferenceResponse23(OCIResponse):
    """
    Response to `UserMeetMeConferencingGetConferenceRequest23()`.

    Contains the information of a conference.

    Attributes:
        title (str): title
        estimated_participants (int): estimatedParticipants *Optional*
        restrict_participants (bool): restrictParticipants *Optional*
        max_participants (int): maxParticipants *Optional*
        account_code (str): accountCode *Optional*
        mute_all_attendees_on_entry (bool): muteAllAttendeesOnEntry
        end_conference_on_moderator_exit (bool): endConferenceOnModeratorExit
        moderator_required (bool): moderatorRequired
        require_security_pin (bool): requireSecurityPin
        security_pin (str): securityPin *Optional*
        allow_unique_identifier (bool): allowUniqueIdentifier
        attendee_notification (str): attendeeNotification
        conference_schedule (OCI.conferenceSchedule): conferenceSchedule
        moderator_pin (str): moderatorPin
        host_time_zone (str): hostTimeZone
        allow_participant_unmute_in_auto_lecture_mode (bool):
            allowParticipantUnmuteInAutoLectureMode
    """

    __slots__: List[str] = [
        "title",
        "estimated_participants",
        "restrict_participants",
        "max_participants",
        "account_code",
        "mute_all_attendees_on_entry",
        "end_conference_on_moderator_exit",
        "moderator_required",
        "require_security_pin",
        "security_pin",
        "allow_unique_identifier",
        "attendee_notification",
        "conference_schedule",
        "moderator_pin",
        "host_time_zone",
        "allow_participant_unmute_in_auto_lecture_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("title", "title", str, is_required=True),
            E("estimated_participants", "estimatedParticipants", int),
            E("restrict_participants", "restrictParticipants", bool),
            E("max_participants", "maxParticipants", int),
            E("account_code", "accountCode", str),
            E(
                "mute_all_attendees_on_entry",
                "muteAllAttendeesOnEntry",
                bool,
                is_required=True,
            ),
            E(
                "end_conference_on_moderator_exit",
                "endConferenceOnModeratorExit",
                bool,
                is_required=True,
            ),
            E("moderator_required", "moderatorRequired", bool, is_required=True),
            E("require_security_pin", "requireSecurityPin", bool, is_required=True),
            E("security_pin", "securityPin", str),
            E(
                "allow_unique_identifier",
                "allowUniqueIdentifier",
                bool,
                is_required=True,
            ),
            E("attendee_notification", "attendeeNotification", str, is_required=True),
            E(
                "conference_schedule",
                "conferenceSchedule",
                OCI.MeetMeConferencingConferenceSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("moderator_pin", "moderatorPin", str, is_required=True),
            E("host_time_zone", "hostTimeZone", str, is_required=True),
            E(
                "allow_participant_unmute_in_auto_lecture_mode",
                "allowParticipantUnmuteInAutoLectureMode",
                bool,
                is_required=True,
            ),
        )


class UserModifyGroupIdResponse(OCIResponse):
    """
    Response to `UserModifyGroupIdRequest()`.

    error indicates the failing conditions preventing the user move.  impact indicates any
    change to user and group as the result of a user move.

    Attributes:
        error (List[OCI.error]): error *Optional*
        impact (List[OCI.impact]): impact *Optional*
    """

    __slots__: List[str] = [
        "error",
        "impact",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("error", "error", OCI.UserMoveMessage, is_complex=True, is_array=True),
            E("impact", "impact", OCI.UserMoveMessage, is_complex=True, is_array=True),
        )


class UserMusicOnHoldUserGetResponse(OCIResponse):
    """
    Response to `UserMusicOnHoldUserGetRequest()`.

    Replaced By: `UserMusicOnHoldUserGetResponse16()`

    Attributes:
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource *Optional*
    """

    __slots__: List[str] = [
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldUserSourceRead,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldUserSourceRead,
                is_complex=True,
            ),
        )


class UserMusicOnHoldUserGetResponse16(OCIResponse):
    """
    Response to `UserMusicOnHoldUserGetRequest16()`.

    Replaced by: `UserMusicOnHoldUserGetResponse20()` in AS data mode

    Attributes:
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource *Optional*
    """

    __slots__: List[str] = [
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldUserSourceRead16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldUserSourceRead16,
                is_complex=True,
            ),
        )


class UserMusicOnHoldUserGetResponse20(OCIResponse):
    """
    Response to `UserMusicOnHoldUserGetRequest20()`.


    Attributes:
        enable_video (bool): enableVideo
        source (OCI.source): source
        use_alternate_source_for_internal_calls (bool): useAlternateSourceForInternalCalls
        internal_source (OCI.internalSource): internalSource *Optional*
    """

    __slots__: List[str] = [
        "enable_video",
        "source",
        "use_alternate_source_for_internal_calls",
        "internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "source",
                "source",
                OCI.MusicOnHoldUserSourceRead20,
                is_complex=True,
                is_required=True,
            ),
            E(
                "use_alternate_source_for_internal_calls",
                "useAlternateSourceForInternalCalls",
                bool,
                is_required=True,
            ),
            E(
                "internal_source",
                "internalSource",
                OCI.MusicOnHoldUserSourceRead20,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanAuthorizationCodeGetListRequest()`.


    Attributes:
        code_entry (List[OCI.codeEntry]): codeEntry *Optional*
    """

    __slots__: List[str] = [
        "code_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "code_entry",
                "codeEntry",
                OCI.OutgoingCallingPlanAuthorizationCodeEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserOutgoingCallingPlanCallMeNowGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanCallMeNowGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanCallMeNowPermissions,
                is_complex=True,
                is_required=True,
            ),
        )


class UserOutgoingCallingPlanOriginatingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanOriginatingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanOriginatingPermissions,
                is_complex=True,
                is_required=True,
            ),
        )


class UserOutgoingCallingPlanRedirectedGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanRedirectedGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanRedirectedPermissions,
                is_complex=True,
                is_required=True,
            ),
        )


class UserOutgoingCallingPlanRedirectingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanRedirectingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanRedirectingPermissions,
                is_complex=True,
                is_required=True,
            ),
        )


class UserOutgoingCallingPlanTransferNumbersGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanTransferNumbersGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_numbers (OCI.userNumbers): userNumbers
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_numbers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_numbers",
                "userNumbers",
                OCI.OutgoingCallingPlanTransferNumbers,
                is_complex=True,
                is_required=True,
            ),
        )


class UserPersonalAssistantCallToNumberGetListResponse(OCIResponse):
    """
    Response to the `UserPersonalAssistantCallToNumberGetListRequest()`.

    Contains a list of assigned Call to Numbers".

    Attributes:
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserPersonalPhoneListGetListResponse(OCIResponse):
    """
    Response to the `UserPersonalPhoneListGetListRequest()`.

    The response contains a user's personal phone list.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("entry", "entry", OCI.PhoneListEntry, is_complex=True, is_array=True),
        )


class UserPreAlertingAnnouncementGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserPreAlertingAnnouncementGetCriteriaRequest()`.

    Replaced by: `UserPreAlertingAnnouncementGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserPreAlertingAnnouncementGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserPreAlertingAnnouncementGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserPreAlertingAnnouncementGetResponse20(OCIResponse):
    """
    Response to a `UserPreAlertingAnnouncementGetRequest20()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Blacklisted",
    "Calls From", "Calls To Type", "Calls To Number" and "Calls To Extension". The
    possible values for the "Calls To Type" column are the following or a combination of
    them separated by comma: - Primary - Alternate X (where x is a number between 1 and
    10) - Mobility The possible values for the "Calls To Number" column are the following
    or a combination of them separated by comma: - The value of the phone number for the
    corresponding Calls To Type, when the number is available.  i.e.  Alternate 1 may have
    extension, but no number.  - When no number is available a blank space is provided
    instead.  The possible values for the "Calls To Extension" column are the following or
    a combination of them separated by comma: - The value of the extension for the
    corresponding Calls To Type, when the extension is available.  i.e.  Primary may have
    number, but no extension.  - For Mobility Calls To Type, this is always blank.  - When
    no extension is available a blank space is provided instead.

    Attributes:
        is_active (bool): isActive
        audio_selection (str): audioSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        audio_file_url (str): audioFileUrl *Optional*
        video_selection (str): videoSelection
        video_file (OCI.videoFile): videoFile *Optional*
        video_file_url (str): videoFileUrl *Optional*
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "audio_selection",
        "audio_file",
        "audio_file_url",
        "video_selection",
        "video_file",
        "video_file_url",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("audio_selection", "audioSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("audio_file_url", "audioFileUrl", str),
            E("video_selection", "videoSelection", str, is_required=True),
            E("video_file", "videoFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("video_file_url", "videoFileUrl", str),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserPreferredCarrierUserGetResponse(OCIResponse):
    """
    Response to a `UserPreferredCarrierUserGetRequest()`.


    Attributes:
        intra_lata_carrier (OCI.intraLataCarrier): intraLataCarrier
        inter_lata_carrier (OCI.interLataCarrier): interLataCarrier
        international_carrier (OCI.internationalCarrier): internationalCarrier
    """

    __slots__: List[str] = [
        "intra_lata_carrier",
        "inter_lata_carrier",
        "international_carrier",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "intra_lata_carrier",
                "intraLataCarrier",
                OCI.UserPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
            E(
                "inter_lata_carrier",
                "interLataCarrier",
                OCI.UserPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
            E(
                "international_carrier",
                "internationalCarrier",
                OCI.UserPreferredCarrierName,
                is_complex=True,
                is_required=True,
            ),
        )


class UserPriorityAlertGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserPriorityAlertGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.PriorityAlertCriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserPriorityAlertGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserPriorityAlertGetCriteriaRequest16()`.

    Replaced by: `UserPriorityAlertGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.PriorityAlertCriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserPriorityAlertGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserPriorityAlertGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.PriorityAlertCriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserScheduleGetEventResponse(OCIResponse):
    """
    Response to `UserScheduleGetEventRequest()`.

    The response contains the event of the user schedule.

    Attributes:
        start_date (str): startDate
        all_day_event (bool): allDayEvent *Optional*
        start_time (OCI.startTime): startTime *Optional*
        end_time (OCI.endTime): endTime *Optional*
        end_date (str): endDate
        recurrence (OCI.recurrence): recurrence *Optional*
    """

    __slots__: List[str] = [
        "start_date",
        "all_day_event",
        "start_time",
        "end_time",
        "end_date",
        "recurrence",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("start_date", "startDate", str, is_required=True),
            E("all_day_event", "allDayEvent", bool),
            E("start_time", "startTime", OCI.HourMinute, is_complex=True),
            E("end_time", "endTime", OCI.HourMinute, is_complex=True),
            E("end_date", "endDate", str, is_required=True),
            E("recurrence", "recurrence", OCI.Recurrence, is_complex=True),
        )


class UserSelectiveCallAcceptanceGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserSelectiveCallAcceptanceGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSelectiveCallAcceptanceGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserSelectiveCallAcceptanceGetCriteriaRequest16()`.

    Replaced by: `UserSelectiveCallAcceptanceGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSelectiveCallAcceptanceGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserSelectiveCallAcceptanceGetCriteriaRequest21()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserSelectiveCallRejectionGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserSelectiveCallRejectionGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSelectiveCallRejectionGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserSelectiveCallRejectionGetCriteriaRequest16()`.

    Replaced by: `UserSelectiveCallRejectionGetCriteriaResponse16sp1()`

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        blacklisted (bool): blacklisted
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
        "blacklisted",
        "holiday_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.SelectiveCallRejectionCriteriaCallType,
                is_complex=True,
                is_required=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
        )


class UserSelectiveCallRejectionGetCriteriaResponse16sp1(OCIResponse):
    """
    Response to the `UserSelectiveCallRejectionGetCriteriaRequest16sp1()`.

    Private Phone Numbers are omitted from the fromDnCriteria.  Replaced by:
    `UserSelectiveCallRejectionGetCriteriaResponse21()` in AS data mode

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        blacklisted (bool): blacklisted
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        private (bool): private
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
        "blacklisted",
        "holiday_schedule",
        "private",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.SelectiveCallRejectionCriteriaCallType,
                is_complex=True,
                is_required=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("private", "private", bool, is_required=True),
        )


class UserSelectiveCallRejectionGetCriteriaResponse21(OCIResponse):
    """
    Response to the `UserSelectiveCallRejectionGetCriteriaRequest21()`.

    Private Phone Numbers are omitted from the fromDnCriteria.

    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
        blacklisted (bool): blacklisted
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        private (bool): private
        call_to_number (List[OCI.callToNumber]): callToNumber *Optional*
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
        "blacklisted",
        "holiday_schedule",
        "private",
        "call_to_number",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.SelectiveCallRejectionCriteriaCallType,
                is_complex=True,
                is_required=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("private", "private", bool, is_required=True),
            E(
                "call_to_number",
                "callToNumber",
                OCI.CallToNumber,
                is_complex=True,
                is_array=True,
            ),
        )


class UserSequentialRingGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserSequentialRingGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSequentialRingGetCriteriaResponse16(OCIResponse):
    """
    Response to the `UserSequentialRingGetCriteriaRequest16()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSequentialRingGetResponse13mp16(OCIResponse):
    """
    Response to the `UserSequentialRingGetRequest13mp16()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule" and "Calls From".

    Replaced By: `UserSequentialRingGetResponse14sp4()`

    Attributes:
        ring_base_location_first (bool): ringBaseLocationFirst
        base_location_number_of_rings (int): baseLocationNumberOfRings
        continue_if_base_location_is_busy (bool): continueIfBaseLocationIsBusy
        caller_may_stop_search (bool): callerMayStopSearch
        location01 (OCI.Location01): Location01
        location02 (OCI.Location02): Location02
        location03 (OCI.Location03): Location03
        location04 (OCI.Location04): Location04
        location05 (OCI.Location05): Location05
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "ring_base_location_first",
        "base_location_number_of_rings",
        "continue_if_base_location_is_busy",
        "caller_may_stop_search",
        "location01",
        "location02",
        "location03",
        "location04",
        "location05",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "ring_base_location_first",
                "ringBaseLocationFirst",
                bool,
                is_required=True,
            ),
            E(
                "base_location_number_of_rings",
                "baseLocationNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "continue_if_base_location_is_busy",
                "continueIfBaseLocationIsBusy",
                bool,
                is_required=True,
            ),
            E("caller_may_stop_search", "callerMayStopSearch", bool, is_required=True),
            E(
                "location01",
                "Location01",
                OCI.SequentialRingLocation,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location02",
                "Location02",
                OCI.SequentialRingLocation,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location03",
                "Location03",
                OCI.SequentialRingLocation,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location04",
                "Location04",
                OCI.SequentialRingLocation,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location05",
                "Location05",
                OCI.SequentialRingLocation,
                is_complex=True,
                is_required=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSequentialRingGetResponse14sp4(OCIResponse):
    """
    Response to the `UserSequentialRingGetRequest14sp4()`.

    The criteria table's column headings are: "Is Active", "Criteria Name", "Time
    Schedule", "Calls From", "Blacklisted" and "Holiday Schedule".

    Attributes:
        ring_base_location_first (bool): ringBaseLocationFirst
        base_location_number_of_rings (int): baseLocationNumberOfRings
        continue_if_base_location_is_busy (bool): continueIfBaseLocationIsBusy
        caller_may_stop_search (bool): callerMayStopSearch
        location01 (OCI.Location01): Location01
        location02 (OCI.Location02): Location02
        location03 (OCI.Location03): Location03
        location04 (OCI.Location04): Location04
        location05 (OCI.Location05): Location05
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "ring_base_location_first",
        "base_location_number_of_rings",
        "continue_if_base_location_is_busy",
        "caller_may_stop_search",
        "location01",
        "location02",
        "location03",
        "location04",
        "location05",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "ring_base_location_first",
                "ringBaseLocationFirst",
                bool,
                is_required=True,
            ),
            E(
                "base_location_number_of_rings",
                "baseLocationNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "continue_if_base_location_is_busy",
                "continueIfBaseLocationIsBusy",
                bool,
                is_required=True,
            ),
            E("caller_may_stop_search", "callerMayStopSearch", bool, is_required=True),
            E(
                "location01",
                "Location01",
                OCI.SequentialRingLocation14sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location02",
                "Location02",
                OCI.SequentialRingLocation14sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location03",
                "Location03",
                OCI.SequentialRingLocation14sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location04",
                "Location04",
                OCI.SequentialRingLocation14sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "location05",
                "Location05",
                OCI.SequentialRingLocation14sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSimultaneousRingFamilyGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingFamilyGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSimultaneousRingFamilyGetResponse17(OCIResponse):
    """
    Response to the `UserSimultaneousRingFamilyGetRequest17()`.

    Contains a criteria table wich column heading: "Is Active", "Criteria Name", "Time
    Schedule", "Holiday Schedule", "Calls From" and "Blacklisted".

    Attributes:
        is_active (bool): isActive
        do_not_ring_if_on_call (bool): doNotRingIfOnCall
        simultaneous_ring_number (List[OCI.simultaneousRingNumber]):
            simultaneousRingNumber *Optional*
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "do_not_ring_if_on_call",
        "simultaneous_ring_number",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("do_not_ring_if_on_call", "doNotRingIfOnCall", bool, is_required=True),
            E(
                "simultaneous_ring_number",
                "simultaneousRingNumber",
                OCI.SimultaneousRingNumber,
                is_complex=True,
                is_array=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSimultaneousRingPersonalGetCriteriaResponse(OCIResponse):
    """
    Response to the `UserSimultaneousRingPersonalGetCriteriaRequest()`.


    Attributes:
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        blacklisted (bool): blacklisted
        from_dn_criteria (OCI.fromDnCriteria): fromDnCriteria
    """

    __slots__: List[str] = [
        "time_schedule",
        "holiday_schedule",
        "blacklisted",
        "from_dn_criteria",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule", "timeSchedule", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("blacklisted", "blacklisted", bool, is_required=True),
            E(
                "from_dn_criteria",
                "fromDnCriteria",
                OCI.CriteriaFromDn,
                is_complex=True,
                is_required=True,
            ),
        )


class UserSimultaneousRingPersonalGetResponse17(OCIResponse):
    """
    Response to the `UserSimultaneousRingPersonalGetRequest17()`.

    Contains a criteria table with column heading: "Is Active", "Criteria Name", "Time
    Schedule", "Holiday Schedule", "Calls From" and "Blacklisted".

    Attributes:
        is_active (bool): isActive
        do_not_ring_if_on_call (bool): doNotRingIfOnCall
        simultaneous_ring_number (List[OCI.simultaneousRingNumber]):
            simultaneousRingNumber *Optional*
        criteria_table (List(criteriaTable)): criteriaTable - *Table* array of
            criteriaTable named tuples
    """

    __slots__: List[str] = [
        "is_active",
        "do_not_ring_if_on_call",
        "simultaneous_ring_number",
        "criteria_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("do_not_ring_if_on_call", "doNotRingIfOnCall", bool, is_required=True),
            E(
                "simultaneous_ring_number",
                "simultaneousRingNumber",
                OCI.SimultaneousRingNumber,
                is_complex=True,
                is_array=True,
            ),
            E(
                "criteria_table",
                "criteriaTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserSpeedDial100GetListResponse(OCIResponse):
    """
    Response to the `UserSpeedDial100GetListRequest()`.

    Replaced by: UserSpeedDial100GetListResponse17Sp1

    Attributes:
        prefix (str): prefix
        speed_dial_entry (List[OCI.speedDialEntry]): speedDialEntry *Optional*
    """

    __slots__: List[str] = [
        "prefix",
        "speed_dial_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("prefix", "prefix", str, is_required=True),
            E(
                "speed_dial_entry",
                "speedDialEntry",
                OCI.SpeedDial100Entry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserSpeedDial100GetListResponse17sp1(OCIResponse):
    """
    Response to the `UserSpeedDial100GetListRequest17sp1()`.


    Attributes:
        prefix (str): prefix *Optional*
        speed_dial_entry (List[OCI.speedDialEntry]): speedDialEntry *Optional*
    """

    __slots__: List[str] = [
        "prefix",
        "speed_dial_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("prefix", "prefix", str),
            E(
                "speed_dial_entry",
                "speedDialEntry",
                OCI.SpeedDial100Entry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserSpeedDial8GetListResponse(OCIResponse):
    """
    Response to the `UserSpeedDial8GetListRequest()`.


    Attributes:
        speed_dial_entry (List[OCI.speedDialEntry]): speedDialEntry
    """

    __slots__: List[str] = [
        "speed_dial_entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "speed_dial_entry",
                "speedDialEntry",
                OCI.SpeedDial8Entry,
                is_complex=True,
                is_required=True,
                is_array=True,
            ),
        )


class UserTimeScheduleGetResponse(OCIResponse):
    """
    Response to the `UserTimeScheduleGetRequest()`.

    The response contains the requested time schedule information.

    Attributes:
        time_schedule_name (str): timeScheduleName
        time_interval01 (OCI.timeInterval01): timeInterval01 *Optional*
        time_interval02 (OCI.timeInterval02): timeInterval02 *Optional*
        time_interval03 (OCI.timeInterval03): timeInterval03 *Optional*
        time_interval04 (OCI.timeInterval04): timeInterval04 *Optional*
        time_interval05 (OCI.timeInterval05): timeInterval05 *Optional*
        time_interval06 (OCI.timeInterval06): timeInterval06 *Optional*
        time_interval07 (OCI.timeInterval07): timeInterval07 *Optional*
        time_interval08 (OCI.timeInterval08): timeInterval08 *Optional*
        time_interval09 (OCI.timeInterval09): timeInterval09 *Optional*
        time_interval10 (OCI.timeInterval10): timeInterval10 *Optional*
        time_interval11 (OCI.timeInterval11): timeInterval11 *Optional*
        time_interval12 (OCI.timeInterval12): timeInterval12 *Optional*
        time_interval13 (OCI.timeInterval13): timeInterval13 *Optional*
        time_interval14 (OCI.timeInterval14): timeInterval14 *Optional*
        time_interval15 (OCI.timeInterval15): timeInterval15 *Optional*
        time_interval16 (OCI.timeInterval16): timeInterval16 *Optional*
        time_interval17 (OCI.timeInterval17): timeInterval17 *Optional*
        time_interval18 (OCI.timeInterval18): timeInterval18 *Optional*
        time_interval19 (OCI.timeInterval19): timeInterval19 *Optional*
        time_interval20 (OCI.timeInterval20): timeInterval20 *Optional*
    """

    __slots__: List[str] = [
        "time_schedule_name",
        "time_interval01",
        "time_interval02",
        "time_interval03",
        "time_interval04",
        "time_interval05",
        "time_interval06",
        "time_interval07",
        "time_interval08",
        "time_interval09",
        "time_interval10",
        "time_interval11",
        "time_interval12",
        "time_interval13",
        "time_interval14",
        "time_interval15",
        "time_interval16",
        "time_interval17",
        "time_interval18",
        "time_interval19",
        "time_interval20",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("time_schedule_name", "timeScheduleName", str, is_required=True),
            E("time_interval01", "timeInterval01", OCI.TimeInterval, is_complex=True),
            E("time_interval02", "timeInterval02", OCI.TimeInterval, is_complex=True),
            E("time_interval03", "timeInterval03", OCI.TimeInterval, is_complex=True),
            E("time_interval04", "timeInterval04", OCI.TimeInterval, is_complex=True),
            E("time_interval05", "timeInterval05", OCI.TimeInterval, is_complex=True),
            E("time_interval06", "timeInterval06", OCI.TimeInterval, is_complex=True),
            E("time_interval07", "timeInterval07", OCI.TimeInterval, is_complex=True),
            E("time_interval08", "timeInterval08", OCI.TimeInterval, is_complex=True),
            E("time_interval09", "timeInterval09", OCI.TimeInterval, is_complex=True),
            E("time_interval10", "timeInterval10", OCI.TimeInterval, is_complex=True),
            E("time_interval11", "timeInterval11", OCI.TimeInterval, is_complex=True),
            E("time_interval12", "timeInterval12", OCI.TimeInterval, is_complex=True),
            E("time_interval13", "timeInterval13", OCI.TimeInterval, is_complex=True),
            E("time_interval14", "timeInterval14", OCI.TimeInterval, is_complex=True),
            E("time_interval15", "timeInterval15", OCI.TimeInterval, is_complex=True),
            E("time_interval16", "timeInterval16", OCI.TimeInterval, is_complex=True),
            E("time_interval17", "timeInterval17", OCI.TimeInterval, is_complex=True),
            E("time_interval18", "timeInterval18", OCI.TimeInterval, is_complex=True),
            E("time_interval19", "timeInterval19", OCI.TimeInterval, is_complex=True),
            E("time_interval20", "timeInterval20", OCI.TimeInterval, is_complex=True),
        )


class UserVoiceMessagingUserGetGreetingResponse13mp16(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetGreetingRequest13mp16()`.

    Contains the greeting configuration for a user's voice messaging.

    Replaced By: `UserVoiceMessagingUserGetGreetingResponse16()`

    Attributes:
        busy_announcement_selection (str): busyAnnouncementSelection
        busy_personal_audio_file (str): busyPersonalAudioFile *Optional*
        busy_personal_video_file (str): busyPersonalVideoFile *Optional*
        no_answer_announcement_selection (str): noAnswerAnnouncementSelection
        no_answer_personal_audio_file (str): noAnswerPersonalAudioFile *Optional*
        no_answer_personal_video_file (str): noAnswerPersonalVideoFile *Optional*
        no_answer_alternate_greeting01 (OCI.noAnswerAlternateGreeting01):
            noAnswerAlternateGreeting01 *Optional*
        no_answer_alternate_greeting02 (OCI.noAnswerAlternateGreeting02):
            noAnswerAlternateGreeting02 *Optional*
        no_answer_alternate_greeting03 (OCI.noAnswerAlternateGreeting03):
            noAnswerAlternateGreeting03 *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
    """

    __slots__: List[str] = [
        "busy_announcement_selection",
        "busy_personal_audio_file",
        "busy_personal_video_file",
        "no_answer_announcement_selection",
        "no_answer_personal_audio_file",
        "no_answer_personal_video_file",
        "no_answer_alternate_greeting01",
        "no_answer_alternate_greeting02",
        "no_answer_alternate_greeting03",
        "no_answer_number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "busy_announcement_selection",
                "busyAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("busy_personal_audio_file", "busyPersonalAudioFile", str),
            E("busy_personal_video_file", "busyPersonalVideoFile", str),
            E(
                "no_answer_announcement_selection",
                "noAnswerAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("no_answer_personal_audio_file", "noAnswerPersonalAudioFile", str),
            E("no_answer_personal_video_file", "noAnswerPersonalVideoFile", str),
            E(
                "no_answer_alternate_greeting01",
                "noAnswerAlternateGreeting01",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting02",
                "noAnswerAlternateGreeting02",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting03",
                "noAnswerAlternateGreeting03",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead,
                is_complex=True,
            ),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
        )


class UserVoiceMessagingUserGetGreetingResponse16(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetGreetingRequest16()`.

    Contains the greeting configuration for a user's voice messaging.  Replaced by:
    `UserVoiceMessagingUserGetGreetingResponse18()`

    Attributes:
        busy_announcement_selection (str): busyAnnouncementSelection
        busy_personal_audio_file (str): busyPersonalAudioFile *Optional*
        busy_personal_audio_media_type (str): busyPersonalAudioMediaType *Optional*
        busy_personal_video_file (str): busyPersonalVideoFile *Optional*
        busy_personal_video_media_type (str): busyPersonalVideoMediaType *Optional*
        no_answer_announcement_selection (str): noAnswerAnnouncementSelection
        no_answer_personal_audio_file (str): noAnswerPersonalAudioFile *Optional*
        no_answer_personal_audio_media_type (str): noAnswerPersonalAudioMediaType
            *Optional*
        no_answer_personal_video_file (str): noAnswerPersonalVideoFile *Optional*
        no_answer_personal_video_media_type (str): noAnswerPersonalVideoMediaType
            *Optional*
        no_answer_alternate_greeting01 (OCI.noAnswerAlternateGreeting01):
            noAnswerAlternateGreeting01 *Optional*
        no_answer_alternate_greeting02 (OCI.noAnswerAlternateGreeting02):
            noAnswerAlternateGreeting02 *Optional*
        no_answer_alternate_greeting03 (OCI.noAnswerAlternateGreeting03):
            noAnswerAlternateGreeting03 *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
    """

    __slots__: List[str] = [
        "busy_announcement_selection",
        "busy_personal_audio_file",
        "busy_personal_audio_media_type",
        "busy_personal_video_file",
        "busy_personal_video_media_type",
        "no_answer_announcement_selection",
        "no_answer_personal_audio_file",
        "no_answer_personal_audio_media_type",
        "no_answer_personal_video_file",
        "no_answer_personal_video_media_type",
        "no_answer_alternate_greeting01",
        "no_answer_alternate_greeting02",
        "no_answer_alternate_greeting03",
        "no_answer_number_of_rings",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "busy_announcement_selection",
                "busyAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("busy_personal_audio_file", "busyPersonalAudioFile", str),
            E("busy_personal_audio_media_type", "busyPersonalAudioMediaType", str),
            E("busy_personal_video_file", "busyPersonalVideoFile", str),
            E("busy_personal_video_media_type", "busyPersonalVideoMediaType", str),
            E(
                "no_answer_announcement_selection",
                "noAnswerAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("no_answer_personal_audio_file", "noAnswerPersonalAudioFile", str),
            E(
                "no_answer_personal_audio_media_type",
                "noAnswerPersonalAudioMediaType",
                str,
            ),
            E("no_answer_personal_video_file", "noAnswerPersonalVideoFile", str),
            E(
                "no_answer_personal_video_media_type",
                "noAnswerPersonalVideoMediaType",
                str,
            ),
            E(
                "no_answer_alternate_greeting01",
                "noAnswerAlternateGreeting01",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting02",
                "noAnswerAlternateGreeting02",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting03",
                "noAnswerAlternateGreeting03",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
        )


class UserVoiceMessagingUserGetGreetingResponse18(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetGreetingRequest18()`.

    Contains the greeting configuration for a user's voice messaging.  The following
    elements are only used in AS data mode: disableMessageDeposit
    disableMessageDepositAction The following elements are only used in AS data mode and
    not returned in XS data mode: greetingOnlyForwardDestination Replaced by
    `UserVoiceMessagingUserGetGreetingResponse18sp1()` in AS data mode

    Attributes:
        busy_announcement_selection (str): busyAnnouncementSelection
        busy_personal_audio_file (str): busyPersonalAudioFile *Optional*
        busy_personal_audio_media_type (str): busyPersonalAudioMediaType *Optional*
        busy_personal_video_file (str): busyPersonalVideoFile *Optional*
        busy_personal_video_media_type (str): busyPersonalVideoMediaType *Optional*
        no_answer_announcement_selection (str): noAnswerAnnouncementSelection
        no_answer_personal_audio_file (str): noAnswerPersonalAudioFile *Optional*
        no_answer_personal_audio_media_type (str): noAnswerPersonalAudioMediaType
            *Optional*
        no_answer_personal_video_file (str): noAnswerPersonalVideoFile *Optional*
        no_answer_personal_video_media_type (str): noAnswerPersonalVideoMediaType
            *Optional*
        no_answer_alternate_greeting01 (OCI.noAnswerAlternateGreeting01):
            noAnswerAlternateGreeting01 *Optional*
        no_answer_alternate_greeting02 (OCI.noAnswerAlternateGreeting02):
            noAnswerAlternateGreeting02 *Optional*
        no_answer_alternate_greeting03 (OCI.noAnswerAlternateGreeting03):
            noAnswerAlternateGreeting03 *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        disable_message_deposit (bool): disableMessageDeposit
        disable_message_deposit_action (str): disableMessageDepositAction
        greeting_only_forward_destination (str): greetingOnlyForwardDestination *Optional*
    """

    __slots__: List[str] = [
        "busy_announcement_selection",
        "busy_personal_audio_file",
        "busy_personal_audio_media_type",
        "busy_personal_video_file",
        "busy_personal_video_media_type",
        "no_answer_announcement_selection",
        "no_answer_personal_audio_file",
        "no_answer_personal_audio_media_type",
        "no_answer_personal_video_file",
        "no_answer_personal_video_media_type",
        "no_answer_alternate_greeting01",
        "no_answer_alternate_greeting02",
        "no_answer_alternate_greeting03",
        "no_answer_number_of_rings",
        "disable_message_deposit",
        "disable_message_deposit_action",
        "greeting_only_forward_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "busy_announcement_selection",
                "busyAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("busy_personal_audio_file", "busyPersonalAudioFile", str),
            E("busy_personal_audio_media_type", "busyPersonalAudioMediaType", str),
            E("busy_personal_video_file", "busyPersonalVideoFile", str),
            E("busy_personal_video_media_type", "busyPersonalVideoMediaType", str),
            E(
                "no_answer_announcement_selection",
                "noAnswerAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("no_answer_personal_audio_file", "noAnswerPersonalAudioFile", str),
            E(
                "no_answer_personal_audio_media_type",
                "noAnswerPersonalAudioMediaType",
                str,
            ),
            E("no_answer_personal_video_file", "noAnswerPersonalVideoFile", str),
            E(
                "no_answer_personal_video_media_type",
                "noAnswerPersonalVideoMediaType",
                str,
            ),
            E(
                "no_answer_alternate_greeting01",
                "noAnswerAlternateGreeting01",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting02",
                "noAnswerAlternateGreeting02",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting03",
                "noAnswerAlternateGreeting03",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "disable_message_deposit",
                "disableMessageDeposit",
                bool,
                is_required=True,
            ),
            E(
                "disable_message_deposit_action",
                "disableMessageDepositAction",
                str,
                is_required=True,
            ),
            E(
                "greeting_only_forward_destination",
                "greetingOnlyForwardDestination",
                str,
            ),
        )


class UserVoiceMessagingUserGetGreetingResponse18sp1(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetGreetingRequest18sp1()`.

    Contains the greeting configuration for a user's voice messaging.  The following
    elements are only used in AS data mode: disableMessageDeposit, value "false" is
    returned in XS data mode disableMessageDepositAction, value "Disconnect" is returned
    in XS data mode extendedAwayEnabled, value "false" is returned in XS data mode
    extendedAwayDisableMessageDeposit, value "true" is returned in XS data mode The
    following elements are only used in AS data mode and not returned in XS data mode:
    greetingOnlyForwardDestination extendedAwayAudioFile extendedAwayAudioMediaType
    extendedAwayVideoFile extendedAwayVideoMediaType Replaced by:
    `UserVoiceMessagingUserGetGreetingResponse20()` in AS data mode

    Attributes:
        busy_announcement_selection (str): busyAnnouncementSelection
        busy_personal_audio_file (str): busyPersonalAudioFile *Optional*
        busy_personal_audio_media_type (str): busyPersonalAudioMediaType *Optional*
        busy_personal_video_file (str): busyPersonalVideoFile *Optional*
        busy_personal_video_media_type (str): busyPersonalVideoMediaType *Optional*
        no_answer_announcement_selection (str): noAnswerAnnouncementSelection
        no_answer_personal_audio_file (str): noAnswerPersonalAudioFile *Optional*
        no_answer_personal_audio_media_type (str): noAnswerPersonalAudioMediaType
            *Optional*
        no_answer_personal_video_file (str): noAnswerPersonalVideoFile *Optional*
        no_answer_personal_video_media_type (str): noAnswerPersonalVideoMediaType
            *Optional*
        extended_away_enabled (bool): extendedAwayEnabled
        extended_away_disable_message_deposit (bool): extendedAwayDisableMessageDeposit
        extended_away_audio_file (str): extendedAwayAudioFile *Optional*
        extended_away_audio_media_type (str): extendedAwayAudioMediaType *Optional*
        extended_away_video_file (str): extendedAwayVideoFile *Optional*
        extended_away_video_media_type (str): extendedAwayVideoMediaType *Optional*
        no_answer_alternate_greeting01 (OCI.noAnswerAlternateGreeting01):
            noAnswerAlternateGreeting01 *Optional*
        no_answer_alternate_greeting02 (OCI.noAnswerAlternateGreeting02):
            noAnswerAlternateGreeting02 *Optional*
        no_answer_alternate_greeting03 (OCI.noAnswerAlternateGreeting03):
            noAnswerAlternateGreeting03 *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        disable_message_deposit (bool): disableMessageDeposit
        disable_message_deposit_action (str): disableMessageDepositAction
        greeting_only_forward_destination (str): greetingOnlyForwardDestination *Optional*
    """

    __slots__: List[str] = [
        "busy_announcement_selection",
        "busy_personal_audio_file",
        "busy_personal_audio_media_type",
        "busy_personal_video_file",
        "busy_personal_video_media_type",
        "no_answer_announcement_selection",
        "no_answer_personal_audio_file",
        "no_answer_personal_audio_media_type",
        "no_answer_personal_video_file",
        "no_answer_personal_video_media_type",
        "extended_away_enabled",
        "extended_away_disable_message_deposit",
        "extended_away_audio_file",
        "extended_away_audio_media_type",
        "extended_away_video_file",
        "extended_away_video_media_type",
        "no_answer_alternate_greeting01",
        "no_answer_alternate_greeting02",
        "no_answer_alternate_greeting03",
        "no_answer_number_of_rings",
        "disable_message_deposit",
        "disable_message_deposit_action",
        "greeting_only_forward_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "busy_announcement_selection",
                "busyAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("busy_personal_audio_file", "busyPersonalAudioFile", str),
            E("busy_personal_audio_media_type", "busyPersonalAudioMediaType", str),
            E("busy_personal_video_file", "busyPersonalVideoFile", str),
            E("busy_personal_video_media_type", "busyPersonalVideoMediaType", str),
            E(
                "no_answer_announcement_selection",
                "noAnswerAnnouncementSelection",
                str,
                is_required=True,
            ),
            E("no_answer_personal_audio_file", "noAnswerPersonalAudioFile", str),
            E(
                "no_answer_personal_audio_media_type",
                "noAnswerPersonalAudioMediaType",
                str,
            ),
            E("no_answer_personal_video_file", "noAnswerPersonalVideoFile", str),
            E(
                "no_answer_personal_video_media_type",
                "noAnswerPersonalVideoMediaType",
                str,
            ),
            E("extended_away_enabled", "extendedAwayEnabled", bool, is_required=True),
            E(
                "extended_away_disable_message_deposit",
                "extendedAwayDisableMessageDeposit",
                bool,
                is_required=True,
            ),
            E("extended_away_audio_file", "extendedAwayAudioFile", str),
            E("extended_away_audio_media_type", "extendedAwayAudioMediaType", str),
            E("extended_away_video_file", "extendedAwayVideoFile", str),
            E("extended_away_video_media_type", "extendedAwayVideoMediaType", str),
            E(
                "no_answer_alternate_greeting01",
                "noAnswerAlternateGreeting01",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting02",
                "noAnswerAlternateGreeting02",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting03",
                "noAnswerAlternateGreeting03",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead16,
                is_complex=True,
            ),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "disable_message_deposit",
                "disableMessageDeposit",
                bool,
                is_required=True,
            ),
            E(
                "disable_message_deposit_action",
                "disableMessageDepositAction",
                str,
                is_required=True,
            ),
            E(
                "greeting_only_forward_destination",
                "greetingOnlyForwardDestination",
                str,
            ),
        )


class UserVoiceMessagingUserGetVoicePortalResponse20(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetVoicePortalRequest20()`.


    Attributes:
        use_personalized_name (bool): usePersonalizedName
        voice_portal_auto_login (bool): voicePortalAutoLogin
        personalized_name_audio_file (OCI.personalizedNameAudioFile):
            personalizedNameAudioFile *Optional*
    """

    __slots__: List[str] = [
        "use_personalized_name",
        "voice_portal_auto_login",
        "personalized_name_audio_file",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_personalized_name", "usePersonalizedName", bool, is_required=True),
            E(
                "voice_portal_auto_login",
                "voicePortalAutoLogin",
                bool,
                is_required=True,
            ),
            E(
                "personalized_name_audio_file",
                "personalizedNameAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
        )


class EnterpriseSessionAdmissionControlGetAvailableDeviceListResponse(OCIResponse):
    """
    Response to `EnterpriseSessionAdmissionControlGetAvailableDeviceListRequest()`.

    Contains a table of devices can be assigned to session admission control group in the
    enterprise.

    Attributes:
        access_device (List[OCI.accessDevice]): accessDevice *Optional*
    """

    __slots__: List[str] = [
        "access_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "access_device",
                "accessDevice",
                OCI.EnterpriseAccessDevice,
                is_complex=True,
                is_array=True,
            ),
        )


class EnterpriseSessionAdmissionControlGroupGetResponse(OCIResponse):
    """
    Response to `EnterpriseSessionAdmissionControlGroupGetRequest()`.

    Returns the profile information for the session admission control group.

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E(
                "devices",
                "devices",
                OCI.EnterpriseAccessDevice,
                is_complex=True,
                is_array=True,
            ),
        )


class EnterpriseSessionAdmissionControlGroupGetResponse19sp1(OCIResponse):
    """
    Response to `EnterpriseSessionAdmissionControlGroupGetRequest19sp1()`.

    Returns the profile information for the session admission control group.  Replaced by:
    `EnterpriseSessionAdmissionControlGroupGetResponse21sp1()`

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
        block_emergency_and_repair_calls_due_to_sac_limits (bool):
            blockEmergencyAndRepairCallsDueToSACLimits
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
        "block_emergency_and_repair_calls_due_to_sac_limits",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E(
                "devices",
                "devices",
                OCI.EnterpriseAccessDevice,
                is_complex=True,
                is_array=True,
            ),
            E(
                "block_emergency_and_repair_calls_due_to_sac_limits",
                "blockEmergencyAndRepairCallsDueToSACLimits",
                bool,
                is_required=True,
            ),
        )


class EnterpriseSessionAdmissionControlGroupGetResponse21sp1(OCIResponse):
    """
    Response to `EnterpriseSessionAdmissionControlGroupGetRequest21sp1()`.

    Returns the profile information for the session admission control group.

    Attributes:
        max_session (int): maxSession
        max_user_originating_sessions (int): maxUserOriginatingSessions *Optional*
        max_user_terminating_sessions (int): maxUserTerminatingSessions *Optional*
        reserved_session (int): reservedSession
        reserved_user_originating_sessions (int): reservedUserOriginatingSessions
            *Optional*
        reserved_user_terminating_sessions (int): reservedUserTerminatingSessions
            *Optional*
        default_group (bool): defaultGroup
        count_intra_sac_group_sessions (bool): countIntraSACGroupSessions
        devices (List[OCI.devices]): devices *Optional*
        block_emergency_and_repair_calls_due_to_sac_limits (bool):
            blockEmergencyAndRepairCallsDueToSACLimits
        media_group_name (str): mediaGroupName *Optional*
    """

    __slots__: List[str] = [
        "max_session",
        "max_user_originating_sessions",
        "max_user_terminating_sessions",
        "reserved_session",
        "reserved_user_originating_sessions",
        "reserved_user_terminating_sessions",
        "default_group",
        "count_intra_sac_group_sessions",
        "devices",
        "block_emergency_and_repair_calls_due_to_sac_limits",
        "media_group_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("max_session", "maxSession", int, is_required=True),
            E("max_user_originating_sessions", "maxUserOriginatingSessions", int),
            E("max_user_terminating_sessions", "maxUserTerminatingSessions", int),
            E("reserved_session", "reservedSession", int, is_required=True),
            E(
                "reserved_user_originating_sessions",
                "reservedUserOriginatingSessions",
                int,
            ),
            E(
                "reserved_user_terminating_sessions",
                "reservedUserTerminatingSessions",
                int,
            ),
            E("default_group", "defaultGroup", bool, is_required=True),
            E(
                "count_intra_sac_group_sessions",
                "countIntraSACGroupSessions",
                bool,
                is_required=True,
            ),
            E(
                "devices",
                "devices",
                OCI.EnterpriseAccessDevice,
                is_complex=True,
                is_array=True,
            ),
            E(
                "block_emergency_and_repair_calls_due_to_sac_limits",
                "blockEmergencyAndRepairCallsDueToSACLimits",
                bool,
                is_required=True,
            ),
            E("media_group_name", "mediaGroupName", str),
        )


class GroupAccessDeviceGetLinkedTreeDeviceResponse(OCIResponse):
    """
    Response to `GroupAccessDeviceGetLinkedTreeDeviceRequest()`.


    Attributes:
        tree_device_info (OCI.treeDeviceInfo): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
            ),
        )


class GroupAutoAttendantSubmenuGetResponse(OCIResponse):
    """
    Response to `GroupAutoAttendantSubmenuGetRequest()`.

    Contains AutoAttendant submenu information.  Replaced by:
    `GroupAutoAttendantSubmenuGetResponse20()` in AS data mode

    Attributes:
        announcement_selection (str): announcementSelection
        audio_file_description (str): audioFileDescription *Optional*
        audio_media_type (str): audioMediaType *Optional*
        video_file_description (str): videoFileDescription *Optional*
        video_media_type (str): videoMediaType *Optional*
        enable_level_extension_dialing (bool): enableLevelExtensionDialing
        key_configuration (List[OCI.keyConfiguration]): keyConfiguration *Optional*
    """

    __slots__: List[str] = [
        "announcement_selection",
        "audio_file_description",
        "audio_media_type",
        "video_file_description",
        "video_media_type",
        "enable_level_extension_dialing",
        "key_configuration",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("audio_media_type", "audioMediaType", str),
            E("video_file_description", "videoFileDescription", str),
            E("video_media_type", "videoMediaType", str),
            E(
                "enable_level_extension_dialing",
                "enableLevelExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "key_configuration",
                "keyConfiguration",
                OCI.AutoAttendantKeyReadConfiguration19,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupBroadWorksAnywhereGetInstanceResponse(OCIResponse):
    """
    Response to `GroupBroadWorksAnywhereGetInstanceRequest()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        broad_works_anywhere_scope (str): broadWorksAnywhereScope
        prompt_for_clid (str): promptForCLID
        silent_prompt_mode (bool): silentPromptMode
        prompt_for_passcode (bool): promptForPasscode
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "broad_works_anywhere_scope",
        "prompt_for_clid",
        "silent_prompt_mode",
        "prompt_for_passcode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E(
                "broad_works_anywhere_scope",
                "broadWorksAnywhereScope",
                str,
                is_required=True,
            ),
            E("prompt_for_clid", "promptForCLID", str, is_required=True),
            E("silent_prompt_mode", "silentPromptMode", bool, is_required=True),
            E("prompt_for_passcode", "promptForPasscode", bool, is_required=True),
        )


class GroupBroadWorksAnywhereGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupBroadWorksAnywhereGetInstanceRequest17()`.

    Contains the service profile information.  Replaced by:
    `GroupBroadWorksAnywhereGetInstanceResponse19sp1()` in AS data mode

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        broad_works_anywhere_scope (str): broadWorksAnywhereScope
        prompt_for_clid (str): promptForCLID
        silent_prompt_mode (bool): silentPromptMode
        prompt_for_passcode (bool): promptForPasscode
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "broad_works_anywhere_scope",
        "prompt_for_clid",
        "silent_prompt_mode",
        "prompt_for_passcode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E(
                "broad_works_anywhere_scope",
                "broadWorksAnywhereScope",
                str,
                is_required=True,
            ),
            E("prompt_for_clid", "promptForCLID", str, is_required=True),
            E("silent_prompt_mode", "silentPromptMode", bool, is_required=True),
            E("prompt_for_passcode", "promptForPasscode", bool, is_required=True),
        )


class GroupBroadWorksAnywhereGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupBroadWorksAnywhereGetInstanceRequest19sp1()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        broad_works_anywhere_scope (str): broadWorksAnywhereScope
        prompt_for_clid (str): promptForCLID
        silent_prompt_mode (bool): silentPromptMode
        prompt_for_passcode (bool): promptForPasscode
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "broad_works_anywhere_scope",
        "prompt_for_clid",
        "silent_prompt_mode",
        "prompt_for_passcode",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E(
                "broad_works_anywhere_scope",
                "broadWorksAnywhereScope",
                str,
                is_required=True,
            ),
            E("prompt_for_clid", "promptForCLID", str, is_required=True),
            E("silent_prompt_mode", "silentPromptMode", bool, is_required=True),
            E("prompt_for_passcode", "promptForPasscode", bool, is_required=True),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupCallCenterComfortMessageBypassGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterComfortMessageBypassGetRequest20()`.


    Attributes:
        is_active (bool): isActive
        call_waiting_age_threshold_seconds (int): callWaitingAgeThresholdSeconds
        play_announcement_after_ringing (bool): playAnnouncementAfterRinging
        ring_time_before_playing_announcement_seconds (int):
            ringTimeBeforePlayingAnnouncementSeconds
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "call_waiting_age_threshold_seconds",
        "play_announcement_after_ringing",
        "ring_time_before_playing_announcement_seconds",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "call_waiting_age_threshold_seconds",
                "callWaitingAgeThresholdSeconds",
                int,
                is_required=True,
            ),
            E(
                "play_announcement_after_ringing",
                "playAnnouncementAfterRinging",
                bool,
                is_required=True,
            ),
            E(
                "ring_time_before_playing_announcement_seconds",
                "ringTimeBeforePlayingAnnouncementSeconds",
                int,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterForcedForwardingGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterForcedForwardingGetRequest20()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        allow_enable_via_fac (bool): allowEnableViaFAC
        play_announcement_before_forwarding (bool): playAnnouncementBeforeForwarding
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "allow_enable_via_fac",
        "play_announcement_before_forwarding",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("allow_enable_via_fac", "allowEnableViaFAC", bool, is_required=True),
            E(
                "play_announcement_before_forwarding",
                "playAnnouncementBeforeForwarding",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterGetInstanceResponse14(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest14()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight".

    Replaced By: `GroupCallCenterGetInstanceResponse14sp3()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        allow_agent_logoff (bool): allowAgentLogoff
        play_music_on_hold (bool): playMusicOnHold
        play_comfort_message (bool): playComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "enable_video",
        "queue_length",
        "allow_agent_logoff",
        "play_music_on_hold",
        "play_comfort_message",
        "time_between_comfort_messages_seconds",
        "enable_guard_timer",
        "guard_timer_seconds",
        "agent_user_table",
        "allow_call_waiting_for_agents",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E("play_music_on_hold", "playMusicOnHold", bool, is_required=True),
            E("play_comfort_message", "playComfortMessage", bool, is_required=True),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse14sp3(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest14sp3()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight".

    Replaced By: `GroupCallCenterGetInstanceResponse14sp9()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        allow_agent_logoff (bool): allowAgentLogoff
        play_music_on_hold (bool): playMusicOnHold
        play_comfort_message (bool): playComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp
        enable_call_queue_when_no_agents_available (bool):
            enableCallQueueWhenNoAgentsAvailable
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "enable_video",
        "queue_length",
        "allow_agent_logoff",
        "play_music_on_hold",
        "play_comfort_message",
        "time_between_comfort_messages_seconds",
        "enable_guard_timer",
        "guard_timer_seconds",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "enable_call_queue_when_no_agents_available",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E("play_music_on_hold", "playMusicOnHold", bool, is_required=True),
            E("play_comfort_message", "playComfortMessage", bool, is_required=True),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "allow_calls_to_agents_in_wrap_up",
                "allowCallsToAgentsInWrapUp",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_queue_when_no_agents_available",
                "enableCallQueueWhenNoAgentsAvailable",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse14sp9(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest14sp9()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        allow_agent_logoff (bool): allowAgentLogoff
        play_music_on_hold (bool): playMusicOnHold
        play_comfort_message (bool): playComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        enable_guard_timer (bool): enableGuardTimer
        guard_timer_seconds (int): guardTimerSeconds
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp
        enable_call_queue_when_no_agents_available (bool):
            enableCallQueueWhenNoAgentsAvailable
        statistics_source (str): statisticsSource
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "enable_video",
        "queue_length",
        "allow_agent_logoff",
        "play_music_on_hold",
        "play_comfort_message",
        "time_between_comfort_messages_seconds",
        "enable_guard_timer",
        "guard_timer_seconds",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "enable_call_queue_when_no_agents_available",
        "statistics_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E("play_music_on_hold", "playMusicOnHold", bool, is_required=True),
            E("play_comfort_message", "playComfortMessage", bool, is_required=True),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E("enable_guard_timer", "enableGuardTimer", bool, is_required=True),
            E("guard_timer_seconds", "guardTimerSeconds", int, is_required=True),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "allow_calls_to_agents_in_wrap_up",
                "allowCallsToAgentsInWrapUp",
                bool,
                is_required=True,
            ),
            E(
                "enable_call_queue_when_no_agents_available",
                "enableCallQueueWhenNoAgentsAvailable",
                bool,
                is_required=True,
            ),
            E("statistics_source", "statisticsSource", str, is_required=True),
        )


class GroupCallCenterGetInstanceResponse16(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest16()`.


    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        reporting_server_name (str): reportingServerName *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue *Optional*
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "policy",
        "enable_video",
        "queue_length",
        "reporting_server_name",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("reporting_server_name", "reportingServerName", str),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest17()`.


    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        reporting_server_name (str): reportingServerName *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue *Optional*
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "policy",
        "enable_video",
        "queue_length",
        "reporting_server_name",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("reporting_server_name", "reportingServerName", str),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse17sp1(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest17sp1()`.


    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        enable_reporting (bool): enableReporting *Optional*
        reporting_server_name (str): reportingServerName *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue *Optional*
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "policy",
        "enable_video",
        "queue_length",
        "enable_reporting",
        "reporting_server_name",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("enable_reporting", "enableReporting", bool),
            E("reporting_server_name", "reportingServerName", str),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse17sp3(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest17sp3()`.

    Replaced by `GroupCallCenterGetInstanceResponse19()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        enable_reporting (bool): enableReporting *Optional*
        reporting_server_name (str): reportingServerName *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "policy",
        "enable_video",
        "queue_length",
        "enable_reporting",
        "reporting_server_name",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("enable_reporting", "enableReporting", bool),
            E("reporting_server_name", "reportingServerName", str),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
                is_required=True,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
        )


class GroupCallCenterGetInstanceResponse19(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest19()`.

    Replaced by: Response to `GroupCallCenterGetInstanceRequest19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        routing_type (str): routingType *Optional*
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        enable_reporting (bool): enableReporting *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        call_center_queue_thresholds_is_active (bool): callCenterQueueThresholdsIsActive
            *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "routing_type",
        "policy",
        "enable_video",
        "queue_length",
        "enable_reporting",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
        "call_center_queue_thresholds_is_active",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("routing_type", "routingType", str),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("enable_reporting", "enableReporting", bool),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
                is_required=True,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "call_center_queue_thresholds_is_active",
                "callCenterQueueThresholdsIsActive",
                bool,
            ),
        )


class GroupCallCenterGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest19sp1()`.

    Replace by `GroupCallCenterGetInstanceResponse22()`.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        routing_type (str): routingType *Optional*
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        enable_reporting (bool): enableReporting *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        call_center_queue_thresholds_is_active (bool): callCenterQueueThresholdsIsActive
            *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "routing_type",
        "policy",
        "enable_video",
        "queue_length",
        "enable_reporting",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
        "call_center_queue_thresholds_is_active",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("routing_type", "routingType", str),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("enable_reporting", "enableReporting", bool),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
                is_required=True,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "call_center_queue_thresholds_is_active",
                "callCenterQueueThresholdsIsActive",
                bool,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupCallCenterGetInstanceResponse22(OCIResponse):
    """
    Response to `GroupCallCenterGetInstanceRequest22()`.

    The following elements are only used in AS data mode and not returned in XS data mode:
    routingType enableReporting allowCallsToAgentsInWrapUp overrideAgentWrapUpTime
    wrapUpSeconds forceDeliveryOfCalls forceDeliveryWaitTimeSeconds
    enableAutomaticStateChangeForAgents agentStateAfterCall agentUnavailableCode
    callCenterQueueThresholdsIsActive networkClassOfService

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        routing_type (str): routingType *Optional*
        policy (str): policy
        enable_video (bool): enableVideo
        queue_length (int): queueLength
        enable_reporting (bool): enableReporting *Optional*
        allow_caller_to_dial_escape_digit (bool): allowCallerToDialEscapeDigit
        escape_digit (str): escapeDigit
        reset_call_statistics_upon_entry_in_queue (bool):
            resetCallStatisticsUponEntryInQueue
        allow_agent_logoff (bool): allowAgentLogoff
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        allow_calls_to_agents_in_wrap_up (bool): allowCallsToAgentsInWrapUp *Optional*
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime *Optional*
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls *Optional*
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents *Optional*
        agent_state_after_call (str): agentStateAfterCall *Optional*
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        call_center_queue_thresholds_is_active (bool): callCenterQueueThresholdsIsActive
            *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "routing_type",
        "policy",
        "enable_video",
        "queue_length",
        "enable_reporting",
        "allow_caller_to_dial_escape_digit",
        "escape_digit",
        "reset_call_statistics_upon_entry_in_queue",
        "allow_agent_logoff",
        "allow_call_waiting_for_agents",
        "allow_calls_to_agents_in_wrap_up",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "play_ringing_when_offering_call",
        "call_center_queue_thresholds_is_active",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("routing_type", "routingType", str),
            E("policy", "policy", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("queue_length", "queueLength", int, is_required=True),
            E("enable_reporting", "enableReporting", bool),
            E(
                "allow_caller_to_dial_escape_digit",
                "allowCallerToDialEscapeDigit",
                bool,
                is_required=True,
            ),
            E("escape_digit", "escapeDigit", str, is_required=True),
            E(
                "reset_call_statistics_upon_entry_in_queue",
                "resetCallStatisticsUponEntryInQueue",
                bool,
                is_required=True,
            ),
            E("allow_agent_logoff", "allowAgentLogoff", bool, is_required=True),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E("allow_calls_to_agents_in_wrap_up", "allowCallsToAgentsInWrapUp", bool),
            E("override_agent_wrap_up_time", "overrideAgentWrapUpTime", bool),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E("force_delivery_of_calls", "forceDeliveryOfCalls", bool),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "call_center_queue_thresholds_is_active",
                "callCenterQueueThresholdsIsActive",
                bool,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupCallCenterGetInstanceStatisticsResponse13mp8(OCIResponse):
    """
    Contains Call Center statistics.

    Replaced By: `GroupCallCenterGetInstanceStatisticsResponse14sp9()`

    Attributes:
        number_of_calls_queued_now (int): numberOfCallsQueuedNow
        generate_daily_report (bool): generateDailyReport
        collection_period_minutes (int): collectionPeriodMinutes
        reporting_email_address1 (str): reportingEmailAddress1 *Optional*
        reporting_email_address2 (str): reportingEmailAddress2 *Optional*
        queue_statistics_yesterday (OCI.queueStatisticsYesterday):
            queueStatisticsYesterday
        queue_statistics_today (OCI.queueStatisticsToday): queueStatisticsToday
        agent_statistics (List[OCI.agentStatistics]): agentStatistics *Optional*
    """

    __slots__: List[str] = [
        "number_of_calls_queued_now",
        "generate_daily_report",
        "collection_period_minutes",
        "reporting_email_address1",
        "reporting_email_address2",
        "queue_statistics_yesterday",
        "queue_statistics_today",
        "agent_statistics",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "number_of_calls_queued_now",
                "numberOfCallsQueuedNow",
                int,
                is_required=True,
            ),
            E("generate_daily_report", "generateDailyReport", bool, is_required=True),
            E(
                "collection_period_minutes",
                "collectionPeriodMinutes",
                int,
                is_required=True,
            ),
            E("reporting_email_address1", "reportingEmailAddress1", str),
            E("reporting_email_address2", "reportingEmailAddress2", str),
            E(
                "queue_statistics_yesterday",
                "queueStatisticsYesterday",
                OCI.CallCenterQueueStatistics13mp8,
                is_complex=True,
                is_required=True,
            ),
            E(
                "queue_statistics_today",
                "queueStatisticsToday",
                OCI.CallCenterQueueStatistics13mp8,
                is_complex=True,
                is_required=True,
            ),
            E(
                "agent_statistics",
                "agentStatistics",
                OCI.CallCenterAgentStatistics13mp8,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupCallCenterGetInstanceStatisticsResponse14sp9(OCIResponse):
    """
    Contains Call Center statistics.


    Attributes:
        statistics_range (OCI.statisticsRange): statisticsRange
        queue_statistics (OCI.queueStatistics): queueStatistics
        agent_statistics (List[OCI.agentStatistics]): agentStatistics *Optional*
    """

    __slots__: List[str] = [
        "statistics_range",
        "queue_statistics",
        "agent_statistics",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "statistics_range",
                "statisticsRange",
                OCI.CallCenterStatisticsRange,
                is_complex=True,
                is_required=True,
            ),
            E(
                "queue_statistics",
                "queueStatistics",
                OCI.CallCenterQueueStatistics14sp9,
                is_complex=True,
                is_required=True,
            ),
            E(
                "agent_statistics",
                "agentStatistics",
                OCI.CallCenterAgentStatistics14sp9,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupCallCenterHolidayServiceGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterHolidayServiceGetRequest20()`.


    Attributes:
        action (str): action
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterNightServiceGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterNightServiceGetRequest20()`.


    Attributes:
        action (str): action
        business_hours (OCI.businessHours): businessHours *Optional*
        force_night_service (bool): forceNightService
        allow_manual_override_via_fac (bool): allowManualOverrideViaFAC
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "allow_manual_override_via_fac",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E(
                "allow_manual_override_via_fac",
                "allowManualOverrideViaFAC",
                bool,
                is_required=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterOverflowGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterOverflowGetRequest20()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        overflow_after_timeout (bool): overflowAfterTimeout
        timeout_seconds (int): timeoutSeconds
        play_announcement_before_overflow_processing (bool):
            playAnnouncementBeforeOverflowProcessing
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "overflow_after_timeout",
        "timeout_seconds",
        "play_announcement_before_overflow_processing",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("overflow_after_timeout", "overflowAfterTimeout", bool, is_required=True),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "play_announcement_before_overflow_processing",
                "playAnnouncementBeforeOverflowProcessing",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterStrandedCallGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterStrandedCallGetRequest20()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        audio_message_selection (str): audioMessageSelection *Optional*
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("audio_message_selection", "audioMessageSelection", str),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCallCenterStrandedCallUnavailableGetResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterStrandedCallUnavailableGetRequest20()`.


    Attributes:
        condition_policy_on_number_of_agents_with_specified_unavailable_code (bool):
            conditionPolicyOnNumberOfAgentsWithSpecifiedUnavailableCode
        number_of_agents_with_specified_unavailable_code (int):
            numberOfAgentsWithSpecifiedUnavailableCode *Optional*
        agents_unavailable_code (str): agentsUnavailableCode *Optional*
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        audio_message_selection (str): audioMessageSelection *Optional*
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "condition_policy_on_number_of_agents_with_specified_unavailable_code",
        "number_of_agents_with_specified_unavailable_code",
        "agents_unavailable_code",
        "action",
        "transfer_phone_number",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "condition_policy_on_number_of_agents_with_specified_unavailable_code",
                "conditionPolicyOnNumberOfAgentsWithSpecifiedUnavailableCode",
                bool,
                is_required=True,
            ),
            E(
                "number_of_agents_with_specified_unavailable_code",
                "numberOfAgentsWithSpecifiedUnavailableCode",
                int,
            ),
            E("agents_unavailable_code", "agentsUnavailableCode", str),
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("audio_message_selection", "audioMessageSelection", str),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupCollaborateBridgeGetInstanceResponse(OCIResponse):
    """
    Response to `GroupCollaborateBridgeGetInstanceRequest()`.

    The system-level collaborate supportOutdial setting is returned in the response when
    the system-level collaborate supportOutdial setting is disabled.  Contains the service
    profile information and a table of assigned owners.  The table has column headings:
    "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name",
    Phone Number", "Extension", "Department", "Email Address". Collaborate bridge maximum
    participant's choices unlimited or a quantified number of participants.  Replaced by:
    `GroupCollaborateBridgeGetInstanceResponse20sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        maximum_bridge_participants (OCI.maximumBridgeParticipants):
            maximumBridgeParticipants
        network_class_of_service (str): networkClassOfService *Optional*
        is_default (bool): isDefault
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
        support_outdial (bool): supportOutdial
        collaborate_owner_user_table (List(collaborateOwnerUserTable)):
            collaborateOwnerUserTable - *Table* array of collaborateOwnerUserTable named
            tuples *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "maximum_bridge_participants",
        "network_class_of_service",
        "is_default",
        "max_collaborate_room_participants",
        "support_outdial",
        "collaborate_owner_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E(
                "maximum_bridge_participants",
                "maximumBridgeParticipants",
                OCI.CollaborateBridgeMaximumParticipants,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
            E("support_outdial", "supportOutdial", bool, is_required=True),
            E(
                "collaborate_owner_user_table",
                "collaborateOwnerUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class GroupCollaborateBridgeGetInstanceResponse20sp1(OCIResponse):
    """
    Response to `GroupCollaborateBridgeGetInstanceRequest20sp1()`.

    The system-level collaborate supportOutdial setting is returned in the response when
    the system-level collaborate supportOutdial setting is disabled.  Contains the service
    profile information and a table of assigned owners.  The table has column headings:
    "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana First Name",
    Phone Number", "Extension", "Department", "Email Address", "Is Phone Number
    Activated", "Country Code", "National Prefix", "Department Name", "Department Type",
    "Parent Department", "Parent Department Type", "Group Id", "Group Name". Collaborate
    bridge maximum participant’s choices unlimited or a quantified number of participants.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        maximum_bridge_participants (OCI.maximumBridgeParticipants):
            maximumBridgeParticipants
        network_class_of_service (str): networkClassOfService *Optional*
        is_default (bool): isDefault
        max_collaborate_room_participants (int): maxCollaborateRoomParticipants
        support_outdial (bool): supportOutdial
        collaborate_owner_user_table (List(collaborateOwnerUserTable)):
            collaborateOwnerUserTable - *Table* array of collaborateOwnerUserTable named
            tuples *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "maximum_bridge_participants",
        "network_class_of_service",
        "is_default",
        "max_collaborate_room_participants",
        "support_outdial",
        "collaborate_owner_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E(
                "maximum_bridge_participants",
                "maximumBridgeParticipants",
                OCI.CollaborateBridgeMaximumParticipants,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E("is_default", "isDefault", bool, is_required=True),
            E(
                "max_collaborate_room_participants",
                "maxCollaborateRoomParticipants",
                int,
                is_required=True,
            ),
            E("support_outdial", "supportOutdial", bool, is_required=True),
            E(
                "collaborate_owner_user_table",
                "collaborateOwnerUserTable",
                list,
                is_complex=True,
                is_table=True,
            ),
        )


class GroupFindMeFollowMeGetInstanceResponse(OCIResponse):
    """
    Response to `GroupFindMeFollowMeGetInstanceRequest()`.

    Contains the service profile information.  Replaced by:
    `GroupFindMeFollowMeGetInstanceResponse19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17sp4,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupFindMeFollowMeGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupFindMeFollowMeGetInstanceRequest19sp1()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupFlexibleSeatingHostGetInstanceResponse(OCIResponse):
    """
    Response to `GroupFlexibleSeatingHostGetInstanceRequest()`.

    Contains the service profile and access device information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        default_alias (str): defaultAlias
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "default_alias",
        "access_device_endpoint",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("default_alias", "defaultAlias", str, is_required=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead20,
                is_complex=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupFlexibleSeatingHostGetInstanceResponse22(OCIResponse):
    """
    Response to `GroupFlexibleSeatingHostGetInstanceRequest22()`.

    Contains the service profile and access device information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        default_alias (str): defaultAlias
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "default_alias",
        "access_device_endpoint",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("default_alias", "defaultAlias", str, is_required=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead22,
                is_complex=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupGetAvailableTreeDeviceListResponse(OCIResponse):
    """
    Response to `GroupGetAvailableTreeDeviceListRequest()`.


    Attributes:
        tree_device_info (List[OCI.treeDeviceInfo]): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupGroupPagingGetInstanceResponse(OCIResponse):
    """
    Replaced By `GroupGroupPagingGetInstanceResponse17sp3()` Response to
    `GroupGroupPagingGetInstanceRequest()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        confirmation_tone_timeout_seconds (int): confirmationToneTimeoutSeconds
        deliver_originator_clid_instead (bool): deliverOriginatorCLIDInstead
        originator_clid_prefix (str): originatorCLIDPrefix *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "confirmation_tone_timeout_seconds",
        "deliver_originator_clid_instead",
        "originator_clid_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E(
                "confirmation_tone_timeout_seconds",
                "confirmationToneTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "deliver_originator_clid_instead",
                "deliverOriginatorCLIDInstead",
                bool,
                is_required=True,
            ),
            E("originator_clid_prefix", "originatorCLIDPrefix", str),
        )


class GroupGroupPagingGetInstanceResponse17sp3(OCIResponse):
    """
    Response to `GroupGroupPagingGetInstanceRequest17sp3()`.

    Contains the service profile information.  Replaced by:
    `GroupGroupPagingGetInstanceResponse19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        confirmation_tone_timeout_seconds (int): confirmationToneTimeoutSeconds
        deliver_originator_clid_instead (bool): deliverOriginatorCLIDInstead
        originator_clid_prefix (str): originatorCLIDPrefix *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "confirmation_tone_timeout_seconds",
        "deliver_originator_clid_instead",
        "originator_clid_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E(
                "confirmation_tone_timeout_seconds",
                "confirmationToneTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "deliver_originator_clid_instead",
                "deliverOriginatorCLIDInstead",
                bool,
                is_required=True,
            ),
            E("originator_clid_prefix", "originatorCLIDPrefix", str),
        )


class GroupGroupPagingGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupGroupPagingGetInstanceRequest19sp1()`.

    Contains the service profile information.  The following element is only used in AS
    data mode and not returned in XS data mode : networkClassOfService

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        confirmation_tone_timeout_seconds (int): confirmationToneTimeoutSeconds
        deliver_originator_clid_instead (bool): deliverOriginatorCLIDInstead
        originator_clid_prefix (str): originatorCLIDPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "confirmation_tone_timeout_seconds",
        "deliver_originator_clid_instead",
        "originator_clid_prefix",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E(
                "confirmation_tone_timeout_seconds",
                "confirmationToneTimeoutSeconds",
                int,
                is_required=True,
            ),
            E(
                "deliver_originator_clid_instead",
                "deliverOriginatorCLIDInstead",
                bool,
                is_required=True,
            ),
            E("originator_clid_prefix", "originatorCLIDPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupHuntGroupGetInstanceResponse14(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest14()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
        )


class GroupHuntGroupGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest17()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
        )


class GroupHuntGroupGetInstanceResponse17sp3(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest17sp3()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight". The following elements are only used in AS data mode:
    useSystemHuntGroupCLIDSetting includeHuntGroupNameInCLID

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        use_system_hunt_group_clid_setting (bool): useSystemHuntGroupCLIDSetting
        include_hunt_group_name_in_clid (bool): includeHuntGroupNameInCLID
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "use_system_hunt_group_clid_setting",
        "include_hunt_group_name_in_clid",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "use_system_hunt_group_clid_setting",
                "useSystemHuntGroupCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "include_hunt_group_name_in_clid",
                "includeHuntGroupNameInCLID",
                bool,
                is_required=True,
            ),
        )


class GroupHuntGroupGetInstanceResponse17sp4(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest17sp4()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight", "Phone Number", "Extension", "Department", "Email Address". The
    following elements are only used in AS data mode: useSystemHuntGroupCLIDSetting
    includeHuntGroupNameInCLID

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        use_system_hunt_group_clid_setting (bool): useSystemHuntGroupCLIDSetting
        include_hunt_group_name_in_clid (bool): includeHuntGroupNameInCLID
        enable_not_reachable_forwarding (bool): enableNotReachableForwarding
        not_reachable_forward_to_phone_number (str): notReachableForwardToPhoneNumber
            *Optional*
        make_busy_when_not_reachable (bool): makeBusyWhenNotReachable
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "use_system_hunt_group_clid_setting",
        "include_hunt_group_name_in_clid",
        "enable_not_reachable_forwarding",
        "not_reachable_forward_to_phone_number",
        "make_busy_when_not_reachable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "use_system_hunt_group_clid_setting",
                "useSystemHuntGroupCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "include_hunt_group_name_in_clid",
                "includeHuntGroupNameInCLID",
                bool,
                is_required=True,
            ),
            E(
                "enable_not_reachable_forwarding",
                "enableNotReachableForwarding",
                bool,
                is_required=True,
            ),
            E(
                "not_reachable_forward_to_phone_number",
                "notReachableForwardToPhoneNumber",
                str,
            ),
            E(
                "make_busy_when_not_reachable",
                "makeBusyWhenNotReachable",
                bool,
                is_required=True,
            ),
        )


class GroupHuntGroupGetInstanceResponse19(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest19()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight", "Phone Number", "Extension", "Department", "Email Address". The
    following elements are only used in AS data mode: useSystemHuntGroupCLIDSetting, value
    "true" is returned in XS data mode includeHuntGroupNameInCLID, value "true" is
    returned in XS data mode The following elements are only used in XS data mode:
    allowMembersToControlGroupBusy enableGroupBusy Replaced by:
    `GroupHuntGroupGetInstanceResponse19sp1()` in AS data mode

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        use_system_hunt_group_clid_setting (bool): useSystemHuntGroupCLIDSetting
        include_hunt_group_name_in_clid (bool): includeHuntGroupNameInCLID
        enable_not_reachable_forwarding (bool): enableNotReachableForwarding
        not_reachable_forward_to_phone_number (str): notReachableForwardToPhoneNumber
            *Optional*
        make_busy_when_not_reachable (bool): makeBusyWhenNotReachable
        allow_members_to_control_group_busy (bool): allowMembersToControlGroupBusy
        enable_group_busy (bool): enableGroupBusy
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "use_system_hunt_group_clid_setting",
        "include_hunt_group_name_in_clid",
        "enable_not_reachable_forwarding",
        "not_reachable_forward_to_phone_number",
        "make_busy_when_not_reachable",
        "allow_members_to_control_group_busy",
        "enable_group_busy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "use_system_hunt_group_clid_setting",
                "useSystemHuntGroupCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "include_hunt_group_name_in_clid",
                "includeHuntGroupNameInCLID",
                bool,
                is_required=True,
            ),
            E(
                "enable_not_reachable_forwarding",
                "enableNotReachableForwarding",
                bool,
                is_required=True,
            ),
            E(
                "not_reachable_forward_to_phone_number",
                "notReachableForwardToPhoneNumber",
                str,
            ),
            E(
                "make_busy_when_not_reachable",
                "makeBusyWhenNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "allow_members_to_control_group_busy",
                "allowMembersToControlGroupBusy",
                bool,
                is_required=True,
            ),
            E("enable_group_busy", "enableGroupBusy", bool, is_required=True),
        )


class GroupHuntGroupGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest19sp1()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight", "Phone Number", "Extension", "Department", "Email Address". The
    following elements are only used in AS data mode: useSystemHuntGroupCLIDSetting
    includeHuntGroupNameInCLID The following elements are only used in XS data mode:
    allowMembersToControlGroupBusy enableGroupBusy Replaced by:
    `GroupHuntGroupGetInstanceResponse20()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        use_system_hunt_group_clid_setting (bool): useSystemHuntGroupCLIDSetting
        include_hunt_group_name_in_clid (bool): includeHuntGroupNameInCLID
        enable_not_reachable_forwarding (bool): enableNotReachableForwarding
        not_reachable_forward_to_phone_number (str): notReachableForwardToPhoneNumber
            *Optional*
        make_busy_when_not_reachable (bool): makeBusyWhenNotReachable
        allow_members_to_control_group_busy (bool): allowMembersToControlGroupBusy
        enable_group_busy (bool): enableGroupBusy
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "use_system_hunt_group_clid_setting",
        "include_hunt_group_name_in_clid",
        "enable_not_reachable_forwarding",
        "not_reachable_forward_to_phone_number",
        "make_busy_when_not_reachable",
        "allow_members_to_control_group_busy",
        "enable_group_busy",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "use_system_hunt_group_clid_setting",
                "useSystemHuntGroupCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "include_hunt_group_name_in_clid",
                "includeHuntGroupNameInCLID",
                bool,
                is_required=True,
            ),
            E(
                "enable_not_reachable_forwarding",
                "enableNotReachableForwarding",
                bool,
                is_required=True,
            ),
            E(
                "not_reachable_forward_to_phone_number",
                "notReachableForwardToPhoneNumber",
                str,
            ),
            E(
                "make_busy_when_not_reachable",
                "makeBusyWhenNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "allow_members_to_control_group_busy",
                "allowMembersToControlGroupBusy",
                bool,
                is_required=True,
            ),
            E("enable_group_busy", "enableGroupBusy", bool, is_required=True),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupHuntGroupGetInstanceResponse20(OCIResponse):
    """
    Response to `GroupHuntGroupGetInstanceRequest20()`.

    Contains the service profile information and a table of assigned users.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", "Weight", "Phone Number", "Extension", "Department", "Email Address", "Is
    Phone Number Activated", "Country Code","National Prefix", "Department Name"
    ,"Department Type", "Parent Department", "Parent Department Type","Group Id","Group
    Name". The following elements are only used in AS data mode:
    useSystemHuntGroupCLIDSetting includeHuntGroupNameInCLID Is Phone Number Activated
    Country Code National Prefix Department Name Department Type Parent Department Parent
    Department Type Group Id Group Name

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        policy (str): policy
        hunt_after_no_answer (bool): huntAfterNoAnswer
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        forward_after_timeout (bool): forwardAfterTimeout
        forward_timeout_seconds (int): forwardTimeoutSeconds
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        agent_user_table (List(agentUserTable)): agentUserTable - *Table* array of
            agentUserTable named tuples
        allow_call_waiting_for_agents (bool): allowCallWaitingForAgents
        use_system_hunt_group_clid_setting (bool): useSystemHuntGroupCLIDSetting
        include_hunt_group_name_in_clid (bool): includeHuntGroupNameInCLID
        enable_not_reachable_forwarding (bool): enableNotReachableForwarding
        not_reachable_forward_to_phone_number (str): notReachableForwardToPhoneNumber
            *Optional*
        make_busy_when_not_reachable (bool): makeBusyWhenNotReachable
        allow_members_to_control_group_busy (bool): allowMembersToControlGroupBusy
        enable_group_busy (bool): enableGroupBusy
        apply_group_busy_when_terminating_to_agent (bool):
            applyGroupBusyWhenTerminatingToAgent
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "policy",
        "hunt_after_no_answer",
        "no_answer_number_of_rings",
        "forward_after_timeout",
        "forward_timeout_seconds",
        "forward_to_phone_number",
        "agent_user_table",
        "allow_call_waiting_for_agents",
        "use_system_hunt_group_clid_setting",
        "include_hunt_group_name_in_clid",
        "enable_not_reachable_forwarding",
        "not_reachable_forward_to_phone_number",
        "make_busy_when_not_reachable",
        "allow_members_to_control_group_busy",
        "enable_group_busy",
        "apply_group_busy_when_terminating_to_agent",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("policy", "policy", str, is_required=True),
            E("hunt_after_no_answer", "huntAfterNoAnswer", bool, is_required=True),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E("forward_after_timeout", "forwardAfterTimeout", bool, is_required=True),
            E(
                "forward_timeout_seconds",
                "forwardTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "agent_user_table",
                "agentUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E(
                "allow_call_waiting_for_agents",
                "allowCallWaitingForAgents",
                bool,
                is_required=True,
            ),
            E(
                "use_system_hunt_group_clid_setting",
                "useSystemHuntGroupCLIDSetting",
                bool,
                is_required=True,
            ),
            E(
                "include_hunt_group_name_in_clid",
                "includeHuntGroupNameInCLID",
                bool,
                is_required=True,
            ),
            E(
                "enable_not_reachable_forwarding",
                "enableNotReachableForwarding",
                bool,
                is_required=True,
            ),
            E(
                "not_reachable_forward_to_phone_number",
                "notReachableForwardToPhoneNumber",
                str,
            ),
            E(
                "make_busy_when_not_reachable",
                "makeBusyWhenNotReachable",
                bool,
                is_required=True,
            ),
            E(
                "allow_members_to_control_group_busy",
                "allowMembersToControlGroupBusy",
                bool,
                is_required=True,
            ),
            E("enable_group_busy", "enableGroupBusy", bool, is_required=True),
            E(
                "apply_group_busy_when_terminating_to_agent",
                "applyGroupBusyWhenTerminatingToAgent",
                bool,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupIncomingCallingPlanGetListResponse(OCIResponse):
    """
    Response to `GroupIncomingCallingPlanGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.IncomingCallingPlanPermissions,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.IncomingCallingPlanDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupInstantGroupCallGetInstanceResponse14(OCIResponse):
    """
    Response to `GroupInstantGroupCallGetInstanceRequest14()`.

    Contains the service profile information and a list of phone numbers.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        destination_phone_number (List[str]): destinationPhoneNumber *Optional*
        is_answer_timeout_enabled (bool): isAnswerTimeoutEnabled
        answer_timeout_minutes (int): answerTimeoutMinutes *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "destination_phone_number",
        "is_answer_timeout_enabled",
        "answer_timeout_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("destination_phone_number", "destinationPhoneNumber", str, is_array=True),
            E(
                "is_answer_timeout_enabled",
                "isAnswerTimeoutEnabled",
                bool,
                is_required=True,
            ),
            E("answer_timeout_minutes", "answerTimeoutMinutes", int),
        )


class GroupInstantGroupCallGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupInstantGroupCallGetInstanceRequest17()`.

    Contains the service profile information and a list of phone numbers.  Replaced by:
    `GroupInstantGroupCallGetInstanceResponse19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        destination_phone_number (List[str]): destinationPhoneNumber *Optional*
        is_answer_timeout_enabled (bool): isAnswerTimeoutEnabled
        answer_timeout_minutes (int): answerTimeoutMinutes *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "destination_phone_number",
        "is_answer_timeout_enabled",
        "answer_timeout_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("destination_phone_number", "destinationPhoneNumber", str, is_array=True),
            E(
                "is_answer_timeout_enabled",
                "isAnswerTimeoutEnabled",
                bool,
                is_required=True,
            ),
            E("answer_timeout_minutes", "answerTimeoutMinutes", int),
        )


class GroupInstantGroupCallGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupInstantGroupCallGetInstanceRequest19sp1()`.

    Contains the service profile information and a list of phone numbers.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        destination_phone_number (List[str]): destinationPhoneNumber *Optional*
        is_answer_timeout_enabled (bool): isAnswerTimeoutEnabled
        answer_timeout_minutes (int): answerTimeoutMinutes *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "destination_phone_number",
        "is_answer_timeout_enabled",
        "answer_timeout_minutes",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("destination_phone_number", "destinationPhoneNumber", str, is_array=True),
            E(
                "is_answer_timeout_enabled",
                "isAnswerTimeoutEnabled",
                bool,
                is_required=True,
            ),
            E("answer_timeout_minutes", "answerTimeoutMinutes", int),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupMWIDeliveryToMobileEndpointCustomTemplateGetResponse(OCIResponse):
    """
    Response to the `GroupMWIDeliveryToMobileEndpointCustomTemplateGetRequest()`.


    Attributes:
        is_enabled (bool): isEnabled
        template_body (OCI.templateBody): templateBody
    """

    __slots__: List[str] = [
        "is_enabled",
        "template_body",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enabled", "isEnabled", bool, is_required=True),
            E(
                "template_body",
                "templateBody",
                OCI.MWIDeliveryToMobileEndpointTemplateBody,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", and
    "Hiragana First Name".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse17sp3(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest17sp3()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", and
    "Hiragana First Name".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse17sp4(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest17sp4()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", and
    "Hiragana First Name".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse18(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest18()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", Phone Number", "Extension", "Department", "Email Address".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
        play_warning_prompt (bool): playWarningPrompt
        conference_end_warning_prompt_minutes (int): conferenceEndWarningPromptMinutes
        enable_max_conference_duration (bool): enableMaxConferenceDuration
        max_conference_duration_minutes (OCI.maxConferenceDurationMinutes):
            maxConferenceDurationMinutes
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
        "play_warning_prompt",
        "conference_end_warning_prompt_minutes",
        "enable_max_conference_duration",
        "max_conference_duration_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E("play_warning_prompt", "playWarningPrompt", bool, is_required=True),
            E(
                "conference_end_warning_prompt_minutes",
                "conferenceEndWarningPromptMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_max_conference_duration",
                "enableMaxConferenceDuration",
                bool,
                is_required=True,
            ),
            E(
                "max_conference_duration_minutes",
                "maxConferenceDurationMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse19(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest19()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", Phone Number", "Extension", "Department", "Email Address". Replaced by:
    `GroupMeetMeConferencingGetInstanceResponse19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        security_pin_length (int): securityPinLength
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
        play_warning_prompt (bool): playWarningPrompt
        conference_end_warning_prompt_minutes (int): conferenceEndWarningPromptMinutes
        enable_max_conference_duration (bool): enableMaxConferenceDuration
        max_conference_duration_minutes (OCI.maxConferenceDurationMinutes):
            maxConferenceDurationMinutes
        max_scheduled_conference_duration_minutes
            (OCI.maxScheduledConferenceDurationMinutes):
            maxScheduledConferenceDurationMinutes
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "security_pin_length",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
        "play_warning_prompt",
        "conference_end_warning_prompt_minutes",
        "enable_max_conference_duration",
        "max_conference_duration_minutes",
        "max_scheduled_conference_duration_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17sp4,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E("security_pin_length", "securityPinLength", int, is_required=True),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E("play_warning_prompt", "playWarningPrompt", bool, is_required=True),
            E(
                "conference_end_warning_prompt_minutes",
                "conferenceEndWarningPromptMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_max_conference_duration",
                "enableMaxConferenceDuration",
                bool,
                is_required=True,
            ),
            E(
                "max_conference_duration_minutes",
                "maxConferenceDurationMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "max_scheduled_conference_duration_minutes",
                "maxScheduledConferenceDurationMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMeetMeConferencingGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupMeetMeConferencingGetInstanceRequest19sp1()`.

    Contains the service profile information and a table of assigned hosts.  The table has
    column headings: "User Id", "Last Name", "First Name", "Hiragana Last Name", "Hiragana
    First Name", Phone Number", "Extension", "Department", "Email Address".

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        allocated_ports (OCI.allocatedPorts): allocatedPorts
        network_class_of_service (str): networkClassOfService *Optional*
        security_pin_length (int): securityPinLength
        allow_individual_out_dial (bool): allowIndividualOutDial
        operator_number (str): operatorNumber *Optional*
        conference_host_user_table (List(conferenceHostUserTable)):
            conferenceHostUserTable - *Table* array of conferenceHostUserTable named
            tuples
        play_warning_prompt (bool): playWarningPrompt
        conference_end_warning_prompt_minutes (int): conferenceEndWarningPromptMinutes
        enable_max_conference_duration (bool): enableMaxConferenceDuration
        max_conference_duration_minutes (OCI.maxConferenceDurationMinutes):
            maxConferenceDurationMinutes
        max_scheduled_conference_duration_minutes
            (OCI.maxScheduledConferenceDurationMinutes):
            maxScheduledConferenceDurationMinutes
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "allocated_ports",
        "network_class_of_service",
        "security_pin_length",
        "allow_individual_out_dial",
        "operator_number",
        "conference_host_user_table",
        "play_warning_prompt",
        "conference_end_warning_prompt_minutes",
        "enable_max_conference_duration",
        "max_conference_duration_minutes",
        "max_scheduled_conference_duration_minutes",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E(
                "allocated_ports",
                "allocatedPorts",
                OCI.MeetMeConferencingConferencePorts,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E("security_pin_length", "securityPinLength", int, is_required=True),
            E(
                "allow_individual_out_dial",
                "allowIndividualOutDial",
                bool,
                is_required=True,
            ),
            E("operator_number", "operatorNumber", str),
            E(
                "conference_host_user_table",
                "conferenceHostUserTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
            E("play_warning_prompt", "playWarningPrompt", bool, is_required=True),
            E(
                "conference_end_warning_prompt_minutes",
                "conferenceEndWarningPromptMinutes",
                int,
                is_required=True,
            ),
            E(
                "enable_max_conference_duration",
                "enableMaxConferenceDuration",
                bool,
                is_required=True,
            ),
            E(
                "max_conference_duration_minutes",
                "maxConferenceDurationMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
            E(
                "max_scheduled_conference_duration_minutes",
                "maxScheduledConferenceDurationMinutes",
                OCI.MeetMeConferencingConferenceDuration,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupMusicOnHoldGetInstanceResponse14(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest14()`.


    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        message_selection (str): messageSelection
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        enable_video (bool): enableVideo
        audio_file_description (str): audioFileDescription *Optional*
        video_file_description (str): videoFileDescription *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "message_selection",
        "access_device_endpoint",
        "enable_video",
        "audio_file_description",
        "video_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E("message_selection", "messageSelection", str, is_required=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("video_file_description", "videoFileDescription", str),
        )


class GroupMusicOnHoldGetInstanceResponse14sp4(OCIResponse):
    """
    Response to the `GroupMusicOnHoldGetInstanceRequest14sp4()`.


    Attributes:
        service_user_id (str): serviceUserId
        is_active_during_call_hold (bool): isActiveDuringCallHold
        is_active_during_call_park (bool): isActiveDuringCallPark
        is_active_during_busy_camp_on (bool): isActiveDuringBusyCampOn
        message_selection (str): messageSelection
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        enable_video (bool): enableVideo
        audio_file_description (str): audioFileDescription *Optional*
        video_file_description (str): videoFileDescription *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "is_active_during_call_hold",
        "is_active_during_call_park",
        "is_active_during_busy_camp_on",
        "message_selection",
        "access_device_endpoint",
        "enable_video",
        "audio_file_description",
        "video_file_description",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "is_active_during_call_hold",
                "isActiveDuringCallHold",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_call_park",
                "isActiveDuringCallPark",
                bool,
                is_required=True,
            ),
            E(
                "is_active_during_busy_camp_on",
                "isActiveDuringBusyCampOn",
                bool,
                is_required=True,
            ),
            E("message_selection", "messageSelection", str, is_required=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("audio_file_description", "audioFileDescription", str),
            E("video_file_description", "videoFileDescription", str),
        )


class GroupOutgoingCallingPlanAuthorizationCodeGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanAuthorizationCodeGetListRequest()`.


    Attributes:
        group_code_list (OCI.groupCodeList): groupCodeList
        department_code_list (List[OCI.departmentCodeList]): departmentCodeList *Optional*
    """

    __slots__: List[str] = [
        "group_code_list",
        "department_code_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_code_list",
                "groupCodeList",
                OCI.OutgoingCallingPlanGroupAuthorizationCodes,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_code_list",
                "departmentCodeList",
                OCI.OutgoingCallingPlanDepartmentAuthorizationCodes,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanCallMeNowGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanCallMeNowGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanCallMeNowPermissions,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanCallMeNowDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanOriginatingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanOriginatingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanOriginatingPermissions,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanOriginatingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanRedirectedGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanRedirectedGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanRedirectedPermissions,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanRedirectedDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanRedirectingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanRedirectingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanRedirectingPermissions,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanRedirectingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanTransferNumbersGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanTransferNumbersGetListRequest()`.


    Attributes:
        group_numbers (OCI.groupNumbers): groupNumbers
        department_numbers (List[OCI.departmentNumbers]): departmentNumbers *Optional*
    """

    __slots__: List[str] = [
        "group_numbers",
        "department_numbers",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_numbers",
                "groupNumbers",
                OCI.OutgoingCallingPlanTransferNumbers,
                is_complex=True,
                is_required=True,
            ),
            E(
                "department_numbers",
                "departmentNumbers",
                OCI.OutgoingCallingPlanDepartmentTransferNumbers,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupRoutePointForcedForwardingGetResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointForcedForwardingGetRequest20()`.


    Attributes:
        is_active (bool): isActive
        forward_to_phone_number (str): forwardToPhoneNumber *Optional*
        play_announcement_before_forwarding (bool): playAnnouncementBeforeForwarding
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "forward_to_phone_number",
        "play_announcement_before_forwarding",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E("forward_to_phone_number", "forwardToPhoneNumber", str),
            E(
                "play_announcement_before_forwarding",
                "playAnnouncementBeforeForwarding",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupRoutePointGetInstanceResponse(OCIResponse):
    """
    Response to `GroupRoutePointGetInstanceRequest()`.

    Replaced by: `GroupRoutePointGetInstanceResponse19sp1()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        queue_length (int): queueLength
        no_answer_timeout_rings (int): noAnswerTimeoutRings
        enable_video (bool): enableVideo
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents
        agent_state_after_call (str): agentStateAfterCall
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "queue_length",
        "no_answer_timeout_rings",
        "enable_video",
        "play_ringing_when_offering_call",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E("queue_length", "queueLength", int, is_required=True),
            E("no_answer_timeout_rings", "noAnswerTimeoutRings", int, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "override_agent_wrap_up_time",
                "overrideAgentWrapUpTime",
                bool,
                is_required=True,
            ),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
                is_required=True,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str, is_required=True),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "force_delivery_of_calls",
                "forceDeliveryOfCalls",
                bool,
                is_required=True,
            ),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
        )


class GroupRoutePointGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupRoutePointGetInstanceRequest19sp1()`.

    Replace by `GroupRoutePointGetInstanceResponse22()`.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        queue_length (int): queueLength
        no_answer_timeout_rings (int): noAnswerTimeoutRings
        enable_video (bool): enableVideo
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents
        agent_state_after_call (str): agentStateAfterCall
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "queue_length",
        "no_answer_timeout_rings",
        "enable_video",
        "play_ringing_when_offering_call",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E("queue_length", "queueLength", int, is_required=True),
            E("no_answer_timeout_rings", "noAnswerTimeoutRings", int, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "override_agent_wrap_up_time",
                "overrideAgentWrapUpTime",
                bool,
                is_required=True,
            ),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
                is_required=True,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str, is_required=True),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "force_delivery_of_calls",
                "forceDeliveryOfCalls",
                bool,
                is_required=True,
            ),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
        )


class GroupRoutePointGetInstanceResponse22(OCIResponse):
    """
    Response to `GroupRoutePointGetInstanceRequest22()`.


    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        queue_length (int): queueLength
        no_answer_timeout_rings (int): noAnswerTimeoutRings
        enable_video (bool): enableVideo
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents
        agent_state_after_call (str): agentStateAfterCall
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "queue_length",
        "no_answer_timeout_rings",
        "enable_video",
        "play_ringing_when_offering_call",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E("queue_length", "queueLength", int, is_required=True),
            E("no_answer_timeout_rings", "noAnswerTimeoutRings", int, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "override_agent_wrap_up_time",
                "overrideAgentWrapUpTime",
                bool,
                is_required=True,
            ),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
                is_required=True,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str, is_required=True),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "force_delivery_of_calls",
                "forceDeliveryOfCalls",
                bool,
                is_required=True,
            ),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
        )


class GroupRoutePointGetInstanceResponse23(OCIResponse):
    """
    Response to `GroupRoutePointGetInstanceRequest23()`.


    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        external_preferred_audio_codec (str): externalPreferredAudioCodec
        internal_preferred_audio_codec (str): internalPreferredAudioCodec
        queue_length (int): queueLength
        no_answer_timeout_rings (int): noAnswerTimeoutRings
        enable_video (bool): enableVideo
        play_ringing_when_offering_call (bool): playRingingWhenOfferingCall
        override_agent_wrap_up_time (bool): overrideAgentWrapUpTime
        wrap_up_seconds (int): wrapUpSeconds *Optional*
        enable_automatic_state_change_for_agents (bool):
            enableAutomaticStateChangeForAgents
        agent_state_after_call (str): agentStateAfterCall
        agent_unavailable_code (str): agentUnavailableCode *Optional*
        force_delivery_of_calls (bool): forceDeliveryOfCalls
        force_delivery_wait_time_seconds (int): forceDeliveryWaitTimeSeconds *Optional*
        send_call_admission_notification (bool): sendCallAdmissionNotification
        call_admission_timer_seconds (int): callAdmissionTimerSeconds
        enable_unlimited_queue_length (bool): enableUnlimitedQueueLength *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "external_preferred_audio_codec",
        "internal_preferred_audio_codec",
        "queue_length",
        "no_answer_timeout_rings",
        "enable_video",
        "play_ringing_when_offering_call",
        "override_agent_wrap_up_time",
        "wrap_up_seconds",
        "enable_automatic_state_change_for_agents",
        "agent_state_after_call",
        "agent_unavailable_code",
        "force_delivery_of_calls",
        "force_delivery_wait_time_seconds",
        "send_call_admission_notification",
        "call_admission_timer_seconds",
        "enable_unlimited_queue_length",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "external_preferred_audio_codec",
                "externalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E(
                "internal_preferred_audio_codec",
                "internalPreferredAudioCodec",
                str,
                is_required=True,
            ),
            E("queue_length", "queueLength", int, is_required=True),
            E("no_answer_timeout_rings", "noAnswerTimeoutRings", int, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E(
                "play_ringing_when_offering_call",
                "playRingingWhenOfferingCall",
                bool,
                is_required=True,
            ),
            E(
                "override_agent_wrap_up_time",
                "overrideAgentWrapUpTime",
                bool,
                is_required=True,
            ),
            E("wrap_up_seconds", "wrapUpSeconds", int),
            E(
                "enable_automatic_state_change_for_agents",
                "enableAutomaticStateChangeForAgents",
                bool,
                is_required=True,
            ),
            E("agent_state_after_call", "agentStateAfterCall", str, is_required=True),
            E("agent_unavailable_code", "agentUnavailableCode", str),
            E(
                "force_delivery_of_calls",
                "forceDeliveryOfCalls",
                bool,
                is_required=True,
            ),
            E("force_delivery_wait_time_seconds", "forceDeliveryWaitTimeSeconds", int),
            E(
                "send_call_admission_notification",
                "sendCallAdmissionNotification",
                bool,
                is_required=True,
            ),
            E(
                "call_admission_timer_seconds",
                "callAdmissionTimerSeconds",
                int,
                is_required=True,
            ),
            E("enable_unlimited_queue_length", "enableUnlimitedQueueLength", bool),
        )


class GroupRoutePointHolidayServiceGetResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointHolidayServiceGetRequest20()`.


    Attributes:
        action (str): action
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "holiday_schedule",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupRoutePointNightServiceGetResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointNightServiceGetRequest20()`.


    Attributes:
        action (str): action
        business_hours (OCI.businessHours): businessHours *Optional*
        force_night_service (bool): forceNightService
        transfer_phone_number (str): transferPhoneNumber *Optional*
        play_announcement_before_action (bool): playAnnouncementBeforeAction
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
        manual_announcement_mode (str): manualAnnouncementMode
        manual_audio_message_selection (str): manualAudioMessageSelection
        manual_audio_url_list (OCI.manualAudioUrlList): manualAudioUrlList *Optional*
        manual_audio_file_list (OCI.manualAudioFileList): manualAudioFileList *Optional*
        manual_video_message_selection (str): manualVideoMessageSelection
        manual_video_url_list (OCI.manualVideoUrlList): manualVideoUrlList *Optional*
        manual_video_file_list (OCI.manualVideoFileList): manualVideoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "business_hours",
        "force_night_service",
        "transfer_phone_number",
        "play_announcement_before_action",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
        "manual_announcement_mode",
        "manual_audio_message_selection",
        "manual_audio_url_list",
        "manual_audio_file_list",
        "manual_video_message_selection",
        "manual_video_url_list",
        "manual_video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E("force_night_service", "forceNightService", bool, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E(
                "play_announcement_before_action",
                "playAnnouncementBeforeAction",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "video_message_selection",
                "videoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "manual_announcement_mode",
                "manualAnnouncementMode",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_message_selection",
                "manualAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_audio_url_list",
                "manualAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_audio_file_list",
                "manualAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "manual_video_message_selection",
                "manualVideoMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "manual_video_url_list",
                "manualVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "manual_video_file_list",
                "manualVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupRoutePointOverflowGetResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointOverflowGetRequest20()`.


    Attributes:
        action (str): action
        transfer_phone_number (str): transferPhoneNumber *Optional*
        overflow_after_timeout (bool): overflowAfterTimeout
        timeout_seconds (int): timeoutSeconds
        play_announcement_before_overflow_processing (bool):
            playAnnouncementBeforeOverflowProcessing
        audio_message_selection (str): audioMessageSelection
        audio_url_list (OCI.audioUrlList): audioUrlList *Optional*
        audio_file_list (OCI.audioFileList): audioFileList *Optional*
        video_message_selection (str): videoMessageSelection *Optional*
        video_url_list (OCI.videoUrlList): videoUrlList *Optional*
        video_file_list (OCI.videoFileList): videoFileList *Optional*
    """

    __slots__: List[str] = [
        "action",
        "transfer_phone_number",
        "overflow_after_timeout",
        "timeout_seconds",
        "play_announcement_before_overflow_processing",
        "audio_message_selection",
        "audio_url_list",
        "audio_file_list",
        "video_message_selection",
        "video_url_list",
        "video_file_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("action", "action", str, is_required=True),
            E("transfer_phone_number", "transferPhoneNumber", str),
            E("overflow_after_timeout", "overflowAfterTimeout", bool, is_required=True),
            E("timeout_seconds", "timeoutSeconds", int, is_required=True),
            E(
                "play_announcement_before_overflow_processing",
                "playAnnouncementBeforeOverflowProcessing",
                bool,
                is_required=True,
            ),
            E(
                "audio_message_selection",
                "audioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "audio_url_list",
                "audioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "audio_file_list",
                "audioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("video_message_selection", "videoMessageSelection", str),
            E(
                "video_url_list",
                "videoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "video_file_list",
                "videoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
        )


class GroupScheduleGetEventDetailListResponse(OCIResponse):
    """
    Response to `GroupScheduleGetEventDetailListRequest()`.

    The response contains a list of ScheduleEvents.  If the scheduleKey doesn't refer to
    an existing schedule on the AS, then the response will be empty.

    Attributes:
        schedule_events_list (List[OCI.scheduleEventsList]): scheduleEventsList *Optional*
    """

    __slots__: List[str] = [
        "schedule_events_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_events_list",
                "scheduleEventsList",
                OCI.ScheduleEvents,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupScheduleGetListResponse17sp1(OCIResponse):
    """
    Response to `GroupScheduleGetListRequest17sp1()`.

    The response contains a list of group schedules.  If the group belongs to an
    enterprise, it also contains the schedules for the enterprise.

    Attributes:
        schedule_global_key (List[OCI.scheduleGlobalKey]): scheduleGlobalKey *Optional*
    """

    __slots__: List[str] = [
        "schedule_global_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_global_key",
                "scheduleGlobalKey",
                OCI.ScheduleGlobalKey,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupShInterfaceGetUserListResponse(OCIResponse):
    """
    Response to the `GroupShInterfaceGetUserListRequest()`.

    The response contains the Sh Non Transparent data and associated Public User Identity
    information for every Public User Identity in the group.  Replaced by:
    `GroupShInterfaceGetUserListResponse21sp1()` in AS data mode.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entry",
                "entry",
                OCI.ShInterfaceUserListEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupShInterfaceGetUserListResponse21sp1(OCIResponse):
    """
    Response to the `GroupShInterfaceGetUserListRequest21sp1()`.

    The response contains the Sh Non Transparent data and associated Public User Identity
    information for every Public User Identity in the group.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entry",
                "entry",
                OCI.ShInterfaceUserListEntry21sp1,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupTrunkGroupGetInstanceResponse14(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest()`.

    The publicUserIdentity in the ServiceInstanceReadProfile is not used for trunk groups.
    Returns the profile information for the Trunk Group.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "access_device_endpoint",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "require_authentication",
        "sip_authentication_user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
        )


class GroupTrunkGroupGetInstanceResponse14sp1(OCIResponse):
    """
    Response to `GroupTrunkGroupGetInstanceRequest14sp1()`.

    The publicUserIdentity in the ServiceInstanceReadProfile is not used for trunk groups.
    Returns the profile information for the Trunk Group.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        max_active_calls (int): maxActiveCalls
        max_incoming_calls (int): maxIncomingCalls *Optional*
        max_outgoing_calls (int): maxOutgoingCalls *Optional*
        enable_bursting (bool): enableBursting
        bursting_max_active_calls (int): burstingMaxActiveCalls *Optional*
        bursting_max_incoming_calls (int): burstingMaxIncomingCalls *Optional*
        bursting_max_outgoing_calls (int): burstingMaxOutgoingCalls *Optional*
        capacity_exceeded_action (str): capacityExceededAction *Optional*
        capacity_exceeded_forward_address (str): capacityExceededForwardAddress *Optional*
        capacity_exceeded_reroute_trunk_group_id (str):
            capacityExceededRerouteTrunkGroupId *Optional*
        capacity_exceeded_trap_initial_calls (int): capacityExceededTrapInitialCalls
        capacity_exceeded_trap_offset_calls (int): capacityExceededTrapOffsetCalls
        unreachable_destination_action (str): unreachableDestinationAction *Optional*
        unreachable_destination_forward_address (str):
            unreachableDestinationForwardAddress *Optional*
        unreachable_destination_reroute_trunk_group_id (str):
            unreachableDestinationRerouteTrunkGroupId *Optional*
        unreachable_destination_trap_initial_calls (int):
            unreachableDestinationTrapInitialCalls
        unreachable_destination_trap_offset_calls (int):
            unreachableDestinationTrapOffsetCalls
        invitation_timeout (int): invitationTimeout
        require_authentication (bool): requireAuthentication
        sip_authentication_user_name (str): sipAuthenticationUserName *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "access_device_endpoint",
        "max_active_calls",
        "max_incoming_calls",
        "max_outgoing_calls",
        "enable_bursting",
        "bursting_max_active_calls",
        "bursting_max_incoming_calls",
        "bursting_max_outgoing_calls",
        "capacity_exceeded_action",
        "capacity_exceeded_forward_address",
        "capacity_exceeded_reroute_trunk_group_id",
        "capacity_exceeded_trap_initial_calls",
        "capacity_exceeded_trap_offset_calls",
        "unreachable_destination_action",
        "unreachable_destination_forward_address",
        "unreachable_destination_reroute_trunk_group_id",
        "unreachable_destination_trap_initial_calls",
        "unreachable_destination_trap_offset_calls",
        "invitation_timeout",
        "require_authentication",
        "sip_authentication_user_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E("max_active_calls", "maxActiveCalls", int, is_required=True),
            E("max_incoming_calls", "maxIncomingCalls", int),
            E("max_outgoing_calls", "maxOutgoingCalls", int),
            E("enable_bursting", "enableBursting", bool, is_required=True),
            E("bursting_max_active_calls", "burstingMaxActiveCalls", int),
            E("bursting_max_incoming_calls", "burstingMaxIncomingCalls", int),
            E("bursting_max_outgoing_calls", "burstingMaxOutgoingCalls", int),
            E("capacity_exceeded_action", "capacityExceededAction", str),
            E(
                "capacity_exceeded_forward_address",
                "capacityExceededForwardAddress",
                str,
            ),
            E(
                "capacity_exceeded_reroute_trunk_group_id",
                "capacityExceededRerouteTrunkGroupId",
                str,
            ),
            E(
                "capacity_exceeded_trap_initial_calls",
                "capacityExceededTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "capacity_exceeded_trap_offset_calls",
                "capacityExceededTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("unreachable_destination_action", "unreachableDestinationAction", str),
            E(
                "unreachable_destination_forward_address",
                "unreachableDestinationForwardAddress",
                str,
            ),
            E(
                "unreachable_destination_reroute_trunk_group_id",
                "unreachableDestinationRerouteTrunkGroupId",
                str,
            ),
            E(
                "unreachable_destination_trap_initial_calls",
                "unreachableDestinationTrapInitialCalls",
                int,
                is_required=True,
            ),
            E(
                "unreachable_destination_trap_offset_calls",
                "unreachableDestinationTrapOffsetCalls",
                int,
                is_required=True,
            ),
            E("invitation_timeout", "invitationTimeout", int, is_required=True),
            E(
                "require_authentication",
                "requireAuthentication",
                bool,
                is_required=True,
            ),
            E("sip_authentication_user_name", "sipAuthenticationUserName", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse14(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest14()`.

    Replaced by `GroupVoiceMessagingGroupGetVoicePortalResponse15()`

    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse15(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest15()`.


    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
        home_zone_name (str): homeZoneName *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
        "home_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
            E("home_zone_name", "homeZoneName", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse17(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest17()`.


    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
        home_zone_name (str): homeZoneName *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
        "home_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
            E("home_zone_name", "homeZoneName", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse17sp4(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest17sp4()`.

    The following elements are only used in XS data mode: enableExtendedScope Replaced by:
    `GroupVoiceMessagingGroupGetVoicePortalResponse19sp1()` in AS data mode

    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        enable_extended_scope (bool): enableExtendedScope
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
        home_zone_name (str): homeZoneName *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "enable_extended_scope",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
        "home_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E("enable_extended_scope", "enableExtendedScope", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
            E("home_zone_name", "homeZoneName", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse19sp1(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest19sp1()`.

    The following elements are only used in XS data mode: enableExtendedScope Replaced by:
    `GroupVoiceMessagingGroupGetVoicePortalResponse21sp1()` in AS data mode.

    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        enable_extended_scope (bool): enableExtendedScope
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
        home_zone_name (str): homeZoneName *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "enable_extended_scope",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
        "home_zone_name",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E("enable_extended_scope", "enableExtendedScope", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
            E("home_zone_name", "homeZoneName", str),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupVoiceMessagingGroupGetVoicePortalResponse21sp1(OCIResponse):
    """
    Response to the `GroupVoiceMessagingGroupGetVoicePortalRequest21sp1()`.

    The following elements are only used in XS data mode: enableExtendedScope The
    following elements are only used in AS data mode: expressMode, value "false" is
    returned in XS data mode.

    Attributes:
        service_user_id (str): serviceUserId
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        is_active (bool): isActive
        enable_extended_scope (bool): enableExtendedScope
        allow_identification_by_phone_number_or_voice_mail_aliases_on_login (bool):
            allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin
        use_voice_portal_wizard (bool): useVoicePortalWizard
        voice_portal_external_routing_scope (str): voicePortalExternalRoutingScope
        use_external_routing (bool): useExternalRouting
        external_routing_address (str): externalRoutingAddress *Optional*
        home_zone_name (str): homeZoneName *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        express_mode (bool): expressMode
    """

    __slots__: List[str] = [
        "service_user_id",
        "service_instance_profile",
        "is_active",
        "enable_extended_scope",
        "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
        "use_voice_portal_wizard",
        "voice_portal_external_routing_scope",
        "use_external_routing",
        "external_routing_address",
        "home_zone_name",
        "network_class_of_service",
        "express_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_user_id", "serviceUserId", str, is_required=True),
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("is_active", "isActive", bool, is_required=True),
            E("enable_extended_scope", "enableExtendedScope", bool, is_required=True),
            E(
                "allow_identification_by_phone_number_or_voice_mail_aliases_on_login",
                "allowIdentificationByPhoneNumberOrVoiceMailAliasesOnLogin",
                bool,
                is_required=True,
            ),
            E(
                "use_voice_portal_wizard",
                "useVoicePortalWizard",
                bool,
                is_required=True,
            ),
            E(
                "voice_portal_external_routing_scope",
                "voicePortalExternalRoutingScope",
                str,
                is_required=True,
            ),
            E("use_external_routing", "useExternalRouting", bool, is_required=True),
            E("external_routing_address", "externalRoutingAddress", str),
            E("home_zone_name", "homeZoneName", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("express_mode", "expressMode", bool, is_required=True),
        )


class GroupVoiceXmlGetInstanceResponse(OCIResponse):
    """
    Response to `GroupVoiceXmlGetInstanceRequest()`.

    Contains the service profile information and possibly access device information.
    Replaced by: `GroupVoiceXmlGetInstanceResponse19sp1()` in AS data mode

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17sp4,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead,
                is_complex=True,
            ),
        )


class GroupVoiceXmlGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupVoiceXmlGetInstanceRequest19sp1()`.

    Contains the service profile information and possibly access device information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead,
                is_complex=True,
            ),
        )


class GroupVoiceXmlGetInstanceResponse22(OCIResponse):
    """
    Response to `GroupVoiceXmlGetInstanceRequest22()`.

    Contains the service profile information and possibly access device information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        network_class_of_service (str): networkClassOfService *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "network_class_of_service",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead22,
                is_complex=True,
            ),
        )


class ServiceProviderAccessDeviceGetLinkedTreeDeviceResponse(OCIResponse):
    """
    Response to `ServiceProviderAccessDeviceGetLinkedTreeDeviceRequest()`.


    Attributes:
        tree_device_info (OCI.treeDeviceInfo): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
            ),
        )


class ServiceProviderGetAvailableTreeDeviceListResponse(OCIResponse):
    """
    Response to `ServiceProviderGetAvailableTreeDeviceListRequest()`.


    Attributes:
        tree_device_info (List[OCI.treeDeviceInfo]): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
                is_array=True,
            ),
        )


class ServiceProviderMWIDeliveryToMobileEndpointCustomTemplateGetResponse(OCIResponse):
    """
    Response to the
    `ServiceProviderMWIDeliveryToMobileEndpointCustomTemplateGetRequest()`.


    Attributes:
        is_enabled (bool): isEnabled
        template_body (OCI.templateBody): templateBody
    """

    __slots__: List[str] = [
        "is_enabled",
        "template_body",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_enabled", "isEnabled", bool, is_required=True),
            E(
                "template_body",
                "templateBody",
                OCI.MWIDeliveryToMobileEndpointTemplateBody,
                is_complex=True,
                is_required=True,
            ),
        )


class ServiceProviderScheduleGetEventDetailListResponse(OCIResponse):
    """
    Response to `ServiceProviderScheduleGetEventDetailListRequest()`.

    The response contains a list of ScheduleEvents.  If the scheduleKey doesn't refer to
    an existing schedule on the AS, then the response will be empty.

    Attributes:
        schedule_events_list (List[OCI.scheduleEventsList]): scheduleEventsList *Optional*
    """

    __slots__: List[str] = [
        "schedule_events_list",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_events_list",
                "scheduleEventsList",
                OCI.ScheduleEvents,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemAccessDeviceGetLinkedTreeDeviceResponse(OCIResponse):
    """
    Response to `SystemAccessDeviceGetLinkedTreeDeviceRequest()`.


    Attributes:
        tree_device_info (OCI.treeDeviceInfo): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
            ),
        )


class SystemDeviceTypeGetResponse14sp6(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest14sp6()`.

    Replaced by: `SystemDeviceTypeGetResponse16()`

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemDeviceTypeGetResponse16(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest16()`.

    Replaced by: `SystemDeviceTypeGetResponse16sp1()`

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemDeviceTypeGetResponse16sp1(OCIResponse):
    """
    Replaced By SystemSIPDeviceTypeGetReponse18.

    Response to `SystemDeviceTypeGetRequest16sp1()`.

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
        )


class SystemDeviceTypeGetResponse18(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest18()`.


    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
        )


class SystemDeviceTypeGetResponse19(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest19()`.


    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
        )


class SystemDeviceTypeGetResponse21sp1(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest21sp1()`.


    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead21sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
        )


class SystemDeviceTypeGetResponse22(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest22()`.

    The following elements are only used in AS data mode: resellerId

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
            E("reseller_id", "resellerId", str),
        )


class SystemDeviceTypeGetResponse22V2(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest22V2()`.

    The following elements are only used in AS data mode: resellerId

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V2,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
            E("reseller_id", "resellerId", str),
        )


class SystemDeviceTypeGetResponse22V3(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest22V3()`.

    The following elements are only used in AS data mode: resellerId Replaced by:
    `SystemDeviceTypeGetResponse22V4()`

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V2,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
            E("reseller_id", "resellerId", str),
        )


class SystemDeviceTypeGetResponse22V4(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest22V4()`.

    The following elements are only used in AS data mode: resellerId Replaced by:
    `SystemDeviceTypeGetResponse22V5()`.

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
            E("reseller_id", "resellerId", str),
        )


class SystemDeviceTypeGetResponse22V5(OCIResponse):
    """
    Response to `SystemDeviceTypeGetRequest22V5()`.

    The following elements are only used in AS data mode: resellerId

    Attributes:
        is_obsolete (bool): isObsolete
        profile (str): profile
        web_based_config_url (str): webBasedConfigURL *Optional*
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        is_ip_address_optional (bool): isIpAddressOptional
        use_domain (bool): useDomain
        is_mobility_manager_device (bool): isMobilityManagerDevice
        device_type_configuration_option (str): deviceTypeConfigurationOption *Optional*
        static_line_ordering (bool): staticLineOrdering *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "profile",
        "web_based_config_url",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "is_ip_address_optional",
        "use_domain",
        "is_mobility_manager_device",
        "device_type_configuration_option",
        "static_line_ordering",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E("profile", "profile", str, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V4,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("is_ip_address_optional", "isIpAddressOptional", bool, is_required=True),
            E("use_domain", "useDomain", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("device_type_configuration_option", "deviceTypeConfigurationOption", str),
            E("static_line_ordering", "staticLineOrdering", bool),
            E("reseller_id", "resellerId", str),
        )


class SystemGetAvailableTreeDeviceListResponse(OCIResponse):
    """
    Response to `SystemGetAvailableTreeDeviceListRequest()`.


    Attributes:
        tree_device_info (List[OCI.treeDeviceInfo]): treeDeviceInfo *Optional*
    """

    __slots__: List[str] = [
        "tree_device_info",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "tree_device_info",
                "treeDeviceInfo",
                OCI.TreeDeviceInfo,
                is_complex=True,
                is_array=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse14sp6(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest14sp6()`.

    Replaced by: `SystemSIPDeviceTypeGetResponse14sp6()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        tdm_overlay (bool): tdmOverlay
        supports_broad_works_info_for_call_waiting (bool):
            supportsBroadWorksINFOForCallWaiting
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "tdm_overlay",
        "supports_broad_works_info_for_call_waiting",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E("tdm_overlay", "tdmOverlay", bool, is_required=True),
            E(
                "supports_broad_works_info_for_call_waiting",
                "supportsBroadWorksINFOForCallWaiting",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse15(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest15()`.

    Replaced By : `SystemSIPDeviceTypeAddResponse16()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        tdm_overlay (bool): tdmOverlay
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "tdm_overlay",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E("tdm_overlay", "tdmOverlay", bool, is_required=True),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse16(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest16()`.

    Replaced by: `SystemSIPDeviceTypeGetResponse16sp1()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse16sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest16sp1()`.


    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        use_business_trunking_contact (bool): useBusinessTrunkingContact
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "use_business_trunking_contact",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "use_business_trunking_contact",
                "useBusinessTrunkingContact",
                bool,
                is_required=True,
            ),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
        )


class SystemSIPDeviceTypeGetResponse17(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest17()`.


    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse17sp4(OCIResponse):
    """
    Replaced By `SystemSIPDeviceTypeGetResponse18()`.

    Response to `SystemSIPDeviceTypeGetRequest17sp4()`.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse18(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest18()`.

    The following elements are only used in XS data mode: enable3G4GContinuity Replaced
    by: `SystemSIPDeviceTypeGetResponse19()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        rfc3264_hold (bool): RFC3264Hold
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "rfc3264_hold",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("rfc3264_hold", "RFC3264Hold", bool, is_required=True),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse18sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest18sp1()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod The
    following elements are only used in XS data mode: enable3G4GContinuity The following
    element values are only applicable in AS data mode: holdNormalization=useRfc3264Hold

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse19(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest19()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod, value
    "useInactive" is returned in XS data mode supportRFC3398, value "false" is returned in
    XS data mode The following elements are only used in XS data mode:
    enable3G4GContinuity, value "false" is returned in AS data mode The following element
    values are only applicable in AS data mode: holdNormalization=useRfc3264Hold Replaced
    by: SystemSIPDeviceTypeGetResponse19sSp1

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse19sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest19sp1()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod, value
    "useInactive" is returned in XS data mode supportRFC3398, value "false" is returned in
    XS data mode bypassMediaTreatment The following elements are only used in XS data
    mode: enable3G4GContinuity, value "false" is returned in AS data mode The following
    element values are only applicable in AS data mode: holdNormalization=useRfc3264Hold
    Replaced by: `SystemSIPDeviceTypeGetResponse20()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        bypass_media_treatment (bool): bypassMediaTreatment
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "bypass_media_treatment",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse20(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest20()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportCallInfoConferenceSubscriptionURI
    supportRemotePartyInfo The following elements are only used in XS data mode:
    enable3G4GContinuity The following element values are only applicable in AS data mode:
    holdNormalization=useRfc3264Hold

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse20sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest20sp1()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportCallInfoConferenceSubscriptionURI
    supportRemotePartyInfo The following elements are only used in HSS data mode:
    enable3G4GContinuity The following element values are only applicable in AS data mode:
    holdNormalization=useRfc3264Hold Replaced by: SystemSIPDeviceTypeGetResponse21sp1V2.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enable3_g4_g_continuity (bool): enable3G4GContinuity
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enable3_g4_g_continuity",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead21sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E(
                "enable3_g4_g_continuity",
                "enable3G4GContinuity",
                bool,
                is_required=True,
            ),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse21(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest21()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportCallInfoConferenceSubscriptionURI
    supportRemotePartyInfo The following elements are only used in XS data mode:
    enhancedForICS - value false is returned in AS data mode enable3G4GContinuity - value
    false is returned in AS data mode publishesOwnPresence - value false is returned in AS
    data mode The following element values are only applicable in AS data mode:
    holdNormalization=useRfc3264Hold The following elements are only used in AS data mode:
    supportCauseParameter - value false is returned in XS data mode Replaced by:
    SystemSIPDeviceTypeGetResponse21Sp1

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse21sp1(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest21sp1()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportRemotePartyInfo The following elements
    are only used in XS data mode: enhancedForICS - value false is returned in AS data
    mode enable3G4GContinuity - value false is returned in AS data mode
    publishesOwnPresence - value false is returned in AS data mode locationNetwork, value
    Fixed is returned in AS data mode The following element values are only applicable in
    AS data mode: holdNormalization=useRfc3264Hold The following elements are only used in
    AS data mode: supportCauseParameter - value false is returned in XS data mode Replaced
    by: SystemSIPDeviceTypeGetResponse21sp1V2

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead16sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportCallInfoConferenceSubscriptionURI
    supportRemotePartyInfo The following elements are only used in XS data mode:
    enhancedForICS - value false is returned in AS data mode enable3G4GContinuity - value
    false is returned in AS data mode publishesOwnPresence - value false is returned in AS
    data mode locationNetwork, value Fixed is returned in AS data mode The following
    element values are only applicable in AS data mode: holdNormalization=useRfc3264Hold
    The following elements are only used in AS data mode: supportCauseParameter - value
    false is returned in XS data mode Deprecated by:
    `SystemSIPDeviceTypeGetResponse22V2()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead21sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22V10(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V10()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    The following elements are only used in AS data mode and not returned in XS data mode:
    deviceCategory deviceFamily The following elements are only used in XS data mode:
    enhancedForICS, value "false" is returned in AS data mode supports3G4GContinuity,
    value "false" is returned in AS data mode publishesOwnPresence, value "false" is
    returned in AS data mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V6()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
        )


class SystemSIPDeviceTypeGetResponse22V11(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V11()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    verstatInPAIHeader, value "false" is returned in XS data mode verstatInFromHeader,
    value "false" is returned in XS data mode The following elements are only used in AS
    data mode and not returned in XS data mode: deviceCategory deviceFamily The following
    elements are only used in XS data mode: enhancedForICS, value "false" is returned in
    AS data mode supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by `SystemSIPDeviceTypeGetResponse23V7()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class SystemSIPDeviceTypeGetResponse22V12(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V12()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    verstatInPAIHeader, value "false" is returned in XS data mode verstatInFromHeader,
    value "false" is returned in XS data mode The following elements are only used in AS
    data mode and not returned in XS data mode: deviceCategory deviceFamily The following
    elements are only used in XS data mode: enhancedForICS, value "false" is returned in
    AS data mode supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by `SystemSIPDeviceTypeGetResponse23V8()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V4,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class SystemSIPDeviceTypeGetResponse22V13(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V13()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    verstatInPAIHeader, value "false" is returned in XS data mode verstatInFromHeader,
    value "false" is returned in XS data mode The following elements are only used in AS
    data mode and not returned in XS data mode: deviceCategory deviceFamily The following
    elements are only used in XS data mode: enhancedForICS, value "false" is returned in
    AS data mode supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by: `SystemSIPDeviceTypeGetResponse23V9()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        reset_string (str): resetString *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "reset_string",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V4,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E("reset_string", "resetString", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class SystemSIPDeviceTypeGetResponse22V2(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V2()`.

    The following elements are only used in AS data mode: holdAnnouncementMethod
    supportRFC3398 supportClientSessionInfo supportCallInfoConferenceSubscriptionURI
    supportRemotePartyInfo resellerId The following elements are only used in XS data
    mode: enhancedForICS - value false is returned in AS data mode enable3G4GContinuity -
    value false is returned in AS data mode publishesOwnPresence - value false is returned
    in AS data mode locationNetwork, value Fixed is returned in AS data mode The following
    element values are only applicable in AS data mode: holdNormalization=useRfc3264Hold
    The following elements are only used in AS data mode: supportCauseParameter - value
    false is returned in XS data mode Deprecated by `SystemSIPDeviceTypeGetResponse22V3()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead21sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class SystemSIPDeviceTypeGetResponse22V3(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V3()`.

    Deprecated by `SystemSIPDeviceTypeGetResponse22V4()`. The following elements are only
    used in AS data mode: supportClientSessionInfo, value "false" is returned in XS data
    mode supportCallInfoConferenceSubscriptionURI, value "false" is returned in XS data
    mode supportRemotePartyInfo, value "false" is returned in XS data mode
    supportVisualDeviceManagement, value "false" is returned in XS data mode
    bypassMediaTreatment, value "false" is returned in XS data mode supportCauseParameter,
    value "false" is returned in XS data mode resellerId The following elements are only
    used in XS data mode: enhancedForICS, value "false" is returned in AS data mode
    supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead21sp1,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class SystemSIPDeviceTypeGetResponse22V4(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V4()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode resellerId The
    following elements are only used in XS data mode: enhancedForICS, value "false" is
    returned in AS data mode supports3G4GContinuity, value "false" is returned in AS data
    mode publishesOwnPresence, value "false" is returned in AS data mode locationNetwork,
    value "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false"
    is returned in AS data mode roamingMode, value "None" is returned in AS data mode

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22V5(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V5()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode resellerId The
    following elements are only used in XS data mode: enhancedForICS, value "false" is
    returned in AS data mode supports3G4GContinuity, value "false" is returned in AS data
    mode publishesOwnPresence, value "false" is returned in AS data mode locationNetwork,
    value "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false"
    is returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by: `SystemDeviceTypeGetResponse22V13()` in XS data mode.  Replaced by:
    `SystemDeviceTypeGetResponse22V6()` in AS data mode.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V2,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22V6(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V6()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId The following elements are only used in XS data mode: enhancedForICS, value
    "false" is returned in AS data mode supports3G4GContinuity, value "false" is returned
    in AS data mode publishesOwnPresence, value "false" is returned in AS data mode
    locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V2()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V2,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22V7(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V7()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId The following elements are only used in XS data mode: enhancedForICS, value
    "false" is returned in AS data mode supports3G4GContinuity, value "false" is returned
    in AS data mode publishesOwnPresence, value "false" is returned in AS data mode
    locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V2()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
        )


class SystemSIPDeviceTypeGetResponse22V8(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V8()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    The following elements are only used in XS data mode: enhancedForICS, value "false" is
    returned in AS data mode supports3G4GContinuity, value "false" is returned in AS data
    mode publishesOwnPresence, value "false" is returned in AS data mode locationNetwork,
    value "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false"
    is returned in AS data mode roamingMode, value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V4()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
        )


class SystemSIPDeviceTypeGetResponse22V9(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest22V8()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    noCallingPartyCategoryInFromHeader, value "false" is returned in XS data mode
    resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data mode
    Replaced by: `GroupMusicOnHoldGetInstanceResponse22V2()` The following elements are
    only used in AS data mode and not returned in XS data mode: deviceCategory
    deviceFamily The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V6()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
        )


class SystemSIPDeviceTypeGetResponse23(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V2,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse23V2(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V2()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V3()`.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse23V3(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V3()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagement, value "false" is returned in XS data
    mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Replaced By: `SystemSIPDeviceTypeGetResponse23V4()`.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management (bool): supportVisualDeviceManagement
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management",
                "supportVisualDeviceManagement",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
        )


class SystemSIPDeviceTypeGetResponse23V4(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V4()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode The following elements are only used in XS data mode: enhancedForICS, value
    "false" is returned in AS data mode supports3G4GContinuity, value "false" is returned
    in AS data mode publishesOwnPresence, value "false" is returned in AS data mode
    locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
        )


class SystemSIPDeviceTypeGetResponse23V5(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V5()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode The following elements are only used in AS data mode and not returned in XS data
    mode: deviceCategory deviceFamily The following elements are only used in XS data
    mode: enhancedForICS, value "false" is returned in AS data mode
    supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by `SystemSIPDeviceTypeGetResponse23V6()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
        )


class SystemSIPDeviceTypeGetResponse23V6(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V6()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode The following elements are only used in AS data mode and not returned in XS data
    mode: deviceCategory deviceFamily The following elements are only used in XS data
    mode: enhancedForICS, value "false" is returned in AS data mode
    supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode
    Replaced by `SystemSIPDeviceTypeGetResponse23V7()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
        )


class SystemSIPDeviceTypeGetResponse23V7(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V7()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode verstatInPAIHeader, value "false" is returned in XS data mode
    verstatInFromHeader, value "false" is returned in XS data mode The following elements
    are only used in AS data mode and not returned in XS data mode: deviceCategory
    deviceFamily The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode Replaced by
    `SystemSIPDeviceTypeGetResponse23V8()`

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V3,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class SystemSIPDeviceTypeGetResponse23V8(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V8()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode verstatInPAIHeader, value "false" is returned in XS data mode
    verstatInFromHeader, value "false" is returned in XS data mode The following elements
    are only used in AS data mode and not returned in XS data mode: deviceCategory
    deviceFamily The following elements are only used in XS data mode: enhancedForICS,
    value "false" is returned in AS data mode supports3G4GContinuity, value "false" is
    returned in AS data mode publishesOwnPresence, value "false" is returned in AS data
    mode locationNetwork, value "Fixed" is returned in AS data mode
    allowTerminationBasedOnICSI, value "false" is returned in AS data mode roamingMode,
    value "None" is returned in AS data mode Replaced by:
    `SystemSIPDeviceTypeGetResponse23V9()` in AS mode.

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V4,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class SystemSIPDeviceTypeGetResponse23V9(OCIResponse):
    """
    Response to `SystemSIPDeviceTypeGetRequest23V9()`.

    The following elements are only used in AS data mode: supportClientSessionInfo, value
    "false" is returned in XS data mode supportCallInfoConferenceSubscriptionURI, value
    "false" is returned in XS data mode supportRemotePartyInfo, value "false" is returned
    in XS data mode supportVisualDeviceManagementRedirectLink, value "false" is returned
    in XS data mode bypassMediaTreatment, value "false" is returned in XS data mode
    supportCauseParameter, value "false" is returned in XS data mode
    supportCallingPartyCategoryInOutboundFromHeader, value "true" is returned in XS data
    mode resellerId supportVisualDeviceManagementAPI, value "false" is returned in XS data
    mode The following elements are only used in AS data mode and not returned in XS data
    mode: deviceCategory deviceFamily The following elements are only used in XS data
    mode: enhancedForICS, value "false" is returned in AS data mode
    supports3G4GContinuity, value "false" is returned in AS data mode
    publishesOwnPresence, value "false" is returned in AS data mode locationNetwork, value
    "Fixed" is returned in AS data mode allowTerminationBasedOnICSI, value "false" is
    returned in AS data mode roamingMode, value "None" is returned in AS data mode

    Attributes:
        is_obsolete (bool): isObsolete
        number_of_ports (OCI.numberOfPorts): numberOfPorts
        profile (str): profile
        registration_capable (bool): registrationCapable
        is_conference_device (bool): isConferenceDevice
        is_mobility_manager_device (bool): isMobilityManagerDevice
        is_music_on_hold_device (bool): isMusicOnHoldDevice
        hold_normalization (str): holdNormalization
        hold_announcement_method (str): holdAnnouncementMethod
        is_trusted (bool): isTrusted
        e164_capable (bool): E164Capable
        route_advance (bool): routeAdvance
        forwarding_override (bool): forwardingOverride
        wireless_integration (bool): wirelessIntegration
        web_based_config_url (str): webBasedConfigURL *Optional*
        is_video_capable (bool): isVideoCapable
        pbx_integration (bool): PBXIntegration
        static_registration_capable (bool): staticRegistrationCapable
        cpe_device_options (OCI.cpeDeviceOptions): cpeDeviceOptions *Optional*
        protocol_choice (List[str]): protocolChoice
        early_media_support (str): earlyMediaSupport
        authenticate_refer (bool): authenticateRefer
        auto_config_soft_client (bool): autoConfigSoftClient
        authentication_mode (str): authenticationMode
        requires_broad_works_digit_collection (bool): requiresBroadWorksDigitCollection
        requires_broad_works_call_waiting_tone (bool): requiresBroadWorksCallWaitingTone
        requires_mwi_subscription (bool): requiresMWISubscription
        use_history_info_header_on_access_side (bool): useHistoryInfoHeaderOnAccessSide
        advice_of_charge_capable (bool): adviceOfChargeCapable
        reset_event (str): resetEvent *Optional*
        reset_string (str): resetString *Optional*
        support_call_center_mime_type (bool): supportCallCenterMIMEType
        trunk_mode (str): trunkMode
        add_p_called_party_id (bool): addPCalledPartyId
        support_identity_in_update_and_re_invite (bool):
            supportIdentityInUpdateAndReInvite
        unscreened_presentation_identity_policy (str):
            unscreenedPresentationIdentityPolicy
        enhanced_for_ics (bool): enhancedForICS
        support_emergency_disconnect_control (bool): supportEmergencyDisconnectControl
        device_type_configuration_option (str): deviceTypeConfigurationOption
        support_rfc3398 (bool): supportRFC3398
        static_line_ordering (bool): staticLineOrdering
        support_client_session_info (bool): supportClientSessionInfo
        support_call_info_conference_subscription_uri (bool):
            supportCallInfoConferenceSubscriptionURI
        support_remote_party_info (bool): supportRemotePartyInfo
        support_visual_device_management_redirect_link (bool):
            supportVisualDeviceManagementRedirectLink
        bypass_media_treatment (bool): bypassMediaTreatment
        supports3_g4_g_continuity (bool): supports3G4GContinuity
        publishes_own_presence (bool): publishesOwnPresence
        support_cause_parameter (bool): supportCauseParameter
        location_network (str): locationNetwork
        reseller_id (str): resellerId *Optional*
        allow_termination_based_on_icsi (bool): allowTerminationBasedOnICSI
        roaming_mode (str): roamingMode
        support_calling_party_category_in_outbound_from_header (bool):
            supportCallingPartyCategoryInOutboundFromHeader
        support_visual_device_management_api (bool): supportVisualDeviceManagementAPI
            *Optional*
        device_category (str): deviceCategory *Optional*
        device_family (str): deviceFamily *Optional*
        verstat_in_pai_header (bool): verstatInPAIHeader *Optional*
        verstat_in_from_header (bool): verstatInFromHeader *Optional*
    """

    __slots__: List[str] = [
        "is_obsolete",
        "number_of_ports",
        "profile",
        "registration_capable",
        "is_conference_device",
        "is_mobility_manager_device",
        "is_music_on_hold_device",
        "hold_normalization",
        "hold_announcement_method",
        "is_trusted",
        "e164_capable",
        "route_advance",
        "forwarding_override",
        "wireless_integration",
        "web_based_config_url",
        "is_video_capable",
        "pbx_integration",
        "static_registration_capable",
        "cpe_device_options",
        "protocol_choice",
        "early_media_support",
        "authenticate_refer",
        "auto_config_soft_client",
        "authentication_mode",
        "requires_broad_works_digit_collection",
        "requires_broad_works_call_waiting_tone",
        "requires_mwi_subscription",
        "use_history_info_header_on_access_side",
        "advice_of_charge_capable",
        "reset_event",
        "reset_string",
        "support_call_center_mime_type",
        "trunk_mode",
        "add_p_called_party_id",
        "support_identity_in_update_and_re_invite",
        "unscreened_presentation_identity_policy",
        "enhanced_for_ics",
        "support_emergency_disconnect_control",
        "device_type_configuration_option",
        "support_rfc3398",
        "static_line_ordering",
        "support_client_session_info",
        "support_call_info_conference_subscription_uri",
        "support_remote_party_info",
        "support_visual_device_management_redirect_link",
        "bypass_media_treatment",
        "supports3_g4_g_continuity",
        "publishes_own_presence",
        "support_cause_parameter",
        "location_network",
        "reseller_id",
        "allow_termination_based_on_icsi",
        "roaming_mode",
        "support_calling_party_category_in_outbound_from_header",
        "support_visual_device_management_api",
        "device_category",
        "device_family",
        "verstat_in_pai_header",
        "verstat_in_from_header",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_obsolete", "isObsolete", bool, is_required=True),
            E(
                "number_of_ports",
                "numberOfPorts",
                OCI.UnboundedPositiveInt,
                is_complex=True,
                is_required=True,
            ),
            E("profile", "profile", str, is_required=True),
            E("registration_capable", "registrationCapable", bool, is_required=True),
            E("is_conference_device", "isConferenceDevice", bool, is_required=True),
            E(
                "is_mobility_manager_device",
                "isMobilityManagerDevice",
                bool,
                is_required=True,
            ),
            E("is_music_on_hold_device", "isMusicOnHoldDevice", bool, is_required=True),
            E("hold_normalization", "holdNormalization", str, is_required=True),
            E(
                "hold_announcement_method",
                "holdAnnouncementMethod",
                str,
                is_required=True,
            ),
            E("is_trusted", "isTrusted", bool, is_required=True),
            E("e164_capable", "E164Capable", bool, is_required=True),
            E("route_advance", "routeAdvance", bool, is_required=True),
            E("forwarding_override", "forwardingOverride", bool, is_required=True),
            E("wireless_integration", "wirelessIntegration", bool, is_required=True),
            E("web_based_config_url", "webBasedConfigURL", str),
            E("is_video_capable", "isVideoCapable", bool, is_required=True),
            E("pbx_integration", "PBXIntegration", bool, is_required=True),
            E(
                "static_registration_capable",
                "staticRegistrationCapable",
                bool,
                is_required=True,
            ),
            E(
                "cpe_device_options",
                "cpeDeviceOptions",
                OCI.CPEDeviceOptionsRead22V4,
                is_complex=True,
            ),
            E(
                "protocol_choice",
                "protocolChoice",
                str,
                is_required=True,
                is_array=True,
            ),
            E("early_media_support", "earlyMediaSupport", str, is_required=True),
            E("authenticate_refer", "authenticateRefer", bool, is_required=True),
            E(
                "auto_config_soft_client",
                "autoConfigSoftClient",
                bool,
                is_required=True,
            ),
            E("authentication_mode", "authenticationMode", str, is_required=True),
            E(
                "requires_broad_works_digit_collection",
                "requiresBroadWorksDigitCollection",
                bool,
                is_required=True,
            ),
            E(
                "requires_broad_works_call_waiting_tone",
                "requiresBroadWorksCallWaitingTone",
                bool,
                is_required=True,
            ),
            E(
                "requires_mwi_subscription",
                "requiresMWISubscription",
                bool,
                is_required=True,
            ),
            E(
                "use_history_info_header_on_access_side",
                "useHistoryInfoHeaderOnAccessSide",
                bool,
                is_required=True,
            ),
            E(
                "advice_of_charge_capable",
                "adviceOfChargeCapable",
                bool,
                is_required=True,
            ),
            E("reset_event", "resetEvent", str),
            E("reset_string", "resetString", str),
            E(
                "support_call_center_mime_type",
                "supportCallCenterMIMEType",
                bool,
                is_required=True,
            ),
            E("trunk_mode", "trunkMode", str, is_required=True),
            E("add_p_called_party_id", "addPCalledPartyId", bool, is_required=True),
            E(
                "support_identity_in_update_and_re_invite",
                "supportIdentityInUpdateAndReInvite",
                bool,
                is_required=True,
            ),
            E(
                "unscreened_presentation_identity_policy",
                "unscreenedPresentationIdentityPolicy",
                str,
                is_required=True,
            ),
            E("enhanced_for_ics", "enhancedForICS", bool, is_required=True),
            E(
                "support_emergency_disconnect_control",
                "supportEmergencyDisconnectControl",
                bool,
                is_required=True,
            ),
            E(
                "device_type_configuration_option",
                "deviceTypeConfigurationOption",
                str,
                is_required=True,
            ),
            E("support_rfc3398", "supportRFC3398", bool, is_required=True),
            E("static_line_ordering", "staticLineOrdering", bool, is_required=True),
            E(
                "support_client_session_info",
                "supportClientSessionInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_call_info_conference_subscription_uri",
                "supportCallInfoConferenceSubscriptionURI",
                bool,
                is_required=True,
            ),
            E(
                "support_remote_party_info",
                "supportRemotePartyInfo",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_redirect_link",
                "supportVisualDeviceManagementRedirectLink",
                bool,
                is_required=True,
            ),
            E("bypass_media_treatment", "bypassMediaTreatment", bool, is_required=True),
            E(
                "supports3_g4_g_continuity",
                "supports3G4GContinuity",
                bool,
                is_required=True,
            ),
            E("publishes_own_presence", "publishesOwnPresence", bool, is_required=True),
            E(
                "support_cause_parameter",
                "supportCauseParameter",
                bool,
                is_required=True,
            ),
            E("location_network", "locationNetwork", str, is_required=True),
            E("reseller_id", "resellerId", str),
            E(
                "allow_termination_based_on_icsi",
                "allowTerminationBasedOnICSI",
                bool,
                is_required=True,
            ),
            E("roaming_mode", "roamingMode", str, is_required=True),
            E(
                "support_calling_party_category_in_outbound_from_header",
                "supportCallingPartyCategoryInOutboundFromHeader",
                bool,
                is_required=True,
            ),
            E(
                "support_visual_device_management_api",
                "supportVisualDeviceManagementAPI",
                bool,
            ),
            E("device_category", "deviceCategory", str),
            E("device_family", "deviceFamily", str),
            E("verstat_in_pai_header", "verstatInPAIHeader", bool),
            E("verstat_in_from_header", "verstatInFromHeader", bool),
        )


class UserBroadWorksMobilityMobileIdentityGetResponse(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityMobileIdentityGetRequest()`.

    Replaced by: `UserBroadWorksMobilityMobileIdentityGetResponse21sp1()`.

    Attributes:
        description (str): description *Optional*
        is_primary (bool): isPrimary
        enable_alerting (bool): enableAlerting
        alert_agent_calls (bool): alertAgentCalls
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        use_mobility_calling_line_id (bool): useMobilityCallingLineID
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        devices_to_ring (str): devicesToRing
        include_shared_call_appearance (bool): includeSharedCallAppearance
        include_broadworks_anywhere (bool): includeBroadworksAnywhere
        include_executive_assistant (bool): includeExecutiveAssistant
        mobile_number_alerted (List[str]): mobileNumberAlerted *Optional*
        enable_call_anchoring (bool): enableCallAnchoring
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
    """

    __slots__: List[str] = [
        "description",
        "is_primary",
        "enable_alerting",
        "alert_agent_calls",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "use_mobility_calling_line_id",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
        "devices_to_ring",
        "include_shared_call_appearance",
        "include_broadworks_anywhere",
        "include_executive_assistant",
        "mobile_number_alerted",
        "enable_call_anchoring",
        "time_schedule",
        "holiday_schedule",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("is_primary", "isPrimary", bool, is_required=True),
            E("enable_alerting", "enableAlerting", bool, is_required=True),
            E("alert_agent_calls", "alertAgentCalls", bool, is_required=True),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_calling_line_id",
                "useMobilityCallingLineID",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E("devices_to_ring", "devicesToRing", str, is_required=True),
            E(
                "include_shared_call_appearance",
                "includeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "include_broadworks_anywhere",
                "includeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "include_executive_assistant",
                "includeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E("mobile_number_alerted", "mobileNumberAlerted", str, is_array=True),
            E("enable_call_anchoring", "enableCallAnchoring", bool, is_required=True),
            E("time_schedule", "timeSchedule", OCI.ScheduleGlobalKey, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.ScheduleGlobalKey,
                is_complex=True,
            ),
        )


class UserBroadWorksMobilityMobileIdentityGetResponse21sp1(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityMobileIdentityGetRequest21sp1()`.

    Replaced by: UserBroadWorksMobilityMobileIdentityGetResponse21sp1V2.

    Attributes:
        description (str): description *Optional*
        is_primary (bool): isPrimary
        enable_alerting (bool): enableAlerting
        alert_agent_calls (bool): alertAgentCalls
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        use_mobility_calling_line_id (bool): useMobilityCallingLineID
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        devices_to_ring (str): devicesToRing
        include_shared_call_appearance (bool): includeSharedCallAppearance
        include_broadworks_anywhere (bool): includeBroadworksAnywhere
        include_executive_assistant (bool): includeExecutiveAssistant
        mobile_number_alerted (List[str]): mobileNumberAlerted *Optional*
        enable_call_anchoring (bool): enableCallAnchoring
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        outbound_alternate_number (str): outboundAlternateNumber *Optional*
        enable_direct_routing (bool): enableDirectRouting
        mark_cdr_as_enterprise_group_calls (bool): markCDRAsEnterpriseGroupCalls
    """

    __slots__: List[str] = [
        "description",
        "is_primary",
        "enable_alerting",
        "alert_agent_calls",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "use_mobility_calling_line_id",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
        "devices_to_ring",
        "include_shared_call_appearance",
        "include_broadworks_anywhere",
        "include_executive_assistant",
        "mobile_number_alerted",
        "enable_call_anchoring",
        "time_schedule",
        "holiday_schedule",
        "access_device_endpoint",
        "outbound_alternate_number",
        "enable_direct_routing",
        "mark_cdr_as_enterprise_group_calls",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("is_primary", "isPrimary", bool, is_required=True),
            E("enable_alerting", "enableAlerting", bool, is_required=True),
            E("alert_agent_calls", "alertAgentCalls", bool, is_required=True),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_calling_line_id",
                "useMobilityCallingLineID",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E("devices_to_ring", "devicesToRing", str, is_required=True),
            E(
                "include_shared_call_appearance",
                "includeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "include_broadworks_anywhere",
                "includeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "include_executive_assistant",
                "includeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E("mobile_number_alerted", "mobileNumberAlerted", str, is_array=True),
            E("enable_call_anchoring", "enableCallAnchoring", bool, is_required=True),
            E("time_schedule", "timeSchedule", OCI.ScheduleGlobalKey, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.ScheduleGlobalKey,
                is_complex=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead,
                is_complex=True,
            ),
            E("outbound_alternate_number", "outboundAlternateNumber", str),
            E("enable_direct_routing", "enableDirectRouting", bool, is_required=True),
            E(
                "mark_cdr_as_enterprise_group_calls",
                "markCDRAsEnterpriseGroupCalls",
                bool,
                is_required=True,
            ),
        )


class UserBroadWorksMobilityMobileIdentityGetResponse22(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityMobileIdentityGetRequest22()`.

    Columns for the mobileNumberAlertedTable are as follows: "Mobile Number", "Country
    Code", "National Prefix" Replaced by
    `UserBroadWorksMobilityMobileIdentityGetResponse22V2()`.

    Attributes:
        description (str): description *Optional*
        is_primary (bool): isPrimary
        enable_alerting (bool): enableAlerting
        alert_agent_calls (bool): alertAgentCalls
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        use_mobility_calling_line_id (bool): useMobilityCallingLineID
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        effective_enable_location_services (bool): effectiveEnableLocationServices
        effective_enable_msrn_lookup (bool): effectiveEnableMSRNLookup
        effective_enable_mobile_state_checking (bool): effectiveEnableMobileStateChecking
        effective_enable_announcement_suppression (bool):
            effectiveEnableAnnouncementSuppression
        effective_deny_call_originations (bool): effectiveDenyCallOriginations
        effective_deny_call_terminations (bool): effectiveDenyCallTerminations
        devices_to_ring (str): devicesToRing
        include_shared_call_appearance (bool): includeSharedCallAppearance
        include_broadworks_anywhere (bool): includeBroadworksAnywhere
        include_executive_assistant (bool): includeExecutiveAssistant
        enable_call_anchoring (bool): enableCallAnchoring
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        outbound_alternate_number (str): outboundAlternateNumber *Optional*
        enable_direct_routing (bool): enableDirectRouting
        mark_cdr_as_enterprise_group_calls (bool): markCDRAsEnterpriseGroupCalls
        mobile_number_alerted_table (List(mobileNumberAlertedTable)):
            mobileNumberAlertedTable - *Table* array of mobileNumberAlertedTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "is_primary",
        "enable_alerting",
        "alert_agent_calls",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "use_mobility_calling_line_id",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
        "effective_enable_location_services",
        "effective_enable_msrn_lookup",
        "effective_enable_mobile_state_checking",
        "effective_enable_announcement_suppression",
        "effective_deny_call_originations",
        "effective_deny_call_terminations",
        "devices_to_ring",
        "include_shared_call_appearance",
        "include_broadworks_anywhere",
        "include_executive_assistant",
        "enable_call_anchoring",
        "time_schedule",
        "holiday_schedule",
        "access_device_endpoint",
        "outbound_alternate_number",
        "enable_direct_routing",
        "mark_cdr_as_enterprise_group_calls",
        "mobile_number_alerted_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("is_primary", "isPrimary", bool, is_required=True),
            E("enable_alerting", "enableAlerting", bool, is_required=True),
            E("alert_agent_calls", "alertAgentCalls", bool, is_required=True),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_calling_line_id",
                "useMobilityCallingLineID",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "effective_enable_location_services",
                "effectiveEnableLocationServices",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_msrn_lookup",
                "effectiveEnableMSRNLookup",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_mobile_state_checking",
                "effectiveEnableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_announcement_suppression",
                "effectiveEnableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_originations",
                "effectiveDenyCallOriginations",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_terminations",
                "effectiveDenyCallTerminations",
                bool,
                is_required=True,
            ),
            E("devices_to_ring", "devicesToRing", str, is_required=True),
            E(
                "include_shared_call_appearance",
                "includeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "include_broadworks_anywhere",
                "includeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "include_executive_assistant",
                "includeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E("enable_call_anchoring", "enableCallAnchoring", bool, is_required=True),
            E("time_schedule", "timeSchedule", OCI.ScheduleGlobalKey, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.ScheduleGlobalKey,
                is_complex=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead22,
                is_complex=True,
            ),
            E("outbound_alternate_number", "outboundAlternateNumber", str),
            E("enable_direct_routing", "enableDirectRouting", bool, is_required=True),
            E(
                "mark_cdr_as_enterprise_group_calls",
                "markCDRAsEnterpriseGroupCalls",
                bool,
                is_required=True,
            ),
            E(
                "mobile_number_alerted_table",
                "mobileNumberAlertedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksMobilityMobileIdentityGetResponse22V2(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityMobileIdentityGetRequest22V2()`.

    Columns for the mobileNumberAlertedTable are as follows: "Mobile Number", "Country
    Code", "National Prefix"

    Replaced By: `UserBroadWorksMobilityMobileIdentityGetResponse22V3()`

    Attributes:
        description (str): description *Optional*
        is_primary (bool): isPrimary
        enable_alerting (bool): enableAlerting
        alert_agent_calls (bool): alertAgentCalls
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        use_mobility_calling_line_id (bool): useMobilityCallingLineID
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        effective_enable_location_services (bool): effectiveEnableLocationServices
        effective_enable_msrn_lookup (bool): effectiveEnableMSRNLookup
        effective_enable_mobile_state_checking (bool): effectiveEnableMobileStateChecking
        effective_enable_announcement_suppression (bool):
            effectiveEnableAnnouncementSuppression
        effective_deny_call_originations (bool): effectiveDenyCallOriginations
        effective_deny_call_terminations (bool): effectiveDenyCallTerminations
        devices_to_ring (str): devicesToRing
        include_shared_call_appearance (bool): includeSharedCallAppearance
        include_broadworks_anywhere (bool): includeBroadworksAnywhere
        include_executive_assistant (bool): includeExecutiveAssistant
        enable_call_anchoring (bool): enableCallAnchoring
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        outbound_alternate_number (str): outboundAlternateNumber *Optional*
        enable_direct_routing (bool): enableDirectRouting
        mark_cdr_as_enterprise_group_calls (bool): markCDRAsEnterpriseGroupCalls
        use_mobility_connected_identity (bool): useMobilityConnectedIdentity
        network_translation_index (str): networkTranslationIndex *Optional*
        mobile_number_alerted_table (List(mobileNumberAlertedTable)):
            mobileNumberAlertedTable - *Table* array of mobileNumberAlertedTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "is_primary",
        "enable_alerting",
        "alert_agent_calls",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "use_mobility_calling_line_id",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
        "effective_enable_location_services",
        "effective_enable_msrn_lookup",
        "effective_enable_mobile_state_checking",
        "effective_enable_announcement_suppression",
        "effective_deny_call_originations",
        "effective_deny_call_terminations",
        "devices_to_ring",
        "include_shared_call_appearance",
        "include_broadworks_anywhere",
        "include_executive_assistant",
        "enable_call_anchoring",
        "time_schedule",
        "holiday_schedule",
        "access_device_endpoint",
        "outbound_alternate_number",
        "enable_direct_routing",
        "mark_cdr_as_enterprise_group_calls",
        "use_mobility_connected_identity",
        "network_translation_index",
        "mobile_number_alerted_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("is_primary", "isPrimary", bool, is_required=True),
            E("enable_alerting", "enableAlerting", bool, is_required=True),
            E("alert_agent_calls", "alertAgentCalls", bool, is_required=True),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_calling_line_id",
                "useMobilityCallingLineID",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "effective_enable_location_services",
                "effectiveEnableLocationServices",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_msrn_lookup",
                "effectiveEnableMSRNLookup",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_mobile_state_checking",
                "effectiveEnableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_announcement_suppression",
                "effectiveEnableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_originations",
                "effectiveDenyCallOriginations",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_terminations",
                "effectiveDenyCallTerminations",
                bool,
                is_required=True,
            ),
            E("devices_to_ring", "devicesToRing", str, is_required=True),
            E(
                "include_shared_call_appearance",
                "includeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "include_broadworks_anywhere",
                "includeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "include_executive_assistant",
                "includeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E("enable_call_anchoring", "enableCallAnchoring", bool, is_required=True),
            E("time_schedule", "timeSchedule", OCI.ScheduleGlobalKey, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.ScheduleGlobalKey,
                is_complex=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead22,
                is_complex=True,
            ),
            E("outbound_alternate_number", "outboundAlternateNumber", str),
            E("enable_direct_routing", "enableDirectRouting", bool, is_required=True),
            E(
                "mark_cdr_as_enterprise_group_calls",
                "markCDRAsEnterpriseGroupCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_connected_identity",
                "useMobilityConnectedIdentity",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
            E(
                "mobile_number_alerted_table",
                "mobileNumberAlertedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserBroadWorksMobilityMobileIdentityGetResponse22V3(OCIResponse):
    """
    Response to a `UserBroadWorksMobilityMobileIdentityGetRequest22V3()`.

    Columns for the mobileNumberAlertedTable are as follows: "Mobile Number", "Country
    Code", "National Prefix"

    Attributes:
        description (str): description *Optional*
        is_primary (bool): isPrimary
        enable_alerting (bool): enableAlerting
        alert_agent_calls (bool): alertAgentCalls
        alert_click_to_dial_calls (bool): alertClickToDialCalls
        alert_group_paging_calls (bool): alertGroupPagingCalls
        use_mobility_calling_line_id (bool): useMobilityCallingLineID
        enable_diversion_inhibitor (bool): enableDiversionInhibitor
        require_answer_confirmation (bool): requireAnswerConfirmation
        broadworks_call_control (bool): broadworksCallControl
        use_setting_level (str): useSettingLevel
        deny_call_originations (bool): denyCallOriginations
        deny_call_terminations (bool): denyCallTerminations
        effective_enable_location_services (bool): effectiveEnableLocationServices
        effective_enable_msrn_lookup (bool): effectiveEnableMSRNLookup
        effective_enable_mobile_state_checking (bool): effectiveEnableMobileStateChecking
        effective_enable_announcement_suppression (bool):
            effectiveEnableAnnouncementSuppression
        effective_deny_call_originations (bool): effectiveDenyCallOriginations
        effective_deny_call_terminations (bool): effectiveDenyCallTerminations
        devices_to_ring (str): devicesToRing
        include_shared_call_appearance (bool): includeSharedCallAppearance
        include_broadworks_anywhere (bool): includeBroadworksAnywhere
        include_executive_assistant (bool): includeExecutiveAssistant
        enable_call_anchoring (bool): enableCallAnchoring
        time_schedule (OCI.timeSchedule): timeSchedule *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        outbound_alternate_number (str): outboundAlternateNumber *Optional*
        enable_direct_routing (bool): enableDirectRouting
        mark_cdr_as_enterprise_group_calls (bool): markCDRAsEnterpriseGroupCalls
        use_mobility_connected_identity (bool): useMobilityConnectedIdentity
        network_translation_index (str): networkTranslationIndex *Optional*
        mobile_number_alerted_table (List(mobileNumberAlertedTable)):
            mobileNumberAlertedTable - *Table* array of mobileNumberAlertedTable named
            tuples
    """

    __slots__: List[str] = [
        "description",
        "is_primary",
        "enable_alerting",
        "alert_agent_calls",
        "alert_click_to_dial_calls",
        "alert_group_paging_calls",
        "use_mobility_calling_line_id",
        "enable_diversion_inhibitor",
        "require_answer_confirmation",
        "broadworks_call_control",
        "use_setting_level",
        "deny_call_originations",
        "deny_call_terminations",
        "effective_enable_location_services",
        "effective_enable_msrn_lookup",
        "effective_enable_mobile_state_checking",
        "effective_enable_announcement_suppression",
        "effective_deny_call_originations",
        "effective_deny_call_terminations",
        "devices_to_ring",
        "include_shared_call_appearance",
        "include_broadworks_anywhere",
        "include_executive_assistant",
        "enable_call_anchoring",
        "time_schedule",
        "holiday_schedule",
        "access_device_endpoint",
        "outbound_alternate_number",
        "enable_direct_routing",
        "mark_cdr_as_enterprise_group_calls",
        "use_mobility_connected_identity",
        "network_translation_index",
        "mobile_number_alerted_table",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E("is_primary", "isPrimary", bool, is_required=True),
            E("enable_alerting", "enableAlerting", bool, is_required=True),
            E("alert_agent_calls", "alertAgentCalls", bool, is_required=True),
            E(
                "alert_click_to_dial_calls",
                "alertClickToDialCalls",
                bool,
                is_required=True,
            ),
            E(
                "alert_group_paging_calls",
                "alertGroupPagingCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_calling_line_id",
                "useMobilityCallingLineID",
                bool,
                is_required=True,
            ),
            E(
                "enable_diversion_inhibitor",
                "enableDiversionInhibitor",
                bool,
                is_required=True,
            ),
            E(
                "require_answer_confirmation",
                "requireAnswerConfirmation",
                bool,
                is_required=True,
            ),
            E(
                "broadworks_call_control",
                "broadworksCallControl",
                bool,
                is_required=True,
            ),
            E("use_setting_level", "useSettingLevel", str, is_required=True),
            E("deny_call_originations", "denyCallOriginations", bool, is_required=True),
            E("deny_call_terminations", "denyCallTerminations", bool, is_required=True),
            E(
                "effective_enable_location_services",
                "effectiveEnableLocationServices",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_msrn_lookup",
                "effectiveEnableMSRNLookup",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_mobile_state_checking",
                "effectiveEnableMobileStateChecking",
                bool,
                is_required=True,
            ),
            E(
                "effective_enable_announcement_suppression",
                "effectiveEnableAnnouncementSuppression",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_originations",
                "effectiveDenyCallOriginations",
                bool,
                is_required=True,
            ),
            E(
                "effective_deny_call_terminations",
                "effectiveDenyCallTerminations",
                bool,
                is_required=True,
            ),
            E("devices_to_ring", "devicesToRing", str, is_required=True),
            E(
                "include_shared_call_appearance",
                "includeSharedCallAppearance",
                bool,
                is_required=True,
            ),
            E(
                "include_broadworks_anywhere",
                "includeBroadworksAnywhere",
                bool,
                is_required=True,
            ),
            E(
                "include_executive_assistant",
                "includeExecutiveAssistant",
                bool,
                is_required=True,
            ),
            E("enable_call_anchoring", "enableCallAnchoring", bool, is_required=True),
            E("time_schedule", "timeSchedule", OCI.ScheduleGlobalKey, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.ScheduleGlobalKey,
                is_complex=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead22V2,
                is_complex=True,
            ),
            E("outbound_alternate_number", "outboundAlternateNumber", str),
            E("enable_direct_routing", "enableDirectRouting", bool, is_required=True),
            E(
                "mark_cdr_as_enterprise_group_calls",
                "markCDRAsEnterpriseGroupCalls",
                bool,
                is_required=True,
            ),
            E(
                "use_mobility_connected_identity",
                "useMobilityConnectedIdentity",
                bool,
                is_required=True,
            ),
            E("network_translation_index", "networkTranslationIndex", str),
            E(
                "mobile_number_alerted_table",
                "mobileNumberAlertedTable",
                list,
                is_complex=True,
                is_required=True,
                is_table=True,
            ),
        )


class UserCommPilotExpressGetResponse(OCIResponse):
    """
    Response to the `UserCommPilotExpressGetRequest()`.


    Attributes:
        profile (str): profile *Optional*
        available_in_office (OCI.availableInOffice): availableInOffice
        available_out_of_office (OCI.availableOutOfOffice): availableOutOfOffice
        busy (OCI.busy): busy
        unavailable (OCI.unavailable): unavailable
    """

    __slots__: List[str] = [
        "profile",
        "available_in_office",
        "available_out_of_office",
        "busy",
        "unavailable",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("profile", "profile", str),
            E(
                "available_in_office",
                "availableInOffice",
                OCI.CommPilotExpressAvailableInOffice,
                is_complex=True,
                is_required=True,
            ),
            E(
                "available_out_of_office",
                "availableOutOfOffice",
                OCI.CommPilotExpressAvailableOutOfOffice,
                is_complex=True,
                is_required=True,
            ),
            E(
                "busy",
                "busy",
                OCI.CommPilotExpressBusy,
                is_complex=True,
                is_required=True,
            ),
            E(
                "unavailable",
                "unavailable",
                OCI.CommPilotExpressUnavailable,
                is_complex=True,
                is_required=True,
            ),
        )


class UserFlexibleSeatingGuestGetResponse(OCIResponse):
    """
    Response to `UserFlexibleSeatingGuestGetRequest()`.


    Attributes:
        is_active (bool): isActive
        enable_association_limit (bool): enableAssociationLimit
        association_limit_hours (int): associationLimitHours
        unlock_phone_pin_code (str): unlockPhonePINCode *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        host_user_id (str): hostUserId *Optional*
        host_last_name (str): hostLastName *Optional*
        host_first_name (str): hostFirstName *Optional*
        host_association_date_time (str): hostAssociationDateTime *Optional*
        host_enforces_association_limit (bool): hostEnforcesAssociationLimit *Optional*
        host_association_limit_hours (int): hostAssociationLimitHours *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "enable_association_limit",
        "association_limit_hours",
        "unlock_phone_pin_code",
        "access_device_endpoint",
        "host_user_id",
        "host_last_name",
        "host_first_name",
        "host_association_date_time",
        "host_enforces_association_limit",
        "host_association_limit_hours",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "enable_association_limit",
                "enableAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("unlock_phone_pin_code", "unlockPhonePINCode", str),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead20,
                is_complex=True,
            ),
            E("host_user_id", "hostUserId", str),
            E("host_last_name", "hostLastName", str),
            E("host_first_name", "hostFirstName", str),
            E("host_association_date_time", "hostAssociationDateTime", str),
            E("host_enforces_association_limit", "hostEnforcesAssociationLimit", bool),
            E("host_association_limit_hours", "hostAssociationLimitHours", int),
        )


class UserFlexibleSeatingGuestGetResponse22(OCIResponse):
    """
    Response to `UserFlexibleSeatingGuestGetRequest22()`.


    Attributes:
        is_active (bool): isActive
        enable_association_limit (bool): enableAssociationLimit
        association_limit_hours (int): associationLimitHours
        unlock_phone_pin_code (str): unlockPhonePINCode *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        host_user_id (str): hostUserId *Optional*
        host_last_name (str): hostLastName *Optional*
        host_first_name (str): hostFirstName *Optional*
        host_association_date_time (str): hostAssociationDateTime *Optional*
        host_enforces_association_limit (bool): hostEnforcesAssociationLimit *Optional*
        host_association_limit_hours (int): hostAssociationLimitHours *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "enable_association_limit",
        "association_limit_hours",
        "unlock_phone_pin_code",
        "access_device_endpoint",
        "host_user_id",
        "host_last_name",
        "host_first_name",
        "host_association_date_time",
        "host_enforces_association_limit",
        "host_association_limit_hours",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "enable_association_limit",
                "enableAssociationLimit",
                bool,
                is_required=True,
            ),
            E(
                "association_limit_hours",
                "associationLimitHours",
                int,
                is_required=True,
            ),
            E("unlock_phone_pin_code", "unlockPhonePINCode", str),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead22,
                is_complex=True,
            ),
            E("host_user_id", "hostUserId", str),
            E("host_last_name", "hostLastName", str),
            E("host_first_name", "hostFirstName", str),
            E("host_association_date_time", "hostAssociationDateTime", str),
            E("host_enforces_association_limit", "hostEnforcesAssociationLimit", bool),
            E("host_association_limit_hours", "hostAssociationLimitHours", int),
        )


class UserGetResponse14(OCIResponse):
    """
    Response to `UserGetRequest14()`.

    The callingLineIdPhoneNumber is no longer being formatted for display purpose.  The
    value is returned exactly the same as being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_group_device_endpoint (OCI.trunkGroupDeviceEndpoint):
            trunkGroupDeviceEndpoint *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_group_device_endpoint",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_group_device_endpoint",
                "trunkGroupDeviceEndpoint",
                OCI.TrunkGroupDeviceEndpointRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
        )


class UserGetResponse14sp4(OCIResponse):
    """
    Response to `UserGetRequest14sp4()`.

    The callingLineIdPhoneNumber is no longer being formatted for display purpose.  The
    value is returned exactly the same as being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_group_device_endpoint (OCI.trunkGroupDeviceEndpoint):
            trunkGroupDeviceEndpoint *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode *Optional*
        national_prefix (str): nationalPrefix *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_group_device_endpoint",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_group_device_endpoint",
                "trunkGroupDeviceEndpoint",
                OCI.TrunkGroupDeviceEndpointRead14sp4,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str),
            E("national_prefix", "nationalPrefix", str),
        )


class UserGetResponse14sp9(OCIResponse):
    """
    Response to `UserGetRequest14sp9()`.

    The callingLineIdPhoneNumber is no longer being formatted for display purpose.  The
    value is returned exactly the same as being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode *Optional*
        national_prefix (str): nationalPrefix *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str),
            E("national_prefix", "nationalPrefix", str),
        )


class UserGetResponse15sp2(OCIResponse):
    """
    Response to `UserGetRequest15sp2()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The callingLineIdPhoneNumber is no longer
    being formatted for display purpose.  The value is returned exactly the same as being
    stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode *Optional*
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
        )


class UserGetResponse17(OCIResponse):
    """
    Replaced By `UserGetResponse17sp4()` Response to `UserGetRequest17()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The callingLineIdPhoneNumber is no longer
    being formatted for display purpose.  The value is returned exactly the same as being
    stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode *Optional*
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
        )


class UserGetResponse17sp3(OCIResponse):
    """
    Replaced By `UserGetRequest18()` Response to `UserGetRequest17sp3()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The callingLineIdPhoneNumber is no longer
    being formatted for display purpose.  The value is returned exactly the same as being
    stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode *Optional*
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
        )


class UserGetResponse17sp4(OCIResponse):
    """
    Replaced By `UserGetResponse18()` Response to `UserGetRequest17sp4()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following elements are only used in
    AS data mode and not returned in XS data mode: contact[2]-contact[5] The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.  The callingLineIdPhoneNumber is no
    longer being formatted for display purpose.  The value is returned exactly the same as
    being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
        )


class UserGetResponse18(OCIResponse):
    """
    Response to `UserGetRequest18()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following elements are only used in
    AS data mode and not returned in XS data mode: contact[2]-contact[5] The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.  The callingLineIdPhoneNumber is no
    longer being formatted for display purpose.  The value is returned exactly the same as
    being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
        )


class UserGetResponse19(OCIResponse):
    """
    Response to `UserGetRequest19()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following elements are only used in
    AS data mode and not returned in XS data mode: contact[2]-contact[5] The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.  The callingLineIdPhoneNumber is no
    longer being formatted for display purpose.  The value is returned exactly the same as
    being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead19,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
        )


class UserGetResponse20(OCIResponse):
    """
    Response to `UserGetRequest20()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following elements are only used in
    AS data mode and not returned in XS data mode: contact[2]-contact[5] The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleContactEndpointRead20,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
        )


class UserGetResponse21(OCIResponse):
    """
    Response to `UserGetRequest21()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode: contact[2]-contact[5] nameDialingName The following data elements are
    only used in XS data mode: alternateTrunkIdentityDomain The country code (countryCode)
    included is the user's phone number country code when the user has a phone number
    assigned, or the user's Group associated country code when the user does not have a
    phone number assigned, or the system default country code when the user's Group does
    not have an associated country code.  The nationalPrefix in this response is the one
    associated to the included countryCode.  The callingLineIdPhoneNumber is no longer
    being formatted for display purpose.  The value is returned exactly the same as being
    stored.  Replaced by `UserGetResponse21sp1()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
        )


class UserGetResponse21sp1(OCIResponse):
    """
    Response to `UserGetRequest21sp1()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5]
    nameDialingName alternateUserId The following data elements are only used in XS data
    mode: alternateTrunkIdentityDomain The country code (countryCode) included is the
    user's phone number country code when the user has a phone number assigned, or the
    user's Group associated country code when the user does not have a phone number
    assigned, or the system default country code when the user's Group does not have an
    associated country code.  The nationalPrefix in this response is the one associated to
    the included countryCode.  The callingLineIdPhoneNumber is no longer being formatted
    for display purpose.  The value is returned exactly the same as being stored.
    Replaced by `UserGetResponse22()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserGetResponse22(OCIResponse):
    """
    Response to `UserGetRequest22()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5]
    nameDialingName alternateUserId The following elements are only used in AS data mode:
    userId The following data elements are only used in XS data mode:
    alternateTrunkIdentityDomain The userId returned in this response is the user's
    primary userId and may not be the userId passed in the request.  The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.  The callingLineIdPhoneNumber is no
    longer being formatted for display purpose.  The value is returned exactly the same as
    being stored.  Replaced by `UserGetResponse22V2()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserGetResponse22V2(OCIResponse):
    """
    Response to `UserGetRequest22V2()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5]
    nameDialingName alternateUserId resellerId The following data elements are only used
    in XS data mode: alternateTrunkIdentityDomain The following data elements are only
    used in AS data mode: userId The userId returned in this response is the user's
    primary userId and may not be the userId passed in the request.  The country code
    (countryCode) included is the user's phone number country code when the user has a
    phone number assigned, or the user's Group associated country code when the user does
    not have a phone number assigned, or the system default country code when the user's
    Group does not have an associated country code.  The nationalPrefix in this response
    is the one associated to the included countryCode.  The callingLineIdPhoneNumber is no
    longer being formatted for display purpose.  The value is returned exactly the same as
    being stored.  Replaced by: `UserGetResponse22V3()` in AS data mode.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("reseller_id", "resellerId", str),
        )


class UserGetResponse22V3(OCIResponse):
    """
    Response to `UserGetRequest22V3()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId The following data elements are only used
    in XS data mode: alternateTrunkIdentityDomain The following data elements are only
    used in AS data mode: userId resellerId The userId returned in this response is the
    user's primary userId and may not be the userId passed in the request.  The country
    code (countryCode) included is the user's phone number country code when the user has
    a phone number assigned, or the user's Group associated country code when the user
    does not have a phone number assigned, or the system default country code when the
    user's Group does not have an associated country code.  The nationalPrefix in this
    response is the one associated to the included countryCode.  The
    callingLineIdPhoneNumber is no longer being formatted for display purpose.  The value
    is returned exactly the same as being stored.  Replaced by: `UserGetResponse22V4()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21sp1,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("reseller_id", "resellerId", str),
        )


class UserGetResponse22V4(OCIResponse):
    """
    Response to `UserGetRequest22V4()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId The following data elements are only used
    in XS data mode: alternateTrunkIdentityDomain The following data elements are only
    used in AS data mode: userId resellerId The following data elements are only used in
    XS data mode: alternateTrunkIdentityDomain allowVideo, value "true" is returned in AS
    data mode.  The userId returned in this response is the user's primary userId and may
    not be the userId passed in the request.  The country code (countryCode) included is
    the user's phone number country code when the user has a phone number assigned, or the
    user's Group associated country code when the user does not have a phone number
    assigned, or the system default country code when the user's Group does not have an
    associated country code.  The nationalPrefix in this response is the one associated to
    the included countryCode.  The callingLineIdPhoneNumber is no longer being formatted
    for display purpose.  The value is returned exactly the same as being stored.
    Replaced by: `UserGetResponse22V5()` in AS data mode

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        allow_video (bool): allowVideo
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "allow_video",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead21sp1,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("allow_video", "allowVideo", bool, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class UserIncomingCallingPlanGetResponse(OCIResponse):
    """
    Response to `UserIncomingCallingPlanGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.IncomingCallingPlanPermissions,
                is_complex=True,
                is_required=True,
            ),
        )


class UserOutgoingCallingPlanDigitPlanCallMeNowGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanDigitPlanCallMeNowGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanDigitPatternCallMeNowPermissions,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanDigitPlanOriginatingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanDigitPlanOriginatingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanDigitPatternOriginatingPermissions,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanDigitPlanRedirectingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanDigitPlanRedirectingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingCallingPlanDigitPatternRedirectingPermissions,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanPinholeDigitPlanCallMeNowGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanPinholeDigitPlanCallMeNowGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternCallMeNowPermissions,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanPinholeDigitPlanOriginatingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanPinholeDigitPlanOriginatingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternOriginatingPermissions,
                is_complex=True,
            ),
        )


class UserOutgoingCallingPlanPinholeDigitPlanRedirectingGetResponse(OCIResponse):
    """
    Response to `UserOutgoingCallingPlanPinholeDigitPlanRedirectingGetRequest()`.


    Attributes:
        use_custom_settings (bool): useCustomSettings
        user_permissions (OCI.userPermissions): userPermissions *Optional*
    """

    __slots__: List[str] = [
        "use_custom_settings",
        "user_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("use_custom_settings", "useCustomSettings", bool, is_required=True),
            E(
                "user_permissions",
                "userPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternRedirectingPermissions,
                is_complex=True,
            ),
        )


class UserScheduleGetEventDetailListResponse(OCIResponse):
    """
    Response to `UserScheduleGetEventRequest()`.

    The response contains collection of event details of a requested schedule.

    Attributes:
        schedule_events (List[OCI.scheduleEvents]): scheduleEvents *Optional*
    """

    __slots__: List[str] = [
        "schedule_events",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_events",
                "scheduleEvents",
                OCI.ScheduleEvents,
                is_complex=True,
                is_array=True,
            ),
        )


class UserScheduleGetListResponse17sp1(OCIResponse):
    """
    Response to `UserScheduleGetListRequest17sp1()`.

    The response contains a list of schedules viewable by the user.  It contains the
    schedules defined for the user and the group the user belongs to.  If the user belongs
    to an enterprise, the list also contains the schedules defined for the enterprise.

    Attributes:
        schedule_global_key (List[OCI.scheduleGlobalKey]): scheduleGlobalKey *Optional*
    """

    __slots__: List[str] = [
        "schedule_global_key",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "schedule_global_key",
                "scheduleGlobalKey",
                OCI.ScheduleGlobalKey,
                is_complex=True,
                is_array=True,
            ),
        )


class UserShInterfaceGetUserIdDataResponse(OCIResponse):
    """
    Response to the `UserShInterfaceGetUserIdDataRequest()`.

    The response contains the Sh non-transparent data for the specified userId.  The data
    also includes a userType, publicUserIdentity and endpointType.  Replaced by:
    `UserShInterfaceGetUserIdDataResponse21sp1()` in AS data mode.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entry",
                "entry",
                OCI.ShInterfaceUserIdDataEntry,
                is_complex=True,
                is_array=True,
            ),
        )


class UserShInterfaceGetUserIdDataResponse21sp1(OCIResponse):
    """
    Response to the `UserShInterfaceGetUserIdDataRequest21sp1()`.

    The response contains the Sh non-transparent data for the specified userId.  The data
    also includes a userType, publicUserIdentity and endpointType.  The value Mobility in
    Endpoint Type is only applicable in AS data mode.

    Attributes:
        entry (List[OCI.entry]): entry *Optional*
    """

    __slots__: List[str] = [
        "entry",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "entry",
                "entry",
                OCI.ShInterfaceUserIdDataEntry21sp1,
                is_complex=True,
                is_array=True,
            ),
        )


class UserVideoAddOnGetResponse14(OCIResponse):
    """
    Response to the `UserVideoAddOnGetRequest14()`.


    Attributes:
        is_active (bool): isActive
        max_originating_call_delay_seconds (int): maxOriginatingCallDelaySeconds
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "max_originating_call_delay_seconds",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "max_originating_call_delay_seconds",
                "maxOriginatingCallDelaySeconds",
                int,
                is_required=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointRead14,
                is_complex=True,
            ),
        )


class UserVideoAddOnGetResponse19(OCIResponse):
    """
    Response to the `UserVideoAddOnGetRequest19()`.


    Attributes:
        is_active (bool): isActive
        max_originating_call_delay_seconds (int): maxOriginatingCallDelaySeconds
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "max_originating_call_delay_seconds",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "max_originating_call_delay_seconds",
                "maxOriginatingCallDelaySeconds",
                int,
                is_required=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead,
                is_complex=True,
            ),
        )


class UserVideoAddOnGetResponse22(OCIResponse):
    """
    Response to the `UserVideoAddOnGetRequest22()`.


    Attributes:
        is_active (bool): isActive
        max_originating_call_delay_seconds (int): maxOriginatingCallDelaySeconds
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
    """

    __slots__: List[str] = [
        "is_active",
        "max_originating_call_delay_seconds",
        "access_device_endpoint",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("is_active", "isActive", bool, is_required=True),
            E(
                "max_originating_call_delay_seconds",
                "maxOriginatingCallDelaySeconds",
                int,
                is_required=True,
            ),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceEndpointWithPortNumberRead22,
                is_complex=True,
            ),
        )


class UserVoiceMessagingUserGetGreetingResponse20(OCIResponse):
    """
    Response to `UserVoiceMessagingUserGetGreetingRequest20()`.

    Contains the greeting configuration for a user's voice messaging.  The following
    elements are only used in AS data mode: disableMessageDeposit
    disableMessageDepositAction greetingOnlyForwardDestination extendedAwayEnabled
    extendedAwayDisableMessageDeposit extendedAwayAudioFile extendedAwayAudioMediaType
    extendedAwayVideoFile extendedAwayVideoMediaTyp

    Attributes:
        busy_announcement_selection (str): busyAnnouncementSelection
        busy_personal_audio_file (OCI.busyPersonalAudioFile): busyPersonalAudioFile
            *Optional*
        busy_personal_video_file (OCI.busyPersonalVideoFile): busyPersonalVideoFile
            *Optional*
        no_answer_announcement_selection (str): noAnswerAnnouncementSelection
        no_answer_personal_audio_file (OCI.noAnswerPersonalAudioFile):
            noAnswerPersonalAudioFile *Optional*
        no_answer_personal_video_file (OCI.noAnswerPersonalVideoFile):
            noAnswerPersonalVideoFile *Optional*
        no_answer_alternate_greeting01 (OCI.noAnswerAlternateGreeting01):
            noAnswerAlternateGreeting01 *Optional*
        no_answer_alternate_greeting02 (OCI.noAnswerAlternateGreeting02):
            noAnswerAlternateGreeting02 *Optional*
        no_answer_alternate_greeting03 (OCI.noAnswerAlternateGreeting03):
            noAnswerAlternateGreeting03 *Optional*
        extended_away_enabled (bool): extendedAwayEnabled
        extended_away_disable_message_deposit (bool): extendedAwayDisableMessageDeposit
        extended_away_audio_file (OCI.extendedAwayAudioFile): extendedAwayAudioFile
            *Optional*
        extended_away_video_file (OCI.extendedAwayVideoFile): extendedAwayVideoFile
            *Optional*
        no_answer_number_of_rings (int): noAnswerNumberOfRings
        disable_message_deposit (bool): disableMessageDeposit
        disable_message_deposit_action (str): disableMessageDepositAction
        greeting_only_forward_destination (str): greetingOnlyForwardDestination *Optional*
    """

    __slots__: List[str] = [
        "busy_announcement_selection",
        "busy_personal_audio_file",
        "busy_personal_video_file",
        "no_answer_announcement_selection",
        "no_answer_personal_audio_file",
        "no_answer_personal_video_file",
        "no_answer_alternate_greeting01",
        "no_answer_alternate_greeting02",
        "no_answer_alternate_greeting03",
        "extended_away_enabled",
        "extended_away_disable_message_deposit",
        "extended_away_audio_file",
        "extended_away_video_file",
        "no_answer_number_of_rings",
        "disable_message_deposit",
        "disable_message_deposit_action",
        "greeting_only_forward_destination",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "busy_announcement_selection",
                "busyAnnouncementSelection",
                str,
                is_required=True,
            ),
            E(
                "busy_personal_audio_file",
                "busyPersonalAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "busy_personal_video_file",
                "busyPersonalVideoFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "no_answer_announcement_selection",
                "noAnswerAnnouncementSelection",
                str,
                is_required=True,
            ),
            E(
                "no_answer_personal_audio_file",
                "noAnswerPersonalAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "no_answer_personal_video_file",
                "noAnswerPersonalVideoFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting01",
                "noAnswerAlternateGreeting01",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead20,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting02",
                "noAnswerAlternateGreeting02",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead20,
                is_complex=True,
            ),
            E(
                "no_answer_alternate_greeting03",
                "noAnswerAlternateGreeting03",
                OCI.VoiceMessagingAlternateNoAnswerGreetingRead20,
                is_complex=True,
            ),
            E("extended_away_enabled", "extendedAwayEnabled", bool, is_required=True),
            E(
                "extended_away_disable_message_deposit",
                "extendedAwayDisableMessageDeposit",
                bool,
                is_required=True,
            ),
            E(
                "extended_away_audio_file",
                "extendedAwayAudioFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "extended_away_video_file",
                "extendedAwayVideoFile",
                OCI.AnnouncementFileLevelKey,
                is_complex=True,
            ),
            E(
                "no_answer_number_of_rings",
                "noAnswerNumberOfRings",
                int,
                is_required=True,
            ),
            E(
                "disable_message_deposit",
                "disableMessageDeposit",
                bool,
                is_required=True,
            ),
            E(
                "disable_message_deposit_action",
                "disableMessageDepositAction",
                str,
                is_required=True,
            ),
            E(
                "greeting_only_forward_destination",
                "greetingOnlyForwardDestination",
                str,
            ),
        )


class EnterpriseCallCenterEnhancedReportingScheduledReportGetResponse(OCIResponse):
    """
    Response to `EnterpriseCallCenterEnhancedReportingScheduledReportGetRequest()`.


    Attributes:
        description (str): description *Optional*
        report_template (OCI.reportTemplate): reportTemplate
        schedule (OCI.schedule): schedule
        sampling_period (str): samplingPeriod *Optional*
        start_day_of_week (str): startDayOfWeek *Optional*
        report_time_zone (str): reportTimeZone
        report_date_format (str): reportDateFormat
        report_time_format (str): reportTimeFormat
        report_interval (OCI.reportInterval): reportInterval
        report_format (str): reportFormat
        agent (OCI.agent): agent *Optional*
        call_center (OCI.callCenter): callCenter *Optional*
        dnis (OCI.dnis): dnis *Optional*
        call_completion_threshold_seconds (int): callCompletionThresholdSeconds *Optional*
        short_duration_threshold_seconds (int): shortDurationThresholdSeconds *Optional*
        service_level_threshold_seconds (List[int]): serviceLevelThresholdSeconds
            *Optional*
        service_level_inclusions (OCI.serviceLevelInclusions): serviceLevelInclusions
            *Optional*
        service_level_objective_percentage (int): serviceLevelObjectivePercentage
            *Optional*
        abandoned_call_threshold_seconds (List[int]): abandonedCallThresholdSeconds
            *Optional*
        email_address (List[str]): emailAddress
    """

    __slots__: List[str] = [
        "description",
        "report_template",
        "schedule",
        "sampling_period",
        "start_day_of_week",
        "report_time_zone",
        "report_date_format",
        "report_time_format",
        "report_interval",
        "report_format",
        "agent",
        "call_center",
        "dnis",
        "call_completion_threshold_seconds",
        "short_duration_threshold_seconds",
        "service_level_threshold_seconds",
        "service_level_inclusions",
        "service_level_objective_percentage",
        "abandoned_call_threshold_seconds",
        "email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "report_template",
                "reportTemplate",
                OCI.CallCenterReportTemplateKey,
                is_complex=True,
                is_required=True,
            ),
            E(
                "schedule",
                "schedule",
                OCI.CallCenterReportSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("sampling_period", "samplingPeriod", str),
            E("start_day_of_week", "startDayOfWeek", str),
            E("report_time_zone", "reportTimeZone", str, is_required=True),
            E("report_date_format", "reportDateFormat", str, is_required=True),
            E("report_time_format", "reportTimeFormat", str, is_required=True),
            E(
                "report_interval",
                "reportInterval",
                OCI.CallCenterReportInterval,
                is_complex=True,
                is_required=True,
            ),
            E("report_format", "reportFormat", str, is_required=True),
            E(
                "agent",
                "agent",
                OCI.CallCenterScheduledReportAgentSelectionAdminRead,
                is_complex=True,
            ),
            E(
                "call_center",
                "callCenter",
                OCI.CallCenterScheduledReportCallCenterSelectionRead,
                is_complex=True,
            ),
            E(
                "dnis",
                "dnis",
                OCI.CallCenterScheduledReportDNISSelectionRead,
                is_complex=True,
            ),
            E(
                "call_completion_threshold_seconds",
                "callCompletionThresholdSeconds",
                int,
            ),
            E("short_duration_threshold_seconds", "shortDurationThresholdSeconds", int),
            E(
                "service_level_threshold_seconds",
                "serviceLevelThresholdSeconds",
                int,
                is_array=True,
            ),
            E(
                "service_level_inclusions",
                "serviceLevelInclusions",
                OCI.CallCenterScheduledReportServiceLevelInclusions,
                is_complex=True,
            ),
            E(
                "service_level_objective_percentage",
                "serviceLevelObjectivePercentage",
                int,
            ),
            E(
                "abandoned_call_threshold_seconds",
                "abandonedCallThresholdSeconds",
                int,
                is_array=True,
            ),
            E("email_address", "emailAddress", str, is_required=True, is_array=True),
        )


class GroupAutoAttendantGetInstanceResponse19(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest19()`.

    Contains the service profile information.  The following elements are only used in AS
    data mode: type, value "Basic" is returned in XS data mode The following elements are
    only used in AS data mode and not returned in XS data mode: holidayMenu The following
    elements are only valid for Standard Auto Attendants: holidayMenu Replaced by:
    `GroupAutoAttendantGetInstanceResponse19sp1()` in AS data mode

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        enable_video (bool): enableVideo
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
        holiday_menu (OCI.holidayMenu): holidayMenu *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "enable_video",
        "business_hours",
        "holiday_schedule",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
        "holiday_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "holiday_menu",
                "holidayMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse19sp1(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest19sp1()`.

    Contains the service profile information.  The following elements are only used in AS
    data mode: type, value "Basic" is returned in XS data mode The following elements are
    only used in AS data mode and not returned in XS data mode: holidayMenu The following
    elementsare only valid for Standard Auto Attendants: holidayMenu Replaced by:
    `GroupAutoAttendantGetInstanceResponse20()` in AS data mode

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        enable_video (bool): enableVideo
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
        holiday_menu (OCI.holidayMenu): holidayMenu *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "enable_video",
        "business_hours",
        "holiday_schedule",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
        "holiday_menu",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "holiday_menu",
                "holidayMenu",
                OCI.AutoAttendantReadMenu19,
                is_complex=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


class GroupAutoAttendantSubmenuGetResponse20(OCIResponse):
    """
    Response to `GroupAutoAttendantSubmenuGetRequest20()`.

    Contains AutoAttendant submenu information.

    Attributes:
        announcement_selection (str): announcementSelection
        audio_file (OCI.audioFile): audioFile *Optional*
        video_file (OCI.videoFile): videoFile *Optional*
        enable_level_extension_dialing (bool): enableLevelExtensionDialing
        key_configuration (List[OCI.keyConfiguration]): keyConfiguration *Optional*
    """

    __slots__: List[str] = [
        "announcement_selection",
        "audio_file",
        "video_file",
        "enable_level_extension_dialing",
        "key_configuration",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("announcement_selection", "announcementSelection", str, is_required=True),
            E("audio_file", "audioFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E("video_file", "videoFile", OCI.AnnouncementFileLevelKey, is_complex=True),
            E(
                "enable_level_extension_dialing",
                "enableLevelExtensionDialing",
                bool,
                is_required=True,
            ),
            E(
                "key_configuration",
                "keyConfiguration",
                OCI.AutoAttendantKeyReadConfiguration20,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupCallCenterEnhancedReportingScheduledReportGetResponse(OCIResponse):
    """
    Response to `GroupCallCenterEnhancedReportingScheduledReportGetRequest()`.


    Attributes:
        description (str): description *Optional*
        report_template (OCI.reportTemplate): reportTemplate
        schedule (OCI.schedule): schedule
        sampling_period (str): samplingPeriod *Optional*
        start_day_of_week (str): startDayOfWeek *Optional*
        report_time_zone (str): reportTimeZone
        report_date_format (str): reportDateFormat
        report_time_format (str): reportTimeFormat
        report_interval (OCI.reportInterval): reportInterval
        report_format (str): reportFormat
        agent (OCI.agent): agent *Optional*
        call_center (OCI.callCenter): callCenter *Optional*
        dnis (OCI.dnis): dnis *Optional*
        call_completion_threshold_seconds (int): callCompletionThresholdSeconds *Optional*
        short_duration_threshold_seconds (int): shortDurationThresholdSeconds *Optional*
        service_level_threshold_seconds (List[int]): serviceLevelThresholdSeconds
            *Optional*
        service_level_inclusions (OCI.serviceLevelInclusions): serviceLevelInclusions
            *Optional*
        service_level_objective_percentage (int): serviceLevelObjectivePercentage
            *Optional*
        abandoned_call_threshold_seconds (List[int]): abandonedCallThresholdSeconds
            *Optional*
        email_address (List[str]): emailAddress
    """

    __slots__: List[str] = [
        "description",
        "report_template",
        "schedule",
        "sampling_period",
        "start_day_of_week",
        "report_time_zone",
        "report_date_format",
        "report_time_format",
        "report_interval",
        "report_format",
        "agent",
        "call_center",
        "dnis",
        "call_completion_threshold_seconds",
        "short_duration_threshold_seconds",
        "service_level_threshold_seconds",
        "service_level_inclusions",
        "service_level_objective_percentage",
        "abandoned_call_threshold_seconds",
        "email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "report_template",
                "reportTemplate",
                OCI.CallCenterReportTemplateKey,
                is_complex=True,
                is_required=True,
            ),
            E(
                "schedule",
                "schedule",
                OCI.CallCenterReportSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("sampling_period", "samplingPeriod", str),
            E("start_day_of_week", "startDayOfWeek", str),
            E("report_time_zone", "reportTimeZone", str, is_required=True),
            E("report_date_format", "reportDateFormat", str, is_required=True),
            E("report_time_format", "reportTimeFormat", str, is_required=True),
            E(
                "report_interval",
                "reportInterval",
                OCI.CallCenterReportInterval,
                is_complex=True,
                is_required=True,
            ),
            E("report_format", "reportFormat", str, is_required=True),
            E(
                "agent",
                "agent",
                OCI.CallCenterScheduledReportAgentSelectionAdminRead,
                is_complex=True,
            ),
            E(
                "call_center",
                "callCenter",
                OCI.CallCenterScheduledReportCallCenterSelectionRead,
                is_complex=True,
            ),
            E(
                "dnis",
                "dnis",
                OCI.CallCenterScheduledReportDNISSelectionRead,
                is_complex=True,
            ),
            E(
                "call_completion_threshold_seconds",
                "callCompletionThresholdSeconds",
                int,
            ),
            E("short_duration_threshold_seconds", "shortDurationThresholdSeconds", int),
            E(
                "service_level_threshold_seconds",
                "serviceLevelThresholdSeconds",
                int,
                is_array=True,
            ),
            E(
                "service_level_inclusions",
                "serviceLevelInclusions",
                OCI.CallCenterScheduledReportServiceLevelInclusions,
                is_complex=True,
            ),
            E(
                "service_level_objective_percentage",
                "serviceLevelObjectivePercentage",
                int,
            ),
            E(
                "abandoned_call_threshold_seconds",
                "abandonedCallThresholdSeconds",
                int,
                is_array=True,
            ),
            E("email_address", "emailAddress", str, is_required=True, is_array=True),
        )


class GroupCallCenterGetAnnouncementResponse16(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest16()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_audio_file_url (str): entranceAudioFileUrl *Optional*
        entrance_message_audio_file_description (str): entranceMessageAudioFileDescription
            *Optional*
        entrance_audio_file_media_type (str): entranceAudioFileMediaType *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_video_file_url (str): entranceVideoFileUrl *Optional*
        entrance_message_video_file_description (str): entranceMessageVideoFileDescription
            *Optional*
        entrance_video_file_media_type (str): entranceVideoFileMediaType *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_audio_file_url (str): periodicComfortAudioFileUrl *Optional*
        periodic_comfort_message_audio_file_description (str):
            periodicComfortMessageAudioFileDescription *Optional*
        periodic_comfort_audio_file_media_type (str): periodicComfortAudioFileMediaType
            *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_video_file_url (str): periodicComfortVideoFileUrl *Optional*
        periodic_comfort_message_video_file_description (str):
            periodicComfortMessageVideoFileDescription *Optional*
        periodic_comfort_video_file_media_type (str): periodicComfortVideoFileMediaType
            *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_audio_file_url",
        "entrance_message_audio_file_description",
        "entrance_audio_file_media_type",
        "entrance_video_message_selection",
        "entrance_video_file_url",
        "entrance_message_video_file_description",
        "entrance_video_file_media_type",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_audio_file_url",
        "periodic_comfort_message_audio_file_description",
        "periodic_comfort_audio_file_media_type",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_video_file_url",
        "periodic_comfort_message_video_file_description",
        "periodic_comfort_video_file_media_type",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E("entrance_audio_file_url", "entranceAudioFileUrl", str),
            E(
                "entrance_message_audio_file_description",
                "entranceMessageAudioFileDescription",
                str,
            ),
            E("entrance_audio_file_media_type", "entranceAudioFileMediaType", str),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E("entrance_video_file_url", "entranceVideoFileUrl", str),
            E(
                "entrance_message_video_file_description",
                "entranceMessageVideoFileDescription",
                str,
            ),
            E("entrance_video_file_media_type", "entranceVideoFileMediaType", str),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E("periodic_comfort_audio_file_url", "periodicComfortAudioFileUrl", str),
            E(
                "periodic_comfort_message_audio_file_description",
                "periodicComfortMessageAudioFileDescription",
                str,
            ),
            E(
                "periodic_comfort_audio_file_media_type",
                "periodicComfortAudioFileMediaType",
                str,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E("periodic_comfort_video_file_url", "periodicComfortVideoFileUrl", str),
            E(
                "periodic_comfort_message_video_file_description",
                "periodicComfortMessageVideoFileDescription",
                str,
            ),
            E(
                "periodic_comfort_video_file_media_type",
                "periodicComfortVideoFileMediaType",
                str,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead16,
                is_complex=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse17(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest17()`.

    Replaced by `GroupCallCenterGetAnnouncementResponse17sp4()`

    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
        play_whisper_message (bool): playWhisperMessage *Optional*
        whisper_audio_message_selection (str): whisperAudioMessageSelection *Optional*
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool),
            E("whisper_audio_message_selection", "whisperAudioMessageSelection", str),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse17sp4(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest17sp4()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
        play_whisper_message (bool): playWhisperMessage *Optional*
        whisper_audio_message_selection (str): whisperAudioMessageSelection *Optional*
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool),
            E("whisper_audio_message_selection", "whisperAudioMessageSelection", str),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse19(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest19()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
        play_whisper_message (bool): playWhisperMessage *Optional*
        whisper_audio_message_selection (str): whisperAudioMessageSelection *Optional*
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead19,
                is_complex=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool),
            E("whisper_audio_message_selection", "whisperAudioMessageSelection", str),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest20()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
        play_whisper_message (bool): playWhisperMessage *Optional*
        whisper_audio_message_selection (str): whisperAudioMessageSelection *Optional*
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead20,
                is_complex=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool),
            E("whisper_audio_message_selection", "whisperAudioMessageSelection", str),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetAnnouncementResponse22(OCIResponse):
    """
    Response to the `GroupCallCenterGetAnnouncementRequest22()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        media_on_hold_use_alternate_source_for_internal_calls (bool):
            mediaOnHoldUseAlternateSourceForInternalCalls *Optional*
        media_on_hold_internal_source (OCI.mediaOnHoldInternalSource):
            mediaOnHoldInternalSource *Optional*
        play_whisper_message (bool): playWhisperMessage *Optional*
        whisper_audio_message_selection (str): whisperAudioMessageSelection *Optional*
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "media_on_hold_use_alternate_source_for_internal_calls",
        "media_on_hold_internal_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
            E(
                "media_on_hold_use_alternate_source_for_internal_calls",
                "mediaOnHoldUseAlternateSourceForInternalCalls",
                bool,
            ),
            E(
                "media_on_hold_internal_source",
                "mediaOnHoldInternalSource",
                OCI.CallCenterMediaOnHoldSourceRead22,
                is_complex=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool),
            E("whisper_audio_message_selection", "whisperAudioMessageSelection", str),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetDNISAnnouncementResponse(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAnnouncementResponse()`.

    Replaced by `GroupCallCenterGetDNISAnnouncementResponse17sp4()`

    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        play_whisper_message (bool): playWhisperMessage
        whisper_audio_message_selection (str): whisperAudioMessageSelection
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool, is_required=True),
            E(
                "whisper_audio_message_selection",
                "whisperAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetDNISAnnouncementResponse17sp4(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAnnouncementResponse17sp4()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        play_whisper_message (bool): playWhisperMessage
        whisper_audio_message_selection (str): whisperAudioMessageSelection
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool, is_required=True),
            E(
                "whisper_audio_message_selection",
                "whisperAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetDNISAnnouncementResponse19(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAnnouncementRequest19()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_message_audio_media_type_list (OCI.entranceMessageAudioMediaTypeList):
            entranceMessageAudioMediaTypeList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        entrance_message_video_media_type_list (OCI.entranceMessageVideoMediaTypeList):
            entranceMessageVideoMediaTypeList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_message_audio_media_type_list
            (OCI.periodicComfortMessageAudioMediaTypeList):
            periodicComfortMessageAudioMediaTypeList *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        periodic_comfort_message_video_media_type_list
            (OCI.periodicComfortMessageVideoMediaTypeList):
            periodicComfortMessageVideoMediaTypeList *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        play_whisper_message (bool): playWhisperMessage
        whisper_audio_message_selection (str): whisperAudioMessageSelection
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_message_audio_media_type_list (OCI.whisperMessageAudioMediaTypeList):
            whisperMessageAudioMediaTypeList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        whisper_message_video_media_type_list (OCI.whisperMessageVideoMediaTypeList):
            whisperMessageVideoMediaTypeList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_message_audio_media_type_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "entrance_message_video_media_type_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_message_audio_media_type_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "periodic_comfort_message_video_media_type_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_message_audio_media_type_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "whisper_message_video_media_type_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_media_type_list",
                "entranceMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_media_type_list",
                "entranceMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_media_type_list",
                "periodicComfortMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_media_type_list",
                "periodicComfortMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool, is_required=True),
            E(
                "whisper_audio_message_selection",
                "whisperAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_media_type_list",
                "whisperMessageAudioMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementDescriptionList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_media_type_list",
                "whisperMessageVideoMediaTypeList",
                OCI.CallCenterAnnouncementMediaFileTypeList,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetDNISAnnouncementResponse20(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAnnouncementRequest20()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        play_whisper_message (bool): playWhisperMessage
        whisper_audio_message_selection (str): whisperAudioMessageSelection
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool, is_required=True),
            E(
                "whisper_audio_message_selection",
                "whisperAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupCallCenterGetDNISAnnouncementResponse22(OCIResponse):
    """
    Response to the `GroupCallCenterGetDNISAnnouncementRequest22()`.


    Attributes:
        play_entrance_message (bool): playEntranceMessage
        mandatory_entrance_message (bool): mandatoryEntranceMessage
        entrance_audio_message_selection (str): entranceAudioMessageSelection
        entrance_message_audio_url_list (OCI.entranceMessageAudioUrlList):
            entranceMessageAudioUrlList *Optional*
        entrance_message_audio_file_list (OCI.entranceMessageAudioFileList):
            entranceMessageAudioFileList *Optional*
        entrance_video_message_selection (str): entranceVideoMessageSelection *Optional*
        entrance_message_video_url_list (OCI.entranceMessageVideoUrlList):
            entranceMessageVideoUrlList *Optional*
        entrance_message_video_file_list (OCI.entranceMessageVideoFileList):
            entranceMessageVideoFileList *Optional*
        play_periodic_comfort_message (bool): playPeriodicComfortMessage
        time_between_comfort_messages_seconds (int): timeBetweenComfortMessagesSeconds
        periodic_comfort_audio_message_selection (str):
            periodicComfortAudioMessageSelection
        periodic_comfort_message_audio_url_list (OCI.periodicComfortMessageAudioUrlList):
            periodicComfortMessageAudioUrlList *Optional*
        periodic_comfort_message_audio_file_list
            (OCI.periodicComfortMessageAudioFileList): periodicComfortMessageAudioFileList
            *Optional*
        periodic_comfort_video_message_selection (str):
            periodicComfortVideoMessageSelection *Optional*
        periodic_comfort_message_video_url_list (OCI.periodicComfortMessageVideoUrlList):
            periodicComfortMessageVideoUrlList *Optional*
        periodic_comfort_message_video_file_list
            (OCI.periodicComfortMessageVideoFileList): periodicComfortMessageVideoFileList
            *Optional*
        enable_media_on_hold_for_queued_calls (bool): enableMediaOnHoldForQueuedCalls
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
        play_whisper_message (bool): playWhisperMessage
        whisper_audio_message_selection (str): whisperAudioMessageSelection
        whisper_message_audio_url_list (OCI.whisperMessageAudioUrlList):
            whisperMessageAudioUrlList *Optional*
        whisper_message_audio_file_list (OCI.whisperMessageAudioFileList):
            whisperMessageAudioFileList *Optional*
        whisper_video_message_selection (str): whisperVideoMessageSelection *Optional*
        whisper_message_video_url_list (OCI.whisperMessageVideoUrlList):
            whisperMessageVideoUrlList *Optional*
        whisper_message_video_file_list (OCI.whisperMessageVideoFileList):
            whisperMessageVideoFileList *Optional*
        estimated_wait_message_options_read (OCI.estimatedWaitMessageOptionsRead):
            estimatedWaitMessageOptionsRead
    """

    __slots__: List[str] = [
        "play_entrance_message",
        "mandatory_entrance_message",
        "entrance_audio_message_selection",
        "entrance_message_audio_url_list",
        "entrance_message_audio_file_list",
        "entrance_video_message_selection",
        "entrance_message_video_url_list",
        "entrance_message_video_file_list",
        "play_periodic_comfort_message",
        "time_between_comfort_messages_seconds",
        "periodic_comfort_audio_message_selection",
        "periodic_comfort_message_audio_url_list",
        "periodic_comfort_message_audio_file_list",
        "periodic_comfort_video_message_selection",
        "periodic_comfort_message_video_url_list",
        "periodic_comfort_message_video_file_list",
        "enable_media_on_hold_for_queued_calls",
        "media_on_hold_source",
        "play_whisper_message",
        "whisper_audio_message_selection",
        "whisper_message_audio_url_list",
        "whisper_message_audio_file_list",
        "whisper_video_message_selection",
        "whisper_message_video_url_list",
        "whisper_message_video_file_list",
        "estimated_wait_message_options_read",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("play_entrance_message", "playEntranceMessage", bool, is_required=True),
            E(
                "mandatory_entrance_message",
                "mandatoryEntranceMessage",
                bool,
                is_required=True,
            ),
            E(
                "entrance_audio_message_selection",
                "entranceAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "entrance_message_audio_url_list",
                "entranceMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_audio_file_list",
                "entranceMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("entrance_video_message_selection", "entranceVideoMessageSelection", str),
            E(
                "entrance_message_video_url_list",
                "entranceMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "entrance_message_video_file_list",
                "entranceMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "play_periodic_comfort_message",
                "playPeriodicComfortMessage",
                bool,
                is_required=True,
            ),
            E(
                "time_between_comfort_messages_seconds",
                "timeBetweenComfortMessagesSeconds",
                int,
                is_required=True,
            ),
            E(
                "periodic_comfort_audio_message_selection",
                "periodicComfortAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "periodic_comfort_message_audio_url_list",
                "periodicComfortMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_audio_file_list",
                "periodicComfortMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "periodic_comfort_video_message_selection",
                "periodicComfortVideoMessageSelection",
                str,
            ),
            E(
                "periodic_comfort_message_video_url_list",
                "periodicComfortMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "periodic_comfort_message_video_file_list",
                "periodicComfortMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "enable_media_on_hold_for_queued_calls",
                "enableMediaOnHoldForQueuedCalls",
                bool,
                is_required=True,
            ),
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
            E("play_whisper_message", "playWhisperMessage", bool, is_required=True),
            E(
                "whisper_audio_message_selection",
                "whisperAudioMessageSelection",
                str,
                is_required=True,
            ),
            E(
                "whisper_message_audio_url_list",
                "whisperMessageAudioUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_audio_file_list",
                "whisperMessageAudioFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E("whisper_video_message_selection", "whisperVideoMessageSelection", str),
            E(
                "whisper_message_video_url_list",
                "whisperMessageVideoUrlList",
                OCI.CallCenterAnnouncementURLList,
                is_complex=True,
            ),
            E(
                "whisper_message_video_file_list",
                "whisperMessageVideoFileList",
                OCI.CallCenterAnnouncementFileListRead20,
                is_complex=True,
            ),
            E(
                "estimated_wait_message_options_read",
                "estimatedWaitMessageOptionsRead",
                OCI.EstimatedWaitMessageOptionsRead17sp4,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupOutgoingCallingPlanDigitPlanCallMeNowGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanDigitPlanCallMeNowGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanDigitPatternCallMeNowPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanDigitPatternCallMeNowDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanDigitPlanOriginatingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanDigitPlanOriginatingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanDigitPatternOriginatingPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanDigitPatternOriginatingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanDigitPlanRedirectingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanDigitPlanRedirectingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingCallingPlanDigitPatternRedirectingPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingCallingPlanDigitPatternRedirectingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanPinholeDigitPlanCallMeNowGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanPinholeDigitPlanCallMeNowGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternCallMeNowPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternCallMeNowDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanPinholeDigitPlanOriginatingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanPinholeDigitPlanOriginatingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternOriginatingPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternOriginatingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupOutgoingCallingPlanPinholeDigitPlanRedirectingGetListResponse(OCIResponse):
    """
    Response to `GroupOutgoingCallingPlanPinholeDigitPlanRedirectingGetListRequest()`.


    Attributes:
        group_permissions (OCI.groupPermissions): groupPermissions *Optional*
        department_permissions (List[OCI.departmentPermissions]): departmentPermissions
            *Optional*
    """

    __slots__: List[str] = [
        "group_permissions",
        "department_permissions",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "group_permissions",
                "groupPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternRedirectingPermissions,
                is_complex=True,
            ),
            E(
                "department_permissions",
                "departmentPermissions",
                OCI.OutgoingPinholeDigitPlanDigitPatternRedirectingDepartmentPermissions,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupRoutePointGetAnnouncementResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetAnnouncementRequest()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetAnnouncementResponse19(OCIResponse):
    """
    Response to the `GroupRoutePointGetAnnouncementRequest19()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetAnnouncementResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointGetAnnouncementRequest20()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetAnnouncementResponse22(OCIResponse):
    """
    Response to the `GroupRoutePointGetAnnouncementRequest22()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetDNISAnnouncementResponse(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISAnnouncementRequest()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead17,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetDNISAnnouncementResponse19(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISAnnouncementRequest19()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead19,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetDNISAnnouncementResponse20(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISAnnouncementRequest20()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead20,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupRoutePointGetDNISAnnouncementResponse22(OCIResponse):
    """
    Response to the `GroupRoutePointGetDNISAnnouncementRequest22()`.


    Attributes:
        media_on_hold_source (OCI.mediaOnHoldSource): mediaOnHoldSource
    """

    __slots__: List[str] = [
        "media_on_hold_source",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "media_on_hold_source",
                "mediaOnHoldSource",
                OCI.CallCenterMediaOnHoldSourceRead22,
                is_complex=True,
                is_required=True,
            ),
        )


class UserCallCenterEnhancedReportingScheduledReportGetResponse(OCIResponse):
    """
    Response to `UserCallCenterEnhancedReportingScheduledReportGetRequest()`.


    Attributes:
        description (str): description *Optional*
        report_template (OCI.reportTemplate): reportTemplate
        schedule (OCI.schedule): schedule
        sampling_period (str): samplingPeriod *Optional*
        start_day_of_week (str): startDayOfWeek *Optional*
        report_time_zone (str): reportTimeZone
        report_date_format (str): reportDateFormat
        report_time_format (str): reportTimeFormat
        report_interval (OCI.reportInterval): reportInterval
        report_format (str): reportFormat
        agent (OCI.agent): agent *Optional*
        call_center (OCI.callCenter): callCenter *Optional*
        dnis (OCI.dnis): dnis *Optional*
        call_completion_threshold_seconds (int): callCompletionThresholdSeconds *Optional*
        short_duration_threshold_seconds (int): shortDurationThresholdSeconds *Optional*
        service_level_threshold_seconds (List[int]): serviceLevelThresholdSeconds
            *Optional*
        service_level_inclusions (OCI.serviceLevelInclusions): serviceLevelInclusions
            *Optional*
        service_level_objective_percentage (int): serviceLevelObjectivePercentage
            *Optional*
        abandoned_call_threshold_seconds (List[int]): abandonedCallThresholdSeconds
            *Optional*
        email_address (List[str]): emailAddress
    """

    __slots__: List[str] = [
        "description",
        "report_template",
        "schedule",
        "sampling_period",
        "start_day_of_week",
        "report_time_zone",
        "report_date_format",
        "report_time_format",
        "report_interval",
        "report_format",
        "agent",
        "call_center",
        "dnis",
        "call_completion_threshold_seconds",
        "short_duration_threshold_seconds",
        "service_level_threshold_seconds",
        "service_level_inclusions",
        "service_level_objective_percentage",
        "abandoned_call_threshold_seconds",
        "email_address",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("description", "description", str),
            E(
                "report_template",
                "reportTemplate",
                OCI.CallCenterReportTemplateKey,
                is_complex=True,
                is_required=True,
            ),
            E(
                "schedule",
                "schedule",
                OCI.CallCenterReportSchedule,
                is_complex=True,
                is_required=True,
            ),
            E("sampling_period", "samplingPeriod", str),
            E("start_day_of_week", "startDayOfWeek", str),
            E("report_time_zone", "reportTimeZone", str, is_required=True),
            E("report_date_format", "reportDateFormat", str, is_required=True),
            E("report_time_format", "reportTimeFormat", str, is_required=True),
            E(
                "report_interval",
                "reportInterval",
                OCI.CallCenterReportInterval,
                is_complex=True,
                is_required=True,
            ),
            E("report_format", "reportFormat", str, is_required=True),
            E(
                "agent",
                "agent",
                OCI.CallCenterScheduledReportAgentSelectionRead,
                is_complex=True,
            ),
            E(
                "call_center",
                "callCenter",
                OCI.CallCenterScheduledReportCallCenterSelection,
                is_complex=True,
            ),
            E(
                "dnis",
                "dnis",
                OCI.CallCenterScheduledReportDNISSelection,
                is_complex=True,
            ),
            E(
                "call_completion_threshold_seconds",
                "callCompletionThresholdSeconds",
                int,
            ),
            E("short_duration_threshold_seconds", "shortDurationThresholdSeconds", int),
            E(
                "service_level_threshold_seconds",
                "serviceLevelThresholdSeconds",
                int,
                is_array=True,
            ),
            E(
                "service_level_inclusions",
                "serviceLevelInclusions",
                OCI.CallCenterScheduledReportServiceLevelInclusions,
                is_complex=True,
            ),
            E(
                "service_level_objective_percentage",
                "serviceLevelObjectivePercentage",
                int,
            ),
            E(
                "abandoned_call_threshold_seconds",
                "abandonedCallThresholdSeconds",
                int,
                is_array=True,
            ),
            E("email_address", "emailAddress", str, is_required=True, is_array=True),
        )


class UserGetResponse22V5(OCIResponse):
    """
    Response to `UserGetRequest22V5()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId The following data elements are only used
    in XS data mode: alternateTrunkIdentityDomain The following data elements are only
    used in AS data mode: userId resellerId The following data elements are only used in
    XS data mode: alternateTrunkIdentityDomain allowVideo, value "true" is returned in AS
    data mode.  The userId returned in this response is the user's primary userId and may
    not be the userId passed in the request.  The country code (countryCode) included is
    the user's phone number country code when the user has a phone number assigned, or the
    user's Group associated country code when the user does not have a phone number
    assigned, or the system default country code when the user's Group does not have an
    associated country code.  The nationalPrefix in this response is the one associated to
    the included countryCode.  The callingLineIdPhoneNumber is no longer being formatted
    for display purpose.  The value is returned exactly the same as being stored.
    Replaced by: `UserGetResponse22V6()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        allow_video (bool): allowVideo
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "allow_video",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead22,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead22,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("allow_video", "allowVideo", bool, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class UserGetResponse22V6(OCIResponse):
    """
    Response to `UserGetRequest22V6()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId The following data elements are only used
    in XS data mode: alternateTrunkIdentityDomain The following data elements are only
    used in AS data mode: userId resellerId The following data elements are only used in
    XS data mode: alternateTrunkIdentityDomain allowVideo, value "true" is returned in AS
    data mode.  The userId returned in this response is the user's primary userId and may
    not be the userId passed in the request.  The country code (countryCode) included is
    the user's phone number country code when the user has a phone number assigned, or the
    user's Group associated country code when the user does not have a phone number
    assigned, or the system default country code when the user's Group does not have an
    associated country code.  The nationalPrefix in this response is the one associated to
    the included countryCode.  The callingLineIdPhoneNumber is no longer being formatted
    for display purpose.  The value is returned exactly the same as being stored.
    Replaced by: `UserGetResponse22V7()`

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        allow_video (bool): allowVideo
        reseller_id (str): resellerId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "allow_video",
        "reseller_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead22,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead22,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("allow_video", "allowVideo", bool, is_required=True),
            E("reseller_id", "resellerId", str),
        )


class UserGetResponse22V7(OCIResponse):
    """
    Response to `UserGetRequest22V7()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId serviceProviderExternalId groupExternalId
    userExternalId The following data elements are only used in XS data mode:
    alternateTrunkIdentityDomain The following data elements are only used in AS data
    mode: userId resellerId The following data elements are only used in XS data mode:
    alternateTrunkIdentityDomain allowVideo, value "true" is returned in AS data mode.
    The userId returned in this response is the user's primary userId and may not be the
    userId passed in the request.  The country code (countryCode) included is the user's
    phone number country code when the user has a phone number assigned, or the user's
    Group associated country code when the user does not have a phone number assigned, or
    the system default country code when the user's Group does not have an associated
    country code.  The nationalPrefix in this response is the one associated to the
    included countryCode.  The callingLineIdPhoneNumber is no longer being formatted for
    display purpose.  The value is returned exactly the same as being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        allow_video (bool): allowVideo
        reseller_id (str): resellerId *Optional*
        service_provider_external_id (str): serviceProviderExternalId *Optional*
        group_external_id (str): groupExternalId *Optional*
        user_external_id (str): userExternalId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "allow_video",
        "reseller_id",
        "service_provider_external_id",
        "group_external_id",
        "user_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead22,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead22,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("allow_video", "allowVideo", bool, is_required=True),
            E("reseller_id", "resellerId", str),
            E("service_provider_external_id", "serviceProviderExternalId", str),
            E("group_external_id", "groupExternalId", str),
            E("user_external_id", "userExternalId", str),
        )


class UserGetResponse22V8(OCIResponse):
    """
    Response to `UserGetRequest22V8()`.

    It is possible that the TrunkAddressingRead element is present with nothing populated
    in it which means the user is a trunk user.  The following data elements are only used
    in AS data mode and not returned in XS data mode: contact[2]-contact[5] userId
    nameDialingName alternateUserId resellerId serviceProviderExternalId groupExternalId
    userExternalId The following data elements are only used in XS data mode:
    alternateTrunkIdentityDomain The following data elements are only used in AS data
    mode: userId resellerId The following data elements are only used in XS data mode:
    alternateTrunkIdentityDomain allowVideo, value "true" is returned in AS data mode.
    The userId returned in this response is the user's primary userId and may not be the
    userId passed in the request.  The country code (countryCode) included is the user's
    phone number country code when the user has a phone number assigned, or the user's
    Group associated country code when the user does not have a phone number assigned, or
    the system default country code when the user's Group does not have an associated
    country code.  The nationalPrefix in this response is the one associated to the
    included countryCode.  The callingLineIdPhoneNumber is no longer being formatted for
    display purpose.  The value is returned exactly the same as being stored.

    Attributes:
        service_provider_id (str): serviceProviderId
        group_id (str): groupId
        user_id (str): userId
        last_name (str): lastName
        first_name (str): firstName
        calling_line_id_last_name (str): callingLineIdLastName
        calling_line_id_first_name (str): callingLineIdFirstName
        name_dialing_name (OCI.nameDialingName): nameDialingName *Optional*
        hiragana_last_name (str): hiraganaLastName *Optional*
        hiragana_first_name (str): hiraganaFirstName *Optional*
        phone_number (str): phoneNumber *Optional*
        extension (str): extension *Optional*
        calling_line_id_phone_number (str): callingLineIdPhoneNumber *Optional*
        department (OCI.department): department *Optional*
        department_full_path (str): departmentFullPath *Optional*
        language (str): language
        time_zone (str): timeZone
        time_zone_display_name (str): timeZoneDisplayName
        default_alias (str): defaultAlias
        alias (List[str]): alias *Optional*
        access_device_endpoint (OCI.accessDeviceEndpoint): accessDeviceEndpoint *Optional*
        trunk_addressing (OCI.trunkAddressing): trunkAddressing *Optional*
        title (str): title *Optional*
        pager_phone_number (str): pagerPhoneNumber *Optional*
        mobile_phone_number (str): mobilePhoneNumber *Optional*
        email_address (str): emailAddress *Optional*
        yahoo_id (str): yahooId *Optional*
        address_location (str): addressLocation *Optional*
        address (OCI.address): address *Optional*
        country_code (str): countryCode
        national_prefix (str): nationalPrefix *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
        office_zone_name (str): officeZoneName *Optional*
        primary_zone_name (str): primaryZoneName *Optional*
        imp_id (str): impId *Optional*
        alternate_user_id (List[OCI.alternateUserId]): alternateUserId *Optional*
        allow_video (bool): allowVideo
        reseller_id (str): resellerId *Optional*
        service_provider_external_id (str): serviceProviderExternalId *Optional*
        group_external_id (str): groupExternalId *Optional*
        user_external_id (str): userExternalId *Optional*
    """

    __slots__: List[str] = [
        "service_provider_id",
        "group_id",
        "user_id",
        "last_name",
        "first_name",
        "calling_line_id_last_name",
        "calling_line_id_first_name",
        "name_dialing_name",
        "hiragana_last_name",
        "hiragana_first_name",
        "phone_number",
        "extension",
        "calling_line_id_phone_number",
        "department",
        "department_full_path",
        "language",
        "time_zone",
        "time_zone_display_name",
        "default_alias",
        "alias",
        "access_device_endpoint",
        "trunk_addressing",
        "title",
        "pager_phone_number",
        "mobile_phone_number",
        "email_address",
        "yahoo_id",
        "address_location",
        "address",
        "country_code",
        "national_prefix",
        "network_class_of_service",
        "office_zone_name",
        "primary_zone_name",
        "imp_id",
        "alternate_user_id",
        "allow_video",
        "reseller_id",
        "service_provider_external_id",
        "group_external_id",
        "user_external_id",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("service_provider_id", "serviceProviderId", str, is_required=True),
            E("group_id", "groupId", str, is_required=True),
            E("user_id", "userId", str, is_required=True),
            E("last_name", "lastName", str, is_required=True),
            E("first_name", "firstName", str, is_required=True),
            E(
                "calling_line_id_last_name",
                "callingLineIdLastName",
                str,
                is_required=True,
            ),
            E(
                "calling_line_id_first_name",
                "callingLineIdFirstName",
                str,
                is_required=True,
            ),
            E(
                "name_dialing_name",
                "nameDialingName",
                OCI.NameDialingName,
                is_complex=True,
            ),
            E("hiragana_last_name", "hiraganaLastName", str),
            E("hiragana_first_name", "hiraganaFirstName", str),
            E("phone_number", "phoneNumber", str),
            E("extension", "extension", str),
            E("calling_line_id_phone_number", "callingLineIdPhoneNumber", str),
            E("department", "department", OCI.DepartmentKey, is_complex=True),
            E("department_full_path", "departmentFullPath", str),
            E("language", "language", str, is_required=True),
            E("time_zone", "timeZone", str, is_required=True),
            E("time_zone_display_name", "timeZoneDisplayName", str, is_required=True),
            E("default_alias", "defaultAlias", str, is_required=True),
            E("alias", "alias", str, is_array=True),
            E(
                "access_device_endpoint",
                "accessDeviceEndpoint",
                OCI.AccessDeviceMultipleIdentityAndContactEndpointRead22V2,
                is_complex=True,
            ),
            E(
                "trunk_addressing",
                "trunkAddressing",
                OCI.TrunkAddressingMultipleContactRead22,
                is_complex=True,
            ),
            E("title", "title", str),
            E("pager_phone_number", "pagerPhoneNumber", str),
            E("mobile_phone_number", "mobilePhoneNumber", str),
            E("email_address", "emailAddress", str),
            E("yahoo_id", "yahooId", str),
            E("address_location", "addressLocation", str),
            E("address", "address", OCI.StreetAddress, is_complex=True),
            E("country_code", "countryCode", str, is_required=True),
            E("national_prefix", "nationalPrefix", str),
            E("network_class_of_service", "networkClassOfService", str),
            E("office_zone_name", "officeZoneName", str),
            E("primary_zone_name", "primaryZoneName", str),
            E("imp_id", "impId", str),
            E(
                "alternate_user_id",
                "alternateUserId",
                OCI.AlternateUserIdEntry,
                is_complex=True,
                is_array=True,
            ),
            E("allow_video", "allowVideo", bool, is_required=True),
            E("reseller_id", "resellerId", str),
            E("service_provider_external_id", "serviceProviderExternalId", str),
            E("group_external_id", "groupExternalId", str),
            E("user_external_id", "userExternalId", str),
        )


class UserPushNotificationRegistrationGetListResponse21sp1(OCIResponse):
    """
    Response to `UserPushNotificationRegistrationGetListRequest21sp1()`.

    A registration has more than one row in the response when the registration includes
    more than one token and/or one or more event.  There can be one more tokens per
    registration ID and there can be one or more events per token.  Registration Date uses
    the format "yyyy-MM-dd'T'HH:mm:ss.SSSZ" in the time zone of the requested user.
    Example: 2010-10-01T09:30:00:000-0400.

    Attributes:
        user_id (str): userId
        push_notification_registration_data (List[OCI.pushNotificationRegistrationData]):
            pushNotificationRegistrationData *Optional*
    """

    __slots__: List[str] = [
        "user_id",
        "push_notification_registration_data",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E("user_id", "userId", str, is_required=True),
            E(
                "push_notification_registration_data",
                "pushNotificationRegistrationData",
                OCI.PushNotificationRegistrationData,
                is_complex=True,
                is_array=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse14(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest14()`.

    Contains the service profile information.

    Replaced By: `GroupAutoAttendantGetInstanceResponse16()`

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        enable_video (bool): enableVideo
        business_hours (str): businessHours *Optional*
        holiday_schedule_name (str): holidayScheduleName *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "enable_video",
        "business_hours",
        "holiday_schedule_name",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", str),
            E("holiday_schedule_name", "holidayScheduleName", str),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse16(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest16()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        enable_video (bool): enableVideo
        business_hours (str): businessHours *Optional*
        holiday_schedule_name (str): holidayScheduleName *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "enable_video",
        "business_hours",
        "holiday_schedule_name",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile,
                is_complex=True,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", str),
            E("holiday_schedule_name", "holidayScheduleName", str),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse17(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest17()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        enable_video (bool): enableVideo
        business_hours (str): businessHours *Optional*
        holiday_schedule_name (str): holidayScheduleName *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "enable_video",
        "business_hours",
        "holiday_schedule_name",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", str),
            E("holiday_schedule_name", "holidayScheduleName", str),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse17sp1(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest17sp1()`.

    Contains the service profile information.

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        enable_video (bool): enableVideo
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "enable_video",
        "business_hours",
        "holiday_schedule",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile17,
                is_complex=True,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu16,
                is_complex=True,
                is_required=True,
            ),
        )


class GroupAutoAttendantGetInstanceResponse20(OCIResponse):
    """
    Response to `GroupAutoAttendantGetInstanceRequest20()`.

    Contains the service profile information.  The following elements are only used in AS
    data mode: type, use AutoAttendantType.BASIC in XS mode.  holidayMenu.  The following
    elements are only valid for Standard Auto Attendants: holidayMenu

    Attributes:
        service_instance_profile (OCI.serviceInstanceProfile): serviceInstanceProfile
        type (str): type
        first_digit_timeout_seconds (int): firstDigitTimeoutSeconds
        enable_video (bool): enableVideo
        business_hours (OCI.businessHours): businessHours *Optional*
        holiday_schedule (OCI.holidaySchedule): holidaySchedule *Optional*
        extension_dialing_scope (str): extensionDialingScope
        name_dialing_scope (str): nameDialingScope
        name_dialing_entries (str): nameDialingEntries
        business_hours_menu (OCI.businessHoursMenu): businessHoursMenu
        after_hours_menu (OCI.afterHoursMenu): afterHoursMenu
        holiday_menu (OCI.holidayMenu): holidayMenu *Optional*
        network_class_of_service (str): networkClassOfService *Optional*
    """

    __slots__: List[str] = [
        "service_instance_profile",
        "type",
        "first_digit_timeout_seconds",
        "enable_video",
        "business_hours",
        "holiday_schedule",
        "extension_dialing_scope",
        "name_dialing_scope",
        "name_dialing_entries",
        "business_hours_menu",
        "after_hours_menu",
        "holiday_menu",
        "network_class_of_service",
    ]

    @classmethod
    def _elements(cls) -> Tuple[E, ...]:
        return (
            E(
                "service_instance_profile",
                "serviceInstanceProfile",
                OCI.ServiceInstanceReadProfile19sp1,
                is_complex=True,
                is_required=True,
            ),
            E("type", "type", str, is_required=True),
            E(
                "first_digit_timeout_seconds",
                "firstDigitTimeoutSeconds",
                int,
                is_required=True,
            ),
            E("enable_video", "enableVideo", bool, is_required=True),
            E("business_hours", "businessHours", OCI.TimeSchedule, is_complex=True),
            E(
                "holiday_schedule",
                "holidaySchedule",
                OCI.HolidaySchedule,
                is_complex=True,
            ),
            E(
                "extension_dialing_scope",
                "extensionDialingScope",
                str,
                is_required=True,
            ),
            E("name_dialing_scope", "nameDialingScope", str, is_required=True),
            E("name_dialing_entries", "nameDialingEntries", str, is_required=True),
            E(
                "business_hours_menu",
                "businessHoursMenu",
                OCI.AutoAttendantReadMenu20,
                is_complex=True,
                is_required=True,
            ),
            E(
                "after_hours_menu",
                "afterHoursMenu",
                OCI.AutoAttendantReadMenu20,
                is_complex=True,
                is_required=True,
            ),
            E(
                "holiday_menu",
                "holidayMenu",
                OCI.AutoAttendantReadMenu20,
                is_complex=True,
            ),
            E("network_class_of_service", "networkClassOfService", str),
        )


# end
