via_body.xml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
  4. <section id="via_body" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <sectioninfo>
  6. <revhistory>
  7. <revision>
  8. <revnumber>$Revision$</revnumber>
  9. <date>$Date$</date>
  10. </revision>
  11. </revhistory>
  12. </sectioninfo>
  13. <title>Structure <structname>via_body</structname></title>
  14. <para>
  15. The structure represents parsed Via header field. See file
  16. <filename>parse_via.h</filename> under <filename>parser</filename>
  17. subdirectory for more details.
  18. </para>
  19. <programlisting>
  20. struct via_body {
  21. int error;
  22. str hdr; /* Contains "Via" or "v" */
  23. str name;
  24. str version;
  25. str transport;
  26. str host;
  27. int port;
  28. str port_str;
  29. str params;
  30. str comment;
  31. int bsize; /* body size, not including hdr */
  32. struct via_param* param_lst; /* list of parameters*/
  33. struct via_param* last_param; /*last via parameter, internal use*/
  34. /* shortcuts to "important" params*/
  35. struct via_param* branch;
  36. struct via_param* received;
  37. struct via_body* next; /* pointer to next via body string if
  38. compact via or null */
  39. };
  40. </programlisting>
  41. <para>
  42. <emphasis>Field Description:</emphasis>
  43. <itemizedlist>
  44. <listitem>
  45. <para>
  46. <structfield>error</structfield> - The field contains error
  47. code when the parser was unable to parse the header field.
  48. </para>
  49. </listitem>
  50. <listitem>
  51. <para>
  52. <structfield>hdr</structfield>- Header field name, it can
  53. be "Via" or "v" in this case.
  54. </para>
  55. </listitem>
  56. <listitem>
  57. <para>
  58. <structfield>name</structfield> - Protocol name ("SIP" in
  59. this case).
  60. </para>
  61. </listitem>
  62. <listitem>
  63. <para>
  64. <structfield>version</structfield> - Protocol version (for
  65. example "2.0").
  66. </para>
  67. </listitem>
  68. <listitem>
  69. <para>
  70. <structfield>transport</structfield> - Transport protocol
  71. name ("TCP", "UDP" and so on).
  72. </para>
  73. </listitem>
  74. <listitem>
  75. <para>
  76. <structfield>host</structfield> - Hostname or IP address
  77. contained in the Via header field.
  78. </para>
  79. </listitem>
  80. <listitem>
  81. <para>
  82. <structfield>port</structfield> - Port number as integer.
  83. </para>
  84. </listitem>
  85. <listitem>
  86. <para>
  87. <structfield>port_str</structfield> - Port number as string.
  88. </para>
  89. </listitem>
  90. <listitem>
  91. <para>
  92. <structfield>params</structfield> - Unparsed parameters (as
  93. one string containing all the parameters).
  94. </para>
  95. </listitem>
  96. <listitem>
  97. <para>
  98. <structfield>comment</structfield> - Comment.
  99. </para>
  100. </listitem>
  101. <listitem>
  102. <para>
  103. <structfield>bsize</structfield> - Size of the body (not including hdr).
  104. </para>
  105. </listitem>
  106. <listitem>
  107. <para>
  108. <structfield>param_lst</structfield> - Linked list of all parameters.
  109. </para>
  110. </listitem>
  111. <listitem>
  112. <para>
  113. <structfield>last_param</structfield> - Last parameter in the list.
  114. </para>
  115. </listitem>
  116. <listitem>
  117. <para>
  118. <structfield>branch</structfield> - Branch parameter.
  119. </para>
  120. </listitem>
  121. <listitem>
  122. <para>
  123. <structfield>received</structfield> - Received parameter.
  124. </para>
  125. </listitem>
  126. <listitem>
  127. <para>
  128. <structfield>next</structfield> - If the Via is in compact
  129. form (more Vias in the same header field), this field
  130. contains pointer to the next Via.
  131. </para>
  132. </listitem>
  133. </itemizedlist>
  134. </para>
  135. </section>