Столкнулся с необходимостью внедрить sip-телефон в браузер. На просторах Интернета больше всего рассказывают о решении на базе [[http://www.red5.org/ red5]] и [[http://code.google.com/p/red5phone red5phone]], но оно мне показался слегка монструозным и недостаточно надежным. Скажем так, меня не устроило соотношение времени развертывания и требуемых аппаратных ресурсов к уровню качества, беспроблемности поддерживания и масштабируемости. К тому же наблюдались проблемы при интеграции в веб-проект.Еще немного поискав в Интернете нашел проект [[http://code.google.com/p/siprtmp 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.
В данной версии велика вероятность проявления [[http://code.google.com/p/siprtmp/issues/detail?id=1 ошибки]], при которой будет невозможно совершать исходящие звонки. Лечится при помощи добавления комментария на строку 217 в файле p2p-sip-read-only/src/std/rfc3261.py. Данная ошибка скоро со слов разработчика скоро будет устранена.
При настройке sip-сервера для работы с siprtmp, пользователям, которые будут звонить через веб, необходимо разрешить использовать только кодек speex, например в Asterisk это делается так:
disallow = all
allow = speexНа [[http://myprojectguide.org/p/flash-videoio/11.html сайте разработчика]] можно найти пример телефона и подробное описание. Думаю значение полей понятно и без описания. Также данное решение может использоваться для видео-звонков и конференций. Главное не забудьте разрешить флеш-приложению использовать аудио устройства вашего компьютера.
Официальная страница сервера: 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:.".
URL:
Обсуждается: http://www.opennet.me/tips/info/2573.shtml
Вышеуказанная ошибка не единственная. Когда у себя его ставил, пришлось несколько похожих исправлять еще на этапе тестирования. Наблюдается утечка udp дескрипторов.
У меня большие надежды на erlyvideo для sip-rtmp.
Автор не против что-бы ему помогли. Сейчас пробую допилить нормальную демонизацию к siprtmp.py. На данный момент данное решение меня привлекает больше чем red5.
А почему вы считаете, что питоновское решение будет менее ресурсоёмким, чем red5? Джава в этом плане всё же поэкономнее... проблемы в red5phone есть, но ничего нерешаемого там нет и близко - так, пара мелких доработок.
Это решение завелось можно сказать с пол пинка. Правда ред5й разворачивал другой админ, но довольно продолжительное время. К тому же у ред5го много жестких зависимостей. А относительно экономности еще надо смотреть. В общем имхо на развертывание и поддержку данного решение уйдет меньше ресурсов.
Кошмар. На выбор поделка на яве или на питоне и обе глючные. Это такой тонкий стеб?
xterm + vim тебе в руки и вперед писать свой на Си
Здравствуйте.
Подскажите пожалуйста как свзять этот gateway с астериском 1.6? Установил, rtmp сервер запустился, flash-клиент который в комплекте идет может соединиться с сервером... и все. Как слить звонок на астериск?
Задача у меня простая - click-to-call кнопка на сайте. Звонок должен уходить на заранее определенный сервер. Asterisk и siprtmp стоят на одной машине физически. ОС - FreeBSD 8.1
Опыта в данном направлении у меня мало, так что не пинайте, а подскажите что я не доделал.Заранее спасибо :)
Добрый деньПредлагаю посмотреть 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--
Павел
Какие отзывы? Это на нарисовано на сях.
А почему именно siprtmp? Вот тоже вполне себе нормальный вариант на платформе Oktell http://oktell.ru/support/articles/20/