Skip to main content

Module via

Module via 

Source
Expand description

The Via header (RFC 3261 §20.42).

via-parm      = sent-protocol LWS sent-by *( SEMI via-params )
sent-protocol = protocol-name SLASH protocol-version SLASH transport
sent-by       = host [ COLON port ]
SLASH         = SWS "/" SWS

SLASH and LWS mean whitespace is legal almost everywhere, including across a line fold: RFC 4475 §3.1.1.1 sends Via : SIP / 2.0 with the /UDP on the next line. The top Via decides where a response goes and its branch identifies the transaction, so this is the header the transaction layer leans on hardest.

Structs§

OverloadSequence
RFC 7339’s decimal oc-seq, normalized to five fractional decimal places.
Via
One Via value.
ViaOverload
The four typed overload-control parameters on one Via hop.

Enums§

OcParameter
The overload-control capability or value carried by Via’s oc parameter (RFC 7339 §4.1).
OverloadAlgorithm
One algorithm token from oc-algo (RFC 7339 §4.2, RFC 7415 §3.3).

Constants§

BRANCH_MAGIC_COOKIE
The magic cookie that marks a branch parameter as RFC 3261 rather than RFC 2543 (RFC 3261 §8.1.1.7). Its absence is what selects the legacy matching rules.

Functions§

first_hop_end
The index just past the first via-parm in a header value that may carry several comma-separated hops.