Skip to content

send_alexa_offer_to_master

send_alexa_offer_to_master(
    *,
    config_overrides: Optional[KinesisVideoSignalingClientConfig] = None,
    channel_arn: Optional[ResourceARN] = None,
    sender_client_id: Optional[ClientId] = None,
    message_payload: Optional[MessagePayload] = None,
) -> SendAlexaOfferToMasterResponse

This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.

Parameters:

  • channel_arn (Optional[ResourceARN], default: None ) –

    The ARN of the signaling channel by which Alexa and the master peer communicate.

  • sender_client_id (Optional[ClientId], default: None ) –

    The unique identifier for the sender client.

  • message_payload (Optional[MessagePayload], default: None ) –

    The base64-encoded SDP offer content.

Raises:

Source code in docs_src/capo_kinesis_video_signaling/_services/kinesis_video_signaling.py
def send_alexa_offer_to_master(
    self,
    *,
    config_overrides: Optional[KinesisVideoSignalingClientConfig] = None,
    channel_arn: Optional[
        "capo_kinesis_video_signaling.types.resource_arn.ResourceARN"
    ] = None,
    sender_client_id: Optional[
        "capo_kinesis_video_signaling.types.client_id.ClientId"
    ] = None,
    message_payload: Optional[
        "capo_kinesis_video_signaling.types.message_payload.MessagePayload"
    ] = None,
) -> "capo_kinesis_video_signaling.types.send_alexa_offer_to_master_response.SendAlexaOfferToMasterResponse":
    """<p>This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.</p>

    Args:
        channel_arn: <p>The ARN of the signaling channel by which Alexa and the master peer communicate.</p>
        sender_client_id: <p>The unique identifier for the sender client.</p>
        message_payload: <p>The base64-encoded SDP offer content.</p>

    Raises:
        capo_kinesis_video_signaling.errors.client_limit_exceeded_exception.ClientLimitExceededException: <p>Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.</p>
        capo_kinesis_video_signaling.errors.invalid_argument_exception.InvalidArgumentException: <p>The value for this input parameter is invalid.</p>
        capo_kinesis_video_signaling.errors.not_authorized_exception.NotAuthorizedException: <p>The caller is not authorized to perform this operation.</p>
        capo_kinesis_video_signaling.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource is not found.</p>
        capo_kinesis_video_signaling.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_kinesis_video_signaling.types.send_alexa_offer_to_master_request.SendAlexaOfferToMasterRequest]",
    ) -> OperationResponse[
        "capo_kinesis_video_signaling.types.send_alexa_offer_to_master_response.SendAlexaOfferToMasterResponse"
    ]:
        import capo_kinesis_video_signaling._operations.aws_acuity_signaling_service.send_alexa_offer_to_master

        output, http_response = (
            capo_kinesis_video_signaling._operations.aws_acuity_signaling_service.send_alexa_offer_to_master.send_alexa_offer_to_master(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("SendAlexaOfferToMaster")
    )
    input_: capo_kinesis_video_signaling.types.send_alexa_offer_to_master_request.SendAlexaOfferToMasterRequest = {}
    if channel_arn is not None:
        input_["channel_arn"] = channel_arn
    if sender_client_id is not None:
        input_["sender_client_id"] = sender_client_id
    if message_payload is not None:
        input_["message_payload"] = message_payload

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output