Как установить свойство assignment_callback 'from' в исходный номер вызывающего абонента?

Наше приложение Twilio соединяется с TaskRouter для обработки очередей вызовов, и я изо всех сил пытаюсь установить правильные параметры в инструкции "dequeue".

Возможно, это неправильный способ сделать это, но он настроен таким образом, чтобы при поступлении вызова он принимал тоны DTMF и отправлял их в функцию постановки в очередь, где вызовы направляются в различные TaskQueues (поддержка, продажи и т. Д.)..). Насколько я понимаю, когда вызов ставится в очередь клиенту Twilio, Twilio отправит его на правильный TaskQueue. Когда работник становится доступным в этом TaskQueue, Twilio направляет данные задачи по URL-адресу assignment_callback.

Итак, как я могу установить свойство from в моей инструкции dequeue в качестве номера вызывающего абонента? Если я оставлю это поле пустым, он будет установлен на мой зарегистрированный номер Twilio. Я просто хочу, чтобы номер from на наших SIP-телефонах показывал, кто звонил, было бы здорово, если бы я мог просто получить аргумент "вызывающего" из URL-адреса assignment_callback и установить это значение в инструкции dequeue.

1 ответ

Решение

Выяснилось, что я могу просто запросить параметр TaskAttributes, который возвращает строку JSON, содержащую атрибут "from", который возвращает номер вызывающего абонента:

@app.route('/assignment_callback', methods=['GET', 'POST'])
def assignment_callback():
    task_attributes = json.loads(request.values.get('TaskAttributes', None))

    ret = '{"instruction": "dequeue", "from": "' + task_attributes['from'] + '", "post_work_activity_sid": "WAXXXXXXXXXXXXXXXXXXX"}'
    resp = Response(response=ret, status=200, mimetype='application/json')

    return resp
Другие вопросы по тегам