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)

tribblix@gmail.com :: GitHub :: Privacy