Restcomm Media Player не может воспроизвести файл на S3 с ошибкой 312

У меня есть общедоступный файл на AWS S3: https://s3-eu-west-1.amazonaws.com/voxist-greetings/33631222504/33651291239_95113eed-386b-4264-a4cf-46182faae125COUCOU1.wav

Теперь, когда RVD пытается воспроизвести его, я получаю: INFO [org.mobicents.servlet.restcomm.interpreter.VoiceInterpreter] (RestComm-akka.actor.default-dispatcher-8586) MediaGroupResponse, успешно: false jain.protocol.ip.mgcp. JainIPMgcpException: запрос IVR не выполнен со следующим кодом ошибки 312.

Не знаю почему... Тот же файл раньше работал под другим именем.

Спасибо за любую подсказку о том, как отладить это.


person karel    schedule 29.06.2016    source источник
comment
Привет, какую версию Restcomm вы используете?   -  person GeorgeVagenas    schedule 30.06.2016
comment
Версия: v7.7.0-SNAPSHOT с модификацией заголовка отклонения (github.com/RestComm/Restcomm-Connect/pull/1201). – Карел 1 час назад   -  person karel    schedule 05.07.2016


Ответы (1)


Похоже, проблема возникает на стороне медиасервера. В частности, кажется, что файл по какой-то причине не может быть открыт.

Соответствующую строку кода можно найти здесь.

Не могли бы вы взять tcpdump и поделиться им, чтобы мы могли увидеть запрос MGCP Play?

Надеюсь это поможет.

ОБНОВЛЕНИЕ:

Вот пример:

введите здесь описание изображения

200 OK просто указывает, что транзакция MGCP успешно завершена. Теперь нам нужно разобрать уведомление (NTFY), отправленное с медиасервера на RestComm, в основном параметр ObservedEvents.

Если вы посмотрите на картинку, то увидите, что сработавшее событие — это OperationFailed(of) с кодом возврата (rc), равным 312, что является ошибкой. Соответствующую ссылку на спецификации можно найти здесь.

Подводя итог, Media Server получает запрос на воспроизведение файла (в данном случае его кешированной версии), но если по какой-то причине не удается открыть URL-адрес.

Доступен ли URL-адрес со стороны медиасервера?

person hrosa    schedule 04.07.2016
comment
Я посмотрел на tcpdump и думаю, что проблема в кеше... Интересно, даже если RVD сказал, что сообщение воспроизведено, путь: s3-eu-west-1.amazonaws.com/voxist-greetings/33631222504/ на самом деле MGCP used a cache version that is corrupted (frame 131 I have: X.X.X.X:443/restcomm/cache /ACae6e420f425248d6a26948c17a9e2acf/ it=1) ? Но все же странно, что он сказал об успехе в tcpdump, но мы получаем зависание ... - person karel; 05.07.2016
comment
какую версию RestComm вы используете karel? - person hrosa; 05.07.2016
comment
Действительно, у меня ошибка rc=312! Что касается кеша, я не уверен, как он работает и как Restcomm его использует... На самом деле, я бы предпочел не иметь этого кеша! Мой RVD делает запрос, и он должен использовать файл, указанный в запросе, а не кэшированный файл. В случае ошибки при получении удаленного файла он должен выдать ошибку, которую я могу перехватить на уровне =rvd, чтобы запустить другой сценарий. - person karel; 05.07.2016
comment
Версия: v7.7.0-SNAPSHOT с модификацией заголовка отклонения (github.com/RestComm/Restcomm -Connect/pull/1201). - person karel; 05.07.2016
comment
@karel Я не уверен, но я считаю, что RestComm всегда пытается кэшировать файлы по умолчанию. Если вы хотите сделать это поведение необязательным, откройте запрос функции на github.com/RestComm/Restcomm-Connect. - person hrosa; 05.07.2016