# Extensions

Extensions in MikoPBX are individual users of the system who are assigned internal numbers for making and receiving calls. They have personal accounts that allow you to configure access rights, call forwarding and other personal settings in the system.

## Extensions List

The "**Extensions**" section displays a list of internal user accounts for **employees**. On the left side of each employee, the status of the authorized device is displayed. If the device is successfully authorized under the respective internal user account, a green circle is shown; otherwise, it appears gray.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F7yaON3Evtxy9KVx55cHs%2F2.png?alt=media&#x26;token=96124ebf-8b1d-4571-9550-717c40c22bee" alt=""><figcaption><p>Extensions status</p></figcaption></figure>

In the search bar, you can find the desired contact. You can search by the employee's name, internal number, mobile number, or email address.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FJTMO7WuufY2qtgLokTXO%2F3.png?alt=media&#x26;token=b8ba0b3a-1f2c-40cb-8a5e-d1be89e4fcdb" alt=""><figcaption><p>Search for an employee by email</p></figcaption></figure>

The form also provides the ability to sort the list of employees by name, internal number, mobile number, or email address. There are buttons for copying the account password to the clipboard, editing the account, and deleting the account.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F8lz6cGztsenwvsv0AzfQ%2F4.png?alt=media&#x26;token=567b9d00-c87a-4201-bf10-ada54b7da94e" alt=""><figcaption><p>Sorting employees and functions in the main menu</p></figcaption></figure>

## Adding an extension

{% hint style="info" %}
There are two ways to add employees:

1\) Adding employees one by one by entering data in the Web interface.

2\) Importing multiple employees from a CSV file.
{% endhint %}

### Adding Employees One by One

To add a new employee, click the "**Add new employee"** button.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FRkA9B8lIFqqPfv4clXwQ%2FAddingExtensions1by1.png?alt=media&#x26;token=0689147c-190e-4d58-b0d2-92061c340336" alt=""><figcaption><p>Button "Add new employee"</p></figcaption></figure>

### Importing and Exporting Employees from a CSV File&#x20;

There is an option to export and import employees for configuration convenience. To do this, click the arrow to the right of the "Add New Employee" button.

3 options are available:

1. Import from CSV — load employees from a CSV file into MikoPBX.
2. Export to CSV — download employees to a CSV file from MikoPBX (employees will not be deleted from the station).
3. Download template — download a CSV table template to fill in and subsequently import into MikoPBX.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FkoxWsfIBh6K1dlJlf19W%2FAddingExtensionsCSVOptions.png?alt=media&#x26;token=756169c5-1d40-4e3c-9fc2-9c5cb087ac5d" alt=""><figcaption><p>Options for bulk employee import/export</p></figcaption></figure>

#### **Import**

Click "**Select CSV file**" and choose the previously prepared file with data in the table. It is recommended to use templates from the "**Template**" tab.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FnksJdeh15U5Qnu0R9KvP%2FCSVImportExtensions.png?alt=media&#x26;token=f89db171-974b-45bf-9a84-9cffa4e40f55" alt=""><figcaption><p>"Import" section</p></figcaption></figure>

After selecting the file, information about all detected users in the table will be displayed. Select a duplicate handling strategy and click "**Confirm import**" to start the process.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FDqLmLJy2DMmoueyydiwz%2FCSVImportExtensionsP2.png?alt=media&#x26;token=bb6140bc-72c5-46fa-a28b-3290db404da5" alt=""><figcaption><p>Employee import parameters</p></figcaption></figure>

After the process is complete, you will see the employee creation status as well as a notification about the end of the import.

Click "**Back to list**" to return to the employee list.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FReSOJvrPiZUstrikYDj2%2FsuccessfulImport.png?alt=media&#x26;token=463b9c40-e929-49d1-a34a-9d0f621ae39a" alt=""><figcaption><p>Successful employee import</p></figcaption></figure>

#### **Export**&#x20;

There is an option to export a CSV file with all the data of current employees. Several export formats are available:

**Minimal:**

