воспроизводить аудиофайл через VoIP - PullRequest
1 голос
/ 30 января 2011

Я хочу реализовать простую систему VoIP, которая может обеспечить следующее:

  1. Пользователь загружает файл mp3 или wav и дает номер телефона.
  2. указанный номер телефона:набранный, когда телефон выбран, воспроизводится загруженный файл mp3 / wav.как только весь файл проигрывается, вызов прерывается.

Я хочу знать, есть ли какая-либо библиотека с открытым исходным кодом, которая поддерживает это ??или программное обеспечение с открытым исходным кодом, с помощью которого я могу достичь этого?

Ответы [ 3 ]

1 голос
/ 30 апреля 2013

Я делаю подобное тестирование, как это для моей работы.

У меня есть

  1. тестовый фреймворк на моей коробке в моем офисе с использованием Freeswitch, и я создал несколько пользователей с паролями на коробке FreeSWITCH.
  2. Затем я использую инструмент / клиент sip-тестирования для управления подключением к sip-прокси другому пользователю.

Например ... скажем, мой freeswitch ip: 120.0.0.7

Я регистрируюсь на этом бесплатном коммутаторе как пользователь 5000, и я хочу позвонить пользователю 4000, который также зарегистрирован.

Я использую SIPP (linux) или SIPCLI (windows.)

SIPP

Преимущества SIPP в том, что он действительно надежный и может выполнять множество тестов производительности, а что нет. Но не отправлять аудио это немного сложно, но выполнимо. вы в основном отправляете записанные аудио файлы в формате pcap в каком-то кодеке (g711, g729 и т. д.), поэтому вы запускаете команду вроде:

sudo sipp -s [the phone number/ user] [your freeswitch] -sn uac_pcap -mi [your ip] -l 1 -m 1

Последние два параметра (l и m) определяют, сколько нагрузки, по умолчанию sipp будет отправлять 10 вызовов в секунду. Вы, вероятно, не хотите этого. поэтому я говорю «ограничить количество вызовов #», а m говорит: «запускать только x вызовов одновременно».

SIPCLI

Более простой метод - это sipcli (но это инструмент только для Windows). В sipcli, вы в основном можете отправить файл WAV, а также текст в речь. Я люблю это. у него есть встроенная библиотека, которая будет набирать номер, и вы можете передать что-то вроде -t «Это тест тестового набора для тестирования sip и v o i p». это преобразовало бы это в аудио на вызове, на лету. Вы также можете создавать сценарии, которые указывают на записанные вами файлы WAV ...

SIPCLI будет использовать для подключения команду, подобную SIPP:

sipcli [user/phone number] -d [domain or proxy] -t "This is text i want converted to speech on the phone call" 

Вы также можете передать ссылку на wav.

sipcli также может отправлять тоны dtmf, или вы можете указать на wav's тонов dtmf.

редактор сценариев поначалу немного сложен и требует некоторого привыкания. Но как только вы научитесь создавать файлы сценариев, это будет довольно просто.

Преимущества SIPP

SIPP может захватывать метрики производительности (за все время в мс между настроенной начальной и конечной точкой) SIPP может вести тысячи звонков в желаемом конце SIPP может наращивать вызовы или сокращать их на лету SIPP может генерировать статистику и CSV-файлы для анализа Сценарии SIPP, которые вы пишете, сами создают пакеты. Таким образом, вы имеете больше контроля над тем, что ваш пакет отправляет на INVITE. SIPP с открытым исходным кодом

Негативы SIPP

SIPP НЕ МОЖЕТ отправить файл wav SIPP НЕ может генерировать свои собственные тоны dtmf (он использует pcaps, что может быть проблематично) SIPP не может генерировать текст в речь SIPP несколько сложен для начала

Преимущества SIPCLI

SIPCLI может конвертировать текст в речь на лету SIPCLI может использовать записанные WAV для отправки получателю SIPCLI прост в использовании SIPCLI также может выступать в качестве приемника (т.е. IVR воспроизводит приветствие и принимает данные) SIPCLI имеет некоторую логику для проверки полученных данных (например, пользователь нажал # 3, затем # 4.)

Отрицательные значения SIPCLI

SIPCLI не позволяет вам иметь доступ к отправляемым заголовкам SIP (поэтому меньше контроля над тестом) SIPCLI не выполняет загрузку или показатели производительности Поначалу редактор SIPCLI довольно сложен, но не так сложен, как изучение расширенных функций SIPP. SIPCLI НЕ с открытым исходным кодом .... это пробная версия на 90% полезна. Чтобы получить остальные 10% (более длительные телефонные звонки), вам необходимо приобрести его за 70 долларов.

Я также пробовал другие инструменты, такие как PJSua, но эти два - мой хлеб с маслом для тестирования сценариев, о которых вы говорите.

Что касается Framework / softwsitch / proxy ... Я использую Freeswitch.

0 голосов
/ 12 февраля 2011

используйте ivrworx для простого тестирования

см. Пример с стримером.

0 голосов
/ 03 февраля 2011

Да. Вы можете использовать Asterisk, Freeswitch (мои личные предпочтения) или ряд других платформ, похожих на эту.

После того, как вы настроите freeswitch, перейдите по этой ссылке, чтобы начать: http://wiki.freeswitch.org/wiki/Javascript_QuickStart

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...