viam.proto.rpc.webrtc.signaling

@generated by Viam. Do not edit manually!

Classes

SignalingServiceBase

Helper class that provides a standard way to create an ABC using

SignalingServiceStub

UnimplementedSignalingServiceBase

Helper class that provides a standard way to create an ABC using

AnswerRequest

AnswerRequest is the SDP offer that the controlling side is making via the answering

AnswerRequestDoneStage

AnswerRequestDoneStage indicates the controller is done responding with candidates.

AnswerRequestErrorStage

AnswerRequestErrorStage indicates the exchange has failed with an error.

AnswerRequestHeartbeatStage

AnswerRequestHeartbeatStage is sent periodically to verify liveness of answerer.

AnswerRequestInitStage

AnswerRequestInitStage is the first and a one time stage that represents the

AnswerRequestUpdateStage

AnswerRequestUpdateStage is multiply used to trickle in ICE candidates to

AnswerResponse

AnswerResponse is the SDP answer that an answerer responds with.

AnswerResponseDoneStage

AnswerResponseDoneStage indicates the answerer is done responding with candidates.

AnswerResponseErrorStage

AnswerResponseErrorStage indicates the exchange has failed with an error.

AnswerResponseInitStage

AnswerResponseInitStage is the first and a one time stage that represents the

AnswerResponseUpdateStage

AnswerResponseUpdateStage is multiply used to trickle in ICE candidates to

CallRequest

CallRequest is the SDP offer that the controlling side is making.

CallResponse

CallResponse is the SDP answer that the controlled side responds with.

CallResponseInitStage

CallResponseInitStage is the first and a one time stage that represents

CallResponseUpdateStage

CallResponseUpdateStage is multiply used to trickle in ICE candidates from

CallUpdateRequest

CallUpdateRequest updates the call with additional info to the controlled side.

CallUpdateResponse

CallUpdateResponse contains nothing in response to a call update.

ConnectionCandidate

ConnectionCandidate describes the selected ICE candidate for one side of a WebRTC connection.

ConnectionSignalingPath

ConnectionSignalingPath is how a WebRTC dial was signaled, derived from the signaling address.

DialStage

DialStage is the furthest checkpoint a WebRTC dial reached. READY means the dial succeeded; any

ICECandidate

ICECandidate represents an ICE candidate.

ICECandidateType

ICECandidateType represents the type of ICE candidate selected for a WebRTC connection.

ICEServer

ICEServer describes an ICE server.

OptionalWebRTCConfigRequest

OptionalWebRTCConfigRequest is the request for getting an optional WebRTC config

OptionalWebRTCConfigResponse

OptionalWebRTCConfigResponse contains the optional WebRTC config

ReportConnectionMetadataRequest

ReportConnectionMetadataRequest reports metadata about a WebRTC dial, per side: local is the

ReportConnectionMetadataResponse

ReportConnectionMetadataResponse is empty.

WebRTCConfig

WebRTCConfig represents parts of a WebRTC config.

Module Contents

class viam.proto.rpc.webrtc.signaling.SignalingServiceBase[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

abstractmethod Call(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse]) None[source]
Async:

abstractmethod CallUpdate(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse]) None[source]
Async:

abstractmethod Answer(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest]) None[source]
Async:

abstractmethod OptionalWebRTCConfig(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse]) None[source]
Async:

abstractmethod ReportConnectionMetadata(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.ReportConnectionMetadataRequest, proto.rpc.webrtc.v1.signaling_pb2.ReportConnectionMetadataResponse]) None[source]
Async:

__mapping__() Dict[str, grpclib.const.Handler][source]
class viam.proto.rpc.webrtc.signaling.SignalingServiceStub(channel: grpclib.client.Channel)[source]
Call
CallUpdate
Answer
OptionalWebRTCConfig
ReportConnectionMetadata
class viam.proto.rpc.webrtc.signaling.UnimplementedSignalingServiceBase[source]

Bases: SignalingServiceBase

Helper class that provides a standard way to create an ABC using inheritance.

async Call(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse]) None[source]
async CallUpdate(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse]) None[source]
async Answer(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest]) None[source]
async OptionalWebRTCConfig(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse]) None[source]
async ReportConnectionMetadata(stream: grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.ReportConnectionMetadataRequest, proto.rpc.webrtc.v1.signaling_pb2.ReportConnectionMetadataResponse]) None[source]
class viam.proto.rpc.webrtc.signaling.AnswerRequest(*, uuid: str = ..., init: Global___AnswerRequestInitStage | None = ..., update: Global___AnswerRequestUpdateStage | None = ..., done: Global___AnswerRequestDoneStage | None = ..., error: Global___AnswerRequestErrorStage | None = ..., heartbeat: Global___AnswerRequestHeartbeatStage | None = ...)

Bases: google.protobuf.message.Message

AnswerRequest is the SDP offer that the controlling side is making via the answering stream.

