> ## Documentation Index
> Fetch the complete documentation index at: https://daily-hush-pcc-session-recordings-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Daily WebRTC Transport

> WebRTC implementation for Android using Daily

The Daily transport implementation enables real-time audio and video communication in your Pipecat Android applications using [Daily's](https://www.daily.co/) WebRTC infrastructure.

## Installation

Add the Daily transport dependency to your `app/build.gradle.kts`:

```kotlin theme={null}
dependencies {
    implementation("ai.pipecat:daily-transport:1.2.0")
}
```

Add the microphone permission to `AndroidManifest.xml`:

```xml theme={null}
<uses-permission android:name="android.permission.RECORD_AUDIO" />
```

## Usage

Create a client using the Daily transport:

```kotlin theme={null}
import ai.pipecat.client.PipecatClientOptions
import ai.pipecat.client.PipecatEventCallbacks
import ai.pipecat.client.daily.DailyTransport
import ai.pipecat.client.daily.PipecatClientDaily
import ai.pipecat.client.types.APIRequest
import ai.pipecat.client.types.Value

val callbacks = object : PipecatEventCallbacks() {

    override fun onBackendError(message: String) {
        Log.e(TAG, "Error from backend: $message")
    }

    // ...
}

val options = PipecatClientOptions(callbacks = callbacks, enableMic = true)

val client = PipecatClientDaily(DailyTransport(context), options)

val startBotParams = APIRequest(
    endpoint = "https://your-server.com/start",
    // Pipecat Cloud and the Pipecat development runner use these fields
    // to decide how to run the bot; unknown fields are ignored
    requestData = Value.Object(
        "transport" to Value.Str("daily"),
        "createDailyRoom" to Value.Bool(true),
    )
)

// Kotlin coroutines
client.startBotAndConnect(startBotParams).await()

// Callbacks
client.startBotAndConnect(startBotParams).withCallback {
    // ...
}
```

## Configuration

Your server endpoint should return Daily-specific configuration:

```json theme={null}
{
  "dailyRoom": "https://your-domain.daily.co/room-name",
  "dailyToken": "your-daily-token"
}
```

## Resources

<CardGroup cols={2}>
  <Card horizontal title="Demo" icon="play" href="https://github.com/pipecat-ai/pipecat-examples/tree/main/simple-chatbot/client/android">
    Simple Chatbot Demo
  </Card>

  <Card horizontal title="Source" icon="github" href="https://github.com/pipecat-ai/pipecat-client-android-transports/">
    Client Transports
  </Card>
</CardGroup>

<Card title="Daily Transport Reference" icon="book-open" href="https://docs-android.rtvi.ai/">
  Complete API documentation for the Daily transport implementation
</Card>
