Acording to the book, I'm supposed to put things into what Asterisk thinks is its default audio file location, /var/lib/asterisk/sounds, and I'm supposed to be able to create a custom directory off of that path and use it in a relative-syntax way in the Playback directive, like so: ... same => n,Playback(mysounds/mygreeting) I'm here to tell ya, it doesn't work on my system. However, if I write: same => n,Playback(/var/lib/asterisk/sounds/mydir/mygreeting) it works fine. Where is the default directory defined? I search every configuration file and found no such definition. And then there was this: When I finally got my system working after all the connectivity and extension-not-found and endpoint-not-found nonsense straightened out, I of course tried the hello-world standard startup test. It didn't work. Why? Because when you install Asterisk version 16 from the Debian distro site, you don't get the core sounds, and when you do install the core sounds package, they don't get put into /var/lib/asterisk/sounds. Oh no--they get put into /usr/share/asterisk/sounds. In there, I found several directories such as 'en' and 'en_us'. I copied the files from the en_us directory into /var/lib/asterisk/sounds and hello-world worked fine. So then I created a custom directory and put my own things in it, changing the Playback statement to the first one above, and it failed. I have to specify the full path instead of using the relative syntax version thereof. This is technically not a problem, more just a curiosity as to why it didn't work the way I thought it's supposed to.
asterisk at phreaknet.org
2023-May-27 15:40 UTC
[asterisk-users] A stupid problem with Playback
On 5/27/2023 11:37 AM, Steve Matzura wrote:> Acording to the book, I'm supposed to put things into what Asterisk > thinks is its default audio file location, /var/lib/asterisk/sounds, > and I'm supposed to be able to create a custom directory off of that > path and use it in a relative-syntax way in the Playback directive, > like so: > ... > > same => n,Playback(mysounds/mygreeting) > > I'm here to tell ya, it doesn't work on my system. However, if I write: > > same => n,Playback(/var/lib/asterisk/sounds/mydir/mygreeting) > > it works fine. Where is the default directory defined? I search every > configuration file and found no such definition./var/lib/asterisk/sounds/en Relative paths are relative to your language-specific directory.> And then there was this: When I finally got my system working after > all the connectivity and extension-not-found and endpoint-not-found > nonsense straightened out, I of course tried the hello-world standard > startup test. It didn't work. Why? Because when you install Asterisk > version 16 from the Debian distro site, you don't get the core sounds, > and when you do install the core sounds package, they don't get put > into /var/lib/asterisk/sounds. Oh no--they get put into > /usr/share/asterisk/sounds. In there, I found several directories such > as 'en' and 'en_us'. I copied the files from the en_us directory into > /var/lib/asterisk/sounds and hello-world worked fine. So then I > created a custom directory and put my own things in it, changing the > Playback statement to the first one above, and it failed. I have to > specify the full path instead of using the relative syntax version > thereof. This is technically not a problem, more just a curiosity as > to why it didn't work the way I thought it's supposed to.A great reason to avoid Asterisk packages and compile from source instead. You'll save yourself a lot of headaches.