直接记录和转录用户的呼叫,或者在提示用户录音后从用户的键盘上收集输入。然而,我不清楚,我应该采取什么步骤来记录用户对问题的"描述"(在这种情况下)并收集用户输入,这将有助于我在同一呼叫中路由他们的"请求",以便TwiML可以在一个请求中发布此数据。
有人遇到过这种情况吗?如果遇到过,你能给我指出正确的方向吗?谢谢。
我在回答我自己的问题,以防将来有人需要帮助。
在我的特定场景中,我需要提示用户按下一个键,以便路由正在放置的"请求"。我还需要请求包含描述,因此还需要记录用户的声音。
这并不像听起来那么复杂(我现在知道了),您需要的是在收集按键时响应TwiML动作,使用另一个处理语音记录的XML文档。理论上,这个XML将使用从TwiML接收到的"数字"在第二个XML(路由)中构造一个新的动作src。
第一个XML看起来像这样,用来收集用户输入:<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather action="hxxp://example.com/pick_dish" timeout="10" finishOnKey="*">
<Say>Please press 1 for tacos, 2 for pancakes, 3 for pizza, etc.</Say>
</Gather>
</Response>
然后,当我们在hxxp://example.com/pick_dish收到$_REQUEST (PHP)时,我们将使用发送的Digits参数来替换响应XML中的"dish_id",如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>
Please describe the dish you selected after the beep.
Press the star key when finished.
</Say>
<Record
action="hxxp://example.com/save_dish/<dish_id>/description"
method="GET"
maxLength="20"
transcribe="true"
finishOnKey="*"
/>
<Say>I did not receive a recording</Say>
/Description路径将保存所提供的disdish_id的描述。