View Source Sippet.Message.RequestLine (Sippet v1.0.16)

A SIP Request-Line struct, composed by the Method, Request-URI and SIP-Version.

The start_line of requests are represented by this struct. The RFC 3261 represents the Request-Line as:

Request-Line  =  Method SP Request-URI SP SIP-Version CRLF

The above Method is represented by atoms, when the method is a known one, or by binaries, when the method is unknown. Known ones are :ack, :invite, :register, :cancel, :message and all others returned by the function Sippet.Message.known_methods/0.

The Request-URI is represented by a Sippet.URI struct, breaking down the SIP-URI in more useful parts for processing.

The SIP-Version is a {major, minor} tuple, which assumes the value {2, 0} in standard implementations.

Summary

Functions

Creates a Request-Line struct.

Returns an iodata which corresponds to the text representation of the given Request-Line.

Returns a binary which corresponds to the text representation of the given Request-Line.

Types

@type method() :: Sippet.Message.method()
@type t() :: %Sippet.Message.RequestLine{
  method: method(),
  request_uri: uri(),
  version: version()
}
@type uri() :: Sippet.URI.t()
@type version() :: {integer(), integer()}

Functions

Link to this function

new(method, request_uri)

View Source
@spec new(method(), uri() | binary()) :: t()

Creates a Request-Line struct.

The version will assume the default value {2, 0}.

@spec to_iodata(t()) :: iodata()

Returns an iodata which corresponds to the text representation of the given Request-Line.

It does not includes an ending line CRLF.

@spec to_string(t()) :: binary()

Returns a binary which corresponds to the text representation of the given Request-Line.

It does not includes an ending line CRLF.