SIP_BRANCHID(3SIP) Session Initiation Protocol Library Functions
sip_branchid - generate a RFC 3261 complaint branch ID
cc [ flag ... ] file ... -lsip [ library ... ]
#include <sip.h>
char *sip_branchid(sip_msg_t sip_msg);
The sip_branchid() function can be used to generate a value for the
branch parameter for a VIA header. The returned string is prefixed
with z9hG4bK to conform to RFC 3261. If sip_msg is null or sip_msg
does not have a VIA header, a random value is generated. Otherwise,
the value is generated using the MD5 hash of the VIA, FROM, CALL-ID,
CSEQ headers and the URI from the request line. The caller is
responsible for freeing the returned string.
The sip_branchid() function returns a string on success and NULL on
failure.
The value of errno is not changed by these calls in the event of an
error.
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
libsip(3LIB)
January 25, 2007 SIP_BRANCHID(3SIP)
NAME
sip_branchid - generate a RFC 3261 complaint branch ID
SYNOPSIS
cc [ flag ... ] file ... -lsip [ library ... ]
#include <sip.h>
char *sip_branchid(sip_msg_t sip_msg);
DESCRIPTION
The sip_branchid() function can be used to generate a value for the
branch parameter for a VIA header. The returned string is prefixed
with z9hG4bK to conform to RFC 3261. If sip_msg is null or sip_msg
does not have a VIA header, a random value is generated. Otherwise,
the value is generated using the MD5 hash of the VIA, FROM, CALL-ID,
CSEQ headers and the URI from the request line. The caller is
responsible for freeing the returned string.
RETURN VALUES
The sip_branchid() function returns a string on success and NULL on
failure.
The value of errno is not changed by these calls in the event of an
error.
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)
January 25, 2007 SIP_BRANCHID(3SIP)