Twilio - Incoming Voice Webhook вызывается дважды за один и тот же звонок? - PullRequest
0 голосов
/ 29 апреля 2020

Попытка понять, почему входящий голосовой вызов webhook вызывается дважды.

Я использую функцию Azure с HTTP-триггером. Python 3.

Возвращает действительный TwiML один раз, когда я тестирую его через веб-браузер и просматриваю журналы.

<?xml version="1.0" encoding="UTF-8"?><Response><Say>hello this is a test </Say><Play digits="wwww#" /></Response>

Однако, когда я звоню по номеру Twilio, он начинается говоря «привет, это тест», затем следует звонок, и то же сообщение воспроизводится снова. Мой телефон затем показывает, что не удалось.

Когда я помещаю тот же код XML в корзину TwiML, он работает отлично, только один раз.

Возникла похожая проблема с этим человеком: Входящий голосовой веб-крючок вызывается дважды для одного и того же вызова


Дополнительная информация - код в функции

import logging
from twilio.twiml.voice_response import Say, Play, VoiceResponse
import azure.functions as func


def main(req: func.HttpRequest) -> func.HttpResponse:
    response = VoiceResponse()
    response.say('hello this is test bots')
    response.play('', digits='wwww#')

    return func.HttpResponse(str(response), status_code=200)

1 Ответ

1 голос
/ 30 апреля 2020

Спасибо Алану за помощь в решении этой проблемы.

Мне нужно было добавить заголовок Content-Type со значением 'text / xml'

добавленный параметр mimetype = 'text / xml 'к веселью c .HttpResponse ()

import logging
from twilio.twiml.voice_response import Say, Play, VoiceResponse
import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:
    response = VoiceResponse()
    response.say('hello this is test bots')
    response.play('', digits='wwww#')

    return func.HttpResponse(str(response), status_code=200, mimetype='text/xml')
...