LogoLogo
www.mikopbx.comTelegram communityForum
English
English
  • MikoPBX Manual
    • Quick start
    • Getting to know MikoPBX
    • System requirements
  • Installation
    • Standalone Computer
    • Virtual Machine
      • VMware ESXi
      • VMware Fusion
      • VirtualBOX
      • VMware Workstation Pro
      • Hyper-V
      • Proxmox
    • Cloud
      • AWS
        • AWS deployment guide
        • AWS Marketplace
      • Microsoft Azure
      • Google Cloud
        • Google Cloud deployment guide
        • Google Cloud Marketplace
      • Hetzner cloud (In dev)
      • Digital Ocean
      • Alibaba Cloud
      • Vultr
    • Docker container
      • Docker installation and creating a user and directories
      • Running MikoPBX in a container
      • Running MikoPBX using docker compose
  • User manual
    • Telephony
      • Extensions
      • Call queues
      • IVR Menu
      • Conferences
      • Sound files
      • Call detail records (CDR)
    • Call Routing
      • Telephony providers
      • Incoming routing
      • Outbound routing
      • Night and Holiday Switch
    • Modules
      • Registration in the modules marketplace
      • Module management
      • Application dialplans
    • Maintenance
      • PBX update
        • Updating from the web interface
        • Updating from the MikoPBX console
        • Updating the docker
      • System log entries
      • Reboot
    • Network and Firewall
      • Network interface
      • Firewall
      • Anti brute force
    • System
      • General settings
      • Time Settings
      • Mail settings
        • Setting up E-mail notifications for the Gmail mail service
      • Asterisk Manager Interface(AMI)
      • System files customisation
  • FAQ
    • Setup
      • Installation on MDADM RAID1
      • Fine-tuning the firewall
      • Migrating MikoPBX to Another Server
        • Transfer Using Backup
        • Transfer using scheduled backup (SFTP)
        • Transfer using rsync
      • Reset to factory settings
      • Monitoring Providers on MikoPBX
    • Management
      • Change the login name
      • The extra disk space has run out, the disk size has increased
      • Storing Recordings in a Shared Windows Folder
      • Resetting WEB Interface Credentials
      • Backup Internet and Provider Re-Registration
    • Troubleshooting
      • Connecting to the PBX using SSH
        • Connecting to PBX using SSH client (Putty)
        • Connecting via SSH (Windows)
        • Connecting via SSH (Linux/MacOS)
      • Connecting to a PBX using WinSCP
      • Getting logs using the tcpdump application
      • Capturing Logs from PBX using Wireshark
      • Traffic Analysis Using Sngrep
      • Adjusting the volume
      • Troubleshooting sound problems
      • Jitter Configuration
    • Incoming Routing
      • Choosing a provider when redirecting to a mobile
      • Notification of Employment, Call Waiting
      • Black and white lists
      • Allow additional dialing of the internal number in the queue
      • Output of information about the did number
      • Setting individual non-working hours for a provider account
      • An example of the implementation of a typical route of incoming calls
      • Routing by DID Number
      • Normalization of incoming phone number
      • Basic IVR example
    • Outbound routing
      • Add P-Preferred-Identity and Remote-Party-ID header
      • Conference with a regular external subscriber
      • Outgoing with internal number dialing
      • Remove all special characters from the dialed number
      • Prohibiting calls via a backup route
      • Calls to emergency numbers
      • Number Templates
        • Uniform distribution of outgoing
        • Sample template: calls to another country
        • How to prohibit the replacement of "+" with 00
        • Changing the number prefix from "+345" to "347"
        • Changing the number prefix from "345, 347" to "+345"
        • Removing the area code from the number
        • Adding the prefix "1" to the number
      • Making Calls Through a Specific Provider
    • Scenarios and cases
      • Generate extensions by REST API
      • Missed Call Telegram Notifications
      • Call the company from your mobile and dial an extension to call a third-party company
      • Sending an incoming fax to email
      • Customer's assessment of the quality of service
      • Simulation of external calls
      • Disabling "off-hours" for VIP numbers
      • Registering multiple accounts from one provider
      • Setting up individual non-working hours for several providers on one host
      • Disable forwarding to mobile for internal calls
      • Unique background music for the queue
      • Pause for Queue agent
      • Dynamic Queue Agents
      • Setting up the "Paging" function
      • Limit the number of authorizations per SIP account
      • Call Monitoring (ChanSpy)
      • Conversion of Call History FreePBX -> MikoPBX
      • SSL Certificate for MikoPBX Web Interface from OPNSense
      • Hiding the Caller’s Number from Employees
    • Interconnections
      • Merging two MikoPBX
      • Integration of MikoPBX and Grandstream UCM6202
      • MikoPBX and FreePBX (PJSIP)
      • MikoPBX and FreePBX (IAX)
    • VoIP providers
      • Mango
      • Zadarma
    • Softphones
      • Bria Solo
      • Sessiontalk
      • MicroSIP
      • Groundwire
      • Zoiper
      • Jitsi
      • PhonerLite
      • Linphone (MacOS)
      • Telephone(MacOS)
      • Configuring webRTC client SIMPL5
      • Softphone.pro
      • 3CX Softphone
      • PortSIP
    • IP telefones
      • Snom D120
      • Yealink T19
    • VoIP gateways
      • GoIP4
      • Grandstream HT503
      • Using a Huawei E173 USB Modem for Calls (chan_dongle)
  • Modules
    • MIKO modules
      • for 1C:Enterprise
        • Панель телефонии 4.0 для 1С
        • Панель телефонии 1.0 для 1С
        • Модуль умной маршрутизации
      • Users groups
      • CRM Bitrix24 integration
      • Autoprovision
      • Let's Encrypt
      • Access control management
      • Module auto dialer
      • Backup
      • Synchronization with LDAP/AD
      • Callback module
      • Extended call history
  • other
    • Changelog
      • MikoPBX 2024.1
      • MikoPBX 2023.2
      • MikoPBX 2023.1.223
