This module offers support for instant message conference using SIP MESSAGE requests. It follows the architecture of IRC channels. The conferences are managed by commands that can be sent embedded in the MESSAGE body, because there are just a few SIP UA implementations which have GUI for IM conferencing. By sending a SIP MESSAGE a configured SIP URI to the IM conferencing manager, the user can send commands to manage conference rooms. Once the conference room is created, users can send commands directly to conference's URI. To ease the integration in the configuration file, the interpreter of the IMC commands are embedded in the module. From a configuration point of view, there is only one function which has to be executed for both messages and commands.
| Parámetro | Tipo | Descripción |
|---|---|---|
| db_url | str | 3.2. db_mode(integer) 3.3. rooms_table (str) 3.4. members_table (str) 3.5. hash_size (integer) 3.6. imc_cmd_start_char (str) 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (intege |
| db_mode | integer | 3.3. rooms_table (str) 3.4. members_table (str) 3.5. hash_size (integer) 3.6. imc_cmd_start_char (str) 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_crea |
| rooms_table | str | 3.4. members_table (str) 3.5. hash_size (integer) 3.6. imc_cmd_start_char (str) 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| members_table | str | 3.5. hash_size (integer) 3.6. imc_cmd_start_char (str) 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| hash_size | integer | 3.6. imc_cmd_start_char (str) 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| imc_cmd_start_char | str | 3.7. outbound_proxy (str) 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| outbound_proxy | str | 3.8. extra_hdrs (str) 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| extra_hdrs | str | 3.9. create_on_join (integer) 3.10. check_on_create (integer) |
| create_on_join | integer | 3.10. check_on_create (integer) |
| check_on_create | integer | 3.1. db_url (str) |
| db_url | str | The database url. |
| db_mode | integer | 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 |
| rooms_table | str | The name of the table storing IMC rooms. |
| members_table | str | The name of the table storing IMC members. |
| hash_size | integer | The power of 2 to get the size of the hash table used for storing members and rooms. |
| imc_cmd_start_char | str | The character which indicates that the body of the message is a command. |
| outbound_proxy | str | The SIP address used as next hop when sending the message. Very useful when using Kamailio with a domain name not in DNS, or when using a separate Kamailio instance for imc processing. If not set, the |
| extra_hdrs | str | Extra headers (each ending with \r\n) to be added in messages sent out from imc server. |
| create_on_join | integer | If set to 1 and user requests to join a non-existing room, the room will be automatically created. If set to 0, joining a non-existing room returns an error. |
| check_on_create | integer | If set to 1, the chat server will report an error if the user attempts to create a room that already exists. |
4.2. imc_room_active(room) 4.3. imc_room_member(room, user)
4.3. imc_room_member(room, user)
4.1. imc_manager()
THis function handles incoming MESSAGE requests. If detects if the body of the message is a conference command it executes it, otherwise it sends the message to all the members in the room.
Return 1 (true) if the room is active, -1 (false) if the room is not found. The parameter is the SIP URI to identify the room, it can contain variables.
Return 1 (true) if the user is member of the room, -1 (false) if the user is not member of the room. The parameters are the SIP URIs to identify the room and the user, they can contain variables.
Copyright © 2006 Voice Sistem SRL