Страница 1 из 1
Настройка peer-to-peer
Добавлено: 09 апр 2012, 14:30
Максим
Волею судьбы возникла необходимость в своем приложении реализовать VoIP звонки между пользователями. Поставил и настроил Астериск, добавил двух пользователей. Нашел библиотеку для VoIP, скомпилировал пример - все работает: один пользователь может позвонить другому, второй - первому (настраивал по примеру):
[user1]
type=friend
secret=password
nat=yes
host=dynamic
username=user1
dtmfmode=rfc2833
disallow=all
allow=ulaw
context=sip-dialout
callerid=333
Но это не подходит. Нужно чтобы можно было подключатся без регистрации, вроде allowguest=yes это позволяет, но подключится не получается - ругается что bad auth.
Подскажите как настроить чтобы можно было без регистрации подключатся пользователям вида <userID>@domain.ru? И мог позвонить другому пользователю по аналогичному адресу - <user2ID>@domain.ru? Как решить вопрос с безопасностью?
З.Ы. Выхода на городские или любые другие операторы не будет в принципе, только звонки внутри программы.
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 15:08
Aven
peer-to-peer - это без сервера, напрямую между двумя оконечными устройствами.
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 17:36
Максим
Aven писал(а):peer-to-peer - это без сервера, напрямую между двумя оконечными устройствами.
Значит неправильно понял, когда мне рассказывали. А как можно сделать тогда прямой коннект? Это наверное зависит от библиотеки, которая реализует VoIP функциональность...
И получается что тот кому будут звонить должен быть напрямую доступен, а если он за NAT'ом - уже не получится. Верно?
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 17:43
Vlad1983
так что вам нужно peer-to-peer или peer-proxy-peer?
в случае peer-proxy-peer есть ряд преимуществ (в том числе преодоление NAT) и вопрос решаем на этом форуме.
в случае peer-to-peer идите к разработчикам SIP стека вашего ПО.
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 17:50
Максим
Нужен peer-proxy-peer
оффтоп: как отредактировать заголовок темы?
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 17:55
Vlad1983
насчет доменов в астериске очень хреново
по IP пожалуйста
[user1]
type=peer
host=192.168.0.1
insecure=invite
...
[user2]
type=peer
host=192.168.0.2
insecure=invite
...
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 18:42
ded
насчет доменов в астериске вполне всё сносно.
Если только автор не думает о тысячах пользователей.
Если для domain.ru есть ДНС запись вида А и она ведёт на прокси-сервер, то нет проблем. А если ко всему этому есть ещё1и SRV запись, которая ведёт туда же, то вообще всё нормально. Также можно чихнуть на SRV и использовать записи вида <userID>@pbx.domain.ru где pbx.domain.ru резольвится в нормальный реальный ИП.
<userID>@domain.ru
И получается что тот кому будут звонить должен быть напрямую доступен, а если он за NAT'ом - уже не получится. Верно?
Нет, не верно. Оба юзера могут быть за НАТом, причём каждый за своим, или за одним и тем же. Главное - чтобы прокси-сервер был на реальном адресе.
В общем - найдите время почитать про SIP URI, что это такое и зачем нужна регистрация. В случае с НАТами без неё не обойтись.
Re: Настройка peer-to-peer
Добавлено: 09 апр 2012, 19:23
Vlad1983
"Нужно чтобы можно было подключатся без регистрации"
в случае с обычными юзерами это не нужно. иите нормальную библиотеку работающую с регистрацией.
ded писал(а):насчет доменов в астериске вполне всё сносно.
да, пока не встанет вопрос с мультидоменностью.
для поставленой задачи лучше всего подходит
kamailio
мультидоменность поддерживается нативно.
с безопасностью проблем нет встроенный механизм блокировки от излишних запросов.
зрелый SIP-стек.
...+++
с дефолтным конфигом как раз стартонет с нужным функционалом (за исключением преодоления NAT).
если немного пошариться в сети механизм преодоления NAT прикручивается за несколько минут (даже если почитать коментарии в дефолтном конфиге).
Re: Настройка peer-to-peer
Добавлено: 10 апр 2012, 12:24
Максим
1. Домен один, и навсегда
2. Пользователей будет много.
3. Записи ДНС есть
Re: Настройка peer-to-peer
Добавлено: 10 апр 2012, 12:29
Максим
ded писал(а):Нет, не верно. Оба юзера могут быть за НАТом, причём каждый за своим, или за одним и тем же. Главное - чтобы прокси-сервер был на реальном адресе.
Я имел ввиду что вариант peer-to-peer не подойдет, потому что пользователи будут за НАТом. Хотя обойтись малой кровью (без сервера) было бы очень замечательно.
З.Ы. Функция VoIP в программе совсем не главная.