intro.xml 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. <!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED">
  5. ]>
  6. <section><title>Introduction</title>
  7. <para>This document describes usage of SIP Router as a presence server.
  8. <!-- TODO: What is presence, ... (use doc from PIC-SE wiki?) -->
  9. </para>
  10. <section><title>Main features</title>
  11. <para><itemizedlist>
  12. <listitem><para>presence events with XCAP authorization and watcher info
  13. support</para></listitem>
  14. <listitem><para>resource list server (only for presence now)</para></listitem>
  15. <listitem><para>B2BUA for presence events (no resource list support now)</para></listitem>
  16. <listitem><para>MESSAGE authorization (via XCAP)</para></listitem>
  17. </itemizedlist>
  18. </para>
  19. </section>
  20. <section><title>SIP-router presence basics</title>
  21. <para>Presence is one of quite important components of SIP-router. It allows users to
  22. watch presence state of other users, process lists of them and manipulate one's
  23. own presence state.</para>
  24. <para>Configuration data can be stored on a XCAP server <xref
  25. linkend="pres_rfc_xcap"/> by user's client software and processed by SIP-router. This
  26. may be useful for lists of watched users (resource lists) and for authorization
  27. rules.</para>
  28. <para>There is a few of modules which serve as parts of "presence":
  29. <itemizedlist>
  30. <listitem><para><link linkend="pa">PA</link> acts as a presence
  31. server. Its main function is processing of subscriptions to presence
  32. state of standalone users and processing presence state publications for
  33. them.</para></listitem>
  34. <listitem><para><link linkend="pres_rls">RLS</link> - Resource list server - this
  35. module processes subscriptions to lists of resources. It gets presence
  36. information for standalone users from internal queries to PA module or
  37. remote presence server queries and build them
  38. together into list notifications.</para></listitem>
  39. <listitem><para><link linkend="presence_b2b">PRESENCE_B2B</link> can be used
  40. to subscribe to presence state on remote server. It can be used by RLS for
  41. remote presence server queries.</para></listitem>
  42. <listitem><para><link linkend="xcap_module">XCAP</link> offers internal functions
  43. for querying XCAP server. <!-- TODO caching responses and monitoring changes
  44. in documents stored on XCAP server. --></para></listitem>
  45. <listitem><para><emphasis>DIALOG</emphasis> module is a helper module used
  46. by other presence modules for some
  47. dialog operations. It was intended to contain dialog management functions
  48. but it was not finished.</para></listitem>
  49. <!-- <listitem><para><emphasis>RPA </emphasis>Reg events server. Will be used by
  50. PA instead of direct callbacks into usrloc. Will be added
  51. soon.</para></listitem>-->
  52. </itemizedlist>
  53. </para>
  54. <para>All <quote>presence</quote> modules share common code stored in SIP-router
  55. libraries. Their interface is described in standalone documents.
  56. </para>
  57. <section><title>Persistence</title>
  58. <para>Modules can store their status (working data) into database. This data is
  59. automatically reloaded on startup, so it is possible to restart SIP-router and
  60. clients don't note it. Established SIP dialogs are stored in database too.</para>
  61. <para>Details about database storage are described for each module separately in
  62. module documentation.
  63. <!-- TODO: db modes (cache mode) -->
  64. </para>
  65. </section>
  66. <section><title>Authorization</title>
  67. <para>Authorization is very important in presence services. The server
  68. must take care about authorization rules defined by user about whom and
  69. whom not allow access to user's presence status. More about authorization
  70. rules may be found in <xref linkend="pres_draft_common_auth"/> and
  71. <xref linkend="pres_draft_auth"/>.</para>
  72. <!-- TODO: types of authorization common for all presence modules -->
  73. <para>Only XCAP storage of authorization rules is supported at this moment. It is
  74. <emphasis>not fully implemented</emphasis> now - only basic rule conditions, no sphere
  75. and time conditions. Transformations defined in <xref linkend="pres_draft_auth"/> are
  76. ignored. Maybe, that in the
  77. future it will be possible to use other variants like webdav or storing
  78. authorization rules in SIP-router's own database.</para>
  79. <!-- TODO: XCAP module and authorization ? at least link into XCAP doc? -->
  80. </section>
  81. </section> <!-- presence basics -->
  82. </section> <!-- introduction -->