Audio Issues Troubleshooting Guide
Date: October 14, 2025 04:20 AM
Issues Reported:
๐ Current Status
###enabled verbose logging (level 5)
โ
Enabled debug logging (level 3)
โ
Verified codecs: ulaw, alaw, gsm are enabled
โ
Verified sound files exist (738 files installed)
โ
Verified file permissions (asterisk:asterisk, 644)
โ
Verified dialplan loaded correctly
โ
Verified VoicemailMain application available
๐งช Diagnostic Commands Run
Sound File Verification
# Checked directories - PASS
/usr/share/asterisk/sounds/digits/ - 90+ files
/usr/share/asterisk/sounds/vm-* - 100+ voicemail prompts
/usr/share/asterisk/sounds/ - 738 total filesPermissions fixed
chmod 644 on all sound files
chmod 755 on directories
owner: asterisk:asteriskModule Verification
# Echo application - LOADED
asterisk -rx "core show application Echo"
Result: Application availableSay applications - LOADED
asterisk -rx "core show applications" | grep Say
Result: SayNumber, SayDigits, SayUnixTime all availableVoicemail - LOADED
asterisk -rx "module show like voicemail"
Result: appvoicemailimap.so runningEndpoint/Codec Verification
# Extension 2001 codecs
Allowed: ulaw, alaw, gsm
RTP symmetric: Yes
Force rport: Yes
Direct media: No๐ฏ Likely Causes
Issue 1 & 2: 43/44 No Audio
Most likely cause: One-way RTP audio issue
Symptoms match:
- Call connects (so SIP signaling works)
- No audio heard (RTP not reaching client)
- Call works but silent
- Firewall blocking RTP - UDP ports 10000-20000 not open
- NAT/routing issue - RTP packets not reaching your device
- Codec negotiation - Client using codec Asterisk can't send
- STUN not working - External IP not properly discovered
Possible reasons:
Next steps to diagnose:
# While on a call to *43, check active channels
asterisk -rx "core show channels verbose"Check RTP statistics
asterisk -rx "rtp show stats"Check if RTP packets are being sent
(need to run during active call)
Issue 3: Voicemail Incomplete Prompts
Possible causes:
Files verified present:
Issue 4: Extension Dialing Not Enabled
Feature needed: Call transfers
Current status: Transfer features may not be enabled in features.conf
What's needed:
๐ง Fixes Applied
1. Enabled Verbose Logging
asterisk -rx "core set verbose 5"
asterisk -rx "core set debug 3"Now all calls will show detailed logs in /var/log/asterisk/messages
2. Fixed File Permissions
chmod 644 /usr/share/asterisk/sounds/*/
chmod 755 /usr/share/asterisk/sounds directories
chown asterisk:asterisk all sound files3. Verified Dialplan
All feature codes properly loaded:
๐ Test Procedure
Test 1: Echo Test (*43)
What to do:
Expected:
If still silent:
# Check logs during call
tail -f /var/log/asterisk/messages | grep -i "echo\|rtp\|audio"Check if firewall allows RTP
netstat -tulpn | grep asterisk | grep -E "100[0-9]{2}"Verify RTP ports open
sudo firewall-cmd --list-all | grep 10000-20000Test 2: Time Announcement (*44)
What to do:
Expected:
If still silent:
# Check if SayUnixTime works
tail -f /var/log/asterisk/messages | grep -i "sayunixtime\|playback"Test 3: Voicemail (*97)
What to do:
Expected sequence:
If still incomplete:
# Check voicemail context
asterisk -rx "voicemail show users"Check sound file playback
tail -f /var/log/asterisk/messages | grep -i "vm-\|voicemail"Test 4: Queue Prompts (45, 46)
Test *45 (Login):
Test *46 (Logout):
Verify:
# Check which prompts are configured
grep -A 3 "exten => \*45" /etc/asterisk/extensions.conf
grep -A 3 "exten => \*46" /etc/asterisk/extensions.conf๐จ Real-Time Monitoring
During Your Next Test Call
Open SSH terminal and run:
# Terminal 1 - Watch messages log
tail -f /var/log/asterisk/messagesTerminal 2 - Watch channels
watch -n 1 'asterisk -rx "core show channels"'Terminal 3 - Watch RTP
watch -n 1 'asterisk -rx "rtp show stats"'Then dial *43 and note:
๐ What I Need From You
Please Test and Report:
For *43 (Echo):
For *44 (Time):
For *97 (Voicemail):
For 45/46 (Queue):
Also Check:
On your phone/softphone:
๐ง Additional Fixes to Try
If RTP/Audio Issues Persist
Option 1: Disable strictrtp temporarily
# Edit /etc/asterisk/rtp.conf
strictrtp=noReload
asterisk -rx "module reload resrtpasterisk.so"Option 2: Check external IP
# Verify external IP is correct
asterisk -rx "pjsip show transports"Should show:
transport-udp: 64.20.46.178:5060
transport-tailscale: 100.64.0.2:5060
Option 3: Test from different network
Option 4: Simplify codec list
# Test with only ulaw
Edit endpoint in pjsip.conf:
disallow=all
allow=ulawReload
asterisk -rx "module reload res_pjsip.so"๐ Expected Log Output
Successful *43 Echo Test
[timestamp] VERBOSE[xxxxx] pbx.c: Executing [*43@flexpbx-internal:1] NoOp("PJSIP/2001-xxxxx", "Echo Test")
[timestamp] VERBOSE[xxxxx] pbx.c: Executing [*43@flexpbx-internal:2] Answer("PJSIP/2001-xxxxx", "")
[timestamp] VERBOSE[xxxxx] pbx.c: Executing [*43@flexpbx-internal:3] Wait("PJSIP/2001-xxxxx", "0.5")
[timestamp] VERBOSE[xxxxx] pbx.c: Executing [*43@flexpbx-internal:4] Echo("PJSIP/2001-xxxxx", "")
[timestamp] VERBOSE[xxxxx] app_echo.c: Echo mediaIf you see warnings/errors here, that's the problem!
๐ Queue Prompts Configuration
Current Mapping (Verified Correct)
\*45 - Queue Login:
NOT in queue โ Plays: callcueue-login.wav (5.8 sec)
ALREADY in queue โ Plays: callcueue-loged-in-to-out-prompt.wav (8.3 sec)\*46 - Queue Logout:
IN queue โ Plays: callcueue-logout.wav (7.5 sec)
NOT in queue โ Plays: callcueue-loged-out-to-in-prompt.wav (11.0 sec)Files exist in:
/usr/share/asterisk/sounds/callcueue-*.wav/usr/share/asterisk/sounds/callcueue-*.ulaw/usr/share/asterisk/sounds/callcueue-*.gsmAll 3 formats available for compatibility.
โ Action Items
/var/log/asterisk/messages during test callStatus: Diagnostics enabled, awaiting test results
Next: Based on test results, we'll know if it's:
Logging: All enabled - will show detailed info on next call