Ответ на голосовые вызовы Twilio и разговор

Я реализовал вызов Android Twilio в этом руководстве, https://github.com/twilio/voice-quickstart-android Все работает отлично, как они уже упоминали. Звонит звонок. Я могу присутствовать на звонке и слушать сообщение VoiceResponse, которое я сохранил на сервере. Мое требование: мне нужно поговорить с одним приложением Android Twilio с другим Android с тем же приложением Twilio вместо получения сообщения VoiceResponse. Если я звоню на реальные телефонные номера, я могу говорить и слушать без каких-либо проблем, но от приложения к приложению разговор не работает.

Я использую node js в качестве кода сервера, код первого звонящего приведен ниже.

client.api.calls.create({
            url: url,
            to: phoneNumber,
            from: callerId,
        }, function(err, call) {
            if (err) { console.error('There was a problem starting the call: ', err); }
            console.info('Call with sid: ${call.sid} was started');
        });

xml-ответ для URL-адреса

router.post('/callSecond', function(request, response) {
        const voiceResponse = new VoiceResponse();
        const dial = voiceResponse.dial({ callerId: 'client:al' });
        voiceResponse.say("Congratulations! You have received your first inbound call! Good bye. Welcome to Twilio! Welcome to Twilio!!!! Welcome to Twilio");
        dial.client("leo");
        console.info('Response :' + voiceResponse.toString());
        response.send(voiceResponse.toString());

    });

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

заранее спасибо

Вы пробовали то, что здесь описано: (github.com/twilio/voice-quickstart-android#bullet10)?

Alex Baban 02.05.2018 17:01

да. Я могу попытаться вызвать с одного телефона на другой с помощью приложения, а затем счетчик времени вызова увеличивается, и я не слышу, что говорю с одного телефона на другой телефон @AlexBaban

shamna 03.05.2018 07:54

Что вы имеете в виду, что звонок из приложения в приложение не работает? Где ломается? У вас есть какие-нибудь журналы, которыми вы можете поделиться?

philnash 11.05.2018 06:10

Я следовал этому руководству, чтобы создать свое приложение github.com/twilio/voice-quickstart-androidgithub.com/twilio/voice-quickstart-server-node. когда я звоню с одного телефона на другой, он дает voiceResponse.say () я настраиваю входящую функцию и отключается, нет времени разговаривать друг с другом @philnash

shamna 13.05.2018 07:55

Хорошо, я немного запутался. Вы пытаетесь вызвать между двумя приложениями Android. Почему вы инициируете вызов с помощью Node.js, а не в приложении?

philnash 14.05.2018 03:23

Согласно этому документу github.com/twilio/voice-quickstart-android нам нужен внутренний сервер для завершения вызова, верно? поэтому, когда я называю это плохим, идите и проверяйте URL-адрес из учетной записи Twiml и обрабатывайте его. и эта функция называется client.api.calls.create ({url: url, to: phoneNumber, from: callerId,}); Он запускается из самого приложения, затем идет бэкэнд. Я уже поднял заявку в twilio для этого, 1343231. @philnash

shamna 14.05.2018 09:29

Когда вы выполняете вызовы между приложениями, вам нужен сервер, но он не должен инициировать вызов. Когда вы создаете маркер доступа на сервере, вы устанавливаете SID приложения TwiML для исходящих вызовов. Голосовой URL-адрес для приложения TwiML - это то место, где вам снова нужен сервер, и он должен возвращать TwiML, который соединяет вашего первоначального клиента с клиентом, который они вызывают, используя <Client>. Затем вы инициируете вызов из своего Android-приложения, и Twilio запрашивает TwiML из вашего голосового URL-адреса и соединяет вызов с другим клиентом.

philnash 15.05.2018 01:28

См. Шаг 10 в инструкциях по быстрому запуску и VoiceActivity, чтобы узнать, как это должно работать в приложении.

philnash 15.05.2018 01:28

Да, я выполнил эти инструкции. Когда я звоню из одного приложения в другое, он звонит, и я могу принять вызов, он дает мне сообщение с поздравлением и отключается. Что я должен добавить в код, чтобы звонок продолжался и разговаривал друг с другом. @philnash

shamna 15.05.2018 07:30

Итак, для чего нужен код для инициирования вызова из Node.js?

philnash 15.05.2018 07:32

код инициации вызова - это страница github.com/twilio/voice-quickstart-server-node/blob/master/s‌ rc /…, здесь функция placeCall () запускает вызов, а функция incoming () - сообщение VoiceResponse выходит @philnash

shamna 15.05.2018 07:42

Правильно, вам нужно инициировать вызов из приложения Android с помощью голосового SDK. Не с сервера. Вот часть краткого руководства, которая обрабатывает вызов из Android: github.com/twilio/voice-quickstart-android/blob/master/app/s rc /…. У вас есть от <Dial> до <Client> в коде из вашего вопроса. Вы можете удалить say, и он должен работать.

philnash 15.05.2018 07:47

Если я удалю часть say, она отключится примерно через 1 секунду. с этим ответом: <? xml version = "1.0" encoding = "UTF-8"?> <Response> <Dial callerId = "+ test_number" /> </Response> @philnash Я могу поделиться SID вызывающего абонента для этого, если вам нужно

shamna 15.05.2018 08:39

Ах хорошо. <Dial> не должен быть таким пустым. У вас все еще есть строка кода, вызывающая dial.client(‘leo’)?

philnash 15.05.2018 08:41

я уже создал вызов в части client.api.calls.create () в функции placeCall, ryt? Поэтому мне нужно снова перезвонить первому абоненту. это заставляет первого звонящего снова ответить на звонок. Я сделал что бы там звонок подключится и нет передачи голоса. звонок будет продолжен. @philnash

shamna 15.05.2018 09:07

Поэтому я заменил функцию placecall () входящей функцией, напрямую используя dial.client () вместо client.api.calls.create (). Он работает правильно. Спасибо @philnash. Но я не слышу ни звука ни в одном из телефонов, в моей стране есть запрет на звонки по IP. это влияет на звук звонков

shamna 15.05.2018 10:09

На вопросы о странах, запрещающих эту технологию, лучше всего отвечает Поддержка Twilio, поскольку они гораздо лучше меня осведомлены о том, как это может повлиять на вас. Рад, что он почти работает!

philnash 15.05.2018 10:48

Да. Я уже поднял с ними билет. жду их ответа. Спасибо за помощь @philnash. действительно ценю это.

shamna 15.05.2018 11:39

Нет проблем, надеюсь, вы разберетесь с этим!

philnash 15.05.2018 11:40

Привет @ sha123, ты нашел решение своей проблемы? Я застрял в той же проблеме. пожалуйста, помогите мне найти решение для этого. не могли бы вы, пожалуйста, дайте мне знать, где нам нужно работать над решением? из Backend или приложения?

Jatin Patel 01.04.2020 13:35

Я тоже застрял в подобной ситуации. Я тоже хочу добиться связи один на один без какого-либо сценария в Twiml или использования URL-адреса, который заставляет XML говорить. Я хочу, чтобы я мог поговорить с ним из своего приложения, как только получатель ответит на мой звонок.

Vjendra Gaorh 08.04.2021 15:06
0
21
307
0

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