SIP_GET_REQUEST_METHOD(3SIP) Session Initiation Protocol Library Functions
NAME
sip_get_request_method, sip_get_response_code,
sip_get_response_phrase, sip_get_sip_version - obtain attributes from
the start line in a SIP message
SYNOPSIS
cc [
flag ... ]
file ...
-lsip [
library ... ]
#include <sip.h>
sip_method_t sip_get_request_method(
const sip_msg_t sip_msg,
int *error);
int sip_get_response_code(
sip_msg_t sip_msg,
int *error);
const sip_str_t *sip_get_response_phrase(
sip_msg_t sip_msg,
int *error);
const sip_str_t*sip_get_sip_version(
sip_msg_t sip_msg,
int *error);
DESCRIPTION
For functions that return a pointer of type
sip_str_t,
sip_str_t is
supplied by:
typedef struct sip_str {
char *sip_str_ptr;
int sip_str_len;
}sip_str_t;
The
sip_str_ptr parameter points to the start of the returned value
and
sip_str_len supplies the length of the returned value.
For example, given the following request line in a
SIP message
sip_msg that is input to
sip_get_request_uri_str():
FROM : <Alice sip:alice@example.com>;tag=1928301774
the return is a pointer to
sip_str_t with the
sip_str_ptr member
pointing to "
A" of
Alice and
sip_str_len being set to
5, the length
of
Alice.
Access functions for headers that can have multiple values take the
value as the input, while those that can have only one value take the
SIP message
sip_msg as the input.
The
sip_get_request_method() function will return the
SIP method from
the request line in the
SIP message
sip_msg. The method can be one
of the following:
INVITE
ACK
OPTIONS
BYE
CANCEL
REGISTER
REFER
INFO
SUBSCRIBE
NOTIFY
PRACK
UNKNOWN
The
sip_get_response_code() function will return the response code
response from the request line in the
SIP message
sip_msg.
The
sip_get_response_phrase() function will return the response
phrase
response from the request line in the
SIP message
sip_msg.
The
sip_get_sip_version() function will return the version of the
SIP protocol from the request or the response line in the
SIP message
sip_msg.
RETURN VALUES
For functions that return a pointer to
sip_str_t, the return value is
the specified value on success or
NULL in case of error. For
functions that return an integer, the return value is the specified
value on success and
-1 on error.
The value of
errno is not changed by these calls in the event of an
error.
ERRORS
These functions take a pointer to an integer
error as an argument. If
the error is non-null, one of the following values is set:
EINVAL The input
SIP message
sip_msg or the header value is null;
or the specified header/header value is deleted.
EPROTO The header value is not present or invalid. The parser
could not parse it correctly.
ENOMEM There is an error allocating memory for the return value.
On success, the value of the location pointed to by
error is set to
0.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
libsip(3LIB) November 22, 2021 SIP_GET_REQUEST_METHOD(3SIP)