Skip to content

UserExternalCustomRingbackModifyRequest

Bases: OCIRequest

Modify the user level data associated with External Custom Ringback. The user SIP URI, when selected, it replaces the SP address, port and prefix. The user SIP URI, if selected, is the Request URI of the SIP INVITE sent to the external server. When the service provider data is used instead, the Request URI is constructed using the prefix, address, port and the user DN. The timeout value is the only SP configuration used when the user SIP URI is selected. The response is either a SuccessResponse or an ErrorResponse.

Attributes:

user_id (str):

is_active (Optional[bool]):

use_setting_level (Optional[str]):

sip_request_uri (Optional[Nillable[str]]):
Source code in src/mercury_ocip_fast/commands/commands.py
@dataclass(kw_only=True)
class UserExternalCustomRingbackModifyRequest(OCIRequest):
    """Modify the user level data associated with External Custom Ringback.
        The user SIP URI, when selected, it replaces the SP address, port and prefix.
        The user SIP URI, if selected, is the Request URI of the SIP INVITE sent
        to the external server.  When the service provider data is used instead,
        the Request URI is constructed using the prefix, address, port and the user DN.
        The timeout value is the only SP configuration used when the user SIP URI is selected.
        The response is either a SuccessResponse or an ErrorResponse.

    Attributes:

        user_id (str):

        is_active (Optional[bool]):

        use_setting_level (Optional[str]):

        sip_request_uri (Optional[Nillable[str]]):

    """

    user_id: str = field(metadata={"alias": "userId"})

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

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

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

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

Responses

Bases: OCIResponse

Source code in src/mercury_ocip_fast/commands/base_command.py
class SuccessResponse(OCIResponse):
    pass

Bases: OCIResponse

Source code in src/mercury_ocip_fast/commands/base_command.py
class ErrorResponse(OCIResponse):
    errorCode: Optional[int] = None
    summary: str
    summaryEnglish: str
    detail: Optional[str] = None

Example Usage

from mercury_ocip_fast.client import Client
from mercury_ocip_fast.commands import UserExternalCustomRingbackModifyRequest

client = Client()

command = UserExternalCustomRingbackModifyRequest(
    user_id=...,
    is_active=...,
    use_setting_level=...,
    sip_request_uri=...,
)

response = client.command(command)

print(response)

Example 2 with Raw Command

from mercury_ocip_fast.client import Client

client = Client()

response = client.raw_command("UserExternalCustomRingbackModifyRequest",
    user_id=...,
    is_active=...,
    use_setting_level=...,
    sip_request_uri=...,
)

print(response)