> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WebRTC iOS Call State

> CallState represents the state of the call

**ENUM**

# `CallState`

```swift theme={null}
public enum CallState: Equatable
```

`CallState` represents the state of the call

## Cases

### `NEW`

```swift theme={null}
case NEW
```

New call has been created in the client.

### `CONNECTING`

```swift theme={null}
case CONNECTING
```

The outbound call is being sent to the server.

### `RINGING`

```swift theme={null}
case RINGING
```

Call is pending to be answered. Someone is attempting to call you.

### `ACTIVE`

```swift theme={null}
case ACTIVE
```

Call is active when two clients are fully connected.

### `HELD`

```swift theme={null}
case HELD
```

Call has been held.

### `DONE(reason:)`

```swift theme={null}
case DONE(reason: CallTerminationReason? = nil)
```

Call has ended.

### `RECONNECTING(reason:)`

```swift theme={null}
case RECONNECTING(reason: Reason)
```

The active call is being recovered. Usually after a network switch or bad network

### `DROPPED(reason:)`

```swift theme={null}
case DROPPED(reason: Reason)
```

The active call is dropped. Usually when the network is lost.

## Methods

### `getReason()`

```swift theme={null}
public func getReason() -> String?
```

Helper function to get the reason for the state (if applicable).

### `==(_:_:)`

```swift theme={null}
public static func == (lhs: CallState, rhs: CallState) -> Bool
```

#### Parameters

| Name | Description               |
| ---- | ------------------------- |
| lhs  | A value to compare.       |
| rhs  | Another value to compare. |
