Commit 4b5742e3 authored by Pekka Pessi's avatar Pekka Pessi

Fixed documentation in sip module.

darcs-hash:20051027190448-65a35-2b066a3b395d0b525f04591d7a18c558ce5f4f7b.gz
parent 4c831fbb
......@@ -78,6 +78,7 @@ typedef enum {
#define SIP_METHOD_REFER sip_method_refer, "REFER"
#define SIP_METHOD_PUBLISH sip_method_publish, "PUBLISH"
/** Magic pointer value - never valid for SIP headers. @HI */
#define SIP_NONE ((sip_header_t const *)-1L)
#define sip_none SIP_NONE
......@@ -538,7 +539,7 @@ struct sip_expires_s
sip_error_t *ex_next; /**< Link to next (dummy) */
sip_time_t ex_date; /**< Seconds since Jan 1, 1900 */
# define ex_time ex_date
sip_time_t ex_delta; /**< ...or delta seconds */
sip_time_t ex_delta; /**< Delta seconds */
};
/**@ingroup sip_max_forwards
......
......@@ -899,7 +899,7 @@ sip_call_id_t *sip_call_id_create(su_home_t *home, char const *domain)
/**@SIP_HEADER sip_cseq CSeq Header
*
* The CSeq header (command sequence) uniquely identifies transactions
* within a dialog. It is defined in RFC 3261 as follows:
* within a dialog. It is defined in @RFC3261 as follows:
*
* @code
* CSeq = "CSeq" HCOLON 1*DIGIT LWS Method
......@@ -1066,7 +1066,7 @@ sip_cseq_t *sip_cseq_create(su_home_t *home,
* @endcode
*
* @note
* The RFC 2543 syntax allowed <comment>. We accept it, but don't encode it.
* The @RFC2543 syntax allowed <comment>. We accept it, but don't encode it.
*/
/**@ingroup sip_contact
......@@ -1090,7 +1090,7 @@ sip_cseq_t *sip_cseq_create(su_home_t *home,
* } sip_contact_t;
* @endcode
*
* @note: The field sip_contact_s::m_expires is deprecated.
* @note: The field @ref sip_contact_s::m_comment m_comment is deprecated.
*/
static msg_xtra_f sip_contact_dup_xtra;
......@@ -1491,7 +1491,7 @@ sip_date_t *sip_date_create(su_home_t *home, sip_time_t date)
* Expires = "Expires" HCOLON delta-seconds
* @endcode
*
* Note that the first SIP revision (RFC 2543) also allowed absolute time in
* Note that the first SIP revision (@RFC2543) also allowed absolute time in
* Expires.
*/
......@@ -1792,6 +1792,29 @@ int sip_min_expires_e(char b[], int bsiz, sip_header_t const *h, int f)
* @endcode
*/
/**@ingroup sip_retry_after
* @typedef struct sip_retry_after_s sip_retry_after_t;
*
* The structure sip_retry_after_t contains representation of an @b
* Retry-After header.
*
* The sip_retry_after_t is defined as follows:
* @code
* typedef struct sip_retry_after_s {
* sip_common_t af_common[1]; // Common fragment info
* sip_error_t *af_next; // Link to next (dummy)
* sip_time_t af_delta; // Seconds to before retry
* sip_param_t af_comment; // Comment string
* sip_param_t const *af_params; // List of parameters
* sip_param_t af_duration; // Duration parameter
* } sip_retry_after_t;
* @endcode
*/
/**@ingroup sip_retry_after
* @brief Structure for @b Retry-After header.
*/
static msg_xtra_f sip_retry_after_dup_xtra;
static msg_dup_f sip_retry_after_dup_one;
inline static void sip_retry_after_update(sip_header_t *h);
......@@ -2303,7 +2326,7 @@ int sip_to_add_param(su_home_t *home,
* @endcode
*
* @note
* The RFC 2543 syntax allowed <comment>. We accept it, but don't encode it.
* The @RFC2543 syntax allowed <comment>. We accept it, but don't encode it.
*/
static void sip_via_update(sip_header_t *h);
......@@ -2405,7 +2428,7 @@ int sip_via_e(char b[], int bsiz, sip_header_t const *h, int flags)
}
SIP_PARAMS_E(b, end, v->v_params, flags);
#if 0
/* Comment is deprecated in RFC 3265 - accept it, but do not send */
/* Comment is deprecated in @RFC3265 - accept it, but do not send */
if (v->v_comment) {
if (!MSG_IS_COMPACT(flags))
SIP_CHAR_E(b, end, ' ');
......
......@@ -50,8 +50,8 @@
/**@SIP_HEADER sip_event Event Header
*
* The Event header is used to indicate the which event or class of events
* the message contains or subscribes. Its syntax is defined in
* [Events4.2.1] (draft-ietf-sip-events-00.txt) as follows:
* the message contains or subscribes. Its syntax is defined in @RFC3265 as
* follows:
*
* @code
* Event = ( "Event" / "o" ) HCOLON event-type
......@@ -63,7 +63,24 @@
* / "_" / "+" / "`" / "'" / "~" )
* event-param = generic-param / ( "id" EQUAL token )
* @endcode
*/
/**@ingroup sip_event
* @typedef struct sip_event_s sip_event_t;
*
* The structure sip_event_t contains representation of an @b Event header.
*
* The sip_event_t is defined as follows:
* @code
* typedef struct sip_event_s
* {
* sip_common_t o_common; // Common fragment info
* sip_error_t *o_next; // Link to next (dummy)
* char const * o_type; // Event type
* sip_param_t const *o_params; // List of parameters
* sip_param_t o_id; // Event ID
* } sip_event_t;
* @endcode
*/
static msg_xtra_f sip_event_dup_xtra;
......@@ -144,8 +161,8 @@ static inline void sip_event_update(sip_event_t *o)
/**@SIP_HEADER sip_allow_events Allow-Event Header
*
* The Allow-Event header is used to indicate which events or classes of
* events the notifier supports. Its syntax is defined in [Events4.2.2]
* (draft-ietf-sip-events-00.txt) as follows:
* events the notifier supports. Its syntax is defined in @RFC3265 as
* follows:
*
* @code
* Allow-Events = ( "Allow-Events" | "u" ) ":" 1#event-type
......@@ -153,6 +170,23 @@ static inline void sip_event_update(sip_event_t *o)
*
*/
/**@ingroup sip_allow_events
* @typedef struct msg_list_s sip_allow_events_t;
*
* The structure sip_allow_events_t contains representation of an @b
* Allow-Events header.
*
* The sip_allow_events_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_allow_events_t;
* @endcode
*/
msg_hclass_t sip_allow_events_class[] =
SIP_HEADER_CLASS_LIST(allow_events, "Allow-Events", "u", list);
......@@ -184,7 +218,7 @@ int sip_allow_events_add(su_home_t *home,
*
* The Subscription-State header is used to indicate which State a
* Application, associated with a certain dialogue, is in. Its syntax is
* defined in [Events4.2.4] (draft-ietf-sip-events-03.txt) as follows:
* defined in [Events4.2.4] @RFC3265 as follows:
*
* @code
* Subscription-State = ( "Subscription-State" ) ":" substate-value
......@@ -200,19 +234,25 @@ int sip_allow_events_add(su_home_t *home,
* | "timeout" | "giveup" | reason-extension
* reason-extension = token
* @endcode
*
*/
/**@ingroup sip_subscription_state
* @typedef struct sip_subscription_state_s sip_subscription_state_t;
*
* The structure sip_subscription_state_t contains representation of an @b
* Subscription-State header.
*
* The sip_subscription_state_t is defined as follows.
* The sip_subscription_state_t is defined as follows:
* @code
* typedef struct sip_subscription_state_s
* {
* sip_common_t ss_common[1];
* sip_unknown_t *ss_next;
* char const *ss_substate;
* sip_param_t const *ss_params;
* sip_param_t ss_reason;
* sip_param_t ss_expires;
* sip_param_t ss_retry_after;
* sip_common_t ss_common[1];
* sip_unknown_t *ss_next;
* char const *ss_substate; // State value
* sip_param_t const *ss_params; // List of parameters
* sip_param_t ss_reason; // Value of reason parameter
* sip_param_t ss_expires; // Value of expires parameter
* sip_param_t ss_retry_after; // Value of retry-after parameter
* } sip_subscription_state_t;
* @endcode
*/
......
......@@ -62,6 +62,25 @@
*
*/
/**@ingroup sip_call_info
* @typedef struct sip_call_info_s sip_call_info_t;
*
* The structure sip_call_info_t contains representation of an @b
* Call-Info header.
*
* The sip_call_info_t is defined as follows:
* @code
* struct sip_call_info_s
* {
* sip_common_t ci_common[1]; // Common fragment info
* sip_call_info_t *ci_next; // Link to next Call-Info
* url_t ci_url[1]; // URI to call info
* sip_param_t const *ci_params; // List of parameters
* sip_param_t ci_purpose; // Value of @b purpose parameter
* };
* @endcode
*/
static int sip_info_d(su_home_t *home, sip_header_t *h, char *s, int slen);
static int sip_info_dup_xtra(sip_header_t const *h, int offset);
......@@ -140,6 +159,24 @@ void sip_call_info_update(sip_header_t *h)
*
*/
/**@ingroup sip_error_info
* @typedef struct sip_error_info_s sip_error_info_t;
*
* The structure sip_error_info_t contains representation of an @b
* Error-Info header.
*
* The sip_error_info_t is defined as follows:
* @code
* struct sip_error_info_s
* {
* sip_common_t ei_common[1]; // Common fragment info
* sip_error_info_t *ei_next; // Link to next Error-Info
* url_t ei_url[1]; // URI to error info
* sip_param_t const *ei_params; // List of parameters
* };
* @endcode
*/
msg_hclass_t sip_error_info_class[] =
SIP_HEADER_CLASS(error_info, "Error-Info", "",
ei_params, append, info);
......@@ -435,7 +472,7 @@ int sip_user_agent_e(char b[], int bsiz, sip_header_t const *h, int f)
/**@SIP_HEADER sip_etag SIP-ETag Header
*
* The @b SIP-ETag header field identifies the published event state. Its
* syntax is defined in RFC 3903 as follows:
* syntax is defined in @RFC3903 as follows:
*
* @code
* SIP-ETag = "SIP-ETag" HCOLON entity-tag
......@@ -464,7 +501,7 @@ int sip_etag_e(char b[], int bsiz, sip_header_t const *h, int f)
*
* The @b SIP-If-Match header field identifies the specific entity of event
* state that the request is refreshing, modifying or removing. Its syntax
* is defined in RFC 3903 as follows:
* is defined in @RFC3903 as follows:
*
* @code
* SIP-If-Match = "SIP-If-Match" HCOLON entity-tag
......
......@@ -56,9 +56,21 @@
*
*/
/* H14.7, S6.10
*/
/**@ingroup sip_allow
* @typedef struct msg_list_s sip_allow_t;
*
* The structure sip_allow_t contains representation of an @b Allow header.
*
* The sip_allow_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_allow_t;
* @endcode
*/
msg_hclass_t sip_allow_class[] =
SIP_HEADER_CLASS_LIST(allow, "Allow", "", list);
......@@ -89,6 +101,23 @@ int sip_allow_e(char b[], int bsiz, sip_header_t const *h, int f)
*
*/
/**@ingroup sip_proxy_require
* @typedef struct msg_list_s sip_proxy_require_t;
*
* The structure sip_proxy_require_t contains representation of an @b
* Proxy-Require header.
*
* The sip_proxy_require_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_proxy_require_t;
* @endcode
*/
msg_hclass_t sip_proxy_require_class[] =
SIP_HEADER_CLASS_LIST(proxy_require, "Proxy-Require", "", list);
......@@ -119,6 +148,23 @@ int sip_proxy_require_e(char b[], int bsiz, sip_header_t const *h, int f)
*
*/
/**@ingroup sip_require
* @typedef struct msg_list_s sip_require_t;
*
* The structure sip_require_t contains representation of an @b
* Require header.
*
* The sip_require_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_require_t;
* @endcode
*/
msg_hclass_t sip_require_class[] =
SIP_HEADER_CLASS_LIST(require, "Require", "", list);
......@@ -148,6 +194,24 @@ int sip_require_e(char b[], int bsiz, sip_header_t const *h, int f)
*
*/
/**@ingroup sip_supported
* @typedef struct msg_list_s sip_supported_t;
*
* The structure sip_supported_t contains representation of an @b
* Supported header.
*
* The sip_supported_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_supported_t;
* @endcode
*/
msg_hclass_t sip_supported_class[] =
SIP_HEADER_CLASS_LIST(supported, "Supported", "k", list);
......@@ -168,14 +232,31 @@ int sip_supported_e(char b[], int bsiz, sip_header_t const *h, int f)
/**@SIP_HEADER sip_unsupported Unsupported Header
*
* The Unsupported header lists the features not supported by the server.
* Its syntax is defined in [S10.44] as follows:
* Its syntax is defined in [S20.40] as follows:
*
* @code
* Unsupported = "UnSupported" HCOLON [option-tag *(COMMA option-tag)]
* Unsupported = "Unsupported" HCOLON [option-tag *(COMMA option-tag)]
* @endcode
*
*/
/**@ingroup sip_unsupported
* @typedef struct msg_list_s sip_unsupported_t;
*
* The structure sip_unsupported_t contains representation of an @b
* Unsupported header.
*
* The sip_unsupported_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_unsupported_t;
* @endcode
*/
msg_hclass_t sip_unsupported_class[] =
SIP_HEADER_CLASS_LIST(unsupported, "Unsupported", "", list);
......@@ -191,9 +272,12 @@ int sip_unsupported_e(char b[], int bsiz, sip_header_t const *h, int f)
return msg_list_e(b, bsiz, h, f);
}
/** Ensure required feature is supported.
/** Check if required feature is supported.
*
* @retval NULL if all the required features are supported
* @retval pointer to a @b Unsupported header or
* #SIP_NONE if @a home is NULL
*/
sip_unsupported_t *sip_has_unsupported(su_home_t *home,
sip_supported_t const *support,
sip_require_t const *require)
......@@ -203,11 +287,11 @@ sip_unsupported_t *sip_has_unsupported(su_home_t *home,
}
/** Ensure required feature is supported.
/** Check if required feature is supported.
*
* @retval NULL if all the required features are supported
* @retval pointer to a @b Unsupported header or
* #SIP_NONE if @a home is non-NULL
* #SIP_NONE if @a home is NULL
*/
sip_unsupported_t *
sip_has_unsupported2(su_home_t *home,
......@@ -224,13 +308,16 @@ sip_has_unsupported2(su_home_t *home,
/** Ensure that required features are supported.
*
* The supported features can be listed in @b Supported, @b Require or
* @b Proxy-Require headers (in @a supported
* The supported features can be listed in @b Supported, @b Require or @b
* Proxy-Require headers (in @a supported, @a by_require, or @a
* by_proxy_require parameters, respectively)
*
* @param home (optional) home pointer for allocating @b Unsupported header
* @param supported @b Supported header (may be NULL) [IN]
* @param by_require @b Require header (may be NULL) [IN]
* @param by_proxy_require @b Proxy-Require header (may be NULL) [IN]
* @param supported @b Supported features (may be NULL) [IN]
* @param by_require supported features listed by
* @b Require (may be NULL) [IN]
* @param by_proxy_require supported features listed
* by @b Proxy-Require (may be NULL) [IN]
*
* @param require list of required features (may be NULL) [IN]
* @param require2 2nd list of required features (may be NULL) [IN]
......@@ -342,7 +429,7 @@ int sip_has_supported(sip_supported_t const *supported, char const *feature)
/**@SIP_HEADER sip_path Path Header
*
* The Path header field is a SIP extension header field (RFC 3327) with
* The Path header field is a SIP extension header field (@RFC3327) with
* syntax very similar to the Record-Route header field. It is used in
* conjunction with SIP REGISTER requests and with 200 class messages in
* response to REGISTER (REGISTER responses).
......@@ -392,7 +479,7 @@ int sip_path_e(char b[], int bsiz, sip_header_t const *h, int flags)
/**@SIP_HEADER sip_service_route Service-Route Header
*
* The "Service-Route" is a SIP extension header field (RFC 3608), which can
* The "Service-Route" is a SIP extension header field (@RFC3608), which can
* contain a route vector that will direct requests through a specific
* sequence of proxies. A registrar may use a Service-Route header field to
* inform a UA of a service route that, if used by the UA, will provide
......
......@@ -338,6 +338,27 @@ int sip_accept_language_e(char b[], int bsiz, sip_header_t const *h, int f)
* @endcode
*/
/**@ingroup sip_content_disposition
* @typedef struct msg_content_disposition_s sip_content_disposition_t;
*
* The structure sip_content_disposition_t contains representation of an @b
* Content-Disposition header.
*
* The sip_content_disposition_t is defined as follows:
* @code
* typedef struct msg_content_disposition_s
* {
* msg_common_t cd_common[1]; // Common fragment info
* msg_error_t *cd_next; // Link to next (dummy)
* char const *cd_type; // Disposition type
* msg_param_t const *cd_params; // List of parameters
* msg_param_t cd_handling; // Value of @b handling parameter
* unsigned cd_required:1; // True if handling=required
* unsigned cd_optional:1; // True if handling=optional
* } sip_content_disposition_t;
* @endcode
*/
static msg_xtra_f sip_content_disposition_dup_xtra;
static msg_dup_f sip_content_disposition_dup_one;
......@@ -449,6 +470,23 @@ static void sip_content_disposition_update(sip_content_disposition_t *cd)
* @endcode
*/
/**@ingroup sip_content_encoding
* @typedef struct msg_list_s sip_content_encoding_t;
*
* The structure sip_content_encoding_t contains representation of an @b
* Content-Encoding header.
*
* The sip_content_encoding_t is defined as follows:
* @code
* typedef struct msg_list_s
* {
* msg_common_t k_common[1]; // Common fragment info
* msg_list_t *k_next; // Link to next header
* msg_param_t *k_items; // List of items
* } sip_content_encoding_t;
* @endcode
*/
msg_hclass_t sip_content_encoding_class[] =
SIP_HEADER_CLASS_G(content_encoding, "Content-Encoding", "e", append);
......@@ -469,7 +507,7 @@ int sip_content_encoding_e(char b[], int bsiz, sip_header_t const *h, int f)
* The Content-Language header [H14.12] describes the natural language(s) of
* the intended audience for the enclosed entity. Note that this might not
* be equivalent to all the languages used within the entity-body. Its
* syntax is defined in RFC 3261 as follows:
* syntax is defined in @RFC3261 as follows:
*
* @code
* Content-Language = "Content-Language" HCOLON
......@@ -480,6 +518,22 @@ int sip_content_encoding_e(char b[], int bsiz, sip_header_t const *h, int f)
* @endcode
*/
/**@ingroup sip_content_language
* @typedef typedef struct msg_content_language_s sip_content_language_t;
*
* The structure sip_content_language_t contains representation of @b
* Content-Language header.
*
* The sip_content_language_t is defined as follows:
* @code
* typedef struct {
* msg_common_t k_common[1]; // Common fragment info
* msg_content_language_t *k_next; // (Content-Encoding header)
* msg_param_t *k_items; // List of languages
* } sip_content_language_t;
* @endcode
*/
msg_hclass_t sip_content_language_class[] =
SIP_HEADER_CLASS_LIST(content_language, "Content-Language", "", list);
......@@ -622,6 +676,23 @@ char *sip_content_type_dup_one(sip_header_t *dst, sip_header_t const *src,
* @endcode
*/
/**@ingroup sip_mime_version
* @typedef struct msg_generic_s sip_mime_version_t;
*
* The structure sip_mime_version_t contains representation of an @b
* MIME-Version header.
*
* The sip_mime_version_t is defined as follows:
* @code
* typedef struct msg_generic_s
* {
* msg_common_t g_common[1]; // Common fragment info
* msg_generic_t *g_next; // Link to next header
* char const *g_string; // Header value
* } sip_mime_version_t;
* @endcode
*/
msg_hclass_t sip_mime_version_class[] =
SIP_HEADER_CLASS_G(mime_version, "MIME-Version", "", single);
......@@ -655,6 +726,26 @@ int sip_mime_version_e(char b[], int bsiz, sip_header_t const *h, int f)
* @endcode
*/
/**@ingroup sip_warning
* @typedef struct msg_warning_s sip_warning_t;
*
* The structure sip_warning_t contains representation of an @b
* Warning header.
*
* The sip_warning_t is defined as follows:
* @code
* typedef struct msg_warning_s
* {
* msg_common_t w_common[1]; // Common fragment info
* msg_warning_t *w_next; // Link to next Warning header
* unsigned w_code; // Warning code
* char const *w_host; // Hostname or pseudonym
* char const *w_port; // Port number
* char const *w_text; // Warning text
* } sip_warning_t;
* @endcode
*/
#define sip_warning_dup_xtra msg_warning_dup_xtra
#define sip_warning_dup_one msg_warning_dup_one
......
......@@ -49,7 +49,7 @@
*
* The Reason header is used to indicate why a SIP request was issued or why
* a provisional response was sent. It can be used with HRPF scenarios. It
* is defined in RFC 3326 as follows:
* is defined in @RFC3326 as follows:
*
* @code
* Reason = "Reason" HCOLON reason-value *(COMMA reason-value)
......
......@@ -50,7 +50,7 @@
/**@SIP_HEADER sip_refer_to Refer-To Header
*
* The Refer-To header provides a URI to reference. Its syntax is defined in
* RFC 3515 section 2.1 as follows:
* @RFC3515 section 2.1 as follows:
*
* @code
* Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec )
......
......@@ -27,7 +27,7 @@
* Security-related SIP header handling.
*
* This file contains implementation of headers related to HTTP authentication
* (RFC 2617):
* (@RFC2617):
* @ref sip_authorization "Authorization",
* @ref sip_authentication_info "Authentication-Info",
* @ref sip_proxy_authenticate "Proxy-Authenticate",
......@@ -36,12 +36,12 @@
* @ref sip_www_authenticate "WWW-Authenticate".
*
* There is also implementation of headers related to security agreement
* (RFC 3329):
* (@RFC3329):
* @ref sip_security_client "Security-Client",
* @ref sip_security_server "Security-Server", and
* @ref sip_security_verify "Security-Verify" headers.
*
* The implementation of @ref sip_privacy "Privacy" header (RFC 3323) is
* The implementation of @ref sip_privacy "Privacy" header (@RFC3323) is
* also here.
*
* @author Pekka Pessi <Pekka.Pessi@nokia.com>.
......@@ -237,7 +237,7 @@ int sip_www_authenticate_e(char b[], int bsiz, sip_header_t const *h, int f)
* The @b Authentication-Info header contains either a next-nonce used by
* next request and/or authentication from server used in mutual
* authentication. The syntax of @b Authentication-Info header is defined in
* RFC 2617 and [S20.6] as follows:
* @RFC2617 and [S20.6] as follows:
*
* @code
* Authentication-Info = "Authentication-Info" HCOLON ainfo
......@@ -278,7 +278,7 @@ int sip_authentication_info_e(char b[], int bsiz, sip_header_t const *h, int f)
* The @b Proxy-Authentication-Info header contains either a next-nonce used
* by next request and/or authentication from proxy used in mutual
* authentication. The syntax of @b Proxy-Authentication-Info header is defined
* in RFC 2617 as follows:
* in @RFC2617 as follows:
*
* @code
* Proxy-Authentication-Info = "Proxy-Authentication-Info" HCOLON ainfo
......@@ -291,8 +291,8 @@ int sip_authentication_info_e(char b[], int bsiz, sip_header_t const *h, int f)
* response-digest = LDQUOT *LHEX RDQUOT
* @endcode
*
* @note @b Proxy-Authentication-Info is not specified RFC 3261 and it is
* mentioned by RFC 2617 but in passage.
* @note @b Proxy-Authentication-Info is not specified @RFC3261 and it is
* mentioned by @RFC2617 but in passage.
*/
#define sip_proxy_authentication_info_dup_xtra msg_list_dup_xtra
......@@ -316,7 +316,7 @@ int sip_proxy_authentication_info_e(char b[], int bsiz,
}
/* ====================================================================== */
/* Functions parsing RFC 3329 SIP Security Agreement headers */
/* Functions parsing @RFC3329 SIP Security Agreement headers */
typedef struct sip_security_agree_s sip_security_agree_t;
#define sh_security_agree sh_security_client
......@@ -422,7 +422,7 @@ static void sip_security_agree_update(sip_security_agree_t *sa)
/**@SIP_HEADER sip_security_client Security-Client Header
*
* The Security-Client header is defined by RFC 3329, "Security Mechanism
* The Security-Client header is defined by @RFC3329, "Security Mechanism
* Agreement for the Session Initiation Protocol (SIP)".
*
* @code
......@@ -465,7 +465,7 @@ int sip_security_client_e(char b[], int bsiz, sip_header_t const *h, int f)
/**@SIP_HEADER sip_security_server Security-Server Header
*
* The Security-Server header is defined by RFC 3329, "Security Mechanism
* The Security-Server header is defined by @RFC3329, "Security Mechanism
* Agreement for the Session Initiation Protocol (SIP)".
*
* @sa sip_security_client, sip_security_verify
......@@ -488,7 +488,7 @@ int sip_security_server_e(char b[], int bsiz, sip_header_t const *h, int f)
/**@SIP_HEADER sip_security_verify Security-Verify Header
*
* The Security-Verify header is defined by RFC 3329, "Security Mechanism
* The Security-Verify header is defined by @RFC3329, "Security Mechanism
* Agreement for the Session Initiation Protocol (SIP)".
*
* @sa sip_security_client, sip_security_server
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment