TwiML - 我可以在同一通话中记录用户并收集键盘输入吗?
TwiML - Can I record an user AND gather keypad inputs in the same call?
它可以非常直接地记录和转录用户的电话,或者在用录音提示用户后从用户的键盘收集输入。然而,我不清楚我应该采取什么步骤来记录问题的用户 'description'(在这种情况下)并收集用户输入,这将帮助我在同一呼叫中路由他们的 'request',这样 TwiML 就可以在一次请求中 POST 此数据。
有没有人遇到过这种情况,如果遇到过,能指点一下正确的方向吗?谢谢。
我正在回答我自己的问题,以防将来有人需要帮助。
在我的特定场景中,我需要提示用户按下一个键以路由放置的 "request"。我还需要包含描述的请求,因此还需要记录用户的声音。
这并不像听起来那么复杂(我现在知道了),您需要的是在收集按键时响应 TwiML 操作,以及另一个处理语音记录的 XML 文档。这个 XML 理论上会使用从 TwiML 收到的 "digits" 在第二个 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 参数替换我们响应中的 "dish_id" XML 像这样:
<?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 路径将保存所提供的 dish_id 的描述。
它可以非常直接地记录和转录用户的电话,或者在用录音提示用户后从用户的键盘收集输入。然而,我不清楚我应该采取什么步骤来记录问题的用户 'description'(在这种情况下)并收集用户输入,这将帮助我在同一呼叫中路由他们的 'request',这样 TwiML 就可以在一次请求中 POST 此数据。
有没有人遇到过这种情况,如果遇到过,能指点一下正确的方向吗?谢谢。
我正在回答我自己的问题,以防将来有人需要帮助。
在我的特定场景中,我需要提示用户按下一个键以路由放置的 "request"。我还需要包含描述的请求,因此还需要记录用户的声音。
这并不像听起来那么复杂(我现在知道了),您需要的是在收集按键时响应 TwiML 操作,以及另一个处理语音记录的 XML 文档。这个 XML 理论上会使用从 TwiML 收到的 "digits" 在第二个 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 参数替换我们响应中的 "dish_id" XML 像这样:
<?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 路径将保存所提供的 dish_id 的描述。