Евангелист разработчиков Twilio здесь.
Из документации по звонкам , есть еще некоторые подробности о statusCallback
:
URL, который Twilio будетотправлять асинхронные веб-запросы на каждое событие вызова, указанное в параметре StatusCallbackEvent.Если событие не указано, Twilio отправит завершено по умолчанию.
Параметр StatusCallbackEvent
может быть установлен на любое или несколько из инициированных, вызывающих, отвеченных и завершенных.
Поскольку у вас нет настройки события, вы используете событие completed
по умолчанию.Это событие должно быть запущено после завершения вызова.Если вы видите, что он срабатывает до вызова вашего URL, используете ли вы другие события?
Другое дело, что эти события запускаются асинхронно по отношению к вызову.Даже если событие ringing
сработало, к тому времени, когда ваш веб-сервер ответит на него, вызов может быть завершен.Таким образом, я бы программировал для защиты состояния вызова, не предполагая, что вызов определенно выполняется.
Более четко: события запускаются асинхронно, поэтому вы не можете гарантировать, что обратный вызов answered
будет запущен до или после получения параметра url
.