Answer every installation question
Keep this guide open while you install Obelisk in SSH. Find the question shown in the terminal, read what it means and enter your answer. At the end, links show where to change settings in Obelisk later.
How to answer
The question names match the English text in the terminal. Press Enter to accept the value in square brackets. Type y for yes or n for no: Y/n defaults to yes; y/N defaults to no. Password characters remain hidden while you type. Answer one question at a time.
The preliminary check, --check, asks only for database and AMI details and SQL administrator access. It checks them without installing Obelisk. It does not save the answers: when you run install.sh to install, enter them again and answer the remaining questions below.
1. Choose local or remote database
Database location (local/remote) [local]
Choose local if asteriskcdrdb, the database containing the cdr and queuelog tables, is still on the FreePBX server. This is the usual setup. Choose remote only if it has been moved to a remote MariaDB or MySQL server, usually through FreePBX Advanced Settings. Obelisk and its telephone source database must use the same SQL server and port.
Database server hostname or IP address
This appears only after remote. Enter the remote database server name or IP, for example 192.168.1.20. Do not add http:// or a port. Ask the database administrator for the address and confirm that it accepts connections from the PBX.
Database TCP port [3306]
Press Enter to use 3306, the usual MariaDB/MySQL port. Enter a different number only if your database uses another port. This question also appears for local installations.
2. Identify the databases
Existing database containing CDR and queue log [asteriskcdrdb]
Usually, press Enter to accept asteriskcdrdb: the existing FreePBX database with the cdr and queuelog tables. If it has a different name, enter that name. If you supplied --database in the command, that value is proposed instead. Do not create a new empty database for this answer.
Dedicated Obelisk database [obelisk]
Press Enter to use obelisk, or choose another name for the new Obelisk database. The installer creates its tables and procedures after your confirmation. This database must be separate from asteriskcdrdb. If Obelisk is already installed, follow the update guide.
3a. Create a local database user
This step appears only if you chose local. If you chose remote, skip it and follow step 3b below.
New dedicated local SQL username [obelisk-app]
For local installations, press Enter to create obelisk-app or choose another unused name. Use 1–32 letters, digits, hyphens or underscores. This account connects Obelisk to the database; it is not your website login. The installer generates its password. If the name already exists, the check stops without replacing the account.
3b. Enter the remote database account
These questions appear only if you chose remote. For a local database, use step 3a above: the installer creates the application account and its password.
Existing runtime database username
Enter the SQL username already prepared for Obelisk. Obtain it and its password from whoever manages the database. The account must accept connections from the PBX. The installer checks its permissions and reports anything missing.
Runtime database password
Enter that account’s password. It cannot be empty and remains hidden while you type. This is the password Obelisk will use for the database, not your Obelisk login. If the check reports missing permissions, show the message to the database administrator.
4. Identify the queue log table
Source queue log table name [queuelog]
Usually, press Enter to use queuelog, the table containing queue call events. If FreePBX Advanced Settings specifies another name, enter it. The table must already receive events from FreePBX. After installation, use the first-call check linked below.
5. Create your Obelisk administrator
Initial administrator username [asterisk]
Choose the username for the Obelisk login page. Press Enter to keep asterisk or type another name, up to 80 characters. This is a new Obelisk account, separate from Linux and FreePBX accounts. You can manage it later in Administration → Users and access profiles.
Administrator password (leave empty to generate a unique password)
Type your password or press Enter to generate one. With unaccented letters, digits and ordinary keyboard symbols, use 12–72 characters. Accented characters and emoji take more space: the technical limit is 12–72 UTF-8 bytes. You must copy and save an automatically generated password as soon as it is shown, before closing the terminal. If you lose it, you will need the reset procedure below to sign in. A password you type yourself is not printed.
Confirm administrator password
If you chose a password, type it again. If it does not match, the installer asks again. After three mismatches it returns to the password choice. This question is skipped for a generated password.
6. Explain the incoming number format
Your telephone provider’s SIP trunk may deliver caller numbers without the country code or in a format that does not follow E.164, the international telephone-number format. These settings tell Obelisk how to interpret them so it can associate calls with a country or area using telephone prefixes. Check a few actual incoming numbers in FreePBX before choosing. The rules apply to Obelisk reports: they do not change the FreePBX dialplan or the original numbers in queuelog. Telephone origin is an estimate from the number, not the caller’s physical location.
Reference country calling code (Italy: 39, France: 33, UK: 44) [39]
Enter your country’s calling code without + or 00: Italy 39, France 33, United Kingdom 44, Germany 49, Spain 34, United States 1, and so on for your country. The code 1 is also shared by Canada and other North American numbering-plan destinations. If unsure, look up your country in the official ITU list linked below. Enter keeps 39: change it if your reference country is different.
Unprefixed number format (national/international/preserve) [national]
Look at a number exactly as the provider sends it. If it has no country code, choose national: Obelisk adds the reference country code. If the country code is already there but + is missing, choose international: Obelisk recognizes it without adding another code. If you cannot reliably identify the format, choose preserve: Obelisk leaves the number unchanged, but may not be able to assign a geographical origin. The table below shows the three cases with Italy as the example. Numbers already starting with + follow their explicit country code.
Recognize 00 as an international prefix (0033... means +33...) [Y/n]
Normally, press Enter for yes. A number beginning with 0033 will be recognized as +33. Choose no only if your incoming numbers use 00 differently.
Remove the national leading zero when adding the country code [y/N]
This appears only after national. For Italian landlines, keep no: 06... becomes +3906..., keeping its zero. For countries that remove the national leading zero, such as France or the UK, choose yes. Base your answer on the numbers you receive.
Maximum length to preserve as a short number (0 disables this rule; 0-10) [5]
Press Enter to preserve numbers of up to 5 digits, such as extensions, without adding a country code. Choose another limit from 1 to 10 if needed, or 0 to disable the rule. Numbers carrying + or a recognized international prefix follow the international rules. Later, review these settings in Administration → Database and procedures → E.164 numbering.
| Choose | Number received | How Obelisk reads it |
|---|---|---|
| national | 3471234567 | Italian national number: +39 3471234567 |
| international | 393471234567 | 39 is already present: +39 3471234567 |
| preserve | 3471234567 | 3471234567, without guessing a country code |
7. Select the language of automatic reports
Language for automatic reports (it/en/es) [it]
Type it for Italian, en for English or es for Spanish. Press Enter to keep Italian. This is the language of automatic reports. To change it later, open Administration → System and utilities → Company identity and language. Choose your interface language separately in Preferences.
8. Connect live monitoring through AMI
AMI account (create/existing/manual) [create]
AMI connects Obelisk to Asterisk for live queue and extension activity. Choose create to create a dedicated account in FreePBX’s /etc/asterisk/manager_custom.conf. At the end, apply the FreePBX configuration with the proposed reload so Asterisk loads the account. Choose existing if an AMI account is already available, or manual to configure one later. You can change or remove the account from FreePBX later; if its credentials change, update them in Obelisk under Administration → System and utilities → Asterisk and databases. Without a working AMI account, live monitoring cannot connect.
New dedicated local AMI username [obelisk]
This appears after create. Press Enter to use obelisk or enter a name of up to 80 letters, digits, hyphens or underscores. The installer generates the password. If it recognizes its own existing account, it preserves the password and permissions. If the name belongs to a different account, ask the PBX administrator.
Existing local AMI username / AMI password
After existing, enter the AMI username and then its password. Obtain both from the PBX administrator. The installer uses the account without changing it. To update these details later, open Administration → System and utilities → Asterisk and databases.
9. Enter the FreePBX web address
Before creating the databases, the installer checks this address from the PBX itself. With HTTP or an invalid/self-signed HTTPS certificate, it explains the condition and asks whether to continue. The choice is yours; Enter defaults to no. Both confirmation questions are explained below.
FreePBX web base URL (e.g. http://192.168.1.10 or https://pbx.example.com)
Enter the address you use to open FreePBX, without /obelisk: for example https://pbx.example.com, https://192.168.1.10 or http://192.168.1.10. Replace the examples with your real address. HTTP and private IP addresses are accepted. If you supplied --base-url in the command, this question is skipped.
10. Provide SQL administrator access
These are the administrator credentials for MariaDB or MySQL, not the Obelisk login. The installer saves the verified database connection in a private file under /etc/obelisk, outside the website and readable only by Linux root. It is used for later updates. Include it in the complete server backup described below.
Database administrator [root] / Database administrator password
For local installations, the installer tries the usual local SQL root access first. If it works, these two questions are skipped. Otherwise enter the SQL administrator username and then its password. These are database credentials; the Linux root password may be different.
Remote database administrator / Remote administrator password
Enter the administrator username and password supplied by whoever manages the remote database. They must work for the server and port chosen earlier. The installer uses them to create and check the Obelisk database. They are separate from the application account entered in step 3b.
11. Review the plan before its confirmations
Obelisk reads the original calls from FreePBX’s cdr and queuelog tables and prepares its own report tables. The MariaDB/MySQL event scheduler runs this processing regularly through the min_queue and min_out events. Keep it enabled so call reports stay up to date. If it is off, processing must be started manually from Administration → Database and procedures → Procedures; this is not recommended for everyday use. Report processing does not rewrite the original call data. The possible one-time addition of cdr.id during installation is explained separately below.
Enabling the scheduler also runs ... other enabled database event(s). Allow this [y/N]
This question appears if the local MariaDB/MySQL event scheduler is off and other applications already have enabled events. Answering y starts the scheduler: Obelisk can update its call reports automatically, and those other enabled events can run too. Check with the database administrator before accepting. Enter or n leaves it off; call reports will not update automatically through SQL events until it is enabled.
Allow the required CDR id schema change during this maintenance window [y/N]
The FreePBX cdr table may not have an id column identifying each row. If it is missing, Obelisk asks permission to add it so newly arrived calls can be processed reliably. If a valid id already exists, it is kept. With millions of records, adding the column can take time and temporarily block CDR writes: schedule a maintenance window with the PBX administrator and take a backup first. Answer y only in that window; Enter or n stops installation before this change.
Proceed with this first installation [y/N]
Read the summary: installation folder, databases, accounts and planned changes. Answer y to start or Enter to cancel. Before creating the databases, the installer checks the web address and private-file protection. At the end it schedules six Linux jobs and requests activation of two SQL events. Recording deletion remains off until you enable its separate setting in Obelisk.
12. Choose whether to accept HTTP or the certificate warning
These questions appear during the web check, after you confirm installation. With working HTTPS and a valid certificate, neither appears.
Continue using this HTTP site for the installation [y/N]
This appears for an http:// address. The installer explains that HTTP does not encrypt login credentials or application data. Type y if you choose to proceed using HTTP, or n to stop and set up HTTPS. Enter means no.
Continue with this HTTPS site without validating its certificate for the installation protection check [y/N]
This appears if HTTPS works but the certificate cannot be validated: for example, a self-signed or expired certificate, or a name that does not match a private IP. Type y to accept this condition for the installation check, or n to stop and correct the certificate. Enter means no. HTTPS remains encrypted. This choice does not change certificate checks for Obelisk’s other connections.
13. Apply the FreePBX configuration
Read the final summary. If automatic reload failed, correct the FreePBX error and resume with --resume. If MySQL processing is not active, follow the job guide below. If queue names or lines were not retrieved, refresh them from Administration → Operational views or Database and procedures → Trunks → Refresh list from PBX.
Then activate the license, sign in and check a real queue call. The following guides explain these steps.
Reload FreePBX configuration automatically now [Y/n]
Press Enter for yes to run fwconsole reload, equivalent to Apply Config in FreePBX. It applies all pending changes, including those made by other administrators, without restarting the PBX. Choose n if you will use Apply Config yourself later. Until then, the new AMI and queue settings may not be active.
If installation is interrupted
Correct the error shown, then run --resume from the same installation kit, with the original options. The installer reuses your saved answers and continues from the saved stage. Keep the kit and its state files. Once installation is complete, change settings from Obelisk as explained in the next section.
Administrator password requested again
If installation stopped before creating the administrator, you may be asked for a new password and confirmation. The username remains the one you chose. If the account was already created, its password is preserved. If you can no longer sign in, use the account recovery guide.
Replace the administrative credentials in this private updater profile [y/N]
This may appear during recovery if you provide different SQL administrator credentials for the same database. Answer y to save the verified new credentials in the private updater profile. Answer n to keep the old profile and stop this step. It does not change the server or the application’s SQL account.
Change settings after installation
You can change the settings entered during installation from the Obelisk administration panel. For example, if you selected the wrong report language, change it and save: no reinstall is needed. Sign in as an administrator, open Administration and follow the table below. It covers all installation questions, grouping related ones. Where a choice belongs to FreePBX, the database server or installation only, the table says so and links to the appropriate instructions.
| What to change | Where to go in Obelisk |
|---|---|
| Accounts, permissions and passwords | Administration → Users and access profiles: open the account to change its password and permissions. An existing username cannot be renamed. If you need a different username, create a new administrator account and verify that you can sign in with it. To change your own password, open Profile from your account menu. |
| Telephone-number format | Administration → Database and procedures → E.164 numbering. Here you can change all five choices: country code, national/international/preserve format, recognition of 00, removal of the leading zero and maximum short-number length. Test a few real numbers in the preview, then save. |
| Automatic report language | Administration → System and utilities → Company identity and language. Choose the report language and save. |
| Your interface language and appearance | Open Preferences from your account menu. Choose language, theme and layout; these choices apply to your account. |
| AMI account: create, existing or manual; username and password | Administration → System and utilities → Asterisk and databases stores the AMI credentials used by Obelisk. Create, change or remove the actual account in FreePBX; for the account created by the installer, use manager_custom.conf and apply the FreePBX configuration. Then enter the matching credentials in Obelisk. Leaving its password field empty keeps the saved password. |
| Local or remote SQL; server, port and database names | Administration → System and utilities → Asterisk and databases shows both connections. The host, port and database names must match the actual databases. Moving from local to remote, or renaming a database, needs a migration with the database administrator and Obelisk support; saving these fields does not copy data or move the installation. |
| SQL application account: local username, remote username and password | Administration → System and utilities → Asterisk and databases. After the database administrator changes the MariaDB/MySQL account or password, enter the corresponding credentials in Obelisk. These fields do not create SQL accounts or grant permissions. |
| Source queuelog table name | Administration → System and utilities → Asterisk and databases displays this name as read-only. Contact support before changing the FreePBX source or its table name. |
| MariaDB/MySQL administrator credentials and recovery-profile replacement | These are the private credentials used by the installer and updates, not the application credentials on the System page. They have no ordinary web editor. For an interrupted first installation, follow the linked recovery guide; for a completed installation, ask support to coordinate changes to the private updater profile. |
| FreePBX web address, HTTP and certificate acceptance | These choices concern the FreePBX web server and the installation check, not a setting in Obelisk Administration. If the initial web check has not yet succeeded, use the documented resume command to correct the address. After installation, coordinate a hostname, protocol or certificate change with the PBX administrator; contact support if the Obelisk address will change. |
| SQL scheduler and Obelisk job activation | Administration → Database and procedures → Cron DB shows Obelisk SQL events. For a general pause or restart, use the official commands below. The global MariaDB/MySQL scheduler is managed on the database server; it can also affect other applications. |
| Permission to add cdr.id | This is a one-time installation decision, not a switch in Administration. Keep the identifier after installation: report processing uses it. If a check flags a problem, review Installation diagnostics and contact support before changing the table. |
| Proceed with installation; accept or defer FreePBX reload | The installation confirmation starts the installation and is not a saved preference. If you deferred the final reload, open FreePBX and use Apply Config when ready. This loads the new AMI account and applies all other pending FreePBX changes. |
Pause or restart scheduled work
Use --disable-jobs from the original installation kit when you need to pause Obelisk’s automatic processing. It stops future runs of the six Linux jobs and the two SQL events shown below. In practice, new historical samples and call-report updates stop, as do automatic recording analysis, emailed reports and scheduled cleanup. FreePBX continues handling calls and writing its original CDR/queuelog data. Work already running is allowed to finish. Use --activate-jobs to restore the schedules, with the complete commands printed in your installation summary.
Enabling the global scheduler also runs ... other enabled database event(s). Continue [y/N]
The MariaDB/MySQL event scheduler is the database service that starts scheduled processing. Obelisk uses it to update call-report data through min_queue and min_out. This question may appear when reactivating jobs if the local scheduler is off and other applications have enabled events: y can start those events too. Check with the database administrator before accepting. Enter or n leaves the scheduler off, so the SQL report updates remain paused. On a remote server, ask its administrator to enable the scheduler.
| Job or event | What pauses |
|---|---|
| logger | Historical sampling of live queue statistics |
| audio | Automatic recording analysis with AI |
| weekly | Generation and email delivery of weekly reports |
| monthly | Generation and email delivery of monthly reports |
| cleaner | Scheduled cleanup enabled by the administration settings |
| retention | Applying the configured recording-retention rules |
| min_queue / min_out | SQL processing of queue and outbound calls for historical reports |