Мне нужна помощь в достижении функциональности с помощью twilio API.
Я хочу позвонить пользователю и воспроизвести предварительно записанный аудиофайл и получить статус / событие обратного вызова.
Вот чего я достиг.
Twilio.init(TWILIO_SID, TWILIO_AUTH_TOKEN);
Call call = Call.creator(new PhoneNumber(callDetailModel.getToNumber()),
new PhoneNumber(FROM_TWILIO_NUMBER),
new URI(API_URL + "/call/twilio/voice/demo-voice")).create();
Сейчас в "/ call / twilio / voice / demo-voice" я создаю TwiML.
Play play = new Play.Builder(
"demo-play.wav")
.loop(1).build();
Number number = new Number.Builder(request.getParameter("Caller"))
.statusCallback(API_URL + "/call/twilio/events-demo")
.statusCallbackMethod(Method.POST).statusCallbackEvents(Arrays
.asList(Event.INITIATED, Event.RINGING, Event.ANSWERED, Event.COMPLETED)).build();
Dial dial = new Dial.Builder()
.timeLimit(60)
.callerId(request.getParameter("Called"))
.record(Dial.Record.DO_NOT_RECORD)
.number(number).build();
VoiceResponse twiml = new VoiceResponse.Builder().dial(dial).play(play).build();
return (twiml.toXml());
А теперь в обратном вызове события мы проверяем, получал ли получатель вызов или нет, завершен он или нет и т. Д.
Теперь проблема в том, что когда пользователь получает вызов, автоматически воспроизводится голосовая почта Twilio, и после этого воспроизводится мой demo-play.wav . Мы хотим удалить эту голосовую почту twilio и хотим воспроизводить только demo-play.wav , который мы прошли через TwiML.
UPDATE:
Воспроизводимое аудио находится здесь.
https://vocaroo.com/i/s0KNEhHxUKX5
Также генерируется twiml что-то вроде этого
<Response>
<Dial timeLimit="7200" callerId="+1xxxxx" record="record-from-answer-dual">
<Number statusCallbackEvent="initiated ringing answered completed" statusCallback="http://38c5cb01.ngrok.io/call/twilio/events-demo" statusCallbackMethod="POST">+1zzzzzzzz</Number>
</Dial>
<Play loop="1">https://aws.xxx.H1OAOec30bbc5-bc3a-4251-a27c-2e4e41b386061521208641292FOIZ1.wav</Play>
</Response>
Я что-то упустил? Нужно ли передавать глагол Play
в Dial
? Если тогда как?