使用语音API在Twilio Flex中创建会议后,如何为每个参与者添加挂断按钮呼叫控件?

时间:2019-08-02 05:58:05

标签: twilio twilio-flex

我已经成功地能够在flex的右侧创建一个自定义目录弹出组件,以便转移到外部号码。我已经通过flex手动使用了Voice API,这样做之后,我注意到flex会自动将大多数必要的控件添加到TaskDetailsPanel> ParticipantCanvas和TaskDetailsButtons中。唯一缺少的部分是ParticipantCanvas中的挂断按钮。我如何自己创建它们,直到可能时仍使用默认提供的控件?

我还注意到与会者2的静音按钮可以正常工作,只是它只是使错误的与会者1静音。(1是添加到会议中的第一个呼叫者) 我不一定需要本机Flex具有的“切换”功能来进行热传输。我只是具有静音功能,并删除参加者的能力。

enter image description here

在这里,它链接到v1.11以来内置在flex中的热传递的价值所在

https://www.twilio.com/docs/flex/warm-transfer-end-user-guide

我最终将使用此本机转接功能,但是现在我只需要转接到外部号码,以便可以逐步推出。

我认为可行的一种方法是侦听语音任务属性的更改,特别是

task.attributes.conference

如何监视任务属性的更改并做出相应的响应?

我看到我可以按此处所述调用'KickParticipant'。

https://www.twilio.com/docs/flex/actions-framework

只需弄清楚如何添加对除我本人以外的每个参与者都有引用的UI控件(因为技术上有3个参与者)。希望这可以在现有TaskDetailsPanel中实现,这样我就不必完全重写TaskDetailsPanel或TaskDetailsButtons。

更新: 我已经能够成功创建一个踢参与者的twilio函数。我有可用的版本时,会更新最新消息。既然有1个以上的参与者,还需要弄清楚如何为每个参与者添加踢按钮吗?

1 个答案:

答案 0 :(得分:0)

我现在可以通过将其放置在插件中找到解决方案。

    const liveParticipantCountGreaterThan2 = (props) => {
  return props.task && props.task.conference && props.task.conference.liveParticipantCount > 2;
};

flex.DefaultTaskChannels.Call.addedComponents = [{
  target: "CallCanvasActions",
  component: <CustomCancelTransferButton key="someKeyName" />,
  options: { if: liveParticipantCountGreaterThan2 }
}];

不过,最好为每个参与者添加挂断按钮,但可能还要添加另一个迭代。