Skip to main content

Module rel

Module rel 

Source
Expand description

Reliable provisional responses (RFC 3262): 100rel, RSeq, RAck and PRACK.

An ordinary 180 Ringing is fire-and-forget. Over UDP it is simply lost sometimes, and the caller hears nothing while the callee’s phone rings — or, worse, an early-media answer never arrives and the call connects to silence. RFC 3262 makes a provisional response an acknowledged message: the UAS numbers it, retransmits it until a PRACK comes back, and gives up on the whole invitation if none ever does.

Some carriers will not accept a call without it, which is the practical reason this exists.

Everything here is pure: sequence numbers, the ordering rule, and the decision about whether a request may or must be answered reliably. The retransmission clock lives a layer up.

Structs§

Numbering
The UAS’s numbering of reliable provisionals within one transaction (RFC 3262 §3).
Offered
What the peer said about 100rel in its request.
RAck
The RAck header (RFC 3262 §7.2): response-num CSeq-num Method.
RSeq
The RSeq header (RFC 3262 §7.1).
Sequence
The UAC’s view of the reliable provisionals arriving for one request (RFC 3262 §4).

Enums§

Received
What the UAC should do with a reliable provisional it has just received.
Reliability
What a UAS must do about reliability for an incoming request.

Constants§

MAX_FIRST_RSEQ
The largest first sequence number the RFC allows.
OPTION_TAG
The option tag, in Supported, Require and Unsupported (RFC 3262 §8.1).

Functions§

reliability
Decide the UAS side (RFC 3262 §3).