uuid: str
init() Global___AnswerRequestInitStage
update() Global___AnswerRequestUpdateStage
done() Global___AnswerRequestDoneStage

done is sent when the requester is done sending information

error() Global___AnswerRequestErrorStage

error is sent any time before done

heartbeat() Global___AnswerRequestHeartbeatStage

heartbeat is sent periodically to verify liveness of answerer

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType_stage) _WhichOneofReturnType_stage | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.AnswerRequestDoneStage

Bases: google.protobuf.message.Message

AnswerRequestDoneStage indicates the controller is done responding with candidates.

class viam.proto.rpc.webrtc.signaling.AnswerRequestErrorStage(*, status: google.rpc.status_pb2.Status | None = ...)

Bases: google.protobuf.message.Message

AnswerRequestErrorStage indicates the exchange has failed with an error.

status() google.rpc.status_pb2.Status
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.AnswerRequestHeartbeatStage

Bases: google.protobuf.message.Message

AnswerRequestHeartbeatStage is sent periodically to verify liveness of answerer.

class viam.proto.rpc.webrtc.signaling.AnswerRequestInitStage(*, sdp: str = ..., optional_config: Global___WebRTCConfig | None = ..., deadline: google.protobuf.timestamp_pb2.Timestamp | None = ...)

Bases: google.protobuf.message.Message

AnswerRequestInitStage is the first and a one time stage that represents the callers initial SDP request to the controlled (answerer) side.

sdp: str
optional_config() Global___WebRTCConfig
deadline() google.protobuf.timestamp_pb2.Timestamp
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__deadline) _WhichOneofReturnType__deadline | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.AnswerRequestUpdateStage(*, candidate: Global___ICECandidate | None = ...)

Bases: google.protobuf.message.Message

AnswerRequestUpdateStage is multiply used to trickle in ICE candidates to the controlled (answerer) side.

candidate() Global___ICECandidate
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.AnswerResponse(*, uuid: str = ..., init: Global___AnswerResponseInitStage | None = ..., update: Global___AnswerResponseUpdateStage | None = ..., done: Global___AnswerResponseDoneStage | None = ..., error: Global___AnswerResponseErrorStage | None = ...)

Bases: google.protobuf.message.Message

AnswerResponse is the SDP answer that an answerer responds with.

uuid: str
init() Global___AnswerResponseInitStage
update() Global___AnswerResponseUpdateStage
done() Global___AnswerResponseDoneStage

done is sent when the answerer is done sending information

error() Global___AnswerResponseErrorStage

error is sent any time before done

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType_stage) _WhichOneofReturnType_stage | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.AnswerResponseDoneStage

Bases: google.protobuf.message.Message

AnswerResponseDoneStage indicates the answerer is done responding with candidates.

class viam.proto.rpc.webrtc.signaling.AnswerResponseErrorStage(*, status: google.rpc.status_pb2.Status | None = ...)

Bases: google.protobuf.message.Message

AnswerResponseErrorStage indicates the exchange has failed with an error.

status() google.rpc.status_pb2.Status
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.AnswerResponseInitStage(*, sdp: str = ...)

Bases: google.protobuf.message.Message

AnswerResponseInitStage is the first and a one time stage that represents the answerers initial SDP response to the controlling side.

sdp: str
class viam.proto.rpc.webrtc.signaling.AnswerResponseUpdateStage(*, candidate: Global___ICECandidate | None = ...)

Bases: google.protobuf.message.Message

AnswerResponseUpdateStage is multiply used to trickle in ICE candidates to the controlling side.

candidate() Global___ICECandidate
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.CallRequest(*, sdp: str = ..., disable_trickle: bool = ...)

Bases: google.protobuf.message.Message

CallRequest is the SDP offer that the controlling side is making.

sdp: str
disable_trickle: bool

when disable_trickle is true, the init stage will be the only stage to be received in the response and the caller can expect the SDP to contain all ICE candidates.

class viam.proto.rpc.webrtc.signaling.CallResponse(*, uuid: str = ..., init: Global___CallResponseInitStage | None = ..., update: Global___CallResponseUpdateStage | None = ...)

Bases: google.protobuf.message.Message

CallResponse is the SDP answer that the controlled side responds with.

uuid: str
init() Global___CallResponseInitStage
update() Global___CallResponseUpdateStage
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType_stage) _WhichOneofReturnType_stage | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.CallResponseInitStage(*, sdp: str = ...)

Bases: google.protobuf.message.Message

CallResponseInitStage is the first and a one time stage that represents the initial response to starting a call.

sdp: str
class viam.proto.rpc.webrtc.signaling.CallResponseUpdateStage(*, candidate: Global___ICECandidate | None = ...)

Bases: google.protobuf.message.Message

CallResponseUpdateStage is multiply used to trickle in ICE candidates from the controlled (answering) side.

candidate() Global___ICECandidate
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.CallUpdateRequest(*, uuid: str = ..., candidate: Global___ICECandidate | None = ..., done: bool = ..., error: google.rpc.status_pb2.Status | None = ...)

