sip_hold_msg, sip_free_msg - adds and removes a reference from a SIP message
cc [ flag ... ] file ... –lsip [ library ... ] #include <sip.h> void sip_hold_msg(sip_msg_t sip_msg);
void sip_free_msg(sip_msg_t sip_msg);
The sip_hold_msg() function adds a reference to the SIP message passed as the argument. The reference is used to prevent the SIP message from being freed when in use.
The sip_free_msg() function is used to remove an added reference on the SIP message passed as the argument. If this is the last reference on the SIP message (i.e. the number of references on the SIP message is 0), the SIP message is destroyed and associated resources freed. Freeing a SIP message does not set the sip_msg pointer to NULL. Applications should not expect the pointer to a freed SIP message to be NULL.
The value of errno is not changed by these calls in the event of an error.
See attributes(5) for descriptions of the following attributes: