【发布时间】:2016-02-11 20:03:32
【问题描述】:
我使用的是 Java,但问题与语言无关,因此我也将其发布在 twilio-PHP 标记下。
我的应用程序需要连接两个客户:A 和 B。我想转录对话并查明其中一方是否没有接听并将另一方屏蔽到语音邮件。
我正在按照click-to-call-tutorial中的步骤进行操作
不过,Rest API 似乎支持录音但不支持转录。我成功可以做到:
Map<String, String> params = new HashMap<String, String>();
params.put("From", myTwilioNumber);
params.put("To", customerAPhoneNumber);
params.put("Url", "http://MyHandler.jsp");
params.put("IfMachine", "Hangup");
params.put("Record", "true");
Call call = client.getAccount().getCallFactory().create(params);
记录整个对话,但不转录!
附带说明 -
params.put("IfMachine", "Hangup");
确实挂断,当到达语音邮件时,但不是在留下带有随机噪音的语音邮件之前。看起来 Twilio 正在“探测”响应,当它理解到语音邮件时,背景噪音已经被记录下来。这是糟糕的用户体验。有什么建议吗?
此外,我的呼叫处理 servlet 会:
TwiMLResponse twimlResponse = new TwiMLResponse();
Say sayMessage = new Say(
"Hi, customer A, stay on line to speak with customer B?");
twimlResponse.append(sayMessage);
Dial dial = new Dial(customerBPhoneNumber);
twimlResponse.append(dial);
但是当我查看 TwiML Verbs 时,没有地方可以设置 params.put("IfMachine", "Continue") 。因此,第二次调用的字段 call.getAnsweredBy() 为空。换句话说,我不知道客户 A 和 B 之间是否发生过对话。
此外,[TwiML 动词记录] (https://www.twilio.com/docs/api/twiml/record) 确实允许转录,但如果我允许的话
twimlResponse.append(new Record());
它停止对话并记录其中一位客户。
所以我无法指示 REST API 进行转录,而且 TwiML Verbs 甚至不会以我想要的方式记录对话。
谁能帮忙?
谢谢。
【问题讨论】:
标签: twilio twilio-php twilio-click-to-call