I am using asterisk with normal PHP AGI following this link the problem is that my PHP AGI takes 5 seconds to execute .I just want to set some waiting tone for the user to wait until the AGI is been processing. On the same link I found something:
set music: Enable/Disable Music on hold generator, example "SET MUSIC ON default
but I don't know exactly how to use I mean what would be the exact syntax and where do I put it.
I have tried adding
same => n,Set(CHANNEL(musicclass)=default)
but it didn't work.
If you use phpagi, you have do something like this
http://phpagi.sourceforge.net/phpagi2/docs/phpAGI/AGI.html#methodset_music
Sure you need first describe myholdclass in /etc/asterisk/musiconhold.conf
I have an easier solution for your problem.
You use Asterisk AGI for it, without needing to create an AGI script (I do not like the AGI mechanism. I have invented a framework that is more powerful, easier and flexible and allows me to do crazy stuff with Asterisk without ever touching the Dial plan or any other config file).
For you problem, just do the following;
create a symbolic link for the '/bin/echo' application in the agi directory by:
from your dial plan, start music on hold by calling
exten => s,n,AGI( echo, SET MUSIC ON)
exten => s,n,AGI( echo, SET MUSIC OFF)
This is the easiest way without needing to create AGI pages.
Please Check Out The Playtones Command.
You put some sound file into your sound directory:
Then call the playback function:
For more information: http://www.voip-info.org/wiki/view/Asterisk+cmd+Playback