* number — Internal number (required)
* user\_username — Employee full name (required)
* user\_email — Email address
* mobile\_number — Mobile number
* sip\_secret — SIP password (will be generated if not specified)
* fwd\_ringlength — Ring time (seconds) before forwarding
* fwd\_forwarding — Forwarding number if no answer

**Standard:**

* All parameters from Minimal.
* mobile\_dialstring — Number for dialing mobile
* sip\_dtmfmode — DTMF mode (auto/rfc4733/info/inband)
* sip\_transport — Transport (udp/tcp/tls), default udp,tcp
* sip\_enableRecording — Call recording (true/false)
* fwd\_forwardingonbusy — Forwarding number if busy
* fwd\_forwardingonunavailable — Forwarding number if unavailable

**Full:**

* All parameters from Minimal and Standard.
* user\_avatar — Photo URL
* sip\_manualattributes — Additional SIP parameters

You can also specify a range of internal employee numbers to export (the "**Filter by number range**" section).

Click "**Export employees**". The file will be downloaded to your device.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FXOvxPY4R71qLfrgxSCTD%2FCSVExporttExtensions.png?alt=media&#x26;token=155758cf-97c1-4a6c-8566-d399e916b172" alt=""><figcaption><p>"Export" section</p></figcaption></figure>

#### **Template**&#x20;

On this tab, you can download a blank file template with the specified "columns" to fill in and subsequently import into MikoPBX.

Select the template format (see the "[Export](#export)" section for more details), then click "**Download CSV template**".

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FrS4Pg7DM0gOnmmq4IQOM%2FCSVTemplateExtensions.png?alt=media&#x26;token=02c23c1f-0cc2-45ac-9620-a0a822a0303a" alt=""><figcaption><p>"Template" section</p></figcaption></figure>

## Main Account Settings

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F0yrtS9RS1prainrBZONA%2F6.png?alt=media&#x26;token=736fd05e-d5b3-4ce8-9c0c-042c4f470a48" alt=""><figcaption><p>Employee Account Settings Tab</p></figcaption></figure>

On the "Basic Parameters" tab, you can configure the general settings for an employee's internal account:

* **Username**: This value will be used for name substitution and displayed in the corresponding field on the phone screen.&#x20;
* **Internal Number**: This is the employee's internal extension number, which is also used as the login when connecting the phone.&#x20;
* **Mobile Number**: It is used for additional routing purposes.&#x20;
* **Email Address**: It is used for email notifications.&#x20;
* **Password for SIP**

{% hint style="warning" %}
Please ensure that the passwords for SIP accounts meet the following requirements:

* The password length should be greater than eight characters.&#x20;
* The password should contain both uppercase and lowercase letters. The password should include numbers and special characters: "-", "\_", "\[]", "{}", "@", ";".
* By setting complex passwords, you can enhance the security of the user accounts and protect them from unauthorized access.
  {% endhint %}

## Advanced Account Settings

Accesses the Advanced drop-down list:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F3cmneGsQXFtaXXwseJCX%2FextensionsAdvancedSettings.png?alt=media&#x26;token=2dbe2e11-0e7d-4ac4-9caa-d4f05ba06b5c" alt=""><figcaption><p>Advanced settings option</p></figcaption></figure>

**Redefining the set string**

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FMprlQHqg1ak1HbgWGwq1%2F8.png?alt=media&#x26;token=bfed9415-db27-4a90-9787-5b25d54d7827" alt=""><figcaption></figcaption></figure>

In the "**Redefining the set string**" field, enter the dialing rule for mobile numbers according to your provider's requirements.

#### Call recording

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Ft8valJGwHksEMjGFaSkk%2F10.png?alt=media&#x26;token=27b90d96-fb02-484d-bb1b-a29aa66ddb33" alt=""><figcaption></figcaption></figure>

If you want employees to have the ability to record conversations, you can enable the **Сall recording** feature.

#### **DTMF Mode**

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F9SGaoiq48M3qq3f7pPrT%2F11.png?alt=media&#x26;token=f8e5c8c7-ba8b-4f68-896a-429acdd831b0" alt=""><figcaption></figcaption></figure>

The setting determines how DTMF (Dual Tone Multi-Frequency) signals are transmitted over the SIP protocol. DTMF signals are used, for example, when dialing phone numbers or interacting with IVR systems.

