This guide explains how to connect, configure, and manage modules in MikoPBX. It also covers how to install applications using the built-in Marketplace.
Additional modules allow you to expand the functionality of the main system. In this guide, you will find information on managing modules and installing applications using the built-in Marketplace.
To use both paid and free modules, you need to register your copy of MikoPBX and obtain a free license key. Instructions on how to do this can be found here.
Detailed instructions for configuring and operating each module can be found here.
You can find the Module Management section under "Modules" -> "Marketplace of modules".
This section allows you to manage modules: connecting them, configuring them, and uploading your own custom modules. Documentation on developing your own modules can be found here.
All installed modules are listed under the tab of the same name:
You can upload your own module using the "Upload New Module" button. You need to upload .zip
files. After uploading, the module will appear in the list under the "Installed Modules" tab.
You can also access the settings of any module for further configuration:
Additionally, you can enable or disable a module.
From the interface of an installed module, you can quickly access its documentation by clicking on the question mark to the right of the module's short description:
You can add any module to the sidebar menu for quick access, which can be useful if you need constant access to the module's settings to change parameters or its status.
To do this, follow these instructions:
Go to the settings of the module you want to add to the sidebar menu by clicking on the edit icon to the right of the module's version:
Click on the settings icon to the right of the module's status to access the display settings for the module in the sidebar menu:
In this section, you can:
Toggle the display of the module in the sidebar menu—"Show module in sidebar menu".
Choose the section where it will be displayed—in the example, the "Modules" section is selected.
Specify a custom name for the module if desired.
After completing the settings, click "Save".
In this section, you can install modules from MIKO as well as from partner developers.
Each module has a button for downloading and installing it. Basic information about the module with a short description is also displayed here.
To the left of the module's name, you can find an icon indicating whether it is paid or free. For example, in the image above, the "Access Control Management" module is paid, while the "Backup&Recovery module" module is free.
Each paid module has a trial period of 2 weeks. During this period, you can try the module's functionality and decide whether to purchase it. To purchase a module, write to [email protected]
You can access a module's detailed page by clicking on its name in the Marketplace interface.
Here you can find the version of the current release, information about the developer, and whether the module is paid or free. There are also three sections:
Module Description
This section contains images illustrating the module's functionality and settings. Additionally, there is a basic description of the module and a "Useful Links" section with a link to detailed documentation on configuring and operating the module.
Version History
In this section, you can find the module's version history with detailed descriptions of changes, as well as the minimum compatible version of MikoPBX for proper operation. You can also install a specific version of the module by clicking on the blue link under its description.
If you purchase a module, you will receive a coupon. To activate it, go to Modules -> Marketplace of modules:
Then navigate to the "License Management" section.
In the "Activate Coupon" field, enter your coupon code and click "Activate Coupon"
The protection key always starts with MIKO-. Coupons for modifying product composition always start with MIKOUPD-.
Description of the registration process
Registering in the MikoPBX Module Marketplace is not required for the system’s basic functionality. You can fully utilize MikoPBX for handling calls without registration or installing additional modules. However, we recommend registering in the marketplace to expand your system’s capabilities.
Registration gives you access to additional modules and extensions. These include both free modules (moved out of the core system for easier initial setup) and paid modules from us and third-party developers. If you are a developer, you can contact us at [email protected] to get instructions on creating and adding your module to the Marketplace.
MikoPBX is a free solution and does not require registration. The absence of a license does not impact call functionality. You can register or cancel your Marketplace registration anytime.
To begin the registration process, navigate to "Modules" -> "Marketplace of modules":
If you are not registered in the Marketplace, the section will look as follows:
If you move MikoPBX to another host or restore it from a backup, you will need to reset license bindings in the License Manager.
One license key is issued per company. If your company uses multiple MikoPBX instances, a single registration is sufficient.
To start the registration process, click the Register in Marketplace button:
The license key stores all your licenses for MikoPBX products. If you already have a key, you can enter it in the corresponding field. If you've forgotten your key, search your email inbox for messages from [email protected]
If you don’t have a key, you can generate a new one by completing the registration form:
Organization Name – Enter your company/organization name.
Contact Email – Enter your organization’s email address.
Contact Person – Enter the name of the contact person.
Contact Phone (optional) – Provide a contact number.
Unique Company Identifier (e.g., Tax ID, VAT) (optional).
Click Register.
Upon successful registration, you will see the following screen:
A notification confirming the system's registration.
The license key field will display a blurred value by default. Hover over it to view or copy the key.
To manage your license, go to Marketplace -> License Management and click the corresponding option:
You will be redirected to the SaaS Licensing Server:
Enter your license key in the Enter your license key or activated coupon field and click Login:
You will access a system with nine sections:
Go to the Session monitor section:
In the Info column, click the i button for each binding to view detailed host information.
In the Action column, use the Drop button to unbind the license from the current host.
If you encounter issues during registration, check for internet access to the MikoPBX server. Ensure connectivity to lic.miko.ru and lic.mikopbx.com over port 443 (HTTPS). Verify firewall settings and network permissions.
MikoPBX periodically connects to licensing servers to verify installed modules. If a module license becomes unavailable, the module will be disabled, and a strikethrough key icon will appear next to its name.
Application dialplans are programmable voice applications in PHP and Asterisk Dialplan.
MikoPBX comes with several pre-configured applications. With some basic knowledge of Asterisk dialplan, you can easily create additional applications. Like a phone extension, applications can have an internal number assigned in the settings.
Below you will see a description of the basic applications included in MikoPBX:
MikoPBX applications are created from several plans of the Asterisk application suite. There are many examples of ready-to-run applications in the system. To add a new MikoPBX application, click on "Add a New" in the application menu.
In just a few steps, you can create your own applications. First, define the Name and Call Number for the application, and optionally fill in the Comment field.
Possible application code types:
PHP-AGI script - AGI is an embedded method in Asterisk for executing external scripts (similar to CGI for HTTP servers), which can extend Asterisk's functionality using other programming languages, particularly PHP. AGI scripts can control call handling in the dialplan and are invoked from the extensions.conf file.
Asterisk Dialplan - The configuration of the dialplan is contained in the Asterisk configuration file called extensions.conf. This is one of the most important configuration files where the processing and routing of incoming and outgoing calls are defined. This file governs the behavior of all connections passing through your PBX (Private Branch Exchange).
Let's clarify: we will refer to MikoPBX applications as "applications" and Asterisk dialplan functions as "functions". For example, Answer(), NoOP(), Set(), and Wait() are functions. These are individual target functions in Asterisk that are then combined in MikoPBX to create more powerful MikoPBX applications.
Describe the logical operations in the text field of the Programme Code. Please note that only one command is allowed per line, for example:
The figure shows an example of the simplest application for the number 000063. After dialing the number, you will hear the robot voice your internal number.
MikoPBX will check the commands used. It is possible that incorrectly programmed operations may affect the performance of your telephone system.
Description of Asterisk functions that you can use in your applications:
Application Number | Application Description |
---|
Наименование команды | Описание |
---|
000063 | The application reads the internal number of the employee used to call the application and voices it to the employee, i.e. the employee is voiced his internal number on the PBX |
000064 | 0000MILLI - Generates a constant sound signal with a frequency of 1000 Hz. Used to check the quality of the connection. |
10003246 | The Echo application sends the received audio signals back to the user so that the delay duration can be determined. In general, you hear what you say. The application is mainly used for testing. |
answer | Transfer the call to the answered state. |
channel status | Returns the status of the connected channel. |
control stream file | Sending a preset audio file to the channel, with the ability to control its playback (pause/rewind/resume playback) using the DTMF digits received from the subscriber, if specified. (Asterisk 1.2) |
database del | Deleting a key/value from the database. |
database deltree | Deleting the key/value tree from the database. |
database get | Get the value from the database. |
database put | Adding/changing a value in the database. |
exec | Execution of the specified Command. (Commands are functions that you use when describing the set plan in the extensions.conf file). |
get data | Get data from the channel. |
get option | Behaves similarly to the "STREAM FILE" command, but is used with a specified value for timeout. (Asterisk 1.2) |
get variable | Get the value of the channel variable. |
hangup | Break the connection (Hangup) on the current channel. |
noop | An empty command. Does nothing. |
receive char | Accepts one character from the channel if it supports this feature. |
receive text | Accepts a text string from a channel if it supports this feature. |
record file | Writes to the specified file. |
say alpha | Pronounces the specified string of characters. (Asterisk 1.2) |
say date | Pronounces the date. (Asterisk 1.2) |
say datetime | Pronounces the date and time according to the specified format. (Asterisk 1.2) |
say digits | Pronounces the specified string of digits. |
say number | Pronounces the specified number. |
say phonetic | Pronounces the specified string of characters. |
say time | Pronounces the time. |
send image | Sends the image to the channel if it supports this feature. |
send text | Sends text to the channel if it supports this feature. |
set autohangup | Automatic termination of the connection (Autohangup) on the channel at the specified time. |
set callerid | Setting the caller id for the current channel. |
set context | Setting the context for the current channel. |
set extension | Change the extension for the current channel. |
set music | Включение/Выключение музыки ожидания (Music on hold), например: «SET MUSIC ON default». |
set priority | Enabling/Turning off the standby music (Music on hold), for example: "SET MUSIC ON default". |
set variable | Setting the channel variable. |
stream file | Sending an audio file to the channel. |
tdd mode | Setting the TDD mode for a channel that can support it to enable interaction with TDD. |
verbose | Writing a message to the verbose log of the asterisk server. |
wait for digit | Waiting for the DTMF button to be pressed |