Module livekit.api.connector_service

Global variables

var SVC

@private

Classes

class AcceptWhatsAppCallRequest (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
var ParticipantAttributesEntry

A ProtocolMessage

class AcceptWhatsAppCallResponse (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class ConnectTwilioCallRequest (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
var ParticipantAttributesEntry

A ProtocolMessage

class ConnectTwilioCallResponse (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class ConnectWhatsAppCallRequest (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class ConnectWhatsAppCallResponse (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class ConnectorService (session: aiohttp.ClientSession, url: str, api_key: str, api_secret: str)
Expand source code
class ConnectorService(Service):
    """Client for LiveKit Connector Service API

    Recommended way to use this service is via `livekit.api.LiveKitAPI`:

    ```python
    from livekit import api
    lkapi = api.LiveKitAPI()
    connector_service = lkapi.connector
    ```
    """

    def __init__(self, session: aiohttp.ClientSession, url: str, api_key: str, api_secret: str):
        super().__init__(session, url, api_key, api_secret)

    async def dial_whatsapp_call(
        self, request: DialWhatsAppCallRequest
    ) -> DialWhatsAppCallResponse:
        """
        Initiate an outbound WhatsApp call

        Args:
            request: DialWhatsAppCallRequest containing call parameters

        Returns:
            DialWhatsAppCallResponse with the WhatsApp call ID and room name
        """
        return await self._client.request(
            SVC,
            "DialWhatsAppCall",
            request,
            self._auth_header(VideoGrants(room_create=True)),
            DialWhatsAppCallResponse,
        )

    async def disconnect_whatsapp_call(
        self, request: DisconnectWhatsAppCallRequest
    ) -> DisconnectWhatsAppCallResponse:
        """
        Disconnect an active WhatsApp call

        Args:
            request: DisconnectWhatsAppCallRequest containing the call ID to disconnect

        Returns:
            DisconnectWhatsAppCallResponse (empty response)
        """
        return await self._client.request(
            SVC,
            "DisconnectWhatsAppCall",
            request,
            self._auth_header(VideoGrants(room_create=True)),
            DisconnectWhatsAppCallResponse,
        )

    async def connect_whatsapp_call(
        self, request: ConnectWhatsAppCallRequest
    ) -> ConnectWhatsAppCallResponse:
        """
        Connect a WhatsApp call with SDP information

        Args:
            request: ConnectWhatsAppCallRequest containing call ID and SDP

        Returns:
            ConnectWhatsAppCallResponse (empty response)
        """
        return await self._client.request(
            SVC,
            "ConnectWhatsAppCall",
            request,
            self._auth_header(VideoGrants(room_create=True)),
            ConnectWhatsAppCallResponse,
        )

    async def accept_whatsapp_call(
        self, request: AcceptWhatsAppCallRequest
    ) -> AcceptWhatsAppCallResponse:
        """
        Accept an inbound WhatsApp call

        Args:
            request: AcceptWhatsAppCallRequest containing call parameters and SDP

        Returns:
            AcceptWhatsAppCallResponse with the room name
        """
        return await self._client.request(
            SVC,
            "AcceptWhatsAppCall",
            request,
            self._auth_header(VideoGrants(room_create=True)),
            AcceptWhatsAppCallResponse,
        )

    async def connect_twilio_call(
        self, request: ConnectTwilioCallRequest
    ) -> ConnectTwilioCallResponse:
        """
        Connect a Twilio call to a LiveKit room

        Args:
            request: ConnectTwilioCallRequest containing call parameters

        Returns:
            ConnectTwilioCallResponse with the websocket URL for Twilio media stream
        """
        return await self._client.request(
            SVC,
            "ConnectTwilioCall",
            request,
            self._auth_header(VideoGrants(room_create=True)),
            ConnectTwilioCallResponse,
        )

Client for LiveKit Connector Service API

Recommended way to use this service is via LiveKitAPI:

from livekit import api
lkapi = api.LiveKitAPI()
connector_service = lkapi.connector

Ancestors

  • livekit.api._service.Service
  • abc.ABC

Methods

async def accept_whatsapp_call(self,
request: AcceptWhatsAppCallRequest) ‑> connector_whatsapp.AcceptWhatsAppCallResponse
Expand source code
async def accept_whatsapp_call(
    self, request: AcceptWhatsAppCallRequest
) -> AcceptWhatsAppCallResponse:
    """
    Accept an inbound WhatsApp call

    Args:
        request: AcceptWhatsAppCallRequest containing call parameters and SDP

    Returns:
        AcceptWhatsAppCallResponse with the room name
    """
    return await self._client.request(
        SVC,
        "AcceptWhatsAppCall",
        request,
        self._auth_header(VideoGrants(room_create=True)),
        AcceptWhatsAppCallResponse,
    )

Accept an inbound WhatsApp call

Args

request
AcceptWhatsAppCallRequest containing call parameters and SDP

Returns

AcceptWhatsAppCallResponse with the room name

async def connect_twilio_call(self,
request: ConnectTwilioCallRequest) ‑> connector_twilio.ConnectTwilioCallResponse
Expand source code
async def connect_twilio_call(
    self, request: ConnectTwilioCallRequest
) -> ConnectTwilioCallResponse:
    """
    Connect a Twilio call to a LiveKit room

    Args:
        request: ConnectTwilioCallRequest containing call parameters

    Returns:
        ConnectTwilioCallResponse with the websocket URL for Twilio media stream
    """
    return await self._client.request(
        SVC,
        "ConnectTwilioCall",
        request,
        self._auth_header(VideoGrants(room_create=True)),
        ConnectTwilioCallResponse,
    )

Connect a Twilio call to a LiveKit room

Args

request
ConnectTwilioCallRequest containing call parameters

Returns

ConnectTwilioCallResponse with the websocket URL for Twilio media stream

async def connect_whatsapp_call(self,
request: ConnectWhatsAppCallRequest) ‑> connector_whatsapp.ConnectWhatsAppCallResponse
Expand source code
async def connect_whatsapp_call(
    self, request: ConnectWhatsAppCallRequest
) -> ConnectWhatsAppCallResponse:
    """
    Connect a WhatsApp call with SDP information

    Args:
        request: ConnectWhatsAppCallRequest containing call ID and SDP

    Returns:
        ConnectWhatsAppCallResponse (empty response)
    """
    return await self._client.request(
        SVC,
        "ConnectWhatsAppCall",
        request,
        self._auth_header(VideoGrants(room_create=True)),
        ConnectWhatsAppCallResponse,
    )

Connect a WhatsApp call with SDP information

Args

request
ConnectWhatsAppCallRequest containing call ID and SDP

Returns

ConnectWhatsAppCallResponse (empty response)

async def dial_whatsapp_call(self,
request: DialWhatsAppCallRequest) ‑> connector_whatsapp.DialWhatsAppCallResponse
Expand source code
async def dial_whatsapp_call(
    self, request: DialWhatsAppCallRequest
) -> DialWhatsAppCallResponse:
    """
    Initiate an outbound WhatsApp call

    Args:
        request: DialWhatsAppCallRequest containing call parameters

    Returns:
        DialWhatsAppCallResponse with the WhatsApp call ID and room name
    """
    return await self._client.request(
        SVC,
        "DialWhatsAppCall",
        request,
        self._auth_header(VideoGrants(room_create=True)),
        DialWhatsAppCallResponse,
    )

Initiate an outbound WhatsApp call

Args

request
DialWhatsAppCallRequest containing call parameters

Returns

DialWhatsAppCallResponse with the WhatsApp call ID and room name

async def disconnect_whatsapp_call(self,
request: DisconnectWhatsAppCallRequest) ‑> connector_whatsapp.DisconnectWhatsAppCallResponse
Expand source code
async def disconnect_whatsapp_call(
    self, request: DisconnectWhatsAppCallRequest
) -> DisconnectWhatsAppCallResponse:
    """
    Disconnect an active WhatsApp call

    Args:
        request: DisconnectWhatsAppCallRequest containing the call ID to disconnect

    Returns:
        DisconnectWhatsAppCallResponse (empty response)
    """
    return await self._client.request(
        SVC,
        "DisconnectWhatsAppCall",
        request,
        self._auth_header(VideoGrants(room_create=True)),
        DisconnectWhatsAppCallResponse,
    )

Disconnect an active WhatsApp call

Args

request
DisconnectWhatsAppCallRequest containing the call ID to disconnect

Returns

DisconnectWhatsAppCallResponse (empty response)

class DialWhatsAppCallRequest (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
var ParticipantAttributesEntry

A ProtocolMessage

class DialWhatsAppCallResponse (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class DisconnectWhatsAppCallRequest (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR
class DisconnectWhatsAppCallResponse (*args, **kwargs)

A ProtocolMessage

Ancestors

  • google._upb._message.Message
  • google.protobuf.message.Message

Class variables

var DESCRIPTOR