Управление звонками с несколькими агентами Twilio
Я работаю в проекте с Twilio, чтобы делать и принимать звонки. Итак, представьте, что вы хотите сделать звонок, а с другой стороны, у нас есть 3 агента, чтобы принять звонок, с тремя номерами twilio. Я хочу показать входящий вызов только одному из агентов (случайным образом).
Я не уверен, что для достижения такого поведения я должен создать другой ответ с другим или другим агентом.
Например:
response = Twilio::TwiML::Response.new do |r|
# Should be your Twilio Number or a verified Caller ID
r.Dial :callerId => caller_id do |d|
d.Client <custom_client_name>
end
или же
response = Twilio::TwiML::Response.new do |r|
# Should be your Twilio Number or a verified Caller ID
r.Dial :callerId => caller_id do |d|
d.Number <custom_client_number>
end
Спасибо вам, ребята!
2 ответа
Twilio разработчик евангелист здесь.
Это звучит как довольно хороший пример использования нашего TaskRouter API. TaskRouter позволяет помещать входящие вызовы в очередь, которая будет использовать рабочий процесс для назначения этих вызовов операторам, когда они доступны.
В этом сообщении блога показано, как построить систему очередей на основе приоритетов с помощью TaskRouter, но если вы просто проследите за ней до момента, пока не наступят приоритеты, у вас будет очередь, в которой агентам автоматически назначаются входящие вызовы.
Дайте мне знать, если это поможет.
Я вижу сценарий так:
/- agent 1
client -> pick random |- agent 2
(make call) \- agent 3
Для этого я бы:
- Отслеживайте доступность агента независимо от Twilio. Например, каждый раз, когда агент начинает вызов, вы отмечаете его как в вызове на своем бэкэнде, а когда вызов заканчивается, вы снова отмечаете агента доступным.
- Если конечная точка голосовой связи поражена, когда клиент запрашивает новый вызов, вы запрашиваете доступных операторов и выбираете одного случайным образом. Затем верните необходимый TwiML, чтобы набрать этого агента. Вы также можете настроить конференцию для большей гибкости (например, переключение операторов во время разговора).
- Если агент недоступен, верните TwiML с
<say>
глагол, сообщающий клиенту, что никакие агенты не доступны.