qos_admin.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?xml version="1.0" encoding='ISO-8859-1'?>
  2. <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  4. <!-- Include general documentation entities -->
  5. <!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
  6. %docentities;
  7. ]>
  8. <!-- Module User's Guide -->
  9. <chapter>
  10. <title>&adminguide;</title>
  11. <section id="qos.overview">
  12. <title>Overview</title>
  13. <para>The qos module provides a way to keep track of
  14. per dialog SDP session(s).</para>
  15. </section>
  16. <section>
  17. <title>How it works</title>
  18. <para>
  19. The <emphasis>qos</emphasis> module uses the
  20. <emphasis>dialog</emphasis> module to be notified of any new or
  21. updated dialogs. It will then look for and extract
  22. the <acronym>SDP</acronym> session (if present) from SIP requests
  23. and replies and keep track of it for the entire life of a dialog.
  24. </para>
  25. <para>
  26. All of this happens with a properly configured dialog
  27. and qos module and setting the dialog flag and the qos flag at
  28. the time any INVITE SIP message is seen. There is no
  29. config script function call required to set the SDP session
  30. tracking mechanism. See the dialog module users guide for
  31. more information.
  32. </para>
  33. <para>
  34. A dialog can have one or more SDP sessions active in one
  35. of the following states:
  36. <itemizedlist>
  37. <listitem>
  38. <para><emphasis>pending</emphasis> - only one endpoint of the
  39. SDP session is known.
  40. </para>
  41. </listitem>
  42. <listitem>
  43. <para><emphasis>negotiated</emphasis> - both endpoints of the
  44. SDP session are known.
  45. </para>
  46. </listitem>
  47. </itemizedlist>
  48. </para>
  49. <para>
  50. An SDP session can be established in one of the following scenarios:
  51. <itemizedlist>
  52. <listitem>
  53. <para><emphasis>INVITE/200ok</emphasis> - typical "INVITE" and
  54. "200 OK" SDP exchange.
  55. </para>
  56. </listitem>
  57. <listitem>
  58. <para>
  59. <emphasis>200ok/ACK</emphasis> - "200 OK" and "ACK" SDP
  60. exchange (for calls starting with an empty INVITE).
  61. </para>
  62. </listitem>
  63. <listitem>
  64. <para>
  65. <emphasis>183/PRACK</emphasis> - early media via "183
  66. Session Progress" and "PRACK" (see RFC 3959 for more information)
  67. <emphasis>- not implemented yet</emphasis>.
  68. </para>
  69. </listitem>
  70. </itemizedlist>
  71. </para>
  72. </section>
  73. <section>
  74. <title>Dependencies</title>
  75. <section>
  76. <title>&kamailio; Modules</title>
  77. <para>The following modules must be loaded
  78. before this module:
  79. <itemizedlist>
  80. <listitem>
  81. <para>
  82. <emphasis>dialog</emphasis> - dialog module and
  83. its dependencies (tm).
  84. </para>
  85. </listitem>
  86. </itemizedlist>
  87. </para>
  88. </section>
  89. <section>
  90. <title>External Libraries or Applications</title>
  91. <para>
  92. The following libraries or applications must be installed before
  93. running &kamailio; with this module loaded:
  94. <itemizedlist>
  95. <listitem>
  96. <para>
  97. <emphasis>None</emphasis>.
  98. </para>
  99. </listitem>
  100. </itemizedlist>
  101. </para>
  102. </section>
  103. </section>
  104. <section>
  105. <title>Parameters</title>
  106. <section id="qos.p.qos_flag">
  107. <title><varname>qos_flag</varname> (integer)</title>
  108. <para>The module will not do anything to any message unless
  109. instructed to do so via the config script. You must set the
  110. <varname>qos_flag</varname> value in the <function>setflag()</function>
  111. call of the INVITE you want the qos module to process. But
  112. before you can do that, you need to tell the qos module which
  113. flag value you are assigning to qos.</para>
  114. <para>In most cases when ever you set the dialog flag
  115. you will want to set the qos flag. If the dialog flag
  116. is not set and the qos flag is set, it will not have
  117. any effect.</para>
  118. <para><emphasis>This parameter must be set or the module will
  119. not load.</emphasis></para>
  120. <para>
  121. <emphasis>
  122. Default value is <quote>Not set!</quote>.
  123. </emphasis>
  124. </para>
  125. <example>
  126. <title>Set <varname>qos_flag</varname> parameter</title>
  127. <programlisting format="linespecific">
  128. ...
  129. modparam("dialog", "dlg_flag", 5)
  130. modparam("qos", "qos_flag", 7)
  131. ...
  132. route {
  133. ...
  134. if (method=="INVITE") {
  135. setflag(5); # set the dialog flag
  136. setflag(7); # Set the qos flag
  137. }
  138. ...
  139. }
  140. </programlisting>
  141. </example>
  142. </section>
  143. </section>
  144. <section>
  145. <title>Functions</title>
  146. <para>There are no exported functions that could be used in scripts.
  147. </para>
  148. </section>
  149. <section>
  150. <title>Statistics</title>
  151. <para>There are no exported statistics for the qos module.</para>
  152. </section>
  153. <section>
  154. <title>MI Commands</title>
  155. <para>There are no exported MI functions for the qos module.
  156. Check the dialog MI functions for a way to inspect the internals
  157. of a dialog.
  158. </para>
  159. </section>
  160. <section>
  161. <title>Exported pseudo-variables</title>
  162. <para>There are no exported pseudo-variables for the qos module.
  163. </para>
  164. </section>
  165. <section>
  166. <title>Installation and Running</title>
  167. <para>Just load the module and remember to set the flag.
  168. </para>
  169. </section>
  170. </chapter>