> For the complete documentation index, see [llms.txt](https://docs.mikopbx.com/mikopbx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mikopbx.com/mikopbx/english/faq/softphones/groundwire.md).

# Groundwire

Instructions for configuring and connecting the Groundwire softphone to MikoPBX

**Groundwire** is a softphone that offers low power consumption by avoiding constant SIP session maintenance with the server. When an incoming call arrives, a PUSH notification is first sent to the smartphone, which then launches the SIP client and establishes a connection to the server.

## Softphone Setup

1. Download and open the **Groundwire** app on your smartphone.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FTiBifpigYrhlJYawob3a%2Fimage.png?alt=media&amp;token=959ed713-2317-4bd6-bdbb-2cf4365d4527" alt="" width="295"><figcaption><p>Main menu</p></figcaption></figure>

2. Go to **Groundwire** settings by tapping the corresponding icon at the top of the screen.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FWVFf0fWQggDYHWg0HvCg%2FstartPageGroundWire.jpg?alt=media&amp;token=0f0645e2-ea3c-4d78-90bf-4cffd4f3b6c3" alt="" width="295"><figcaption><p>Settings button</p></figcaption></figure>

3. Go to the "**Accounts**" section:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F4NsUdIhQ2kQm6AM24tda%2FaccountsSection.jpg?alt=media&amp;token=2f17d453-c038-432a-9c7e-5b9f2405c604" alt="" width="295"><figcaption><p>"Account" section</p></figcaption></figure>

4. Add a new account by tapping the "+" icon at the top of the screen.
5. Select "**Generic SIP Account**."
6. Fill in the required data:
   * **Title** – An arbitrary account name.
   * **Username** – The employee’s extension number (e.g., 201).
   * **Password** – The SIP password from the employee’s configuration.
   * **Domain** – The IP address of your MikoPBX server.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FiWCJWJXQvLfYRYiZrcTR%2FdataForAuth.jpg?alt=media&amp;token=b0112da7-0ccc-473a-bb05-e2cec50b1ffd" alt="" width="295"><figcaption><p>Data for SIP connection</p></figcaption></figure>

7. Go to "**Advanced Settings**."
8. In "**Audio Codecs**" → "**Codecs for Wi-Fi**," choose the desired codecs for use.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fe77NTn938pityF5oAoBj%2FAudioCodecs.jpg?alt=media&amp;token=d44c5227-5f25-41e9-84e8-195a33807b7b" alt="" width="295"><figcaption><p>Audio codecs</p></figcaption></figure>

9. Navigate to "**Caller Id Method**." Select "**P-Asserted-Identity**."

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FUsKEuUb85rtSU5mfY2KA%2Fimage.png?alt=media&amp;token=a1115da0-bc04-4c80-843a-2d868d51431a" alt="" width="295"><figcaption><p>Section "Caller Id Method"</p></figcaption></figure>

Save the settings. A connection attempt will occur. In the MikoPBX "Employees" section, you can see a status indicator confirming a successful connection:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fzx1owUx64pAcbNlxFtHh%2FsuccessfulConnection.jpg?alt=media&amp;token=02bb8302-906b-4949-a678-8d113be4d8e4" alt=""><figcaption><p>Successful SIP-connection</p></figcaption></figure>

## Configuring Employee Status Monitoring

Groundwire can display the current status of employees (see example below):

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F0gjrQ0NSYUHKmQqcmgN4%2FextensionsStatuses.jpg?alt=media&amp;token=f991db14-b53d-496e-bdca-f1a351390f1e" alt="" width="295"><figcaption><p>Employee statuses</p></figcaption></figure>

To enable this feature, populate the "**Quick Dial**" section with employees. Tap "**EDIT**" at the top of the screen. Then tap the "**+**" at the bottom of the screen to add entries:

* **Title** – The employee’s name to display in "**Quick Dial**."
* **Number or SIP Address** – The employee’s extension number.

Tap "**Save**."

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fg3I1zJjV9rhGqBBchcuD%2FnewQuickDialContact.jpg?alt=media&amp;token=7f7321de-4003-4258-a7db-7c1468c52bd0" alt="" width="295"><figcaption><p>New employee in the "Quick Dial" section</p></figcaption></figure>

## Configuring GroundWire with Encryption

1. In the MikoPBX web interface, open the employee’s SIP account settings. Change the "**Transport Protocol**" to "**tls**."

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FTjwsKSSuVqXARMRtGcDf%2FtlsMode.jpg?alt=media&amp;token=9da2c7f1-e0ce-4fe7-96d0-5c7f0e63fe48" alt=""><figcaption><p>Changing the transport protocol</p></figcaption></figure>

2. In **Groundwire** → **Employee’s SIP Account Settings**, change the **"Domain"** field to **"MikoPBXAdress:NumOfTLSPort"**.

{% hint style="info" %}
You can find or change the TLS port in MikoPBX’s "**General Settings**" → "**SIP**."
{% endhint %}

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F1QhfVTfkNQdk4IDIAwxR%2FtlsDomain.jpg?alt=media&amp;token=b6da2745-79ec-4da2-8b26-398bf2e75589" alt="" width="295"><figcaption><p>Domain for the TLS connection</p></figcaption></figure>

3. Go to "**Advanced Settings**" → "**Transport Protocol**" and change "**udp**" to "**tls (sip)**."

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FzWIuJSvywa6I7AHYowTM%2FtlsSipss.jpg?alt=media&amp;token=01879aab-7aff-4836-8f01-86532ff8a154" alt="" width="295"><figcaption><p>Changing the transport protoco</p></figcaption></figure>

4. In the "**Advanced Settings**" of your SIP account, go to "**Secure Calls**" and, under the "**SDES**" section, set "**Incoming Calls**" and "**Outgoing Calls**" to "**Required**":

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FLKzYPFGggMBPlhuxyBeq%2FSDES.jpg?alt=media&amp;token=6c74c80c-f58a-47b3-b4be-4e331a1afebd" alt="" width="295"><figcaption><p>SDES Parameters</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mikopbx.com/mikopbx/english/faq/softphones/groundwire.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
