<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[Freeswitch-trunk][14505] </title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<div id="header">FreeSWITCH Subversion</div>
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=14505">14505</a></dd>
<dt>Author</dt> <dd>brian</dd>
<dt>Date</dt> <dd>2009-08-13 09:32:05 -0500 (Thu, 13 Aug 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre> DOH. </pre>

<h3>Added Paths</h3>
<ul>
<li><a href="#freeswitchtrunklibssofiasiplibsofiasipuasipsofiasipsip_tagh">freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="freeswitchtrunklibssofiasiplibsofiasipuasipsofiasipsip_tagh"></a>
<div class="addfile"><h4>Added: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h (0 => 14505)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h                                (rev 0)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h        2009-08-13 14:32:05 UTC (rev 14505)
</span><span class="lines">@@ -0,0 +1,5147 @@
</span><ins>+/*
+ * This file is part of the Sofia-SIP package
+ *
+ * Copyright (C) 2005 Nokia Corporation.
+ *
+ * Contact: Pekka Pessi &lt;pekka.pessi@nokia.com&gt;
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef SIP_TAG_H
+/** Defined when &lt;sofia-sip/sip_tag.h&gt; has been included. */
+#define SIP_TAG_H
+
+/**@file sofia-sip/sip_tag.h
+ * @brief Tag class for SIP headers
+ *
+ * This file is automatically generated from &lt;sip.h&gt; by msg_parser.awk.
+ *
+ * @author Pekka Pessi &lt;Pekka.Pessi@nokia.com&gt;.
+ *
+ */
+
+#ifndef SU_TAG_H
+#include &lt;sofia-sip/su_tag.h&gt;
+#endif
+#ifndef SU_TAG_CLASS_H
+#include &lt;sofia-sip/su_tag_class.h&gt;
+#endif
+
+#ifndef SIP_H
+#include &lt;sofia-sip/sip.h&gt;
+#endif
+
+SOFIA_BEGIN_DECLS
+
+/** Test if tag type marks a sip_t structure. @HIDE */
+#define SIPTAG_P(tt)     ((tt)-&gt;tt_class == siphdrtag_class)
+/** Test if tag type marks a SIP header string. @HIDE */
+#define SIPTAG_STR_P(tt) ((tt)-&gt;tt_class == sipstrtag_class)
+/** Test if tag type marks a SIP header structure. @HIDE */
+#define SIPTAG_SIP_P(tt) ((tt)-&gt;tt_class == sipmsgtag_class)
+
+/** Test if tag item contains sip_t structure. @HIDE */
+#define SIPTAGI_P(t)     (SIPTAG_P((t)-&gt;t_tag))
+/** Test if tag item contains a SIP header string. @HIDE */
+#define SIPTAGI_STR_P(t) (SIPTAG_STR_P((t)-&gt;t_tag))
+/** Test if tag item contains a SIP header structure. @HIDE */
+#define SIPTAGI_SIP_P(t) (SIPTAG_SIP_P((t)-&gt;t_tag))
+
+/** Tag class for SIP headers */
+SOFIAPUBVAR tag_class_t siphdrtag_class[1];
+/** Tag class for string values of SIP headers */
+SOFIAPUBVAR tag_class_t sipstrtag_class[1];
+/** Tag class for SIP message */
+SOFIAPUBVAR tag_class_t sipmsgtag_class[1];
+
+/** Lists of SIP tags. */
+SOFIAPUBVAR tag_type_t sip_tag_list[], sip_tag_str_list[];
+
+/** Filter tag matching any sip tag. */
+#define SIPTAG_ANY()         siptag_any, ((tag_value_t)0)
+SOFIAPUBVAR tag_typedef_t siptag_any;
+
+/** End of SIP headers */
+#define SIPTAG_END()         siptag_end, (tag_value_t)0
+SOFIAPUBVAR tag_typedef_t siptag_end;
+
+/**Tag list item for #sip_t object.
+ *
+ * The SIPTAG_SIP() macro is used to include a tag item for a #sip_t struct
+ * in the tag list.
+ *
+ * @param x pointer to a #sip_t message structure, or NULL.
+ *
+ * @HIDE
+ */
+#define SIPTAG_SIP(x)       siptag_sip, siptag_sip_v((x))
+
+/** Tag for @c sip_t */
+SOFIAPUBVAR tag_typedef_t siptag_sip;
+
+#define SIPTAG_SIP_REF(x)   siptag_sip_ref, siptag_sip_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_sip_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline
+tag_value_t siptag_sip_v(sip_t const *v) { return (tag_value_t)v; }
+su_inline
+tag_value_t siptag_sip_vr(sip_t const **vp) { return (tag_value_t)vp; }
+#else
+#define siptag_sip_v(v)   (tag_value_t)(v)
+#define siptag_sip_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**Tag list item for header string.
+ *
+ * The SIPTAG_HEADER() macro is used to include a tag item containing an
+ * unknown SIP header in the tag list, e.g.,
+ * @code
+ * sip_header_t *hdr;
+ *
+ * SIPTAG_HEADER(hdr).
+ * @endcode
+ *
+ * @param x pointer to a header structure, or NULL.
+ *
+ * @HIDE
+ */
+#define SIPTAG_HEADER(x)       siptag_header, siptag_header_v((x))
+
+/** Tag for header string */
+SOFIAPUBVAR tag_typedef_t siptag_header;
+
+#define SIPTAG_HEADER_REF(x)   siptag_header_ref, siptag_header_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_header_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_header_v(sip_header_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_header_vr(sip_header_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_header_v(v)   (tag_value_t)(v)
+#define siptag_header_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**Tag list item for header string.
+ *
+ * Macro is used to include a tag item containing an unknown extension
+ * header in the tag list, e.g.,
+ * @code
+ * SIPTAG_HEADER_STR(&quot;P-Alternative-URL: &lt;+358718008000&gt;&quot;)
+ * @endcode
+ *
+ * It is also possible to include multiple headers at once
+ * @code
+ * SIPTAG_HEADER_STR(&quot;P-Access-Network-Info: IEEE-802.11g;&quot;
+ *                   &quot;    access-point-id=00:11:5C:34:E5:C0\r\n&quot;
+ &quot;                   &quot;P-Visited-Network-ID: other.net\r\n&quot;)
+ * @endcode
+ *
+ * (See @RFC3455 for more information about these headers.)
+ *
+ * @param s pointer to a string, or NULL.
+ *
+ * The corresponding tag item taking reference parameter is
+ * SIPTAG_HEADER_STR_REF().
+ *
+ * @HIDE
+ */
+#define SIPTAG_HEADER_STR(s)       siptag_header_str, tag_str_v((s))
+
+/** Tag for header string */
+SOFIAPUBVAR tag_typedef_t siptag_header_str;
+
+#define SIPTAG_HEADER_STR_REF(s)   siptag_header_str_ref, tag_str_vr(&amp;(s))
+SOFIAPUBVAR tag_typedef_t siptag_header_str_ref;
+
+/**@ingroup sip_request
+ *
+ * Tag list item for pointer to a @ref sip_request &quot;request line&quot;
+ * structure #sip_request_t.
+ *
+ * The SIPTAG_REQUEST() macro is used to include a tag item with a
+ * pointer to a #sip_request_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_request_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUEST_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUEST(x) siptag_request, siptag_request_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_request;
+
+/**@ingroup sip_request
+ * Tag list item for reference to a
+ * @ref sip_request &quot;request line&quot; pointer.
+ */
+#define SIPTAG_REQUEST_REF(x) siptag_request_ref, siptag_request_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_request_ref;
+
+/**@ingroup sip_request
+ *
+ * Tag list item for string with @ref sip_request &quot;request line&quot; value.
+ *
+ * The SIPTAG_REQUEST_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_request_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_request &quot;request line&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REQUEST_STR() can be converted to a
+ * #sip_request_t header structure by giving the string @a s has
+ * second argument to function sip_request_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUEST_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUEST_STR(s) siptag_request_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_request_str;
+
+/**@ingroup sip_request
+ * Tag list item for reference to a
+ * @ref sip_request &quot;request line&quot; string.
+ */
+#define SIPTAG_REQUEST_STR_REF(x) siptag_request_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_request_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_request_v(sip_request_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_request_vr(sip_request_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_request_v(v)   (tag_value_t)(v)
+#define siptag_request_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_status
+ *
+ * Tag list item for pointer to a @ref sip_status &quot;status line&quot;
+ * structure #sip_status_t.
+ *
+ * The SIPTAG_STATUS() macro is used to include a tag item with a
+ * pointer to a #sip_status_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_status_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_STATUS_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_STATUS(x) siptag_status, siptag_status_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_status;
+
+/**@ingroup sip_status
+ * Tag list item for reference to a
+ * @ref sip_status &quot;status line&quot; pointer.
+ */
+#define SIPTAG_STATUS_REF(x) siptag_status_ref, siptag_status_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_status_ref;
+
+/**@ingroup sip_status
+ *
+ * Tag list item for string with @ref sip_status &quot;status line&quot; value.
+ *
+ * The SIPTAG_STATUS_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_status_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_status &quot;status line&quot; value, or NULL.
+ *
+ * The string in SIPTAG_STATUS_STR() can be converted to a
+ * #sip_status_t header structure by giving the string @a s has
+ * second argument to function sip_status_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_STATUS_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_STATUS_STR(s) siptag_status_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_status_str;
+
+/**@ingroup sip_status
+ * Tag list item for reference to a
+ * @ref sip_status &quot;status line&quot; string.
+ */
+#define SIPTAG_STATUS_STR_REF(x) siptag_status_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_status_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_status_v(sip_status_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_status_vr(sip_status_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_status_v(v)   (tag_value_t)(v)
+#define siptag_status_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_via
+ *
+ * Tag list item for pointer to a @ref sip_via &quot;Via header&quot;
+ * structure #sip_via_t.
+ *
+ * The SIPTAG_VIA() macro is used to include a tag item with a
+ * pointer to a #sip_via_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_via_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_VIA_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_VIA(x) siptag_via, siptag_via_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_via;
+
+/**@ingroup sip_via
+ * Tag list item for reference to a
+ * @ref sip_via &quot;Via header&quot; pointer.
+ */
+#define SIPTAG_VIA_REF(x) siptag_via_ref, siptag_via_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_via_ref;
+
+/**@ingroup sip_via
+ *
+ * Tag list item for string with @ref sip_via &quot;Via header&quot; value.
+ *
+ * The SIPTAG_VIA_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_via_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_via &quot;Via header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_VIA_STR() can be converted to a
+ * #sip_via_t header structure by giving the string @a s has
+ * second argument to function sip_via_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_VIA_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_VIA_STR(s) siptag_via_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_via_str;
+
+/**@ingroup sip_via
+ * Tag list item for reference to a
+ * @ref sip_via &quot;Via header&quot; string.
+ */
+#define SIPTAG_VIA_STR_REF(x) siptag_via_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_via_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_via_v(sip_via_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_via_vr(sip_via_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_via_v(v)   (tag_value_t)(v)
+#define siptag_via_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_route
+ *
+ * Tag list item for pointer to a @ref sip_route &quot;Route header&quot;
+ * structure #sip_route_t.
+ *
+ * The SIPTAG_ROUTE() macro is used to include a tag item with a
+ * pointer to a #sip_route_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_route_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ROUTE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ROUTE(x) siptag_route, siptag_route_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_route;
+
+/**@ingroup sip_route
+ * Tag list item for reference to a
+ * @ref sip_route &quot;Route header&quot; pointer.
+ */
+#define SIPTAG_ROUTE_REF(x) siptag_route_ref, siptag_route_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_route_ref;
+
+/**@ingroup sip_route
+ *
+ * Tag list item for string with @ref sip_route &quot;Route header&quot; value.
+ *
+ * The SIPTAG_ROUTE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_route_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_route &quot;Route header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ROUTE_STR() can be converted to a
+ * #sip_route_t header structure by giving the string @a s has
+ * second argument to function sip_route_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ROUTE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ROUTE_STR(s) siptag_route_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_route_str;
+
+/**@ingroup sip_route
+ * Tag list item for reference to a
+ * @ref sip_route &quot;Route header&quot; string.
+ */
+#define SIPTAG_ROUTE_STR_REF(x) siptag_route_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_route_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_route_v(sip_route_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_route_vr(sip_route_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_route_v(v)   (tag_value_t)(v)
+#define siptag_route_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_record_route
+ *
+ * Tag list item for pointer to a @ref sip_record_route &quot;Record-Route header&quot;
+ * structure #sip_record_route_t.
+ *
+ * The SIPTAG_RECORD_ROUTE() macro is used to include a tag item with a
+ * pointer to a #sip_record_route_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_record_route_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RECORD_ROUTE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RECORD_ROUTE(x) siptag_record_route, siptag_record_route_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_record_route;
+
+/**@ingroup sip_record_route
+ * Tag list item for reference to a
+ * @ref sip_record_route &quot;Record-Route header&quot; pointer.
+ */
+#define SIPTAG_RECORD_ROUTE_REF(x) siptag_record_route_ref, siptag_record_route_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_record_route_ref;
+
+/**@ingroup sip_record_route
+ *
+ * Tag list item for string with @ref sip_record_route &quot;Record-Route header&quot; value.
+ *
+ * The SIPTAG_RECORD_ROUTE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_record_route_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_record_route &quot;Record-Route header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_RECORD_ROUTE_STR() can be converted to a
+ * #sip_record_route_t header structure by giving the string @a s has
+ * second argument to function sip_record_route_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RECORD_ROUTE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RECORD_ROUTE_STR(s) siptag_record_route_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_record_route_str;
+
+/**@ingroup sip_record_route
+ * Tag list item for reference to a
+ * @ref sip_record_route &quot;Record-Route header&quot; string.
+ */
+#define SIPTAG_RECORD_ROUTE_STR_REF(x) siptag_record_route_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_record_route_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_record_route_v(sip_record_route_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_record_route_vr(sip_record_route_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_record_route_v(v)   (tag_value_t)(v)
+#define siptag_record_route_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_max_forwards
+ *
+ * Tag list item for pointer to a @ref sip_max_forwards &quot;Max-Forwards header&quot;
+ * structure #sip_max_forwards_t.
+ *
+ * The SIPTAG_MAX_FORWARDS() macro is used to include a tag item with a
+ * pointer to a #sip_max_forwards_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_max_forwards_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MAX_FORWARDS_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MAX_FORWARDS(x) siptag_max_forwards, siptag_max_forwards_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_max_forwards;
+
+/**@ingroup sip_max_forwards
+ * Tag list item for reference to a
+ * @ref sip_max_forwards &quot;Max-Forwards header&quot; pointer.
+ */
+#define SIPTAG_MAX_FORWARDS_REF(x) siptag_max_forwards_ref, siptag_max_forwards_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_max_forwards_ref;
+
+/**@ingroup sip_max_forwards
+ *
+ * Tag list item for string with @ref sip_max_forwards &quot;Max-Forwards header&quot; value.
+ *
+ * The SIPTAG_MAX_FORWARDS_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_max_forwards_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_max_forwards &quot;Max-Forwards header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_MAX_FORWARDS_STR() can be converted to a
+ * #sip_max_forwards_t header structure by giving the string @a s has
+ * second argument to function sip_max_forwards_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MAX_FORWARDS_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MAX_FORWARDS_STR(s) siptag_max_forwards_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_max_forwards_str;
+
+/**@ingroup sip_max_forwards
+ * Tag list item for reference to a
+ * @ref sip_max_forwards &quot;Max-Forwards header&quot; string.
+ */
+#define SIPTAG_MAX_FORWARDS_STR_REF(x) siptag_max_forwards_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_max_forwards_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_max_forwards_v(sip_max_forwards_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_max_forwards_vr(sip_max_forwards_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_max_forwards_v(v)   (tag_value_t)(v)
+#define siptag_max_forwards_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_proxy_require
+ *
+ * Tag list item for pointer to a @ref sip_proxy_require &quot;Proxy-Require header&quot;
+ * structure #sip_proxy_require_t.
+ *
+ * The SIPTAG_PROXY_REQUIRE() macro is used to include a tag item with a
+ * pointer to a #sip_proxy_require_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_proxy_require_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_REQUIRE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_REQUIRE(x) siptag_proxy_require, siptag_proxy_require_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_require;
+
+/**@ingroup sip_proxy_require
+ * Tag list item for reference to a
+ * @ref sip_proxy_require &quot;Proxy-Require header&quot; pointer.
+ */
+#define SIPTAG_PROXY_REQUIRE_REF(x) siptag_proxy_require_ref, siptag_proxy_require_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_require_ref;
+
+/**@ingroup sip_proxy_require
+ *
+ * Tag list item for string with @ref sip_proxy_require &quot;Proxy-Require header&quot; value.
+ *
+ * The SIPTAG_PROXY_REQUIRE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_proxy_require_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_proxy_require &quot;Proxy-Require header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PROXY_REQUIRE_STR() can be converted to a
+ * #sip_proxy_require_t header structure by giving the string @a s has
+ * second argument to function sip_proxy_require_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_REQUIRE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_REQUIRE_STR(s) siptag_proxy_require_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_require_str;
+
+/**@ingroup sip_proxy_require
+ * Tag list item for reference to a
+ * @ref sip_proxy_require &quot;Proxy-Require header&quot; string.
+ */
+#define SIPTAG_PROXY_REQUIRE_STR_REF(x) siptag_proxy_require_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_require_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_proxy_require_v(sip_proxy_require_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_proxy_require_vr(sip_proxy_require_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_proxy_require_v(v)   (tag_value_t)(v)
+#define siptag_proxy_require_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_from
+ *
+ * Tag list item for pointer to a @ref sip_from &quot;From header&quot;
+ * structure #sip_from_t.
+ *
+ * The SIPTAG_FROM() macro is used to include a tag item with a
+ * pointer to a #sip_from_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_from_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_FROM_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_FROM(x) siptag_from, siptag_from_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_from;
+
+/**@ingroup sip_from
+ * Tag list item for reference to a
+ * @ref sip_from &quot;From header&quot; pointer.
+ */
+#define SIPTAG_FROM_REF(x) siptag_from_ref, siptag_from_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_from_ref;
+
+/**@ingroup sip_from
+ *
+ * Tag list item for string with @ref sip_from &quot;From header&quot; value.
+ *
+ * The SIPTAG_FROM_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_from_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_from &quot;From header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_FROM_STR() can be converted to a
+ * #sip_from_t header structure by giving the string @a s has
+ * second argument to function sip_from_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_FROM_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_FROM_STR(s) siptag_from_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_from_str;
+
+/**@ingroup sip_from
+ * Tag list item for reference to a
+ * @ref sip_from &quot;From header&quot; string.
+ */
+#define SIPTAG_FROM_STR_REF(x) siptag_from_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_from_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_from_v(sip_from_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_from_vr(sip_from_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_from_v(v)   (tag_value_t)(v)
+#define siptag_from_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_to
+ *
+ * Tag list item for pointer to a @ref sip_to &quot;To header&quot;
+ * structure #sip_to_t.
+ *
+ * The SIPTAG_TO() macro is used to include a tag item with a
+ * pointer to a #sip_to_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_to_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_TO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_TO(x) siptag_to, siptag_to_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_to;
+
+/**@ingroup sip_to
+ * Tag list item for reference to a
+ * @ref sip_to &quot;To header&quot; pointer.
+ */
+#define SIPTAG_TO_REF(x) siptag_to_ref, siptag_to_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_to_ref;
+
+/**@ingroup sip_to
+ *
+ * Tag list item for string with @ref sip_to &quot;To header&quot; value.
+ *
+ * The SIPTAG_TO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_to_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_to &quot;To header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_TO_STR() can be converted to a
+ * #sip_to_t header structure by giving the string @a s has
+ * second argument to function sip_to_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_TO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_TO_STR(s) siptag_to_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_to_str;
+
+/**@ingroup sip_to
+ * Tag list item for reference to a
+ * @ref sip_to &quot;To header&quot; string.
+ */
+#define SIPTAG_TO_STR_REF(x) siptag_to_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_to_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_to_v(sip_to_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_to_vr(sip_to_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_to_v(v)   (tag_value_t)(v)
+#define siptag_to_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_call_id
+ *
+ * Tag list item for pointer to a @ref sip_call_id &quot;Call-ID header&quot;
+ * structure #sip_call_id_t.
+ *
+ * The SIPTAG_CALL_ID() macro is used to include a tag item with a
+ * pointer to a #sip_call_id_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_call_id_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CALL_ID_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CALL_ID(x) siptag_call_id, siptag_call_id_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_call_id;
+
+/**@ingroup sip_call_id
+ * Tag list item for reference to a
+ * @ref sip_call_id &quot;Call-ID header&quot; pointer.
+ */
+#define SIPTAG_CALL_ID_REF(x) siptag_call_id_ref, siptag_call_id_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_call_id_ref;
+
+/**@ingroup sip_call_id
+ *
+ * Tag list item for string with @ref sip_call_id &quot;Call-ID header&quot; value.
+ *
+ * The SIPTAG_CALL_ID_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_call_id_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_call_id &quot;Call-ID header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CALL_ID_STR() can be converted to a
+ * #sip_call_id_t header structure by giving the string @a s has
+ * second argument to function sip_call_id_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CALL_ID_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CALL_ID_STR(s) siptag_call_id_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_call_id_str;
+
+/**@ingroup sip_call_id
+ * Tag list item for reference to a
+ * @ref sip_call_id &quot;Call-ID header&quot; string.
+ */
+#define SIPTAG_CALL_ID_STR_REF(x) siptag_call_id_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_call_id_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_call_id_v(sip_call_id_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_call_id_vr(sip_call_id_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_call_id_v(v)   (tag_value_t)(v)
+#define siptag_call_id_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_cseq
+ *
+ * Tag list item for pointer to a @ref sip_cseq &quot;CSeq header&quot;
+ * structure #sip_cseq_t.
+ *
+ * The SIPTAG_CSEQ() macro is used to include a tag item with a
+ * pointer to a #sip_cseq_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_cseq_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CSEQ_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CSEQ(x) siptag_cseq, siptag_cseq_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_cseq;
+
+/**@ingroup sip_cseq
+ * Tag list item for reference to a
+ * @ref sip_cseq &quot;CSeq header&quot; pointer.
+ */
+#define SIPTAG_CSEQ_REF(x) siptag_cseq_ref, siptag_cseq_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_cseq_ref;
+
+/**@ingroup sip_cseq
+ *
+ * Tag list item for string with @ref sip_cseq &quot;CSeq header&quot; value.
+ *
+ * The SIPTAG_CSEQ_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_cseq_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_cseq &quot;CSeq header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CSEQ_STR() can be converted to a
+ * #sip_cseq_t header structure by giving the string @a s has
+ * second argument to function sip_cseq_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CSEQ_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CSEQ_STR(s) siptag_cseq_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_cseq_str;
+
+/**@ingroup sip_cseq
+ * Tag list item for reference to a
+ * @ref sip_cseq &quot;CSeq header&quot; string.
+ */
+#define SIPTAG_CSEQ_STR_REF(x) siptag_cseq_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_cseq_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_cseq_v(sip_cseq_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_cseq_vr(sip_cseq_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_cseq_v(v)   (tag_value_t)(v)
+#define siptag_cseq_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_contact
+ *
+ * Tag list item for pointer to a @ref sip_contact &quot;Contact header&quot;
+ * structure #sip_contact_t.
+ *
+ * The SIPTAG_CONTACT() macro is used to include a tag item with a
+ * pointer to a #sip_contact_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_contact_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTACT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTACT(x) siptag_contact, siptag_contact_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_contact;
+
+/**@ingroup sip_contact
+ * Tag list item for reference to a
+ * @ref sip_contact &quot;Contact header&quot; pointer.
+ */
+#define SIPTAG_CONTACT_REF(x) siptag_contact_ref, siptag_contact_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_contact_ref;
+
+/**@ingroup sip_contact
+ *
+ * Tag list item for string with @ref sip_contact &quot;Contact header&quot; value.
+ *
+ * The SIPTAG_CONTACT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_contact_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_contact &quot;Contact header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTACT_STR() can be converted to a
+ * #sip_contact_t header structure by giving the string @a s has
+ * second argument to function sip_contact_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTACT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTACT_STR(s) siptag_contact_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_contact_str;
+
+/**@ingroup sip_contact
+ * Tag list item for reference to a
+ * @ref sip_contact &quot;Contact header&quot; string.
+ */
+#define SIPTAG_CONTACT_STR_REF(x) siptag_contact_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_contact_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_contact_v(sip_contact_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_contact_vr(sip_contact_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_contact_v(v)   (tag_value_t)(v)
+#define siptag_contact_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_rseq
+ *
+ * Tag list item for pointer to a @ref sip_rseq &quot;RSeq header&quot;
+ * structure #sip_rseq_t.
+ *
+ * The SIPTAG_RSEQ() macro is used to include a tag item with a
+ * pointer to a #sip_rseq_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_rseq_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RSEQ_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RSEQ(x) siptag_rseq, siptag_rseq_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_rseq;
+
+/**@ingroup sip_rseq
+ * Tag list item for reference to a
+ * @ref sip_rseq &quot;RSeq header&quot; pointer.
+ */
+#define SIPTAG_RSEQ_REF(x) siptag_rseq_ref, siptag_rseq_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_rseq_ref;
+
+/**@ingroup sip_rseq
+ *
+ * Tag list item for string with @ref sip_rseq &quot;RSeq header&quot; value.
+ *
+ * The SIPTAG_RSEQ_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_rseq_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_rseq &quot;RSeq header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_RSEQ_STR() can be converted to a
+ * #sip_rseq_t header structure by giving the string @a s has
+ * second argument to function sip_rseq_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RSEQ_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RSEQ_STR(s) siptag_rseq_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_rseq_str;
+
+/**@ingroup sip_rseq
+ * Tag list item for reference to a
+ * @ref sip_rseq &quot;RSeq header&quot; string.
+ */
+#define SIPTAG_RSEQ_STR_REF(x) siptag_rseq_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_rseq_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_rseq_v(sip_rseq_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_rseq_vr(sip_rseq_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_rseq_v(v)   (tag_value_t)(v)
+#define siptag_rseq_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_rack
+ *
+ * Tag list item for pointer to a @ref sip_rack &quot;RAck header&quot;
+ * structure #sip_rack_t.
+ *
+ * The SIPTAG_RACK() macro is used to include a tag item with a
+ * pointer to a #sip_rack_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_rack_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RACK_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RACK(x) siptag_rack, siptag_rack_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_rack;
+
+/**@ingroup sip_rack
+ * Tag list item for reference to a
+ * @ref sip_rack &quot;RAck header&quot; pointer.
+ */
+#define SIPTAG_RACK_REF(x) siptag_rack_ref, siptag_rack_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_rack_ref;
+
+/**@ingroup sip_rack
+ *
+ * Tag list item for string with @ref sip_rack &quot;RAck header&quot; value.
+ *
+ * The SIPTAG_RACK_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_rack_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_rack &quot;RAck header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_RACK_STR() can be converted to a
+ * #sip_rack_t header structure by giving the string @a s has
+ * second argument to function sip_rack_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RACK_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RACK_STR(s) siptag_rack_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_rack_str;
+
+/**@ingroup sip_rack
+ * Tag list item for reference to a
+ * @ref sip_rack &quot;RAck header&quot; string.
+ */
+#define SIPTAG_RACK_STR_REF(x) siptag_rack_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_rack_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_rack_v(sip_rack_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_rack_vr(sip_rack_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_rack_v(v)   (tag_value_t)(v)
+#define siptag_rack_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_request_disposition
+ *
+ * Tag list item for pointer to a @ref sip_request_disposition &quot;Request-Disposition header&quot;
+ * structure #sip_request_disposition_t.
+ *
+ * The SIPTAG_REQUEST_DISPOSITION() macro is used to include a tag item with a
+ * pointer to a #sip_request_disposition_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_request_disposition_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUEST_DISPOSITION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUEST_DISPOSITION(x) siptag_request_disposition, siptag_request_disposition_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_request_disposition;
+
+/**@ingroup sip_request_disposition
+ * Tag list item for reference to a
+ * @ref sip_request_disposition &quot;Request-Disposition header&quot; pointer.
+ */
+#define SIPTAG_REQUEST_DISPOSITION_REF(x) siptag_request_disposition_ref, siptag_request_disposition_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_request_disposition_ref;
+
+/**@ingroup sip_request_disposition
+ *
+ * Tag list item for string with @ref sip_request_disposition &quot;Request-Disposition header&quot; value.
+ *
+ * The SIPTAG_REQUEST_DISPOSITION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_request_disposition_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_request_disposition &quot;Request-Disposition header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REQUEST_DISPOSITION_STR() can be converted to a
+ * #sip_request_disposition_t header structure by giving the string @a s has
+ * second argument to function sip_request_disposition_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUEST_DISPOSITION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUEST_DISPOSITION_STR(s) siptag_request_disposition_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_request_disposition_str;
+
+/**@ingroup sip_request_disposition
+ * Tag list item for reference to a
+ * @ref sip_request_disposition &quot;Request-Disposition header&quot; string.
+ */
+#define SIPTAG_REQUEST_DISPOSITION_STR_REF(x) siptag_request_disposition_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_request_disposition_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_request_disposition_v(sip_request_disposition_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_request_disposition_vr(sip_request_disposition_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_request_disposition_v(v)   (tag_value_t)(v)
+#define siptag_request_disposition_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_accept_contact
+ *
+ * Tag list item for pointer to a @ref sip_accept_contact &quot;Accept-Contact header&quot;
+ * structure #sip_accept_contact_t.
+ *
+ * The SIPTAG_ACCEPT_CONTACT() macro is used to include a tag item with a
+ * pointer to a #sip_accept_contact_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_accept_contact_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_CONTACT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_CONTACT(x) siptag_accept_contact, siptag_accept_contact_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_contact;
+
+/**@ingroup sip_accept_contact
+ * Tag list item for reference to a
+ * @ref sip_accept_contact &quot;Accept-Contact header&quot; pointer.
+ */
+#define SIPTAG_ACCEPT_CONTACT_REF(x) siptag_accept_contact_ref, siptag_accept_contact_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_contact_ref;
+
+/**@ingroup sip_accept_contact
+ *
+ * Tag list item for string with @ref sip_accept_contact &quot;Accept-Contact header&quot; value.
+ *
+ * The SIPTAG_ACCEPT_CONTACT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_accept_contact_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_accept_contact &quot;Accept-Contact header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ACCEPT_CONTACT_STR() can be converted to a
+ * #sip_accept_contact_t header structure by giving the string @a s has
+ * second argument to function sip_accept_contact_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_CONTACT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_CONTACT_STR(s) siptag_accept_contact_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_contact_str;
+
+/**@ingroup sip_accept_contact
+ * Tag list item for reference to a
+ * @ref sip_accept_contact &quot;Accept-Contact header&quot; string.
+ */
+#define SIPTAG_ACCEPT_CONTACT_STR_REF(x) siptag_accept_contact_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_contact_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_accept_contact_v(sip_accept_contact_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_accept_contact_vr(sip_accept_contact_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_accept_contact_v(v)   (tag_value_t)(v)
+#define siptag_accept_contact_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_reject_contact
+ *
+ * Tag list item for pointer to a @ref sip_reject_contact &quot;Reject-Contact header&quot;
+ * structure #sip_reject_contact_t.
+ *
+ * The SIPTAG_REJECT_CONTACT() macro is used to include a tag item with a
+ * pointer to a #sip_reject_contact_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_reject_contact_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REJECT_CONTACT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REJECT_CONTACT(x) siptag_reject_contact, siptag_reject_contact_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_reject_contact;
+
+/**@ingroup sip_reject_contact
+ * Tag list item for reference to a
+ * @ref sip_reject_contact &quot;Reject-Contact header&quot; pointer.
+ */
+#define SIPTAG_REJECT_CONTACT_REF(x) siptag_reject_contact_ref, siptag_reject_contact_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_reject_contact_ref;
+
+/**@ingroup sip_reject_contact
+ *
+ * Tag list item for string with @ref sip_reject_contact &quot;Reject-Contact header&quot; value.
+ *
+ * The SIPTAG_REJECT_CONTACT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_reject_contact_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_reject_contact &quot;Reject-Contact header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REJECT_CONTACT_STR() can be converted to a
+ * #sip_reject_contact_t header structure by giving the string @a s has
+ * second argument to function sip_reject_contact_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REJECT_CONTACT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REJECT_CONTACT_STR(s) siptag_reject_contact_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_reject_contact_str;
+
+/**@ingroup sip_reject_contact
+ * Tag list item for reference to a
+ * @ref sip_reject_contact &quot;Reject-Contact header&quot; string.
+ */
+#define SIPTAG_REJECT_CONTACT_STR_REF(x) siptag_reject_contact_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_reject_contact_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_reject_contact_v(sip_reject_contact_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_reject_contact_vr(sip_reject_contact_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_reject_contact_v(v)   (tag_value_t)(v)
+#define siptag_reject_contact_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_expires
+ *
+ * Tag list item for pointer to a @ref sip_expires &quot;Expires header&quot;
+ * structure #sip_expires_t.
+ *
+ * The SIPTAG_EXPIRES() macro is used to include a tag item with a
+ * pointer to a #sip_expires_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_expires_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_EXPIRES_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_EXPIRES(x) siptag_expires, siptag_expires_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_expires;
+
+/**@ingroup sip_expires
+ * Tag list item for reference to a
+ * @ref sip_expires &quot;Expires header&quot; pointer.
+ */
+#define SIPTAG_EXPIRES_REF(x) siptag_expires_ref, siptag_expires_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_expires_ref;
+
+/**@ingroup sip_expires
+ *
+ * Tag list item for string with @ref sip_expires &quot;Expires header&quot; value.
+ *
+ * The SIPTAG_EXPIRES_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_expires_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_expires &quot;Expires header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_EXPIRES_STR() can be converted to a
+ * #sip_expires_t header structure by giving the string @a s has
+ * second argument to function sip_expires_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_EXPIRES_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_EXPIRES_STR(s) siptag_expires_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_expires_str;
+
+/**@ingroup sip_expires
+ * Tag list item for reference to a
+ * @ref sip_expires &quot;Expires header&quot; string.
+ */
+#define SIPTAG_EXPIRES_STR_REF(x) siptag_expires_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_expires_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_expires_v(sip_expires_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_expires_vr(sip_expires_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_expires_v(v)   (tag_value_t)(v)
+#define siptag_expires_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_date
+ *
+ * Tag list item for pointer to a @ref sip_date &quot;Date header&quot;
+ * structure #sip_date_t.
+ *
+ * The SIPTAG_DATE() macro is used to include a tag item with a
+ * pointer to a #sip_date_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_date_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_DATE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_DATE(x) siptag_date, siptag_date_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_date;
+
+/**@ingroup sip_date
+ * Tag list item for reference to a
+ * @ref sip_date &quot;Date header&quot; pointer.
+ */
+#define SIPTAG_DATE_REF(x) siptag_date_ref, siptag_date_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_date_ref;
+
+/**@ingroup sip_date
+ *
+ * Tag list item for string with @ref sip_date &quot;Date header&quot; value.
+ *
+ * The SIPTAG_DATE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_date_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_date &quot;Date header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_DATE_STR() can be converted to a
+ * #sip_date_t header structure by giving the string @a s has
+ * second argument to function sip_date_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_DATE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_DATE_STR(s) siptag_date_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_date_str;
+
+/**@ingroup sip_date
+ * Tag list item for reference to a
+ * @ref sip_date &quot;Date header&quot; string.
+ */
+#define SIPTAG_DATE_STR_REF(x) siptag_date_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_date_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_date_v(sip_date_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_date_vr(sip_date_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_date_v(v)   (tag_value_t)(v)
+#define siptag_date_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_retry_after
+ *
+ * Tag list item for pointer to a @ref sip_retry_after &quot;Retry-After header&quot;
+ * structure #sip_retry_after_t.
+ *
+ * The SIPTAG_RETRY_AFTER() macro is used to include a tag item with a
+ * pointer to a #sip_retry_after_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_retry_after_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RETRY_AFTER_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RETRY_AFTER(x) siptag_retry_after, siptag_retry_after_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_retry_after;
+
+/**@ingroup sip_retry_after
+ * Tag list item for reference to a
+ * @ref sip_retry_after &quot;Retry-After header&quot; pointer.
+ */
+#define SIPTAG_RETRY_AFTER_REF(x) siptag_retry_after_ref, siptag_retry_after_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_retry_after_ref;
+
+/**@ingroup sip_retry_after
+ *
+ * Tag list item for string with @ref sip_retry_after &quot;Retry-After header&quot; value.
+ *
+ * The SIPTAG_RETRY_AFTER_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_retry_after_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_retry_after &quot;Retry-After header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_RETRY_AFTER_STR() can be converted to a
+ * #sip_retry_after_t header structure by giving the string @a s has
+ * second argument to function sip_retry_after_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_RETRY_AFTER_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_RETRY_AFTER_STR(s) siptag_retry_after_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_retry_after_str;
+
+/**@ingroup sip_retry_after
+ * Tag list item for reference to a
+ * @ref sip_retry_after &quot;Retry-After header&quot; string.
+ */
+#define SIPTAG_RETRY_AFTER_STR_REF(x) siptag_retry_after_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_retry_after_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_retry_after_v(sip_retry_after_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_retry_after_vr(sip_retry_after_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_retry_after_v(v)   (tag_value_t)(v)
+#define siptag_retry_after_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_timestamp
+ *
+ * Tag list item for pointer to a @ref sip_timestamp &quot;Timestamp header&quot;
+ * structure #sip_timestamp_t.
+ *
+ * The SIPTAG_TIMESTAMP() macro is used to include a tag item with a
+ * pointer to a #sip_timestamp_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_timestamp_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_TIMESTAMP_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_TIMESTAMP(x) siptag_timestamp, siptag_timestamp_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_timestamp;
+
+/**@ingroup sip_timestamp
+ * Tag list item for reference to a
+ * @ref sip_timestamp &quot;Timestamp header&quot; pointer.
+ */
+#define SIPTAG_TIMESTAMP_REF(x) siptag_timestamp_ref, siptag_timestamp_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_timestamp_ref;
+
+/**@ingroup sip_timestamp
+ *
+ * Tag list item for string with @ref sip_timestamp &quot;Timestamp header&quot; value.
+ *
+ * The SIPTAG_TIMESTAMP_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_timestamp_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_timestamp &quot;Timestamp header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_TIMESTAMP_STR() can be converted to a
+ * #sip_timestamp_t header structure by giving the string @a s has
+ * second argument to function sip_timestamp_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_TIMESTAMP_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_TIMESTAMP_STR(s) siptag_timestamp_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_timestamp_str;
+
+/**@ingroup sip_timestamp
+ * Tag list item for reference to a
+ * @ref sip_timestamp &quot;Timestamp header&quot; string.
+ */
+#define SIPTAG_TIMESTAMP_STR_REF(x) siptag_timestamp_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_timestamp_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_timestamp_v(sip_timestamp_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_timestamp_vr(sip_timestamp_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_timestamp_v(v)   (tag_value_t)(v)
+#define siptag_timestamp_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_min_expires
+ *
+ * Tag list item for pointer to a @ref sip_min_expires &quot;Min-Expires header&quot;
+ * structure #sip_min_expires_t.
+ *
+ * The SIPTAG_MIN_EXPIRES() macro is used to include a tag item with a
+ * pointer to a #sip_min_expires_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_min_expires_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIN_EXPIRES_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIN_EXPIRES(x) siptag_min_expires, siptag_min_expires_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_min_expires;
+
+/**@ingroup sip_min_expires
+ * Tag list item for reference to a
+ * @ref sip_min_expires &quot;Min-Expires header&quot; pointer.
+ */
+#define SIPTAG_MIN_EXPIRES_REF(x) siptag_min_expires_ref, siptag_min_expires_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_min_expires_ref;
+
+/**@ingroup sip_min_expires
+ *
+ * Tag list item for string with @ref sip_min_expires &quot;Min-Expires header&quot; value.
+ *
+ * The SIPTAG_MIN_EXPIRES_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_min_expires_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_min_expires &quot;Min-Expires header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_MIN_EXPIRES_STR() can be converted to a
+ * #sip_min_expires_t header structure by giving the string @a s has
+ * second argument to function sip_min_expires_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIN_EXPIRES_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIN_EXPIRES_STR(s) siptag_min_expires_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_min_expires_str;
+
+/**@ingroup sip_min_expires
+ * Tag list item for reference to a
+ * @ref sip_min_expires &quot;Min-Expires header&quot; string.
+ */
+#define SIPTAG_MIN_EXPIRES_STR_REF(x) siptag_min_expires_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_min_expires_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_min_expires_v(sip_min_expires_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_min_expires_vr(sip_min_expires_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_min_expires_v(v)   (tag_value_t)(v)
+#define siptag_min_expires_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_subject
+ *
+ * Tag list item for pointer to a @ref sip_subject &quot;Subject header&quot;
+ * structure #sip_subject_t.
+ *
+ * The SIPTAG_SUBJECT() macro is used to include a tag item with a
+ * pointer to a #sip_subject_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_subject_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUBJECT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUBJECT(x) siptag_subject, siptag_subject_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_subject;
+
+/**@ingroup sip_subject
+ * Tag list item for reference to a
+ * @ref sip_subject &quot;Subject header&quot; pointer.
+ */
+#define SIPTAG_SUBJECT_REF(x) siptag_subject_ref, siptag_subject_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_subject_ref;
+
+/**@ingroup sip_subject
+ *
+ * Tag list item for string with @ref sip_subject &quot;Subject header&quot; value.
+ *
+ * The SIPTAG_SUBJECT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_subject_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_subject &quot;Subject header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SUBJECT_STR() can be converted to a
+ * #sip_subject_t header structure by giving the string @a s has
+ * second argument to function sip_subject_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUBJECT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUBJECT_STR(s) siptag_subject_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_subject_str;
+
+/**@ingroup sip_subject
+ * Tag list item for reference to a
+ * @ref sip_subject &quot;Subject header&quot; string.
+ */
+#define SIPTAG_SUBJECT_STR_REF(x) siptag_subject_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_subject_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_subject_v(sip_subject_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_subject_vr(sip_subject_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_subject_v(v)   (tag_value_t)(v)
+#define siptag_subject_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_priority
+ *
+ * Tag list item for pointer to a @ref sip_priority &quot;Priority header&quot;
+ * structure #sip_priority_t.
+ *
+ * The SIPTAG_PRIORITY() macro is used to include a tag item with a
+ * pointer to a #sip_priority_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_priority_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PRIORITY_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PRIORITY(x) siptag_priority, siptag_priority_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_priority;
+
+/**@ingroup sip_priority
+ * Tag list item for reference to a
+ * @ref sip_priority &quot;Priority header&quot; pointer.
+ */
+#define SIPTAG_PRIORITY_REF(x) siptag_priority_ref, siptag_priority_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_priority_ref;
+
+/**@ingroup sip_priority
+ *
+ * Tag list item for string with @ref sip_priority &quot;Priority header&quot; value.
+ *
+ * The SIPTAG_PRIORITY_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_priority_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_priority &quot;Priority header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PRIORITY_STR() can be converted to a
+ * #sip_priority_t header structure by giving the string @a s has
+ * second argument to function sip_priority_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PRIORITY_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PRIORITY_STR(s) siptag_priority_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_priority_str;
+
+/**@ingroup sip_priority
+ * Tag list item for reference to a
+ * @ref sip_priority &quot;Priority header&quot; string.
+ */
+#define SIPTAG_PRIORITY_STR_REF(x) siptag_priority_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_priority_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_priority_v(sip_priority_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_priority_vr(sip_priority_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_priority_v(v)   (tag_value_t)(v)
+#define siptag_priority_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_call_info
+ *
+ * Tag list item for pointer to a @ref sip_call_info &quot;Call-Info header&quot;
+ * structure #sip_call_info_t.
+ *
+ * The SIPTAG_CALL_INFO() macro is used to include a tag item with a
+ * pointer to a #sip_call_info_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_call_info_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CALL_INFO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CALL_INFO(x) siptag_call_info, siptag_call_info_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_call_info;
+
+/**@ingroup sip_call_info
+ * Tag list item for reference to a
+ * @ref sip_call_info &quot;Call-Info header&quot; pointer.
+ */
+#define SIPTAG_CALL_INFO_REF(x) siptag_call_info_ref, siptag_call_info_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_call_info_ref;
+
+/**@ingroup sip_call_info
+ *
+ * Tag list item for string with @ref sip_call_info &quot;Call-Info header&quot; value.
+ *
+ * The SIPTAG_CALL_INFO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_call_info_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_call_info &quot;Call-Info header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CALL_INFO_STR() can be converted to a
+ * #sip_call_info_t header structure by giving the string @a s has
+ * second argument to function sip_call_info_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CALL_INFO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CALL_INFO_STR(s) siptag_call_info_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_call_info_str;
+
+/**@ingroup sip_call_info
+ * Tag list item for reference to a
+ * @ref sip_call_info &quot;Call-Info header&quot; string.
+ */
+#define SIPTAG_CALL_INFO_STR_REF(x) siptag_call_info_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_call_info_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_call_info_v(sip_call_info_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_call_info_vr(sip_call_info_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_call_info_v(v)   (tag_value_t)(v)
+#define siptag_call_info_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_organization
+ *
+ * Tag list item for pointer to a @ref sip_organization &quot;Organization header&quot;
+ * structure #sip_organization_t.
+ *
+ * The SIPTAG_ORGANIZATION() macro is used to include a tag item with a
+ * pointer to a #sip_organization_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_organization_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ORGANIZATION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ORGANIZATION(x) siptag_organization, siptag_organization_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_organization;
+
+/**@ingroup sip_organization
+ * Tag list item for reference to a
+ * @ref sip_organization &quot;Organization header&quot; pointer.
+ */
+#define SIPTAG_ORGANIZATION_REF(x) siptag_organization_ref, siptag_organization_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_organization_ref;
+
+/**@ingroup sip_organization
+ *
+ * Tag list item for string with @ref sip_organization &quot;Organization header&quot; value.
+ *
+ * The SIPTAG_ORGANIZATION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_organization_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_organization &quot;Organization header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ORGANIZATION_STR() can be converted to a
+ * #sip_organization_t header structure by giving the string @a s has
+ * second argument to function sip_organization_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ORGANIZATION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ORGANIZATION_STR(s) siptag_organization_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_organization_str;
+
+/**@ingroup sip_organization
+ * Tag list item for reference to a
+ * @ref sip_organization &quot;Organization header&quot; string.
+ */
+#define SIPTAG_ORGANIZATION_STR_REF(x) siptag_organization_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_organization_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_organization_v(sip_organization_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_organization_vr(sip_organization_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_organization_v(v)   (tag_value_t)(v)
+#define siptag_organization_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_server
+ *
+ * Tag list item for pointer to a @ref sip_server &quot;Server header&quot;
+ * structure #sip_server_t.
+ *
+ * The SIPTAG_SERVER() macro is used to include a tag item with a
+ * pointer to a #sip_server_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_server_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SERVER_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SERVER(x) siptag_server, siptag_server_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_server;
+
+/**@ingroup sip_server
+ * Tag list item for reference to a
+ * @ref sip_server &quot;Server header&quot; pointer.
+ */
+#define SIPTAG_SERVER_REF(x) siptag_server_ref, siptag_server_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_server_ref;
+
+/**@ingroup sip_server
+ *
+ * Tag list item for string with @ref sip_server &quot;Server header&quot; value.
+ *
+ * The SIPTAG_SERVER_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_server_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_server &quot;Server header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SERVER_STR() can be converted to a
+ * #sip_server_t header structure by giving the string @a s has
+ * second argument to function sip_server_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SERVER_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SERVER_STR(s) siptag_server_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_server_str;
+
+/**@ingroup sip_server
+ * Tag list item for reference to a
+ * @ref sip_server &quot;Server header&quot; string.
+ */
+#define SIPTAG_SERVER_STR_REF(x) siptag_server_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_server_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_server_v(sip_server_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_server_vr(sip_server_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_server_v(v)   (tag_value_t)(v)
+#define siptag_server_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_user_agent
+ *
+ * Tag list item for pointer to a @ref sip_user_agent &quot;User-Agent header&quot;
+ * structure #sip_user_agent_t.
+ *
+ * The SIPTAG_USER_AGENT() macro is used to include a tag item with a
+ * pointer to a #sip_user_agent_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_user_agent_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_USER_AGENT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_USER_AGENT(x) siptag_user_agent, siptag_user_agent_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_user_agent;
+
+/**@ingroup sip_user_agent
+ * Tag list item for reference to a
+ * @ref sip_user_agent &quot;User-Agent header&quot; pointer.
+ */
+#define SIPTAG_USER_AGENT_REF(x) siptag_user_agent_ref, siptag_user_agent_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_user_agent_ref;
+
+/**@ingroup sip_user_agent
+ *
+ * Tag list item for string with @ref sip_user_agent &quot;User-Agent header&quot; value.
+ *
+ * The SIPTAG_USER_AGENT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_user_agent_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_user_agent &quot;User-Agent header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_USER_AGENT_STR() can be converted to a
+ * #sip_user_agent_t header structure by giving the string @a s has
+ * second argument to function sip_user_agent_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_USER_AGENT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_USER_AGENT_STR(s) siptag_user_agent_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_user_agent_str;
+
+/**@ingroup sip_user_agent
+ * Tag list item for reference to a
+ * @ref sip_user_agent &quot;User-Agent header&quot; string.
+ */
+#define SIPTAG_USER_AGENT_STR_REF(x) siptag_user_agent_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_user_agent_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_user_agent_v(sip_user_agent_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_user_agent_vr(sip_user_agent_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_user_agent_v(v)   (tag_value_t)(v)
+#define siptag_user_agent_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_in_reply_to
+ *
+ * Tag list item for pointer to a @ref sip_in_reply_to &quot;In-Reply-To header&quot;
+ * structure #sip_in_reply_to_t.
+ *
+ * The SIPTAG_IN_REPLY_TO() macro is used to include a tag item with a
+ * pointer to a #sip_in_reply_to_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_in_reply_to_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_IN_REPLY_TO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_IN_REPLY_TO(x) siptag_in_reply_to, siptag_in_reply_to_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_in_reply_to;
+
+/**@ingroup sip_in_reply_to
+ * Tag list item for reference to a
+ * @ref sip_in_reply_to &quot;In-Reply-To header&quot; pointer.
+ */
+#define SIPTAG_IN_REPLY_TO_REF(x) siptag_in_reply_to_ref, siptag_in_reply_to_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_in_reply_to_ref;
+
+/**@ingroup sip_in_reply_to
+ *
+ * Tag list item for string with @ref sip_in_reply_to &quot;In-Reply-To header&quot; value.
+ *
+ * The SIPTAG_IN_REPLY_TO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_in_reply_to_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_in_reply_to &quot;In-Reply-To header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_IN_REPLY_TO_STR() can be converted to a
+ * #sip_in_reply_to_t header structure by giving the string @a s has
+ * second argument to function sip_in_reply_to_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_IN_REPLY_TO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_IN_REPLY_TO_STR(s) siptag_in_reply_to_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_in_reply_to_str;
+
+/**@ingroup sip_in_reply_to
+ * Tag list item for reference to a
+ * @ref sip_in_reply_to &quot;In-Reply-To header&quot; string.
+ */
+#define SIPTAG_IN_REPLY_TO_STR_REF(x) siptag_in_reply_to_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_in_reply_to_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_in_reply_to_v(sip_in_reply_to_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_in_reply_to_vr(sip_in_reply_to_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_in_reply_to_v(v)   (tag_value_t)(v)
+#define siptag_in_reply_to_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_accept
+ *
+ * Tag list item for pointer to a @ref sip_accept &quot;Accept header&quot;
+ * structure #sip_accept_t.
+ *
+ * The SIPTAG_ACCEPT() macro is used to include a tag item with a
+ * pointer to a #sip_accept_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_accept_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT(x) siptag_accept, siptag_accept_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept;
+
+/**@ingroup sip_accept
+ * Tag list item for reference to a
+ * @ref sip_accept &quot;Accept header&quot; pointer.
+ */
+#define SIPTAG_ACCEPT_REF(x) siptag_accept_ref, siptag_accept_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_ref;
+
+/**@ingroup sip_accept
+ *
+ * Tag list item for string with @ref sip_accept &quot;Accept header&quot; value.
+ *
+ * The SIPTAG_ACCEPT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_accept_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_accept &quot;Accept header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ACCEPT_STR() can be converted to a
+ * #sip_accept_t header structure by giving the string @a s has
+ * second argument to function sip_accept_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_STR(s) siptag_accept_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_str;
+
+/**@ingroup sip_accept
+ * Tag list item for reference to a
+ * @ref sip_accept &quot;Accept header&quot; string.
+ */
+#define SIPTAG_ACCEPT_STR_REF(x) siptag_accept_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_accept_v(sip_accept_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_accept_vr(sip_accept_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_accept_v(v)   (tag_value_t)(v)
+#define siptag_accept_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_accept_encoding
+ *
+ * Tag list item for pointer to a @ref sip_accept_encoding &quot;Accept-Encoding header&quot;
+ * structure #sip_accept_encoding_t.
+ *
+ * The SIPTAG_ACCEPT_ENCODING() macro is used to include a tag item with a
+ * pointer to a #sip_accept_encoding_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_accept_encoding_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_ENCODING_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_ENCODING(x) siptag_accept_encoding, siptag_accept_encoding_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_encoding;
+
+/**@ingroup sip_accept_encoding
+ * Tag list item for reference to a
+ * @ref sip_accept_encoding &quot;Accept-Encoding header&quot; pointer.
+ */
+#define SIPTAG_ACCEPT_ENCODING_REF(x) siptag_accept_encoding_ref, siptag_accept_encoding_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_encoding_ref;
+
+/**@ingroup sip_accept_encoding
+ *
+ * Tag list item for string with @ref sip_accept_encoding &quot;Accept-Encoding header&quot; value.
+ *
+ * The SIPTAG_ACCEPT_ENCODING_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_accept_encoding_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_accept_encoding &quot;Accept-Encoding header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ACCEPT_ENCODING_STR() can be converted to a
+ * #sip_accept_encoding_t header structure by giving the string @a s has
+ * second argument to function sip_accept_encoding_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_ENCODING_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_ENCODING_STR(s) siptag_accept_encoding_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_encoding_str;
+
+/**@ingroup sip_accept_encoding
+ * Tag list item for reference to a
+ * @ref sip_accept_encoding &quot;Accept-Encoding header&quot; string.
+ */
+#define SIPTAG_ACCEPT_ENCODING_STR_REF(x) siptag_accept_encoding_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_encoding_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_accept_encoding_v(sip_accept_encoding_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_accept_encoding_vr(sip_accept_encoding_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_accept_encoding_v(v)   (tag_value_t)(v)
+#define siptag_accept_encoding_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_accept_language
+ *
+ * Tag list item for pointer to a @ref sip_accept_language &quot;Accept-Language header&quot;
+ * structure #sip_accept_language_t.
+ *
+ * The SIPTAG_ACCEPT_LANGUAGE() macro is used to include a tag item with a
+ * pointer to a #sip_accept_language_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_accept_language_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_LANGUAGE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_LANGUAGE(x) siptag_accept_language, siptag_accept_language_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_language;
+
+/**@ingroup sip_accept_language
+ * Tag list item for reference to a
+ * @ref sip_accept_language &quot;Accept-Language header&quot; pointer.
+ */
+#define SIPTAG_ACCEPT_LANGUAGE_REF(x) siptag_accept_language_ref, siptag_accept_language_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_language_ref;
+
+/**@ingroup sip_accept_language
+ *
+ * Tag list item for string with @ref sip_accept_language &quot;Accept-Language header&quot; value.
+ *
+ * The SIPTAG_ACCEPT_LANGUAGE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_accept_language_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_accept_language &quot;Accept-Language header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ACCEPT_LANGUAGE_STR() can be converted to a
+ * #sip_accept_language_t header structure by giving the string @a s has
+ * second argument to function sip_accept_language_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ACCEPT_LANGUAGE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ACCEPT_LANGUAGE_STR(s) siptag_accept_language_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_accept_language_str;
+
+/**@ingroup sip_accept_language
+ * Tag list item for reference to a
+ * @ref sip_accept_language &quot;Accept-Language header&quot; string.
+ */
+#define SIPTAG_ACCEPT_LANGUAGE_STR_REF(x) siptag_accept_language_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_accept_language_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_accept_language_v(sip_accept_language_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_accept_language_vr(sip_accept_language_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_accept_language_v(v)   (tag_value_t)(v)
+#define siptag_accept_language_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_allow
+ *
+ * Tag list item for pointer to a @ref sip_allow &quot;Allow header&quot;
+ * structure #sip_allow_t.
+ *
+ * The SIPTAG_ALLOW() macro is used to include a tag item with a
+ * pointer to a #sip_allow_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_allow_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ALLOW_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ALLOW(x) siptag_allow, siptag_allow_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_allow;
+
+/**@ingroup sip_allow
+ * Tag list item for reference to a
+ * @ref sip_allow &quot;Allow header&quot; pointer.
+ */
+#define SIPTAG_ALLOW_REF(x) siptag_allow_ref, siptag_allow_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_allow_ref;
+
+/**@ingroup sip_allow
+ *
+ * Tag list item for string with @ref sip_allow &quot;Allow header&quot; value.
+ *
+ * The SIPTAG_ALLOW_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_allow_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_allow &quot;Allow header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ALLOW_STR() can be converted to a
+ * #sip_allow_t header structure by giving the string @a s has
+ * second argument to function sip_allow_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ALLOW_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ALLOW_STR(s) siptag_allow_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_allow_str;
+
+/**@ingroup sip_allow
+ * Tag list item for reference to a
+ * @ref sip_allow &quot;Allow header&quot; string.
+ */
+#define SIPTAG_ALLOW_STR_REF(x) siptag_allow_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_allow_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_allow_v(sip_allow_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_allow_vr(sip_allow_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_allow_v(v)   (tag_value_t)(v)
+#define siptag_allow_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_require
+ *
+ * Tag list item for pointer to a @ref sip_require &quot;Require header&quot;
+ * structure #sip_require_t.
+ *
+ * The SIPTAG_REQUIRE() macro is used to include a tag item with a
+ * pointer to a #sip_require_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_require_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUIRE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUIRE(x) siptag_require, siptag_require_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_require;
+
+/**@ingroup sip_require
+ * Tag list item for reference to a
+ * @ref sip_require &quot;Require header&quot; pointer.
+ */
+#define SIPTAG_REQUIRE_REF(x) siptag_require_ref, siptag_require_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_require_ref;
+
+/**@ingroup sip_require
+ *
+ * Tag list item for string with @ref sip_require &quot;Require header&quot; value.
+ *
+ * The SIPTAG_REQUIRE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_require_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_require &quot;Require header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REQUIRE_STR() can be converted to a
+ * #sip_require_t header structure by giving the string @a s has
+ * second argument to function sip_require_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REQUIRE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REQUIRE_STR(s) siptag_require_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_require_str;
+
+/**@ingroup sip_require
+ * Tag list item for reference to a
+ * @ref sip_require &quot;Require header&quot; string.
+ */
+#define SIPTAG_REQUIRE_STR_REF(x) siptag_require_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_require_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_require_v(sip_require_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_require_vr(sip_require_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_require_v(v)   (tag_value_t)(v)
+#define siptag_require_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_supported
+ *
+ * Tag list item for pointer to a @ref sip_supported &quot;Supported header&quot;
+ * structure #sip_supported_t.
+ *
+ * The SIPTAG_SUPPORTED() macro is used to include a tag item with a
+ * pointer to a #sip_supported_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_supported_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUPPORTED_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUPPORTED(x) siptag_supported, siptag_supported_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_supported;
+
+/**@ingroup sip_supported
+ * Tag list item for reference to a
+ * @ref sip_supported &quot;Supported header&quot; pointer.
+ */
+#define SIPTAG_SUPPORTED_REF(x) siptag_supported_ref, siptag_supported_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_supported_ref;
+
+/**@ingroup sip_supported
+ *
+ * Tag list item for string with @ref sip_supported &quot;Supported header&quot; value.
+ *
+ * The SIPTAG_SUPPORTED_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_supported_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_supported &quot;Supported header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SUPPORTED_STR() can be converted to a
+ * #sip_supported_t header structure by giving the string @a s has
+ * second argument to function sip_supported_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUPPORTED_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUPPORTED_STR(s) siptag_supported_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_supported_str;
+
+/**@ingroup sip_supported
+ * Tag list item for reference to a
+ * @ref sip_supported &quot;Supported header&quot; string.
+ */
+#define SIPTAG_SUPPORTED_STR_REF(x) siptag_supported_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_supported_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_supported_v(sip_supported_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_supported_vr(sip_supported_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_supported_v(v)   (tag_value_t)(v)
+#define siptag_supported_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_unsupported
+ *
+ * Tag list item for pointer to a @ref sip_unsupported &quot;Unsupported header&quot;
+ * structure #sip_unsupported_t.
+ *
+ * The SIPTAG_UNSUPPORTED() macro is used to include a tag item with a
+ * pointer to a #sip_unsupported_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_unsupported_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_UNSUPPORTED_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_UNSUPPORTED(x) siptag_unsupported, siptag_unsupported_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_unsupported;
+
+/**@ingroup sip_unsupported
+ * Tag list item for reference to a
+ * @ref sip_unsupported &quot;Unsupported header&quot; pointer.
+ */
+#define SIPTAG_UNSUPPORTED_REF(x) siptag_unsupported_ref, siptag_unsupported_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_unsupported_ref;
+
+/**@ingroup sip_unsupported
+ *
+ * Tag list item for string with @ref sip_unsupported &quot;Unsupported header&quot; value.
+ *
+ * The SIPTAG_UNSUPPORTED_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_unsupported_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_unsupported &quot;Unsupported header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_UNSUPPORTED_STR() can be converted to a
+ * #sip_unsupported_t header structure by giving the string @a s has
+ * second argument to function sip_unsupported_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_UNSUPPORTED_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_UNSUPPORTED_STR(s) siptag_unsupported_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_unsupported_str;
+
+/**@ingroup sip_unsupported
+ * Tag list item for reference to a
+ * @ref sip_unsupported &quot;Unsupported header&quot; string.
+ */
+#define SIPTAG_UNSUPPORTED_STR_REF(x) siptag_unsupported_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_unsupported_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_unsupported_v(sip_unsupported_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_unsupported_vr(sip_unsupported_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_unsupported_v(v)   (tag_value_t)(v)
+#define siptag_unsupported_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_event
+ *
+ * Tag list item for pointer to a @ref sip_event &quot;Event header&quot;
+ * structure #sip_event_t.
+ *
+ * The SIPTAG_EVENT() macro is used to include a tag item with a
+ * pointer to a #sip_event_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_event_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_EVENT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_EVENT(x) siptag_event, siptag_event_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_event;
+
+/**@ingroup sip_event
+ * Tag list item for reference to a
+ * @ref sip_event &quot;Event header&quot; pointer.
+ */
+#define SIPTAG_EVENT_REF(x) siptag_event_ref, siptag_event_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_event_ref;
+
+/**@ingroup sip_event
+ *
+ * Tag list item for string with @ref sip_event &quot;Event header&quot; value.
+ *
+ * The SIPTAG_EVENT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_event_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_event &quot;Event header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_EVENT_STR() can be converted to a
+ * #sip_event_t header structure by giving the string @a s has
+ * second argument to function sip_event_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_EVENT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_EVENT_STR(s) siptag_event_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_event_str;
+
+/**@ingroup sip_event
+ * Tag list item for reference to a
+ * @ref sip_event &quot;Event header&quot; string.
+ */
+#define SIPTAG_EVENT_STR_REF(x) siptag_event_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_event_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_event_v(sip_event_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_event_vr(sip_event_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_event_v(v)   (tag_value_t)(v)
+#define siptag_event_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_allow_events
+ *
+ * Tag list item for pointer to a @ref sip_allow_events &quot;Allow-Events header&quot;
+ * structure #sip_allow_events_t.
+ *
+ * The SIPTAG_ALLOW_EVENTS() macro is used to include a tag item with a
+ * pointer to a #sip_allow_events_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_allow_events_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ALLOW_EVENTS_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ALLOW_EVENTS(x) siptag_allow_events, siptag_allow_events_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_allow_events;
+
+/**@ingroup sip_allow_events
+ * Tag list item for reference to a
+ * @ref sip_allow_events &quot;Allow-Events header&quot; pointer.
+ */
+#define SIPTAG_ALLOW_EVENTS_REF(x) siptag_allow_events_ref, siptag_allow_events_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_allow_events_ref;
+
+/**@ingroup sip_allow_events
+ *
+ * Tag list item for string with @ref sip_allow_events &quot;Allow-Events header&quot; value.
+ *
+ * The SIPTAG_ALLOW_EVENTS_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_allow_events_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_allow_events &quot;Allow-Events header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ALLOW_EVENTS_STR() can be converted to a
+ * #sip_allow_events_t header structure by giving the string @a s has
+ * second argument to function sip_allow_events_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ALLOW_EVENTS_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ALLOW_EVENTS_STR(s) siptag_allow_events_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_allow_events_str;
+
+/**@ingroup sip_allow_events
+ * Tag list item for reference to a
+ * @ref sip_allow_events &quot;Allow-Events header&quot; string.
+ */
+#define SIPTAG_ALLOW_EVENTS_STR_REF(x) siptag_allow_events_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_allow_events_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_allow_events_v(sip_allow_events_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_allow_events_vr(sip_allow_events_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_allow_events_v(v)   (tag_value_t)(v)
+#define siptag_allow_events_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_subscription_state
+ *
+ * Tag list item for pointer to a @ref sip_subscription_state &quot;Subscription-State header&quot;
+ * structure #sip_subscription_state_t.
+ *
+ * The SIPTAG_SUBSCRIPTION_STATE() macro is used to include a tag item with a
+ * pointer to a #sip_subscription_state_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_subscription_state_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUBSCRIPTION_STATE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUBSCRIPTION_STATE(x) siptag_subscription_state, siptag_subscription_state_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_subscription_state;
+
+/**@ingroup sip_subscription_state
+ * Tag list item for reference to a
+ * @ref sip_subscription_state &quot;Subscription-State header&quot; pointer.
+ */
+#define SIPTAG_SUBSCRIPTION_STATE_REF(x) siptag_subscription_state_ref, siptag_subscription_state_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_subscription_state_ref;
+
+/**@ingroup sip_subscription_state
+ *
+ * Tag list item for string with @ref sip_subscription_state &quot;Subscription-State header&quot; value.
+ *
+ * The SIPTAG_SUBSCRIPTION_STATE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_subscription_state_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_subscription_state &quot;Subscription-State header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SUBSCRIPTION_STATE_STR() can be converted to a
+ * #sip_subscription_state_t header structure by giving the string @a s has
+ * second argument to function sip_subscription_state_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SUBSCRIPTION_STATE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SUBSCRIPTION_STATE_STR(s) siptag_subscription_state_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_subscription_state_str;
+
+/**@ingroup sip_subscription_state
+ * Tag list item for reference to a
+ * @ref sip_subscription_state &quot;Subscription-State header&quot; string.
+ */
+#define SIPTAG_SUBSCRIPTION_STATE_STR_REF(x) siptag_subscription_state_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_subscription_state_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_subscription_state_v(sip_subscription_state_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_subscription_state_vr(sip_subscription_state_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_subscription_state_v(v)   (tag_value_t)(v)
+#define siptag_subscription_state_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_proxy_authenticate
+ *
+ * Tag list item for pointer to a @ref sip_proxy_authenticate &quot;Proxy-Authenticate header&quot;
+ * structure #sip_proxy_authenticate_t.
+ *
+ * The SIPTAG_PROXY_AUTHENTICATE() macro is used to include a tag item with a
+ * pointer to a #sip_proxy_authenticate_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_proxy_authenticate_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHENTICATE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHENTICATE(x) siptag_proxy_authenticate, siptag_proxy_authenticate_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authenticate;
+
+/**@ingroup sip_proxy_authenticate
+ * Tag list item for reference to a
+ * @ref sip_proxy_authenticate &quot;Proxy-Authenticate header&quot; pointer.
+ */
+#define SIPTAG_PROXY_AUTHENTICATE_REF(x) siptag_proxy_authenticate_ref, siptag_proxy_authenticate_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authenticate_ref;
+
+/**@ingroup sip_proxy_authenticate
+ *
+ * Tag list item for string with @ref sip_proxy_authenticate &quot;Proxy-Authenticate header&quot; value.
+ *
+ * The SIPTAG_PROXY_AUTHENTICATE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_proxy_authenticate_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_proxy_authenticate &quot;Proxy-Authenticate header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PROXY_AUTHENTICATE_STR() can be converted to a
+ * #sip_proxy_authenticate_t header structure by giving the string @a s has
+ * second argument to function sip_proxy_authenticate_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHENTICATE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHENTICATE_STR(s) siptag_proxy_authenticate_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authenticate_str;
+
+/**@ingroup sip_proxy_authenticate
+ * Tag list item for reference to a
+ * @ref sip_proxy_authenticate &quot;Proxy-Authenticate header&quot; string.
+ */
+#define SIPTAG_PROXY_AUTHENTICATE_STR_REF(x) siptag_proxy_authenticate_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authenticate_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_proxy_authenticate_v(sip_proxy_authenticate_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_proxy_authenticate_vr(sip_proxy_authenticate_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_proxy_authenticate_v(v)   (tag_value_t)(v)
+#define siptag_proxy_authenticate_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_proxy_authentication_info
+ *
+ * Tag list item for pointer to a @ref sip_proxy_authentication_info &quot;Proxy-Authentication-Info header&quot;
+ * structure #sip_proxy_authentication_info_t.
+ *
+ * The SIPTAG_PROXY_AUTHENTICATION_INFO() macro is used to include a tag item with a
+ * pointer to a #sip_proxy_authentication_info_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_proxy_authentication_info_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHENTICATION_INFO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHENTICATION_INFO(x) siptag_proxy_authentication_info, siptag_proxy_authentication_info_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authentication_info;
+
+/**@ingroup sip_proxy_authentication_info
+ * Tag list item for reference to a
+ * @ref sip_proxy_authentication_info &quot;Proxy-Authentication-Info header&quot; pointer.
+ */
+#define SIPTAG_PROXY_AUTHENTICATION_INFO_REF(x) siptag_proxy_authentication_info_ref, siptag_proxy_authentication_info_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authentication_info_ref;
+
+/**@ingroup sip_proxy_authentication_info
+ *
+ * Tag list item for string with @ref sip_proxy_authentication_info &quot;Proxy-Authentication-Info header&quot; value.
+ *
+ * The SIPTAG_PROXY_AUTHENTICATION_INFO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_proxy_authentication_info_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_proxy_authentication_info &quot;Proxy-Authentication-Info header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PROXY_AUTHENTICATION_INFO_STR() can be converted to a
+ * #sip_proxy_authentication_info_t header structure by giving the string @a s has
+ * second argument to function sip_proxy_authentication_info_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHENTICATION_INFO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHENTICATION_INFO_STR(s) siptag_proxy_authentication_info_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authentication_info_str;
+
+/**@ingroup sip_proxy_authentication_info
+ * Tag list item for reference to a
+ * @ref sip_proxy_authentication_info &quot;Proxy-Authentication-Info header&quot; string.
+ */
+#define SIPTAG_PROXY_AUTHENTICATION_INFO_STR_REF(x) siptag_proxy_authentication_info_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authentication_info_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_proxy_authentication_info_v(sip_proxy_authentication_info_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_proxy_authentication_info_vr(sip_proxy_authentication_info_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_proxy_authentication_info_v(v)   (tag_value_t)(v)
+#define siptag_proxy_authentication_info_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_proxy_authorization
+ *
+ * Tag list item for pointer to a @ref sip_proxy_authorization &quot;Proxy-Authorization header&quot;
+ * structure #sip_proxy_authorization_t.
+ *
+ * The SIPTAG_PROXY_AUTHORIZATION() macro is used to include a tag item with a
+ * pointer to a #sip_proxy_authorization_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_proxy_authorization_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHORIZATION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHORIZATION(x) siptag_proxy_authorization, siptag_proxy_authorization_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authorization;
+
+/**@ingroup sip_proxy_authorization
+ * Tag list item for reference to a
+ * @ref sip_proxy_authorization &quot;Proxy-Authorization header&quot; pointer.
+ */
+#define SIPTAG_PROXY_AUTHORIZATION_REF(x) siptag_proxy_authorization_ref, siptag_proxy_authorization_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authorization_ref;
+
+/**@ingroup sip_proxy_authorization
+ *
+ * Tag list item for string with @ref sip_proxy_authorization &quot;Proxy-Authorization header&quot; value.
+ *
+ * The SIPTAG_PROXY_AUTHORIZATION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_proxy_authorization_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_proxy_authorization &quot;Proxy-Authorization header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PROXY_AUTHORIZATION_STR() can be converted to a
+ * #sip_proxy_authorization_t header structure by giving the string @a s has
+ * second argument to function sip_proxy_authorization_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PROXY_AUTHORIZATION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PROXY_AUTHORIZATION_STR(s) siptag_proxy_authorization_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authorization_str;
+
+/**@ingroup sip_proxy_authorization
+ * Tag list item for reference to a
+ * @ref sip_proxy_authorization &quot;Proxy-Authorization header&quot; string.
+ */
+#define SIPTAG_PROXY_AUTHORIZATION_STR_REF(x) siptag_proxy_authorization_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_proxy_authorization_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_proxy_authorization_v(sip_proxy_authorization_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_proxy_authorization_vr(sip_proxy_authorization_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_proxy_authorization_v(v)   (tag_value_t)(v)
+#define siptag_proxy_authorization_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_authorization
+ *
+ * Tag list item for pointer to a @ref sip_authorization &quot;Authorization header&quot;
+ * structure #sip_authorization_t.
+ *
+ * The SIPTAG_AUTHORIZATION() macro is used to include a tag item with a
+ * pointer to a #sip_authorization_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_authorization_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_AUTHORIZATION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_AUTHORIZATION(x) siptag_authorization, siptag_authorization_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_authorization;
+
+/**@ingroup sip_authorization
+ * Tag list item for reference to a
+ * @ref sip_authorization &quot;Authorization header&quot; pointer.
+ */
+#define SIPTAG_AUTHORIZATION_REF(x) siptag_authorization_ref, siptag_authorization_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_authorization_ref;
+
+/**@ingroup sip_authorization
+ *
+ * Tag list item for string with @ref sip_authorization &quot;Authorization header&quot; value.
+ *
+ * The SIPTAG_AUTHORIZATION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_authorization_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_authorization &quot;Authorization header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_AUTHORIZATION_STR() can be converted to a
+ * #sip_authorization_t header structure by giving the string @a s has
+ * second argument to function sip_authorization_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_AUTHORIZATION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_AUTHORIZATION_STR(s) siptag_authorization_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_authorization_str;
+
+/**@ingroup sip_authorization
+ * Tag list item for reference to a
+ * @ref sip_authorization &quot;Authorization header&quot; string.
+ */
+#define SIPTAG_AUTHORIZATION_STR_REF(x) siptag_authorization_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_authorization_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_authorization_v(sip_authorization_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_authorization_vr(sip_authorization_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_authorization_v(v)   (tag_value_t)(v)
+#define siptag_authorization_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_www_authenticate
+ *
+ * Tag list item for pointer to a @ref sip_www_authenticate &quot;WWW-Authenticate header&quot;
+ * structure #sip_www_authenticate_t.
+ *
+ * The SIPTAG_WWW_AUTHENTICATE() macro is used to include a tag item with a
+ * pointer to a #sip_www_authenticate_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_www_authenticate_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_WWW_AUTHENTICATE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_WWW_AUTHENTICATE(x) siptag_www_authenticate, siptag_www_authenticate_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_www_authenticate;
+
+/**@ingroup sip_www_authenticate
+ * Tag list item for reference to a
+ * @ref sip_www_authenticate &quot;WWW-Authenticate header&quot; pointer.
+ */
+#define SIPTAG_WWW_AUTHENTICATE_REF(x) siptag_www_authenticate_ref, siptag_www_authenticate_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_www_authenticate_ref;
+
+/**@ingroup sip_www_authenticate
+ *
+ * Tag list item for string with @ref sip_www_authenticate &quot;WWW-Authenticate header&quot; value.
+ *
+ * The SIPTAG_WWW_AUTHENTICATE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_www_authenticate_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_www_authenticate &quot;WWW-Authenticate header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_WWW_AUTHENTICATE_STR() can be converted to a
+ * #sip_www_authenticate_t header structure by giving the string @a s has
+ * second argument to function sip_www_authenticate_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_WWW_AUTHENTICATE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_WWW_AUTHENTICATE_STR(s) siptag_www_authenticate_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_www_authenticate_str;
+
+/**@ingroup sip_www_authenticate
+ * Tag list item for reference to a
+ * @ref sip_www_authenticate &quot;WWW-Authenticate header&quot; string.
+ */
+#define SIPTAG_WWW_AUTHENTICATE_STR_REF(x) siptag_www_authenticate_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_www_authenticate_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_www_authenticate_v(sip_www_authenticate_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_www_authenticate_vr(sip_www_authenticate_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_www_authenticate_v(v)   (tag_value_t)(v)
+#define siptag_www_authenticate_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_authentication_info
+ *
+ * Tag list item for pointer to a @ref sip_authentication_info &quot;Authentication-Info header&quot;
+ * structure #sip_authentication_info_t.
+ *
+ * The SIPTAG_AUTHENTICATION_INFO() macro is used to include a tag item with a
+ * pointer to a #sip_authentication_info_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_authentication_info_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_AUTHENTICATION_INFO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_AUTHENTICATION_INFO(x) siptag_authentication_info, siptag_authentication_info_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_authentication_info;
+
+/**@ingroup sip_authentication_info
+ * Tag list item for reference to a
+ * @ref sip_authentication_info &quot;Authentication-Info header&quot; pointer.
+ */
+#define SIPTAG_AUTHENTICATION_INFO_REF(x) siptag_authentication_info_ref, siptag_authentication_info_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_authentication_info_ref;
+
+/**@ingroup sip_authentication_info
+ *
+ * Tag list item for string with @ref sip_authentication_info &quot;Authentication-Info header&quot; value.
+ *
+ * The SIPTAG_AUTHENTICATION_INFO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_authentication_info_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_authentication_info &quot;Authentication-Info header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_AUTHENTICATION_INFO_STR() can be converted to a
+ * #sip_authentication_info_t header structure by giving the string @a s has
+ * second argument to function sip_authentication_info_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_AUTHENTICATION_INFO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_AUTHENTICATION_INFO_STR(s) siptag_authentication_info_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_authentication_info_str;
+
+/**@ingroup sip_authentication_info
+ * Tag list item for reference to a
+ * @ref sip_authentication_info &quot;Authentication-Info header&quot; string.
+ */
+#define SIPTAG_AUTHENTICATION_INFO_STR_REF(x) siptag_authentication_info_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_authentication_info_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_authentication_info_v(sip_authentication_info_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_authentication_info_vr(sip_authentication_info_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_authentication_info_v(v)   (tag_value_t)(v)
+#define siptag_authentication_info_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_error_info
+ *
+ * Tag list item for pointer to a @ref sip_error_info &quot;Error-Info header&quot;
+ * structure #sip_error_info_t.
+ *
+ * The SIPTAG_ERROR_INFO() macro is used to include a tag item with a
+ * pointer to a #sip_error_info_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_error_info_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ERROR_INFO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ERROR_INFO(x) siptag_error_info, siptag_error_info_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_error_info;
+
+/**@ingroup sip_error_info
+ * Tag list item for reference to a
+ * @ref sip_error_info &quot;Error-Info header&quot; pointer.
+ */
+#define SIPTAG_ERROR_INFO_REF(x) siptag_error_info_ref, siptag_error_info_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_error_info_ref;
+
+/**@ingroup sip_error_info
+ *
+ * Tag list item for string with @ref sip_error_info &quot;Error-Info header&quot; value.
+ *
+ * The SIPTAG_ERROR_INFO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_error_info_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_error_info &quot;Error-Info header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ERROR_INFO_STR() can be converted to a
+ * #sip_error_info_t header structure by giving the string @a s has
+ * second argument to function sip_error_info_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ERROR_INFO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ERROR_INFO_STR(s) siptag_error_info_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_error_info_str;
+
+/**@ingroup sip_error_info
+ * Tag list item for reference to a
+ * @ref sip_error_info &quot;Error-Info header&quot; string.
+ */
+#define SIPTAG_ERROR_INFO_STR_REF(x) siptag_error_info_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_error_info_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_error_info_v(sip_error_info_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_error_info_vr(sip_error_info_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_error_info_v(v)   (tag_value_t)(v)
+#define siptag_error_info_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_warning
+ *
+ * Tag list item for pointer to a @ref sip_warning &quot;Warning header&quot;
+ * structure #sip_warning_t.
+ *
+ * The SIPTAG_WARNING() macro is used to include a tag item with a
+ * pointer to a #sip_warning_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_warning_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_WARNING_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_WARNING(x) siptag_warning, siptag_warning_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_warning;
+
+/**@ingroup sip_warning
+ * Tag list item for reference to a
+ * @ref sip_warning &quot;Warning header&quot; pointer.
+ */
+#define SIPTAG_WARNING_REF(x) siptag_warning_ref, siptag_warning_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_warning_ref;
+
+/**@ingroup sip_warning
+ *
+ * Tag list item for string with @ref sip_warning &quot;Warning header&quot; value.
+ *
+ * The SIPTAG_WARNING_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_warning_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_warning &quot;Warning header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_WARNING_STR() can be converted to a
+ * #sip_warning_t header structure by giving the string @a s has
+ * second argument to function sip_warning_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_WARNING_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_WARNING_STR(s) siptag_warning_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_warning_str;
+
+/**@ingroup sip_warning
+ * Tag list item for reference to a
+ * @ref sip_warning &quot;Warning header&quot; string.
+ */
+#define SIPTAG_WARNING_STR_REF(x) siptag_warning_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_warning_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_warning_v(sip_warning_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_warning_vr(sip_warning_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_warning_v(v)   (tag_value_t)(v)
+#define siptag_warning_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_refer_to
+ *
+ * Tag list item for pointer to a @ref sip_refer_to &quot;Refer-To header&quot;
+ * structure #sip_refer_to_t.
+ *
+ * The SIPTAG_REFER_TO() macro is used to include a tag item with a
+ * pointer to a #sip_refer_to_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_refer_to_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REFER_TO_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REFER_TO(x) siptag_refer_to, siptag_refer_to_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_refer_to;
+
+/**@ingroup sip_refer_to
+ * Tag list item for reference to a
+ * @ref sip_refer_to &quot;Refer-To header&quot; pointer.
+ */
+#define SIPTAG_REFER_TO_REF(x) siptag_refer_to_ref, siptag_refer_to_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_refer_to_ref;
+
+/**@ingroup sip_refer_to
+ *
+ * Tag list item for string with @ref sip_refer_to &quot;Refer-To header&quot; value.
+ *
+ * The SIPTAG_REFER_TO_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_refer_to_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_refer_to &quot;Refer-To header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REFER_TO_STR() can be converted to a
+ * #sip_refer_to_t header structure by giving the string @a s has
+ * second argument to function sip_refer_to_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REFER_TO_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REFER_TO_STR(s) siptag_refer_to_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_refer_to_str;
+
+/**@ingroup sip_refer_to
+ * Tag list item for reference to a
+ * @ref sip_refer_to &quot;Refer-To header&quot; string.
+ */
+#define SIPTAG_REFER_TO_STR_REF(x) siptag_refer_to_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_refer_to_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_refer_to_v(sip_refer_to_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_refer_to_vr(sip_refer_to_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_refer_to_v(v)   (tag_value_t)(v)
+#define siptag_refer_to_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_referred_by
+ *
+ * Tag list item for pointer to a @ref sip_referred_by &quot;Referred-By header&quot;
+ * structure #sip_referred_by_t.
+ *
+ * The SIPTAG_REFERRED_BY() macro is used to include a tag item with a
+ * pointer to a #sip_referred_by_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_referred_by_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REFERRED_BY_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REFERRED_BY(x) siptag_referred_by, siptag_referred_by_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_referred_by;
+
+/**@ingroup sip_referred_by
+ * Tag list item for reference to a
+ * @ref sip_referred_by &quot;Referred-By header&quot; pointer.
+ */
+#define SIPTAG_REFERRED_BY_REF(x) siptag_referred_by_ref, siptag_referred_by_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_referred_by_ref;
+
+/**@ingroup sip_referred_by
+ *
+ * Tag list item for string with @ref sip_referred_by &quot;Referred-By header&quot; value.
+ *
+ * The SIPTAG_REFERRED_BY_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_referred_by_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_referred_by &quot;Referred-By header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REFERRED_BY_STR() can be converted to a
+ * #sip_referred_by_t header structure by giving the string @a s has
+ * second argument to function sip_referred_by_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REFERRED_BY_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REFERRED_BY_STR(s) siptag_referred_by_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_referred_by_str;
+
+/**@ingroup sip_referred_by
+ * Tag list item for reference to a
+ * @ref sip_referred_by &quot;Referred-By header&quot; string.
+ */
+#define SIPTAG_REFERRED_BY_STR_REF(x) siptag_referred_by_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_referred_by_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_referred_by_v(sip_referred_by_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_referred_by_vr(sip_referred_by_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_referred_by_v(v)   (tag_value_t)(v)
+#define siptag_referred_by_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_replaces
+ *
+ * Tag list item for pointer to a @ref sip_replaces &quot;Replaces header&quot;
+ * structure #sip_replaces_t.
+ *
+ * The SIPTAG_REPLACES() macro is used to include a tag item with a
+ * pointer to a #sip_replaces_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_replaces_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REPLACES_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REPLACES(x) siptag_replaces, siptag_replaces_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_replaces;
+
+/**@ingroup sip_replaces
+ * Tag list item for reference to a
+ * @ref sip_replaces &quot;Replaces header&quot; pointer.
+ */
+#define SIPTAG_REPLACES_REF(x) siptag_replaces_ref, siptag_replaces_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_replaces_ref;
+
+/**@ingroup sip_replaces
+ *
+ * Tag list item for string with @ref sip_replaces &quot;Replaces header&quot; value.
+ *
+ * The SIPTAG_REPLACES_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_replaces_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_replaces &quot;Replaces header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REPLACES_STR() can be converted to a
+ * #sip_replaces_t header structure by giving the string @a s has
+ * second argument to function sip_replaces_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REPLACES_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REPLACES_STR(s) siptag_replaces_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_replaces_str;
+
+/**@ingroup sip_replaces
+ * Tag list item for reference to a
+ * @ref sip_replaces &quot;Replaces header&quot; string.
+ */
+#define SIPTAG_REPLACES_STR_REF(x) siptag_replaces_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_replaces_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_replaces_v(sip_replaces_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_replaces_vr(sip_replaces_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_replaces_v(v)   (tag_value_t)(v)
+#define siptag_replaces_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_session_expires
+ *
+ * Tag list item for pointer to a @ref sip_session_expires &quot;Session-Expires header&quot;
+ * structure #sip_session_expires_t.
+ *
+ * The SIPTAG_SESSION_EXPIRES() macro is used to include a tag item with a
+ * pointer to a #sip_session_expires_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_session_expires_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SESSION_EXPIRES_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SESSION_EXPIRES(x) siptag_session_expires, siptag_session_expires_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_session_expires;
+
+/**@ingroup sip_session_expires
+ * Tag list item for reference to a
+ * @ref sip_session_expires &quot;Session-Expires header&quot; pointer.
+ */
+#define SIPTAG_SESSION_EXPIRES_REF(x) siptag_session_expires_ref, siptag_session_expires_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_session_expires_ref;
+
+/**@ingroup sip_session_expires
+ *
+ * Tag list item for string with @ref sip_session_expires &quot;Session-Expires header&quot; value.
+ *
+ * The SIPTAG_SESSION_EXPIRES_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_session_expires_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_session_expires &quot;Session-Expires header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SESSION_EXPIRES_STR() can be converted to a
+ * #sip_session_expires_t header structure by giving the string @a s has
+ * second argument to function sip_session_expires_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SESSION_EXPIRES_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SESSION_EXPIRES_STR(s) siptag_session_expires_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_session_expires_str;
+
+/**@ingroup sip_session_expires
+ * Tag list item for reference to a
+ * @ref sip_session_expires &quot;Session-Expires header&quot; string.
+ */
+#define SIPTAG_SESSION_EXPIRES_STR_REF(x) siptag_session_expires_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_session_expires_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_session_expires_v(sip_session_expires_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_session_expires_vr(sip_session_expires_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_session_expires_v(v)   (tag_value_t)(v)
+#define siptag_session_expires_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_min_se
+ *
+ * Tag list item for pointer to a @ref sip_min_se &quot;Min-SE header&quot;
+ * structure #sip_min_se_t.
+ *
+ * The SIPTAG_MIN_SE() macro is used to include a tag item with a
+ * pointer to a #sip_min_se_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_min_se_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIN_SE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIN_SE(x) siptag_min_se, siptag_min_se_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_min_se;
+
+/**@ingroup sip_min_se
+ * Tag list item for reference to a
+ * @ref sip_min_se &quot;Min-SE header&quot; pointer.
+ */
+#define SIPTAG_MIN_SE_REF(x) siptag_min_se_ref, siptag_min_se_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_min_se_ref;
+
+/**@ingroup sip_min_se
+ *
+ * Tag list item for string with @ref sip_min_se &quot;Min-SE header&quot; value.
+ *
+ * The SIPTAG_MIN_SE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_min_se_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_min_se &quot;Min-SE header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_MIN_SE_STR() can be converted to a
+ * #sip_min_se_t header structure by giving the string @a s has
+ * second argument to function sip_min_se_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIN_SE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIN_SE_STR(s) siptag_min_se_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_min_se_str;
+
+/**@ingroup sip_min_se
+ * Tag list item for reference to a
+ * @ref sip_min_se &quot;Min-SE header&quot; string.
+ */
+#define SIPTAG_MIN_SE_STR_REF(x) siptag_min_se_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_min_se_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_min_se_v(sip_min_se_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_min_se_vr(sip_min_se_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_min_se_v(v)   (tag_value_t)(v)
+#define siptag_min_se_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_path
+ *
+ * Tag list item for pointer to a @ref sip_path &quot;Path header&quot;
+ * structure #sip_path_t.
+ *
+ * The SIPTAG_PATH() macro is used to include a tag item with a
+ * pointer to a #sip_path_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_path_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PATH_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PATH(x) siptag_path, siptag_path_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_path;
+
+/**@ingroup sip_path
+ * Tag list item for reference to a
+ * @ref sip_path &quot;Path header&quot; pointer.
+ */
+#define SIPTAG_PATH_REF(x) siptag_path_ref, siptag_path_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_path_ref;
+
+/**@ingroup sip_path
+ *
+ * Tag list item for string with @ref sip_path &quot;Path header&quot; value.
+ *
+ * The SIPTAG_PATH_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_path_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_path &quot;Path header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PATH_STR() can be converted to a
+ * #sip_path_t header structure by giving the string @a s has
+ * second argument to function sip_path_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PATH_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PATH_STR(s) siptag_path_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_path_str;
+
+/**@ingroup sip_path
+ * Tag list item for reference to a
+ * @ref sip_path &quot;Path header&quot; string.
+ */
+#define SIPTAG_PATH_STR_REF(x) siptag_path_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_path_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_path_v(sip_path_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_path_vr(sip_path_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_path_v(v)   (tag_value_t)(v)
+#define siptag_path_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_service_route
+ *
+ * Tag list item for pointer to a @ref sip_service_route &quot;Service-Route header&quot;
+ * structure #sip_service_route_t.
+ *
+ * The SIPTAG_SERVICE_ROUTE() macro is used to include a tag item with a
+ * pointer to a #sip_service_route_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_service_route_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SERVICE_ROUTE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SERVICE_ROUTE(x) siptag_service_route, siptag_service_route_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_service_route;
+
+/**@ingroup sip_service_route
+ * Tag list item for reference to a
+ * @ref sip_service_route &quot;Service-Route header&quot; pointer.
+ */
+#define SIPTAG_SERVICE_ROUTE_REF(x) siptag_service_route_ref, siptag_service_route_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_service_route_ref;
+
+/**@ingroup sip_service_route
+ *
+ * Tag list item for string with @ref sip_service_route &quot;Service-Route header&quot; value.
+ *
+ * The SIPTAG_SERVICE_ROUTE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_service_route_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_service_route &quot;Service-Route header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SERVICE_ROUTE_STR() can be converted to a
+ * #sip_service_route_t header structure by giving the string @a s has
+ * second argument to function sip_service_route_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SERVICE_ROUTE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SERVICE_ROUTE_STR(s) siptag_service_route_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_service_route_str;
+
+/**@ingroup sip_service_route
+ * Tag list item for reference to a
+ * @ref sip_service_route &quot;Service-Route header&quot; string.
+ */
+#define SIPTAG_SERVICE_ROUTE_STR_REF(x) siptag_service_route_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_service_route_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_service_route_v(sip_service_route_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_service_route_vr(sip_service_route_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_service_route_v(v)   (tag_value_t)(v)
+#define siptag_service_route_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_reason
+ *
+ * Tag list item for pointer to a @ref sip_reason &quot;Reason header&quot;
+ * structure #sip_reason_t.
+ *
+ * The SIPTAG_REASON() macro is used to include a tag item with a
+ * pointer to a #sip_reason_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_reason_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REASON_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REASON(x) siptag_reason, siptag_reason_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_reason;
+
+/**@ingroup sip_reason
+ * Tag list item for reference to a
+ * @ref sip_reason &quot;Reason header&quot; pointer.
+ */
+#define SIPTAG_REASON_REF(x) siptag_reason_ref, siptag_reason_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_reason_ref;
+
+/**@ingroup sip_reason
+ *
+ * Tag list item for string with @ref sip_reason &quot;Reason header&quot; value.
+ *
+ * The SIPTAG_REASON_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_reason_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_reason &quot;Reason header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_REASON_STR() can be converted to a
+ * #sip_reason_t header structure by giving the string @a s has
+ * second argument to function sip_reason_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_REASON_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_REASON_STR(s) siptag_reason_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_reason_str;
+
+/**@ingroup sip_reason
+ * Tag list item for reference to a
+ * @ref sip_reason &quot;Reason header&quot; string.
+ */
+#define SIPTAG_REASON_STR_REF(x) siptag_reason_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_reason_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_reason_v(sip_reason_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_reason_vr(sip_reason_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_reason_v(v)   (tag_value_t)(v)
+#define siptag_reason_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_security_client
+ *
+ * Tag list item for pointer to a @ref sip_security_client &quot;Security-Client header&quot;
+ * structure #sip_security_client_t.
+ *
+ * The SIPTAG_SECURITY_CLIENT() macro is used to include a tag item with a
+ * pointer to a #sip_security_client_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_security_client_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_CLIENT_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_CLIENT(x) siptag_security_client, siptag_security_client_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_client;
+
+/**@ingroup sip_security_client
+ * Tag list item for reference to a
+ * @ref sip_security_client &quot;Security-Client header&quot; pointer.
+ */
+#define SIPTAG_SECURITY_CLIENT_REF(x) siptag_security_client_ref, siptag_security_client_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_client_ref;
+
+/**@ingroup sip_security_client
+ *
+ * Tag list item for string with @ref sip_security_client &quot;Security-Client header&quot; value.
+ *
+ * The SIPTAG_SECURITY_CLIENT_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_security_client_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_security_client &quot;Security-Client header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SECURITY_CLIENT_STR() can be converted to a
+ * #sip_security_client_t header structure by giving the string @a s has
+ * second argument to function sip_security_client_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_CLIENT_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_CLIENT_STR(s) siptag_security_client_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_client_str;
+
+/**@ingroup sip_security_client
+ * Tag list item for reference to a
+ * @ref sip_security_client &quot;Security-Client header&quot; string.
+ */
+#define SIPTAG_SECURITY_CLIENT_STR_REF(x) siptag_security_client_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_client_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_security_client_v(sip_security_client_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_security_client_vr(sip_security_client_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_security_client_v(v)   (tag_value_t)(v)
+#define siptag_security_client_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_security_server
+ *
+ * Tag list item for pointer to a @ref sip_security_server &quot;Security-Server header&quot;
+ * structure #sip_security_server_t.
+ *
+ * The SIPTAG_SECURITY_SERVER() macro is used to include a tag item with a
+ * pointer to a #sip_security_server_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_security_server_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_SERVER_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_SERVER(x) siptag_security_server, siptag_security_server_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_server;
+
+/**@ingroup sip_security_server
+ * Tag list item for reference to a
+ * @ref sip_security_server &quot;Security-Server header&quot; pointer.
+ */
+#define SIPTAG_SECURITY_SERVER_REF(x) siptag_security_server_ref, siptag_security_server_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_server_ref;
+
+/**@ingroup sip_security_server
+ *
+ * Tag list item for string with @ref sip_security_server &quot;Security-Server header&quot; value.
+ *
+ * The SIPTAG_SECURITY_SERVER_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_security_server_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_security_server &quot;Security-Server header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SECURITY_SERVER_STR() can be converted to a
+ * #sip_security_server_t header structure by giving the string @a s has
+ * second argument to function sip_security_server_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_SERVER_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_SERVER_STR(s) siptag_security_server_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_server_str;
+
+/**@ingroup sip_security_server
+ * Tag list item for reference to a
+ * @ref sip_security_server &quot;Security-Server header&quot; string.
+ */
+#define SIPTAG_SECURITY_SERVER_STR_REF(x) siptag_security_server_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_server_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_security_server_v(sip_security_server_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_security_server_vr(sip_security_server_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_security_server_v(v)   (tag_value_t)(v)
+#define siptag_security_server_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_security_verify
+ *
+ * Tag list item for pointer to a @ref sip_security_verify &quot;Security-Verify header&quot;
+ * structure #sip_security_verify_t.
+ *
+ * The SIPTAG_SECURITY_VERIFY() macro is used to include a tag item with a
+ * pointer to a #sip_security_verify_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_security_verify_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_VERIFY_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_VERIFY(x) siptag_security_verify, siptag_security_verify_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_verify;
+
+/**@ingroup sip_security_verify
+ * Tag list item for reference to a
+ * @ref sip_security_verify &quot;Security-Verify header&quot; pointer.
+ */
+#define SIPTAG_SECURITY_VERIFY_REF(x) siptag_security_verify_ref, siptag_security_verify_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_verify_ref;
+
+/**@ingroup sip_security_verify
+ *
+ * Tag list item for string with @ref sip_security_verify &quot;Security-Verify header&quot; value.
+ *
+ * The SIPTAG_SECURITY_VERIFY_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_security_verify_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_security_verify &quot;Security-Verify header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SECURITY_VERIFY_STR() can be converted to a
+ * #sip_security_verify_t header structure by giving the string @a s has
+ * second argument to function sip_security_verify_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SECURITY_VERIFY_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SECURITY_VERIFY_STR(s) siptag_security_verify_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_security_verify_str;
+
+/**@ingroup sip_security_verify
+ * Tag list item for reference to a
+ * @ref sip_security_verify &quot;Security-Verify header&quot; string.
+ */
+#define SIPTAG_SECURITY_VERIFY_STR_REF(x) siptag_security_verify_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_security_verify_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_security_verify_v(sip_security_verify_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_security_verify_vr(sip_security_verify_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_security_verify_v(v)   (tag_value_t)(v)
+#define siptag_security_verify_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_privacy
+ *
+ * Tag list item for pointer to a @ref sip_privacy &quot;Privacy header&quot;
+ * structure #sip_privacy_t.
+ *
+ * The SIPTAG_PRIVACY() macro is used to include a tag item with a
+ * pointer to a #sip_privacy_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_privacy_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PRIVACY_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PRIVACY(x) siptag_privacy, siptag_privacy_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_privacy;
+
+/**@ingroup sip_privacy
+ * Tag list item for reference to a
+ * @ref sip_privacy &quot;Privacy header&quot; pointer.
+ */
+#define SIPTAG_PRIVACY_REF(x) siptag_privacy_ref, siptag_privacy_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_privacy_ref;
+
+/**@ingroup sip_privacy
+ *
+ * Tag list item for string with @ref sip_privacy &quot;Privacy header&quot; value.
+ *
+ * The SIPTAG_PRIVACY_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_privacy_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_privacy &quot;Privacy header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PRIVACY_STR() can be converted to a
+ * #sip_privacy_t header structure by giving the string @a s has
+ * second argument to function sip_privacy_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PRIVACY_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PRIVACY_STR(s) siptag_privacy_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_privacy_str;
+
+/**@ingroup sip_privacy
+ * Tag list item for reference to a
+ * @ref sip_privacy &quot;Privacy header&quot; string.
+ */
+#define SIPTAG_PRIVACY_STR_REF(x) siptag_privacy_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_privacy_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_privacy_v(sip_privacy_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_privacy_vr(sip_privacy_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_privacy_v(v)   (tag_value_t)(v)
+#define siptag_privacy_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_etag
+ *
+ * Tag list item for pointer to a @ref sip_etag &quot;SIP-ETag header&quot;
+ * structure #sip_etag_t.
+ *
+ * The SIPTAG_ETAG() macro is used to include a tag item with a
+ * pointer to a #sip_etag_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_etag_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ETAG_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ETAG(x) siptag_etag, siptag_etag_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_etag;
+
+/**@ingroup sip_etag
+ * Tag list item for reference to a
+ * @ref sip_etag &quot;SIP-ETag header&quot; pointer.
+ */
+#define SIPTAG_ETAG_REF(x) siptag_etag_ref, siptag_etag_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_etag_ref;
+
+/**@ingroup sip_etag
+ *
+ * Tag list item for string with @ref sip_etag &quot;SIP-ETag header&quot; value.
+ *
+ * The SIPTAG_ETAG_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_etag_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_etag &quot;SIP-ETag header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ETAG_STR() can be converted to a
+ * #sip_etag_t header structure by giving the string @a s has
+ * second argument to function sip_etag_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ETAG_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ETAG_STR(s) siptag_etag_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_etag_str;
+
+/**@ingroup sip_etag
+ * Tag list item for reference to a
+ * @ref sip_etag &quot;SIP-ETag header&quot; string.
+ */
+#define SIPTAG_ETAG_STR_REF(x) siptag_etag_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_etag_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_etag_v(sip_etag_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_etag_vr(sip_etag_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_etag_v(v)   (tag_value_t)(v)
+#define siptag_etag_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_if_match
+ *
+ * Tag list item for pointer to a @ref sip_if_match &quot;SIP-If-Match header&quot;
+ * structure #sip_if_match_t.
+ *
+ * The SIPTAG_IF_MATCH() macro is used to include a tag item with a
+ * pointer to a #sip_if_match_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_if_match_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_IF_MATCH_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_IF_MATCH(x) siptag_if_match, siptag_if_match_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_if_match;
+
+/**@ingroup sip_if_match
+ * Tag list item for reference to a
+ * @ref sip_if_match &quot;SIP-If-Match header&quot; pointer.
+ */
+#define SIPTAG_IF_MATCH_REF(x) siptag_if_match_ref, siptag_if_match_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_if_match_ref;
+
+/**@ingroup sip_if_match
+ *
+ * Tag list item for string with @ref sip_if_match &quot;SIP-If-Match header&quot; value.
+ *
+ * The SIPTAG_IF_MATCH_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_if_match_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_if_match &quot;SIP-If-Match header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_IF_MATCH_STR() can be converted to a
+ * #sip_if_match_t header structure by giving the string @a s has
+ * second argument to function sip_if_match_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_IF_MATCH_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_IF_MATCH_STR(s) siptag_if_match_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_if_match_str;
+
+/**@ingroup sip_if_match
+ * Tag list item for reference to a
+ * @ref sip_if_match &quot;SIP-If-Match header&quot; string.
+ */
+#define SIPTAG_IF_MATCH_STR_REF(x) siptag_if_match_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_if_match_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_if_match_v(sip_if_match_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_if_match_vr(sip_if_match_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_if_match_v(v)   (tag_value_t)(v)
+#define siptag_if_match_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_mime_version
+ *
+ * Tag list item for pointer to a @ref sip_mime_version &quot;MIME-Version header&quot;
+ * structure #sip_mime_version_t.
+ *
+ * The SIPTAG_MIME_VERSION() macro is used to include a tag item with a
+ * pointer to a #sip_mime_version_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_mime_version_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIME_VERSION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIME_VERSION(x) siptag_mime_version, siptag_mime_version_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_mime_version;
+
+/**@ingroup sip_mime_version
+ * Tag list item for reference to a
+ * @ref sip_mime_version &quot;MIME-Version header&quot; pointer.
+ */
+#define SIPTAG_MIME_VERSION_REF(x) siptag_mime_version_ref, siptag_mime_version_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_mime_version_ref;
+
+/**@ingroup sip_mime_version
+ *
+ * Tag list item for string with @ref sip_mime_version &quot;MIME-Version header&quot; value.
+ *
+ * The SIPTAG_MIME_VERSION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_mime_version_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_mime_version &quot;MIME-Version header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_MIME_VERSION_STR() can be converted to a
+ * #sip_mime_version_t header structure by giving the string @a s has
+ * second argument to function sip_mime_version_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_MIME_VERSION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_MIME_VERSION_STR(s) siptag_mime_version_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_mime_version_str;
+
+/**@ingroup sip_mime_version
+ * Tag list item for reference to a
+ * @ref sip_mime_version &quot;MIME-Version header&quot; string.
+ */
+#define SIPTAG_MIME_VERSION_STR_REF(x) siptag_mime_version_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_mime_version_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_mime_version_v(sip_mime_version_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_mime_version_vr(sip_mime_version_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_mime_version_v(v)   (tag_value_t)(v)
+#define siptag_mime_version_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_content_type
+ *
+ * Tag list item for pointer to a @ref sip_content_type &quot;Content-Type header&quot;
+ * structure #sip_content_type_t.
+ *
+ * The SIPTAG_CONTENT_TYPE() macro is used to include a tag item with a
+ * pointer to a #sip_content_type_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_content_type_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_TYPE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_TYPE(x) siptag_content_type, siptag_content_type_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_type;
+
+/**@ingroup sip_content_type
+ * Tag list item for reference to a
+ * @ref sip_content_type &quot;Content-Type header&quot; pointer.
+ */
+#define SIPTAG_CONTENT_TYPE_REF(x) siptag_content_type_ref, siptag_content_type_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_type_ref;
+
+/**@ingroup sip_content_type
+ *
+ * Tag list item for string with @ref sip_content_type &quot;Content-Type header&quot; value.
+ *
+ * The SIPTAG_CONTENT_TYPE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_content_type_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_content_type &quot;Content-Type header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTENT_TYPE_STR() can be converted to a
+ * #sip_content_type_t header structure by giving the string @a s has
+ * second argument to function sip_content_type_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_TYPE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_TYPE_STR(s) siptag_content_type_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_type_str;
+
+/**@ingroup sip_content_type
+ * Tag list item for reference to a
+ * @ref sip_content_type &quot;Content-Type header&quot; string.
+ */
+#define SIPTAG_CONTENT_TYPE_STR_REF(x) siptag_content_type_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_type_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_content_type_v(sip_content_type_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_content_type_vr(sip_content_type_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_content_type_v(v)   (tag_value_t)(v)
+#define siptag_content_type_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_content_encoding
+ *
+ * Tag list item for pointer to a @ref sip_content_encoding &quot;Content-Encoding header&quot;
+ * structure #sip_content_encoding_t.
+ *
+ * The SIPTAG_CONTENT_ENCODING() macro is used to include a tag item with a
+ * pointer to a #sip_content_encoding_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_content_encoding_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_ENCODING_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_ENCODING(x) siptag_content_encoding, siptag_content_encoding_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_encoding;
+
+/**@ingroup sip_content_encoding
+ * Tag list item for reference to a
+ * @ref sip_content_encoding &quot;Content-Encoding header&quot; pointer.
+ */
+#define SIPTAG_CONTENT_ENCODING_REF(x) siptag_content_encoding_ref, siptag_content_encoding_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_encoding_ref;
+
+/**@ingroup sip_content_encoding
+ *
+ * Tag list item for string with @ref sip_content_encoding &quot;Content-Encoding header&quot; value.
+ *
+ * The SIPTAG_CONTENT_ENCODING_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_content_encoding_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_content_encoding &quot;Content-Encoding header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTENT_ENCODING_STR() can be converted to a
+ * #sip_content_encoding_t header structure by giving the string @a s has
+ * second argument to function sip_content_encoding_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_ENCODING_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_ENCODING_STR(s) siptag_content_encoding_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_encoding_str;
+
+/**@ingroup sip_content_encoding
+ * Tag list item for reference to a
+ * @ref sip_content_encoding &quot;Content-Encoding header&quot; string.
+ */
+#define SIPTAG_CONTENT_ENCODING_STR_REF(x) siptag_content_encoding_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_encoding_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_content_encoding_v(sip_content_encoding_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_content_encoding_vr(sip_content_encoding_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_content_encoding_v(v)   (tag_value_t)(v)
+#define siptag_content_encoding_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_content_language
+ *
+ * Tag list item for pointer to a @ref sip_content_language &quot;Content-Language header&quot;
+ * structure #sip_content_language_t.
+ *
+ * The SIPTAG_CONTENT_LANGUAGE() macro is used to include a tag item with a
+ * pointer to a #sip_content_language_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_content_language_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_LANGUAGE_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_LANGUAGE(x) siptag_content_language, siptag_content_language_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_language;
+
+/**@ingroup sip_content_language
+ * Tag list item for reference to a
+ * @ref sip_content_language &quot;Content-Language header&quot; pointer.
+ */
+#define SIPTAG_CONTENT_LANGUAGE_REF(x) siptag_content_language_ref, siptag_content_language_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_language_ref;
+
+/**@ingroup sip_content_language
+ *
+ * Tag list item for string with @ref sip_content_language &quot;Content-Language header&quot; value.
+ *
+ * The SIPTAG_CONTENT_LANGUAGE_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_content_language_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_content_language &quot;Content-Language header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTENT_LANGUAGE_STR() can be converted to a
+ * #sip_content_language_t header structure by giving the string @a s has
+ * second argument to function sip_content_language_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_LANGUAGE_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_LANGUAGE_STR(s) siptag_content_language_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_language_str;
+
+/**@ingroup sip_content_language
+ * Tag list item for reference to a
+ * @ref sip_content_language &quot;Content-Language header&quot; string.
+ */
+#define SIPTAG_CONTENT_LANGUAGE_STR_REF(x) siptag_content_language_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_language_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_content_language_v(sip_content_language_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_content_language_vr(sip_content_language_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_content_language_v(v)   (tag_value_t)(v)
+#define siptag_content_language_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_content_disposition
+ *
+ * Tag list item for pointer to a @ref sip_content_disposition &quot;Content-Disposition header&quot;
+ * structure #sip_content_disposition_t.
+ *
+ * The SIPTAG_CONTENT_DISPOSITION() macro is used to include a tag item with a
+ * pointer to a #sip_content_disposition_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_content_disposition_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_DISPOSITION_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_DISPOSITION(x) siptag_content_disposition, siptag_content_disposition_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_disposition;
+
+/**@ingroup sip_content_disposition
+ * Tag list item for reference to a
+ * @ref sip_content_disposition &quot;Content-Disposition header&quot; pointer.
+ */
+#define SIPTAG_CONTENT_DISPOSITION_REF(x) siptag_content_disposition_ref, siptag_content_disposition_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_disposition_ref;
+
+/**@ingroup sip_content_disposition
+ *
+ * Tag list item for string with @ref sip_content_disposition &quot;Content-Disposition header&quot; value.
+ *
+ * The SIPTAG_CONTENT_DISPOSITION_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_content_disposition_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_content_disposition &quot;Content-Disposition header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTENT_DISPOSITION_STR() can be converted to a
+ * #sip_content_disposition_t header structure by giving the string @a s has
+ * second argument to function sip_content_disposition_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_DISPOSITION_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_DISPOSITION_STR(s) siptag_content_disposition_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_disposition_str;
+
+/**@ingroup sip_content_disposition
+ * Tag list item for reference to a
+ * @ref sip_content_disposition &quot;Content-Disposition header&quot; string.
+ */
+#define SIPTAG_CONTENT_DISPOSITION_STR_REF(x) siptag_content_disposition_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_disposition_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_content_disposition_v(sip_content_disposition_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_content_disposition_vr(sip_content_disposition_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_content_disposition_v(v)   (tag_value_t)(v)
+#define siptag_content_disposition_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_content_length
+ *
+ * Tag list item for pointer to a @ref sip_content_length &quot;Content-Length header&quot;
+ * structure #sip_content_length_t.
+ *
+ * The SIPTAG_CONTENT_LENGTH() macro is used to include a tag item with a
+ * pointer to a #sip_content_length_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_content_length_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_LENGTH_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_LENGTH(x) siptag_content_length, siptag_content_length_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_length;
+
+/**@ingroup sip_content_length
+ * Tag list item for reference to a
+ * @ref sip_content_length &quot;Content-Length header&quot; pointer.
+ */
+#define SIPTAG_CONTENT_LENGTH_REF(x) siptag_content_length_ref, siptag_content_length_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_length_ref;
+
+/**@ingroup sip_content_length
+ *
+ * Tag list item for string with @ref sip_content_length &quot;Content-Length header&quot; value.
+ *
+ * The SIPTAG_CONTENT_LENGTH_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_content_length_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_content_length &quot;Content-Length header&quot; value, or NULL.
+ *
+ * The string in SIPTAG_CONTENT_LENGTH_STR() can be converted to a
+ * #sip_content_length_t header structure by giving the string @a s has
+ * second argument to function sip_content_length_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_CONTENT_LENGTH_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_CONTENT_LENGTH_STR(s) siptag_content_length_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_content_length_str;
+
+/**@ingroup sip_content_length
+ * Tag list item for reference to a
+ * @ref sip_content_length &quot;Content-Length header&quot; string.
+ */
+#define SIPTAG_CONTENT_LENGTH_STR_REF(x) siptag_content_length_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_content_length_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_content_length_v(sip_content_length_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_content_length_vr(sip_content_length_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_content_length_v(v)   (tag_value_t)(v)
+#define siptag_content_length_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_unknown
+ *
+ * Tag list item for pointer to a @ref sip_unknown &quot;unknown headers&quot;
+ * structure #sip_unknown_t.
+ *
+ * The SIPTAG_UNKNOWN() macro is used to include a tag item with a
+ * pointer to a #sip_unknown_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_unknown_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_UNKNOWN_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_UNKNOWN(x) siptag_unknown, siptag_unknown_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_unknown;
+
+/**@ingroup sip_unknown
+ * Tag list item for reference to a
+ * @ref sip_unknown &quot;unknown headers&quot; pointer.
+ */
+#define SIPTAG_UNKNOWN_REF(x) siptag_unknown_ref, siptag_unknown_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_unknown_ref;
+
+/**@ingroup sip_unknown
+ *
+ * Tag list item for string with @ref sip_unknown &quot;unknown headers&quot; value.
+ *
+ * The SIPTAG_UNKNOWN_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_unknown_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_unknown &quot;unknown headers&quot; value, or NULL.
+ *
+ * The string in SIPTAG_UNKNOWN_STR() can be converted to a
+ * #sip_unknown_t header structure by giving the string @a s has
+ * second argument to function sip_unknown_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_UNKNOWN_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_UNKNOWN_STR(s) siptag_unknown_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_unknown_str;
+
+/**@ingroup sip_unknown
+ * Tag list item for reference to a
+ * @ref sip_unknown &quot;unknown headers&quot; string.
+ */
+#define SIPTAG_UNKNOWN_STR_REF(x) siptag_unknown_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_unknown_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_unknown_v(sip_unknown_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_unknown_vr(sip_unknown_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_unknown_v(v)   (tag_value_t)(v)
+#define siptag_unknown_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_error
+ *
+ * Tag list item for pointer to a @ref sip_error &quot;erroneous headers&quot;
+ * structure #sip_error_t.
+ *
+ * The SIPTAG_ERROR() macro is used to include a tag item with a
+ * pointer to a #sip_error_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_error_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ERROR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ERROR(x) siptag_error, siptag_error_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_error;
+
+/**@ingroup sip_error
+ * Tag list item for reference to a
+ * @ref sip_error &quot;erroneous headers&quot; pointer.
+ */
+#define SIPTAG_ERROR_REF(x) siptag_error_ref, siptag_error_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_error_ref;
+
+/**@ingroup sip_error
+ *
+ * Tag list item for string with @ref sip_error &quot;erroneous headers&quot; value.
+ *
+ * The SIPTAG_ERROR_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_error_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_error &quot;erroneous headers&quot; value, or NULL.
+ *
+ * The string in SIPTAG_ERROR_STR() can be converted to a
+ * #sip_error_t header structure by giving the string @a s has
+ * second argument to function sip_error_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_ERROR_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_ERROR_STR(s) siptag_error_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_error_str;
+
+/**@ingroup sip_error
+ * Tag list item for reference to a
+ * @ref sip_error &quot;erroneous headers&quot; string.
+ */
+#define SIPTAG_ERROR_STR_REF(x) siptag_error_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_error_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_error_v(sip_error_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_error_vr(sip_error_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_error_v(v)   (tag_value_t)(v)
+#define siptag_error_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_separator
+ *
+ * Tag list item for pointer to a @ref sip_separator &quot;separator line between headers and body&quot;
+ * structure #sip_separator_t.
+ *
+ * The SIPTAG_SEPARATOR() macro is used to include a tag item with a
+ * pointer to a #sip_separator_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_separator_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SEPARATOR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SEPARATOR(x) siptag_separator, siptag_separator_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_separator;
+
+/**@ingroup sip_separator
+ * Tag list item for reference to a
+ * @ref sip_separator &quot;separator line between headers and body&quot; pointer.
+ */
+#define SIPTAG_SEPARATOR_REF(x) siptag_separator_ref, siptag_separator_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_separator_ref;
+
+/**@ingroup sip_separator
+ *
+ * Tag list item for string with @ref sip_separator &quot;separator line between headers and body&quot; value.
+ *
+ * The SIPTAG_SEPARATOR_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_separator_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_separator &quot;separator line between headers and body&quot; value, or NULL.
+ *
+ * The string in SIPTAG_SEPARATOR_STR() can be converted to a
+ * #sip_separator_t header structure by giving the string @a s has
+ * second argument to function sip_separator_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_SEPARATOR_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_SEPARATOR_STR(s) siptag_separator_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_separator_str;
+
+/**@ingroup sip_separator
+ * Tag list item for reference to a
+ * @ref sip_separator &quot;separator line between headers and body&quot; string.
+ */
+#define SIPTAG_SEPARATOR_STR_REF(x) siptag_separator_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_separator_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_separator_v(sip_separator_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_separator_vr(sip_separator_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_separator_v(v)   (tag_value_t)(v)
+#define siptag_separator_vr(vp) (tag_value_t)(vp)
+#endif
+
+/**@ingroup sip_payload
+ *
+ * Tag list item for pointer to a @ref sip_payload &quot;message payload&quot;
+ * structure #sip_payload_t.
+ *
+ * The SIPTAG_PAYLOAD() macro is used to include a tag item with a
+ * pointer to a #sip_payload_t structure in a tag list.
+ *
+ * @param x pointer to a #sip_payload_t structure, or NULL.
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PAYLOAD_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PAYLOAD(x) siptag_payload, siptag_payload_v(x)
+
+SOFIAPUBVAR tag_typedef_t siptag_payload;
+
+/**@ingroup sip_payload
+ * Tag list item for reference to a
+ * @ref sip_payload &quot;message payload&quot; pointer.
+ */
+#define SIPTAG_PAYLOAD_REF(x) siptag_payload_ref, siptag_payload_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_payload_ref;
+
+/**@ingroup sip_payload
+ *
+ * Tag list item for string with @ref sip_payload &quot;message payload&quot; value.
+ *
+ * The SIPTAG_PAYLOAD_STR() macro is used to include a tag item with a
+ * string containing value of a #sip_payload_t header in a tag list.
+ *
+ * @param s pointer to a string containing
+ *    @ref sip_payload &quot;message payload&quot; value, or NULL.
+ *
+ * The string in SIPTAG_PAYLOAD_STR() can be converted to a
+ * #sip_payload_t header structure by giving the string @a s has
+ * second argument to function sip_payload_make().
+ *
+ * The corresponding tag taking reference parameter is
+ * SIPTAG_PAYLOAD_STR_REF().
+ *
+ *
+ * @HIDE
+ */
+#define SIPTAG_PAYLOAD_STR(s) siptag_payload_str, tag_str_v(s)
+
+SOFIAPUBVAR tag_typedef_t siptag_payload_str;
+
+/**@ingroup sip_payload
+ * Tag list item for reference to a
+ * @ref sip_payload &quot;message payload&quot; string.
+ */
+#define SIPTAG_PAYLOAD_STR_REF(x) siptag_payload_str_ref, tag_str_vr(&amp;(x))
+SOFIAPUBVAR tag_typedef_t siptag_payload_str_ref;
+
+#if SU_INLINE_TAG_CAST
+su_inline tag_value_t
+siptag_payload_v(sip_payload_t const *v)
+{ return (tag_value_t)v; }
+su_inline tag_value_t
+siptag_payload_vr(sip_payload_t const **vp)
+{ return (tag_value_t)vp; }
+#else
+#define siptag_payload_v(v)   (tag_value_t)(v)
+#define siptag_payload_vr(vp) (tag_value_t)(vp)
+#endif
+
+SOFIA_END_DECLS
+#endif
</ins></span></pre>
</div>
</div>
<div id="footer">See you at ClueCon</div>

</body>
</html>