Command SayNumber gives Failed to obtain media

A have problems with SayNumber command on newly installed FreePBX 15.0.16.20. There is no sound for numbers played with SayNumber, but when I put eg. Playback(digits/90) in dialplan - it works fine. I tested this for en, en?_GB and fr languages using such simple dialplan (commenting out necessary lines):

[test]
exten => 100,1,NoOP(test)
 same => n,Set(CHANNEL(language)=en)
 same => n,SayNumber(90)
; same => n,Playback(digits/90)
 same => n,Hangup()

The log output during silent playing is:
[2020-02-17 15:26:38] VERBOSE[1524][C-0000000f] pbx_builtins.c: Goto (test,100,1)
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] pbx.c: Launching 'NoOp'
[2020-02-17 15:26:38] VERBOSE[1524][C-0000000f] pbx.c: Executing [[email protected]:1] NoOp("SIP/457-0000000e", "test") in new stack
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] pbx.c: Launching 'Set'
[2020-02-17 15:26:38] VERBOSE[1524][C-0000000f] pbx.c: Executing [[email protected]:2] Set("SIP/457-0000000e", "CHANNEL(language)=en") in new stack
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] pbx.c: Launching 'SayNumber'
[2020-02-17 15:26:38] VERBOSE[1524][C-0000000f] pbx.c: Executing [[email protected]:3] SayNumber("SIP/457-0000000e", "90") in new stack
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] media_cache.c: Failed to obtain media at 'digits/90'
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] channel.c: Channel SIP/457-0000000e setting write format path: ulaw -> ulaw
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] res_rtp_asterisk.c: Setting the marker bit due to a source update
[2020-02-17 15:26:38] DEBUG[1524][C-0000000f] channel.c: Scheduling timer at (50 requested / 50 actual) timer ticks per second
[2020-02-17 15:26:38] VERBOSE[1524][C-0000000f] file.c: <SIP/457-0000000e> Playing 'digits/90.ulaw' (language 'en')

Digit files in EN variant are available in 4 formats: ulaw, alaw, g722 and sln16, path is: /var/lib/asterisk/sounds/en/digits - all seems to be correct (this is newly installed system).
The only difference that comes to me analyzing logs is that log:
res_rtp_asterisk.c: Setting the marker bit due to a source update
occurs only when SayNumber command was issued.

Any ideas?

You are looking at debug messages which are just that, debug. The specific “Failed to obtain media” is because it’s not in the HTTP media cache which is expected. The sound file is playing back, so that’s not your problem.

Are you answering the channel before calling SayNumber? That is a behavior difference between Playback and it.

1 Like

Thats it! The reason for this behavior was I didn’t answer call before calling SayNumber. Now it works! Thanks a lot.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.