# `ExSDP.Attribute.Extmap`
[🔗](https://github.com/membraneframework/ex_sdp/blob/v1.2.0/lib/ex_sdp/attribute/extmap.ex#L1)

This module represents extmap (RFC 8285).

# `attr_key`

```elixir
@type attr_key() :: :extmap
```

Key that can be used for searching this attribute using `ExSDP.Media.get_attribute/2`.

# `direction`

```elixir
@type direction() :: :sendonly | :recvonly | :sendrecv | :inactive | nil
```

# `extension_id`

```elixir
@type extension_id() :: 1..14
```

# `reason`

```elixir
@type reason() :: :invalid_extmap | :invalid_id | :invalid_direction | :invalid_uri
```

Reason of parsing failure.

# `t`

```elixir
@type t() :: %ExSDP.Attribute.Extmap{
  attributes: [String.t()],
  direction: direction(),
  id: extension_id(),
  uri: String.t()
}
```

# `parse`

```elixir
@spec parse(binary()) :: {:ok, t()} | {:error, reason()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
