Summary: We need a solution to allow our call center agents to click on a button in a PHP page which then causes the Asterisk server to barge into the current queue call of the agent and play back a recorded message. After the playback is complete, Asterisk needs to "listen" for the external caller to press "1" and must ignore any key presses by the queue agent.
1) Patient calls in and speaks with a queue agent in our call center.
2) When the agent reaches the right point in the call using our web-based script system, the agent presses a button on the web page.
3) The press of the button sends a command to the Asterisk server to barge the agent's existing call and playback a recorded message--audible to both agent and the patient. We will need help understanding how to pass the necessary variables (1) agent number or unique call id, and (2) patient ID number) from the PHP-based web page on a web server to the Asterisk server.
4) When playback is completed, Asterisk continues to "listen" on the call until the patient presses "1" or the call is ended by either the patient or the agent.
5) Asterisk must ignore DTMF codes pressed by agent on their local phone--and accept only touch tones from the patient.
6) Once the "1" is detected from the caller, Asterisk must play one more pre-recorded sound clip and add an entry to a MySQL table noting the acceptance, the agent number, the patient ID (provided earlier via the remote call from the web page), and the exact time and date of acceptance.
7) Asterisk does not need to do anything further on the call. The agent or patient continue talking as needed until one of them hangs up.
IDEALLY: This process would work regardless of who initiated the call (whether we answer the patient's call or if we call the patient)-- but for the purpose of this project, it is inbound calls which we need to make this work for.