Sippet v0.3.8 Sippet.Message.StatusLine
A SIP Status-Line struct, composed by the SIP-Version, Status-Code and the Reason-Phrase.
The start_line
of responses are represented by this struct. The RFC 3261
represents the Status-Line as:
Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
The above SIP-Version
is represented by a {major, minor}
tuple, which
assumes the value {2, 0}
in standard implementations.
The Status-Code
is a 3-digit integer in the interval 100-699 indicating the
outcome of an attempt to understand and satisfy a request.
The Reason-Phrase
is a binary representing a short textual description of
the Status-Code
.
The Status-Code
is intended for use by automata, whereas the
Reason-Phrase
is intended for the human user.
Summary
Functions
Returns a binary representing the default reason phrase for the given
status_code
Returns a binary representing the default reason phrase for the given
status_code
Returns a Status-Line struct
Creates a Status-Line struct using a given reason phrase
Returns an integer representing the status code class in the range [1, 6]
Returns an iodata which corresponds to the text representation of the given Status-Line
Returns a binary which corresponds to the text representation of the given Status-Line
Types
t() :: %Sippet.Message.StatusLine{reason_phrase: binary, status_code: status_code, version: version}
Functions
Returns a binary representing the default reason phrase for the given
status_code
.
If the status_code
does not have a corresponding default reason phrase,
returns nil
.
Examples
iex> Sippet.Message.StatusLine.default_reason(202)
"Accepted"
iex> Sippet.Message.StatusLine.default_reason(499)
nil
Returns a binary representing the default reason phrase for the given
status_code
.
If the status_code
does not have a corresponding default reason phrase,
throws an exception.
Examples
iex> Sippet.Message.StatusLine.default_reason!(202)
"Accepted"
iex> Sippet.Message.StatusLine.default_reason!(499)
** (ArgumentError) status code 499 does not have a default reason phrase
Returns a Status-Line struct.
The reason_phrase
is obtained from default values.
The function will throw an exception if the status_code
is not in the valid
range 100..699
or if the status_code
does not have a default reason
phrase.
The version will assume the default value {2, 0}
.
Examples
iex> Sippet.Message.StatusLine.new(400)
%Sippet.Message.StatusLine{reason_phrase: "Bad Request", status_code: 400,
version: {2, 0}}
Creates a Status-Line struct using a given reason phrase.
In this function, the reason_phrase
can be anything the application wants.
The function will throw an exception if the status_code
is not in the valid
range 100..699
.
The version will assume the default value {2, 0}
.
Examples
iex> Sippet.Message.StatusLine.new(499, "Foobar")
%Sippet.Message.StatusLine{reason_phrase: "Foobar", status_code: 499,
version: {2, 0}}
Returns an integer representing the status code class in the range [1, 6]
.
Examples
iex> alias Sippet.Message.StatusLine
iex> StatusLine.new(202) |> StatusLine.status_code_class()
2
Returns an iodata which corresponds to the text representation of the given Status-Line.
It does not includes an ending line CRLF.
Examples
iex> alias Sippet.StatusLine iex> StatusLine.new(202) |> StatusLine.to_iodata [“SIP/“, “2”, “.”, “0”, “ “, “202”, “ “, “Accepted”]