2 ------------------------------------------------------
4 Hermes is a framework for managing a Kamailio SIP VoIP infrastructure. It is
5 designed to manage user accounts, SIP aliases, E164 phone number aliases and
6 automatic provisioning of hardphones. Hermes provides an API as a foundation
7 for its own user interface, and for integration with other systems. The API is
8 implemented as HTTP-REST using JSON. The user interface focuses on dayly
9 administration tasks (user management, alias handling, phone registration) and
10 not on Kamailio server management.
13 CONFIGURING THE FRONTEND/UI
14 ------------------------------------------------------
17 DATABASE PREREQUESTITES FOR THE API
18 ------------------------------------------------------
20 Hermes expects that Kamailio is installed and configured to use MySQL backing,
21 with teh Siremis SQL structure, with subscribers in a 'subscribers' table, and
22 aliases stored in 'dbaliases'. An SQL structure script for the tables used by
23 Hermes is included in doc/sql-data/structure-kamailio.sql That file is included
24 as a guide to verify the Kamailio configuration, and as a structure to use in
25 development/testing as a replacement for a real Kamailio installation.
27 Hermes itself requires a MySQL database on the same MySQL server, with the
28 structure defined in doc/sql-data/structure-hermes.sql
29 A database must be created, and the structure loaded prior to configuring
33 You may also choose to load the sample data. Note that the sample data does
34 include a R/W API key, tied to the host 10.0.2.5. Replacing the IP
35 address of that key may be used to boot-strap authorizations...
38 ------------------------------------------------------
40 The API needs to be configured separately from the UI.
41 API configuration is done by creating the PHP file
42 $install_path/api/config.php. A sample configuration file
43 is provided as $install_path/api/config.php.sample.
44 If config.php is not present, the API may fail in
45 in somewhat unpredictable ways ...
47 sql_server -> Your MySQL server ...
48 sql_username -> Username for MySQL access
49 Needs RW access to kamailio and provision db's
50 sql_password -> Password for the above username
51 kamailio_db -> Database name of kamailio db.
52 hermes_db -> Database name of hermes db.
54 The following configuration options define SQL table names
55 for respective data-sets, values for the sample-data.sql
58 kamailio_domain_table (domain)
59 kamailio_subscriber_table (subscriber)
60 kamailio_alias_table (dbaliases)
61 kamailio_domain_table (domain)
62 hermes_users_table (users)
63 hermes_phones_table (phones)
64 hermes_servers_table (servers)
65 numbers_table (numbers)
66 apikeys_table (apikeys)
67 authorizations_table (authorizations)
68 sessionkeys_table (sessionkeys)
70 Configuration parameters not related to database:
73 -> Backing store plugin for API user auth.
76 -> The amount of time an auth_key is valid in an API session.
77 Aka max ping-interval.
80 -> Dialling pattern to use for new users
83 -> What domain should always be listed first
85 permit_multiple_e164alias -
86 -> Currently not used ...