The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

VoIP-звонки из web-браузера с использованием siprtmp
Столкнулся с необходимостью внедрить sip-телефон в браузер. На просторах
Интернета больше всего рассказывают о решении на базе  red5 и red5phone,
но  оно мне показался слегка монструозным и недостаточно надежным. Скажем так,
меня не устроило соотношение времени развертывания и требуемых аппаратных
ресурсов к уровню качества, беспроблемности поддерживания и масштабируемости. К
тому же наблюдались проблемы при интеграции в веб-проект.

Еще немного поискав в Интернете нашел проект siprtmp. Делает по сути то же
что и red5, но написан на python и имеет гибкий веб-интерфейс.

По сути веб-интерфейс siprtmp - это небольшое приложение на флеш, управляемое с
помощью JavaScript или другого языка программирования, посредством вызова
встроенных функций приложения и обработки событий. Имеет возможность
встраиваться в другие флеш-приложения.

Запуск сервера производится такими манипуляциями:

   svn checkout http://p2p-sip.googlecode.com/svn/trunk/ p2p-sip-read-only
   svn checkout http://rtmplite.googlecode.com/svn/trunk/ rtmplite-read-only
   cd ./rtmplite-read-only
   PYTHONPATH=../p2p-sip-read-only/src:.
   export PYTHONPATH
   python ./siprtmp.py

Может понадобиться указать IP-адрес, который будет указываться при общении с
вашей ip-pbx, это можно сделать при помощи ключа "-е ip". Для отладки есть ключ -d.

В данной версии велика вероятность проявления ошибки, при которой будет
невозможно совершать исходящие звонки. Лечится при помощи добавления
комментария на строку 217 в файле  p2p-sip-read-only/src/std/rfc3261.py. Данная
ошибка скоро со слов разработчика скоро будет устранена.

При настройке sip-сервера для работы с siprtmp, пользователям, которые будут
звонить через веб, необходимо разрешить использовать только кодек speex,
например в Asterisk это делается так:

  disallow = all
  allow = speex

На сайте разработчика можно найти пример телефона и подробное описание.
Думаю значение полей понятно и без описания. Также данное решение может
использоваться для видео-звонков и конференций. Главное не забудьте разрешить
флеш-приложению использовать аудио устройства вашего компьютера.

Официальная страница сервера: http://code.google.com/p/siprtmp/
Официальная страница флеш-клиента: http://code.google.com/p/flash-videoio/
Еще одна страница флеш-клиента: http://myprojectguide.org/p/flash-videoio/

В данный момент совместно с разработчиком проекта осуществляются попытки
создать полноценный демон из siprtmp.py и побороть необходимость выполнения
"export PYTHONPATH=../p2p-sip-read-only/src:.".
 
14.05.2011 , Автор: Александр
Раздел:    Корень / Маршрутизаторы Cisco, VoIP / VoIP

Обсуждение [ RSS ]
 
  • 1.1, fetisheer, 15:08, 17/05/2011 [ответить] [смотреть все]
  • +1 +/
    Вышеуказанная ошибка не единственная. Когда у себя его ставил, пришлось несколько похожих исправлять еще на этапе тестирования. Наблюдается утечка udp дескрипторов.
    У меня большие надежды на erlyvideo для sip-rtmp.
     
     
  • 2.2, Александр, 18:33, 17/05/2011 [^] [ответить] [смотреть все]
  • +/
    Автор не против что-бы ему помогли. Сейчас пробую допилить нормальную демонизацию к siprtmp.py. На данный момент данное решение меня привлекает больше чем red5.
     
     
  • 3.3, Crazy Alex, 23:00, 17/05/2011 [^] [ответить] [смотреть все]
  • +/
    А почему вы считаете, что питоновское решение будет менее ресурсоёмким, чем red5? Джава в этом плане всё же поэкономнее... проблемы в red5phone есть, но ничего нерешаемого там нет и близко - так, пара мелких доработок.
     
     
  • 4.4, Александр, 00:20, 18/05/2011 [^] [ответить] [смотреть все]
  • +/
    Это решение завелось можно сказать с пол пинка. Правда ред5й разворачивал другой админ, но довольно продолжительное время. К тому же у ред5го много жестких зависимостей. А относительно экономности еще надо смотреть. В общем имхо на развертывание и поддержку данного решение уйдет меньше ресурсов.
     
  • 1.5, Аноним, 22:52, 19/05/2011 [ответить] [смотреть все]
  • +/
    Кошмар На выбор поделка на яве или на питоне и обе глючные Это такой тонкий ст... весь текст скрыт [показать]
     
     
  • 2.6, Vitaly_loki, 11:35, 20/05/2011 [^] [ответить] [смотреть все]  
  • +/
    xterm + vim тебе в руки и вперед писать свой на Си
     
  • 1.8, Ramzes III, 11:38, 09/07/2011 [ответить] [смотреть все]  
  • +/
    Здравствуйте.
    Подскажите пожалуйста как свзять этот gateway с астериском 1.6? Установил, rtmp сервер запустился, flash-клиент который в комплекте идет может соединиться с сервером... и все. Как слить звонок на астериск?
    Задача у меня простая - click-to-call кнопка на сайте. Звонок должен уходить на заранее определенный сервер. Asterisk и siprtmp стоят на одной машине физически. ОС - FreeBSD 8.1
    Опыта в данном направлении у меня мало, так что не пинайте, а подскажите что я не доделал.

    Заранее спасибо :)

     
     
  • 2.9, Павел, 14:57, 14/10/2011 [^] [ответить] [смотреть все]  
  • +/
    Добрый день

    Предлагаю посмотреть www.flashphoner.com
    Это тоже RTMP-SIP сервер на Java+C, только
    полностью завершенный, стабильный (никаких
    утечек памяти и т.д.) и с официальной
    поддержкой

    Функции
    - Audio - Speex, g.711, g.729
    - Video - h.263, h.264
    - SIP - calls, transfer, hold, DTMF
    - API - ActionScript, JavaScript
    - Open source client
    - Open source server java app

    --
    Павел


     
     
  • 3.10, Olorin, 16:58, 25/03/2012 [^] [ответить] [смотреть все]  
  • +/
    Какие отзывы? Это на нарисовано на сях.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList