# OTSessionCapabilities Class Reference

Inherits from | NSObject
Declared in | OTSession.h

## Overview

Defines the [OTSession capabilities] property. After you have connected to a session and the [OTSessionDelegate sessionDidConnect:] method has been called, this property identifies whether the client can publish and subscribe to streams in the session, based on the role assigned to the token used to connect to the session. For example, if you connect to a session using a token that is assigned a Subscriber role, the `canPublish` property of this object is set to `NO` (and the client does not have privileges to publish to the session). For more information, see the OpenTok token creation documentation.

### `canPublish`

Whether the client can publish streams to the session (`YES`) or not (`NO`). This is set to `NO` for clients that connect to a session using a token that is assigned a Subscriber role.

`@property (readonly) BOOL canPublish`

#### Declared In

`OTSession.h`

### `canSubscribe`

Whether the client can subscribe to streams in the session (`YES`) or not (`NO`).

`@property (readonly) BOOL canSubscribe`

#### Declared In

`OTSession.h`

### `canForceMute`

Whether the client can force mute other streams in the session (`YES`) or not (`NO`).

`@property (readonly) BOOL canForceMute`

#### Discussion

See [OTSession forceMuteAll:error:] and [OTSession forceMuteStream:error:].

#### Declared In

`OTSession.h`

### `canForceDisconnect`

Whether the client can force disconnect other connections in the session (`YES`) or not (`NO`).

`@property (readonly) BOOL canForceDisconnect`

#### Discussion

See [OTSession forceDisconnect:error:]

#### Declared In

`OTSession.h`