# `Parlora.Channels.Telnyx`
[🔗](https://github.com/hfiguera/parlora/blob/v0.1.0/lib/parlora/channels/telnyx.ex#L1)

Incoming Telnyx bidirectional Media Streaming with raw mono PCMU at 8 kHz.

Supply the authenticated socket owner as `:transport`, and the authorized
`:call_control_id` and `:call_session_id`. Only that process may submit messages
or pull output. The host owns signed webhook admission and media authentication.

Local queues default to 200 ms, outstanding playback to 500 ms and mark timeout
to 2,000 ms (`:max_age_ms`, `:max_inflight_ms`, `:mark_timeout_ms`). Input reorder
waits at most `:reorder_ms` (40 by default, 1–200 allowed). Gaps are explicit
discontinuities. RTP timestamps remain vendor metadata, not an assumed ms clock.

Stale unsent output is discarded with an `:output_stale` discontinuity; it does
not close the stream. Missing marks still fail at the finite mark timeout.

Output packets contain at least 20 ms; a short tail is padded with PCMU silence.
A mark echoed after clear has an unknown played-or-cleared outcome. Closing the
channel closes its stream, not the phone call; hangup remains application policy.

# `pull`

Pulls a paced batch of output messages for the authenticated transport owner.

# `receive_message`

Admits a Telnyx wire message from the authenticated transport owner.

---

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