Предлагаемые подходы к программному совершению и записи VOIP-вызова

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

Я думаю об использовании SIP-интерфейса Gizmo (и того факта, что он позволяет совершать бесплатные звонки бесплатно), но у меня возникли проблемы с поиском какого-либо примера кода (желательно на Java), который сможет сделать аудиовызов, и получить аудиопоток.

Я видел множество руководств по программированию SIP, посвященных установлению сеанса, а затем они, кажется, просто махали рукой и говорили: «Здесь вы можете установить аудиосоединение», фактически не делая этого.

У меня есть опыт работы с Java, поэтому я бы предпочел использовать его, но предложения по другим языкам также приветствуются.

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

Спасибо!


person pkaeding    schedule 29.10.2009    source источник


Ответы (4)


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

Примечание: во многих штатах вы будете нарушать закон, если не сделаете одну из нескольких вещей, зависящих от штата: уведомите участников о том, что они записываются, вставьте звуковые сигналы каждые N секунд, и то, и другое и т. д. Вероятно вам нужно только соблюдать законы штата, из которого вы звоните. Хуже того, вам может потребоваться разрешить пользователям отказываться от записи (требуется ваше присутствие перед началом записи). Если вы управляете сервером конференц-связи, вы можете заставить его воспроизводить стандартное объявление о том, что вызов записывается.

person jesup    schedule 29.10.2009

Вы можете сделать это с помощью Twilio практически без программирования. Это будет стоить вам 3 цента за минуту, поэтому, если еженедельный звонок вашей компании длится 45 минут, вы рассчитываете на 1,35 доллара в неделю, что почти бесплатно. Вот шаги:

  1. Зарегистрируйтесь в Twilio и запишите идентификатор своей учетной записи и токен.
  2. Создайте общедоступный файл на своем веб-сервере, который ничего не делает, кроме вывода следующего XML (см. ="nofollow noreferrer">документация для объяснения параметров записи):

    ‹Ответ› ‹Время ожидания записи="30" finishOnKey="#" /› ‹/ Ответ›

  3. Когда пришло время начать запись, выполните POST для этого URL-адреса (задокументировано здесь) с помощью браузера или настройте автоматический процесс или скрипт, чтобы сделать это для ты:

    POST http://api.twilio.com/2008-08-01/Accounts/SID АККАУНТА ЗДЕСЬ/Calls HTTP/1.1 Called=НОМЕР КОНФЕРЕНЦИИ ЗДЕСЬ &Url=ВЕБ-СТРАНИЦА ЗДЕСЬ &Method=GET &SendDigits=ПИН-КОД ЗДЕСЬ

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

person Barnabas Kendall    schedule 11.11.2009

попробуйте peers с параметром mediaDebug true в файле peers.xml. Этот параметр записывает все исходящие и входящие медиапотоки в медиа/папку с шаблоном даты для имени файла. Тем не менее, этот файл, вероятно, нельзя будет использовать как есть. Он содержит необработанные несжатые сэмплы линейной PCM. Вы можете использовать Audacity, sox или ffmpeg, чтобы преобразовать его во что угодно.

person yohann.martineau    schedule 20.07.2011

https://voip.dev.java.net/

Там есть пример кода.

person Denis Tulskiy    schedule 29.10.2009