The module is a Resource List Server implementation following the specification in RFC 4662 and RFC 4826. The server is independent from local presence servers, retrieving presence information with Subscribe-Notify messages. The module uses the presence module as a library, as it requires a resembling mechanism for handling Subscribe. Therefore, in case the local presence server is not collocated on the same machine with the RL server, the presence module should be loaded in a library mode only (see doc for presence module). It handles subscription to lists in an event independent way. The default event is presence, but if some other events are to be handled by the server, they should be added using the module parameter "rls_events". It works with XCAP server for storage. There is also the possibility to configure it to work in an integrated_xcap server mode, when it only queries database for the resource lists documents. This is useful in a small architecture when all the clients use an integrated server and there are no references to exterior documents in their lists. The same as presence module, it has a caching mode with periodical update in database for subscribe information. The information retrieved with Notify messages is stored in database only.
| Parámetro | Tipo | Descripción |
|---|---|---|
| db_url | str | 3.2. rlpres_db_url(str) 3.3. xcap_db_url(str) 3.4. db_mode(int) 3.5. xcap_table(str) 3.6. rlsubs_table(str) 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_ti |
| rlpres_db_url | str | 3.3. xcap_db_url(str) 3.4. db_mode(int) 3.5. xcap_table(str) 3.6. rlsubs_table(str) 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_ |
| xcap_db_url | str | 3.4. db_mode(int) 3.5. xcap_table(str) 3.6. rlsubs_table(str) 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. |
| db_mode | int | 3.5. xcap_table(str) 3.6. rlsubs_table(str) 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes |
| xcap_table | str | 3.6. rlsubs_table(str) 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expi |
| rlsubs_table | str | 3.7. rlpres_table(str) 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires |
| rlpres_table | str | 3.8. clean_period (int) 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. has |
| clean_period | int | 3.9. rlpres_clean_period (int) 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_ |
| rlpres_clean_period | int | 3.10. waitn_time (int) 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xca |
| waitn_time | int | 3.11. notifier_poll_rate (int) 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to |
| notifier_poll_rate | int | 3.12. notifier_processes (int) 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_ |
| notifier_processes | int | 3.13. max_expires (int) 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_prox |
| max_expires | int | 3.14. expires_offset (int) 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_add |
| expires_offset | int | 3.15. hash_size (int) 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify |
| hash_size | int | 3.16. xcap_root (str) 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.2 |
| xcap_root | str | 3.17. integrated_xcap_server (int) 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.23. reload_db_subs (int |
| integrated_xcap_server | int | 3.18. to_presence_code (int) 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3. |
| to_presence_code | int | 3.19. rls_event (str) 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3.25. disable_remote_presence ( |
| rls_event | str | 3.20. outbound_proxy (str) 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3.25. disable_remote_presence (integer) 3.26. max_bac |
| outbound_proxy | str | 3.21. server_address (str) 3.22. max_notify_body_length (int) 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3.25. disable_remote_presence (integer) 3.26. max_backend_subs (integer) |
| server_address | str | 3.22. max_notify_body_length (int) 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3.25. disable_remote_presence (integer) 3.26. max_backend_subs (integer) |
| max_notify_body_length | int | 3.23. reload_db_subs (integer) 3.24. fetch_rows (integer) 3.25. disable_remote_presence (integer) 3.26. max_backend_subs (integer) |
| reload_db_subs | integer | 3.24. fetch_rows (integer) 3.25. disable_remote_presence (integer) 3.26. max_backend_subs (integer) |
| fetch_rows | integer | 3.25. disable_remote_presence (integer) 3.26. max_backend_subs (integer) |
| disable_remote_presence | integer | 3.26. max_backend_subs (integer) |
| max_backend_subs | integer | 3.1. db_url(str) |
| db_url | str | The database url. |
| rlpres_db_url | str | The rlpres (rls_presentity table) database url. This parameter only needs to be specified if the rls_watchers table and rls_presentity tables are in different databases. rls_presentity is used to cach |
| xcap_db_url | str | The xcap database url. This parameter only needs to be specified if the rls db and integrated xcap server db have different urls. |
| db_mode | int | The module supports 2 modes of operation, high speed memory based storage (mode 0), and database only (mode 2) where all data is stored in a database, allowing scalability at the expense of speed. Mod |
4.2. rls_handle_notify() 4.3. rls_update_subs(uri, event)
4.3. rls_update_subs(uri, event)
4.1. rls_handle_subscribe([watcher_uri])
This function detects if a Subscribe message should be handled by RLS. If not it replies with the configured to_presence_code. If it is, it extracts the dialog info and sends aggregate Notify requests with information for the list.
Handle NOTIFY requests.
This function can be used in configuration to trigger updates to resource list subscriptions (for example, after the contents of a resource list has changes).
Copyright © 2007 Voice Sistem SRL