Powered by GitBook
On this page
  • Introduction
  • Codecs
  • NAT
  • SIP ALG
  • Conclusion

Was this helpful?

Edit on GitHub
Export as PDF
  1. FAQ
  2. Troubleshooting

Troubleshooting sound problems

Last updated 7 months ago

Was this helpful?

Introduction

In the development of MikoPBX, we strive to make features as simple as possible so that even a beginner can quickly start using the system.

However, some issues can significantly complicate life for an unprepared user. One of these issues is poor call quality, such as one-way audio. In this article, I'll outline an approach to analyzing audio problems.

Codecs

This is likely the first thing to check. MikoPBX allows you to connect a wide variety of SIP / IAX devices (endpoints), such as:

  • Hardware SIP phone

  • Analog phone (via a SIP gateway)

  • Provider account, where the "endpoint" could be either physical hardware or an application (such as Asterisk)

Devices attempt to "negotiate" a session by exchanging information about supported codecs (media formats), such as gsm / ulaw / alaw, etc.

If the devices cannot find a common codec, the call will likely drop, and the logs will show an error indicating that no compatible codec was found.

In MikoPBX, codecs are configured in the "General Settings" - "Audio/Video Codecs" section (). The most common codec in Russia is alaw. For working with webRTC, you should enable the opus codec.

NAT

Incorrectly configured network settings are the most common problem.

Typical Example

At a company, there may be several local subnets:

  • 172.16.32.0/24 - Office

  • 172.16.33.0/24 - VPN

  • 172.16.34.0/24 - Other

There is an external IP address 109.61.231.230. Employees need to connect to the PBX from the following subnets:

  • Office

  • VPN

  • Directly from the internet (LTE) for mobile employees

For external employees to connect, you will need:

  • A public, static IP address - purchased from the internet service provider.

In the firewall, all local subnets must be specified. Be sure to check the box "This is a local subnet or VPN...". If this box is not checked, the PBX will treat the subnet as external, and SIP messages will use the external PBX address instead of the internal one, causing audio issues.

In PBX versions 2021.4.1+, you can specify a STUN server, which helps correctly determine the external address. From my experience, this is useful for webRTC clients:

Symptoms of incorrect configuration:

  • One-way audio

  • No audio in both directions

  • Inability to make calls

  • Calls not completing

SIP ALG

"SIP ALG" is a Network Address Translation (NAT) helper feature found in most modern routers.

When the router receives a SIP packet with an INVITE, it modifies the IP address in the packet, which can cause communication problems.

If you're not sure how to configure it properly, disable SIP ALG on your router.

Other Issues

There are several problems that can be harder to detect at first glance. In practice, I have encountered the following:

  • Disk failure for storing data - This can cause improper PBX operation, leading to poor call quality.

  • Unreliable internet connection - A damaged network cable (surprisingly common) or overloaded network with torrent downloads, etc.

  • Hardware issues

Here's an example of network traffic analysis for a problematic call:

In the image, you can see "red-yellow dots". These represent "dropped packets" that will not be played back to the client. In this case, increasing the Jitter Buffer value to 800 stabilized the audio and eliminated stuttering.

Although the client "received" all the packets, due to significant delays, they were not played back. This specific problem was related to the use of the Proxmox virtualization system and was resolved by switching the client to a physical server.

Conclusion

  • When experiencing call quality issues, check the NAT settings.

  • Ensure that all devices support the selected codecs.

  • Capture traffic logs and send them to your provider for analysis.

In the network interface settings, specify the external PBX address ().

Map the external SIP and RTP ports on the router () to the corresponding PBX ports (one-to-one). For example, if the PBX uses SIP port 5060 and RTP ports from 10000 to 20000, these ports should be opened on the router as well.

and the PBX firewall.

see wiki
Enable
configure
Stun server address
Example of network traffic analysis
see wiki
see wiki