2013-11-21 13 views
5

Таким образом, используя синтаксис какВоспроизведение аудио файлов с помощью SIPP

../sipp -sn uac SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000 

Я могу инициировать глотнуть вызов. То, что я хочу достичь, после того, как вызывающий абонент выбирает вызов, воспроизводит WAV-файл и завершает вызов после завершения воспроизведения файла.

Я хочу достичь этого, используя аргументы командной строки. Кто-то сделал это раньше?

ответ

2

SIPp поддерживает возможность использования send a stream of pre-recorded RTP packets через директиву exec play_pcap_audio. (В качестве модели для вашего сценария см. Встроенный сценарий uac_pcap.) Пакеты, которые нужно отправить, хранятся в файле с форматом PCAP. Например, пакеты могут быть extracted from a Wireshark capture тестового вызова.

$ sipp -sf custom_with_pcap_audio.xml SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000 

Чтобы создать custom_with_pcap_audio.xml, начало здесь:

$ sipp -sd uac_pcap > custom_with_pcap_audio.xml 

затем отредактировать сценарий, чтобы обратиться к файлу PCAP (полученный с помощью одного из методов, ранее связанных). Вам также потребуется сделать задержку соответствующей длины для вашей записи pcap (а не 10000, приведенной в примере).

+0

Спасибо за ваш ответ, но я не искал ссылки на руководства. Вы можете предположить, что я уже прошел через это. –

+0

Чтобы точно ответить на ваш вопрос: да, вы действительно можете добиться этого с помощью аргументов командной строки, и люди сделали это раньше. Чтобы расширить этот ответ, чтобы быть более полезным, он также требует создания пользовательского файла сценария и файла pcap, как описано в ответе. Я добавлю в командной строке пример командной строки. – yotommy

+0

спасибо за ваш ответ. Возможно ли воспроизвести файл wav или raw pcm, чем файл pcap, который сложнее создать? –

9

Последняя версия SIPp (3.4) теперь поддерживает прямую поточную передачу RTP из корректно кодированного WAV-файла.

Вы хотите создать пользовательский файл сценария (с помощью опции -sd uac сваливать из сценария образца UAC в качестве отправной точки) и добавить <action><exec rtp_stream="file.wav" /></action> внутри блока <recv response="200"></recv> XML, чтобы вызвать этот файл WAV для воспроизведения через RTP когда получено 200 OK.

http://sipp.sourceforge.net/doc/reference.html#Media%2FRTP+commands имеет более подробную информацию о настройке этого параметра (например, для использования в цепных или не-PCMA-типах).

(я ток сопровождающего SIPp.)

+1

Изготовление правильно кодированного WAV из образцов аудио не было для меня самоочевидным. Я потратил много времени, пока не узнал, как перекодировать и конвертировать их с помощью gstreamer. gst-launch filesrc location = piano1.wav \ ! wavparse \ ! аудиоконвертер \ ! audioresample \ ! alawenc \ ! audio/x-alaw, rate = 8000, channels = 1 \ ! wavenc \ ! filesink location = piano2.wav Надеюсь, это спасет кого-то время открытия –

+0

@JosiahDeWitt. Я пробовал ваше предложение без везения. Я всегда получаю скремблированный звук. Не могли бы вы проверить этот вопрос http://stackoverflow.com/questions/39332306/how-to-encode-wav-to-play-with-sipp? – douglaslps