#### Transport protocol

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FrlESi3M4fxZQ1bRpzKHe%2F12.png?alt=media&#x26;token=6ce9d44d-2e7f-4318-b533-2e24958d69a4" alt=""><figcaption></figcaption></figure>

This setting allows you to specify the transport protocol used for this account. The transport protocol determines how data is transmitted over the network. The most common transport protocols used in SIP (Session Initiation Protocol) are UDP (User Datagram Protocol), TCP (Transmission Control Protocol), and TLS (Transport Layer Security)

#### Network filter

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F6UvIVrqQ77SR3eMZbE9U%2F14.png?alt=media&#x26;token=3e0d002a-4c93-4d3d-890a-8cf7eca93dcb" alt=""><figcaption></figcaption></figure>

The subnet described in the "Network Firewall" section specifies the allowed subnet for this account. It determines which IP addresses or networks are permitted to connect to this account. Connections originating from other subnets will result in authentication errors.

#### Manual additional attributes for SIP

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FfAsJ1jpsZgSY1pvTBFA8%2F15.png?alt=media&#x26;token=56d8bf61-2c9e-40a9-bd1f-b8346d78aecd" alt=""><figcaption></figcaption></figure>

This field is used to modify/override the configuration files of Asterisk. You can override almost all parameters. For example, when using **chan\_pjsip**, a SIP account for an employee is described by the following sections:

{% code lineNumbers="true" %}

```
[***]
type = aor
max_contacts = 10
; ----

[***]
type = auth
; ----

[***]
type = endpoint
context = all_peers
; ----

[acl_***] 
deny = 0.0.0.0/0.0.0.0
permit = 0.0.0.0/0.0.0.0
; ----
```

{% endcode %}

To override fields in the sections, you should fill in the "Additional Parameters" field as follows:

```
[acl]
; Describe access parameters from different subnets [acl_***]

[auth] 
; Describe authentication parameters for outbound calls

[aor]
; Edit AOR section for the endpoint

[endpoint] 
; Edit endpoint parameters
```

## Routing Settings

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FfkZdAKhskdS0ngDT6L1N%2F17.png?alt=media&#x26;token=c786b2d5-18ea-4ef0-9fa0-3b1bed4d99ab" alt=""><figcaption><p>"Routing settings" section</p></figcaption></figure>

On this tab, you can set rules for call forwarding when the employee is unavailable, busy, or does not answer.

Set the time **period** in seconds during which the call will be directed to the employee's **internal** account. If the employee cannot answer the call within the specified time, indicate to which number the call should be forwarded. By default, the call will be redirected to the employee's mobile number.

You can also specify the numbers to which the call should be redirected in case of busy and unavailable status.

Feel free to configure these parameters according to your preferences and requirements.

## Connecting softphones

* [<mark style="color:blue;">MicroSIP</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/microsip)
* [Groundwire](https://docs.mikopbx.com/mikopbx/english/faq/softphones/groundwire)
* [Zoiper](https://docs.mikopbx.com/mikopbx/english/faq/softphones/zoiper)
* [<mark style="color:blue;">Jitsi</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/jitsi)
* [<mark style="color:blue;">PhonerLite</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/phonerlite)
* [<mark style="color:blue;">Linphone(Mac OS)</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/linphone-macos)
* [<mark style="color:blue;">Telephone(Mac OS)</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/telephone-macos)
* [<mark style="color:blue;">WebRTC tutorial using SIPML5</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/configuring-webrtc-client-simpl5)
* <mark style="color:red;">Configuring telegram as SIP softphone</mark>
* [<mark style="color:blue;">Softphone.pro</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/softphone.pro)
* [<mark style="color:blue;">Bria Solo</mark>](https://docs.mikopbx.com/mikopbx/english/faq/softphones/bria-solo)

## Connecting telephones

* <mark style="color:red;">Yealink T19</mark>
* <mark style="color:red;">Yealink T21</mark>
* <mark style="color:red;">Yealink T28</mark>
* <mark style="color:red;">Snom D120</mark>
