I'm setting up an IVR in asterisk. It was working fine but I installed some new hardware and the sound has disappeared. I can see this in the console:

Feb 22 22:24:00 DEBUG[10555]: pbx.c:1697 pbx_extension_helper: Launching 'Set'
    -- Executing Set("SIP/", "__IVR_RETVM=") in new stack
Feb 22 22:24:00 DEBUG[10555]: pbx.c:1609 pbx_substitute_variables_helper_full: Expression result is '1'
Feb 22 22:24:00 DEBUG[10555]: pbx.c:1697 pbx_extension_helper: Launching 'ExecIf'
    -- Executing ExecIf("SIP/", "1|Background|custom/Sales") in new stack
Feb 22 22:24:00 DEBUG[10555]: channel.c:2432 set_format: Set channel SIP/ to write format slin
Feb 22 22:24:00 DEBUG[10555]: rtp.c:1372 ast_rtp_write: Ooh, format changed from unknown to ulaw
Feb 22 22:24:00 DEBUG[10555]: channel.c:1777 ast_settimeout: Scheduling timer at 160 sample intervals
    -- Playing 'custom/Sales' (language 'en')

I have no idea why I can't hear the sound even though it's saying 'Playing'. The file (custom/Sales.wav) is present, the permissions are right, ownership is correct, codecs ulaw and slin are allowed in sip.conf.

Can anyone give some hints on how to debug this thing? (Btw, I'm using FreePBX for configuring the IVRs).



It also helps to know what new hardware was installed.

If you don't hear any sound, the most basic debugging tool is to setup a [default] context that answers the phone and plays one of the default Asterisk sound files.

exten => s,1,Wait(0.5)             ; wait half a second for things to settle
exten => s,n,Answer()              ; pick up
exten => s,n,Playback(hello-world) ; play the hello-world.gsm sample
exten => s,n,Hangup()              ; bye now!

If your SIP phones hit the default context, then any incoming calls will play the "Hello World" sample sound.

This will at least tell you if the SIP phones are able to register with the server and place SIP calls, and tell you whether your dialplan is being reached at all.

| improve this answer | |

One small thing to check; from the asterisk CLI (run using asterisk -r), do a "sip show channels" while the recording is playing to confirm the codecs you expect are being used on the problem channel. On my systems, I've also discovered duplicate recordings with .WAV and .wav extensions, where each worked with specific codecs. When I've had similar problems, I found that the recordings were created with a different codec than what was currently in use. (ie; recorded from a handset connected via g729, then copied to a system using ulaw.)

| improve this answer | |
  • 1
    codec translation does not always work as you would expect. In my case for example, one phone was configured with G729, and had sounds played back in GSM, that the user could hear. Another phone 'preferred' G729, but was served sounds in Alaw, which translated into silence. – simonpa71 Oct 2 '17 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.