Bases: google.protobuf.message.Message

CallUpdateRequest updates the call with additional info to the controlled side.

uuid: str
done: bool
candidate() Global___ICECandidate
error() google.rpc.status_pb2.Status
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType_update) _WhichOneofReturnType_update | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.CallUpdateResponse

Bases: google.protobuf.message.Message

CallUpdateResponse contains nothing in response to a call update.

class viam.proto.rpc.webrtc.signaling.ConnectionCandidate(*, type: Global___ICECandidateType = ..., relay_address: str = ...)

Bases: google.protobuf.message.Message

ConnectionCandidate describes the selected ICE candidate for one side of a WebRTC connection.

type: Global___ICECandidateType
relay_address: str

relay_address is the relay server address of this candidate; set only when type is RELAY, so the signaling server can classify the provider by matching against known coturn addresses.

class viam.proto.rpc.webrtc.signaling.ConnectionSignalingPath

Bases: _ConnectionSignalingPath

ConnectionSignalingPath is how a WebRTC dial was signaled, derived from the signaling address.

class viam.proto.rpc.webrtc.signaling.DialStage

Bases: _DialStage

DialStage is the furthest checkpoint a WebRTC dial reached. READY means the dial succeeded; any earlier value is the stage at which a failed dial stopped.

class viam.proto.rpc.webrtc.signaling.ICECandidate(*, candidate: str = ..., sdp_mid: str | None = ..., sdpm_line_index: int | None = ..., username_fragment: str | None = ...)

Bases: google.protobuf.message.Message

ICECandidate represents an ICE candidate. From https://github.com/pion/webrtc/blob/5f6baf73255598a7b4a7c9400bb0381acc9aa3dc/icecandidateinit.go

candidate: str
sdp_mid: str
sdpm_line_index: int
username_fragment: str
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__sdp_mid) _WhichOneofReturnType__sdp_mid | None
WhichOneof(oneof_group: _WhichOneofArgType__sdpm_line_index) _WhichOneofReturnType__sdpm_line_index | None
WhichOneof(oneof_group: _WhichOneofArgType__username_fragment) _WhichOneofReturnType__username_fragment | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.rpc.webrtc.signaling.ICECandidateType

Bases: _ICECandidateType

ICECandidateType represents the type of ICE candidate selected for a WebRTC connection. The signaling server further classifies RELAY by relay server specific provider from the address.

class viam.proto.rpc.webrtc.signaling.ICEServer(*, urls: collections.abc.Iterable[str] | None = ..., username: str = ..., credential: str = ...)

Bases: google.protobuf.message.Message

ICEServer describes an ICE server.

username: str
credential: str
urls() google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
class viam.proto.rpc.webrtc.signaling.OptionalWebRTCConfigRequest

Bases: google.protobuf.message.Message

OptionalWebRTCConfigRequest is the request for getting an optional WebRTC config to use for the peer connection.

class viam.proto.rpc.webrtc.signaling.OptionalWebRTCConfigResponse(*, config: Global___WebRTCConfig | None = ...)

Bases: google.protobuf.message.Message

OptionalWebRTCConfigResponse contains the optional WebRTC config to use for the peer connection.

config() Global___WebRTCConfig
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.ReportConnectionMetadataRequest(*, local: Global___ConnectionCandidate | None = ..., remote: Global___ConnectionCandidate | None = ..., reached_stage: Global___DialStage = ..., duration_ms: int = ..., signaling_path: Global___ConnectionSignalingPath = ..., failure_code: int = ...)

Bases: google.protobuf.message.Message

ReportConnectionMetadataRequest reports metadata about a WebRTC dial, per side: local is the dialing SDK and remote is the robot.

reached_stage: Global___DialStage

reached_stage is the furthest dial checkpoint reached. READY indicates success; any earlier value is where a failed dial stopped.

duration_ms: int

duration_ms is the wall-clock time from dial start to connection ready or to the failure.

signaling_path: Global___ConnectionSignalingPath

signaling_path is how the dial was signaled (cloud / local / mDNS); reported regardless of outcome.

failure_code: int

failure_code is the gRPC status code of a failed dial

local() Global___ConnectionCandidate
remote() Global___ConnectionCandidate
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.rpc.webrtc.signaling.ReportConnectionMetadataResponse

Bases: google.protobuf.message.Message

ReportConnectionMetadataResponse is empty.

class viam.proto.rpc.webrtc.signaling.WebRTCConfig(*, additional_ice_servers: collections.abc.Iterable[Global___ICEServer] | None = ..., disable_trickle: bool = ...)

Bases: google.protobuf.message.Message

WebRTCConfig represents parts of a WebRTC config.

disable_trickle: bool

disable_trickle indicates if Trickle ICE should be used. Currently, both sides must both respect this setting.

additional_ice_servers() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ICEServer]