# TwiML™ Voice: \<Room>

> \[!WARNING]
>
> This TwiML Verb is not currently available when using [Twilio Regions](/docs/global-infrastructure) Ireland (IE1) or Australia (AU1). This is currently only supported with the default US1 region. A full list of unsupported products and features with Twilio Regions is documented [here](/docs/global-infrastructure/regional-product-and-feature-availability).

Programmable Video Rooms are represented in [TwiML](/docs/glossary/what-is-twilio-markup-language-twiml) through the `<Room>` noun, which you can specify while using [the \<Connect> verb](/docs/voice/twiml/connect).

The `<Room>` noun allows you to connect to a named [Programmable Video Room](/docs/video/api/rooms-resource) and talk with other participants who are connected to that Room.

Note that only [Group Rooms](/docs/video/tutorials/understanding-video-rooms#video-rooms) support PSTN Participants.

To connect a Programmable Voice call to a Room, use the `<Room>` noun and provide the `UniqueName` for the Room you would like to connect to. If an in-progress Video Room with that unique name does not exist for your account, Twilio will move to the next set of TwiML instructions you have provided, or disconnect the call if the `<Room>` is the final TwiML instruction.

## \<Room> and \<Connect> usage examples

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Room>DailyStandup</Room>
  </Connect>
</Response>
```

> \[!WARNING]
>
> Ensure, your room type is `group`. Connecting voice calls to a Peer-to-Peer Room is not possible.

Connect a Programmable Voice call to a Room

```js
const VoiceResponse = require('twilio').twiml.VoiceResponse;

const response = new VoiceResponse();
const connect = response.connect();
connect.room('DailyStandup');

console.log(response.toString());
```

```py
from twilio.twiml.voice_response import Connect, VoiceResponse, Room

response = VoiceResponse()
connect = Connect()
connect.room('DailyStandup')
response.append(connect)

print(response)
```

```cs
using Twilio.TwiML;
using Twilio.TwiML.Voice;


class Example
{
    static void Main()
    {
        var response = new VoiceResponse();
        var connect = new Connect();
        connect.Room("DailyStandup");
        response.Append(connect);

        System.Console.WriteLine(response.ToString());
    }
}
```

```java
import com.twilio.twiml.voice.Connect;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.voice.Room;
import com.twilio.twiml.TwiMLException;


public class Example {
    public static void main(String[] args) {
        Room room = new Room.Builder("DailyStandup").build();
        Connect connect = new Connect.Builder().room(room).build();
        VoiceResponse response = new VoiceResponse.Builder().connect(connect)
            .build();

        try {
            System.out.println(response.toXml());
        } catch (TwiMLException e) {
            e.printStackTrace();
        }
    }
}
```

```php
<?php
require_once 'vendor/autoload.php';
use Twilio\TwiML\VoiceResponse;

$response = new VoiceResponse();
$connect = $response->connect();
$connect->room('DailyStandup');

echo $response;
```

```rb
require 'twilio-ruby'

response = Twilio::TwiML::VoiceResponse.new
response.connect do |connect|
    connect.room('DailyStandup')
end

puts response
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Room>DailyStandup</Room>
  </Connect>
</Response>
```

### Set the Participant's identity

You can set a unique identity on the incoming caller using an optional property called `participantIdentity`.

If you don't set the `participantIdentity`, then Twilio will assign a unique string value to the Participant's identity.

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Room participantIdentity='alice'>DailyStandup</Room>
  </Connect>
</Response>
```

Connect a Programmable Voice call to a Room with a unique participant identity

```js
const VoiceResponse = require('twilio').twiml.VoiceResponse;

const response = new VoiceResponse();
const connect = response.connect();
connect.room({
    participantIdentity: 'alice'
}, 'DailyStandup');

console.log(response.toString());
```

```py
from twilio.twiml.voice_response import Connect, VoiceResponse, Room

response = VoiceResponse()
connect = Connect()
connect.room('DailyStandup', participant_identity='alice')
response.append(connect)

print(response)
```

```cs
using System;
using Twilio.TwiML;
using Twilio.TwiML.Voice;


class Example
{
    static void Main()
    {
        var response = new VoiceResponse();
        var connect = new Connect();
        connect.Room("DailyStandup", participantIdentity: "alice");
        response.Append(connect);

        Console.WriteLine(response.ToString());
    }
}
```

```java
import com.twilio.twiml.voice.Connect;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.voice.Room;
import com.twilio.twiml.TwiMLException;


public class Example {
    public static void main(String[] args) {
        Room room = new Room.Builder("DailyStandup").participantIdentity("alice").build();
        Connect connect = new Connect.Builder().room(room).build();
        VoiceResponse response = new VoiceResponse.Builder().connect(connect).build();

        try {
            System.out.println(response.toXml());
        } catch (TwiMLException e) {
            e.printStackTrace();
        }
    }
}
```

```php
<?php
require_once './vendor/autoload.php';
use Twilio\TwiML\VoiceResponse;

$response = new VoiceResponse();
$connect = $response->connect();
$connect->room('DailyStandup', ['participantIdentity' => 'alice']);

echo $response;
```

```rb
require 'twilio-ruby'

response = Twilio::TwiML::VoiceResponse.new
response.connect do |connect|
    connect.room('DailyStandup', participant_identity: 'alice')
end

puts response
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Room participantIdentity="alice">DailyStandup</Room>
  </Connect>
</Response>
```

Visit the [Programmable Video documentation](/docs/video/adding-programmable-voice-participants-video-rooms) for more information about adding PSTN participants to Video Rooms.
