Страница 4 из 9

Re: домашний телефон билайн

Добавлено: 13 ноя 2012, 23:38
LA_
Касательно регистрации - так все и есть, прописано отдельной строкой.

При использовании tcpenable все равно запросы в UDP отправляются...

А есть тут кто-нибудь, у кого уже все работает?

Re: домашний телефон билайн

Добавлено: 14 ноя 2012, 00:13
ded
При использовании tcpenable все равно запросы в UDP отправляются...
Уж какими-то инструкциямми можно научиться пользоваться.
Платный суппорт.

Re: домашний телефон билайн

Добавлено: 14 ноя 2012, 19:13
LA_
Пожалуй, я подожду пока Билайн опубликует инструкцию. Или кто-то другой разберется и поделится конфигом - разбирать пакеты для меня это, наверное, слишком.
В любом случае - спасибо вам за помощь! Многое новое узнал.

Re: домашний телефон билайн

Добавлено: 14 ноя 2012, 20:00
Vlad1983
ага дождетесь лет через несколько

если есть желание могу поэкспериментировать, но на вашей стороне
так как данные для анализа нужны быстро, а объяснять каждому как их вытянуть надоело

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 00:35
demon
Есть две новости для меня: хорошая и плохая.
Хорошая: регистрация с билайновскими номерами доступна извне их сети.
плохая: в asterisk ГЕМОРОЙ! с этими настройками.

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

Необходимо чтобы в пакете было:
REGISTER sip:sip.beeline.ru SIP/2.0
From: "xxx" <sip:xxx@sip.beeline.ru>;tag=3056130161
To: "xxx" <sip:xxx@sip.beeline.ru>
Contact: <sip:xxxx@ip:5060>
Authorization: Digest username="74999xxxxxx@sip.beeline.ru", realm="sip.beeline.ru", nonce=".................", uri="sip:sip.beeline.ru",.......

добиться смог всего кроме домена в Digest username.
Для меня до сих пор загадка как asterisk по register и realm auth ищет peer и берёт там username? (хотя username depricated... нужно defaultname)
Кто может подсказать?

P.S. Очень фигово что asterisk сильно спамит пакетами OPTIONS, что включает защиту на стороне билайна: в результате билайн отключает вообще ВСЕ ответы на пару десятков минут...

P.P.S. Почитал исходный код. Судя по нему в пире нужно указать auth=74999xxxxxx@sip.beeline.ru@sip.beeline.ru
но это не помогло. Очень странно. А ещё это крайне отвратительно, т.к. в качестве username будет подставлено первая попавшаяся запись с этим realm. А как две учётки на одном сервере? Грустно.

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 01:16
ded
Только в register можно указать домен для регистрации. Иначе он равен host из пира, который отличается от домена.
Нет.
Есть параметр auth=
но не на пире, и не так как у Вас выше. Пример -
[authentication]
auth = 7830000ABCD:secret@vegatelecom
http://forum.asterisk.ru/viewtopic.php? ... 33&p=22059
P.S. Очень фигово что asterisk сильно спамит пакетами OPTIONS, что включает защиту на стороне билайна: в результате билайн отключает вообще ВСЕ ответы на пару десятков минут..
Очень фигово, что Вы не поставили qualify=no для этого пира, чтобы не слать эти самые пакеты OPTIONS, потому что они нужны только для бомбардировки клиентских экстенов за НАТом, типа nat keepalive, только наоборот.

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 12:02
demon
ded писал(а):
Только в register можно указать домен для регистрации. Иначе он равен host из пира, который отличается от домена.
Нет.
Есть параметр auth=
но не на пире, и не так как у Вас выше. Пример -
[authentication]
auth = 7830000ABCD:secret@vegatelecom
http://forum.asterisk.ru/viewtopic.php? ... 33&p=22059
Вынужден не согласиться. В auth задаётся только realm, а не домен для регистрации. В исходных текстах asterisk11 только из regdomain, который заполняется исключительно из строки register.

Код: Выделить всё

        snprintf(from, sizeof(from), "<sip:%s@%s>;tag=%s", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)), p->tag);
        if (!ast_strlen_zero(p->theirtag)) {
                snprintf(to, sizeof(to), "<sip:%s@%s>;tag=%s", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)), p->theirtag);
        } else {
                snprintf(to, sizeof(to), "<sip:%s@%s>", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)));
        }
У меня используется vg1.vegatele.com и настроено через register, но без auth. И оно работает.
auth можно указать прямо в пире, а не только в разделе [authentication] (хоть это хорошо).
Но как в auth указать username с доменом? Повторюсь, что судя по коду должно быть такое извращение: auth=номер:secret@sip.beeline.ru@sip.beeline.ru (хотя пароль тут и не обязателен)
P.S. Очень фигово что asterisk сильно спамит пакетами OPTIONS, что включает защиту на стороне билайна: в результате билайн отключает вообще ВСЕ ответы на пару десятков минут..
Очень фигово, что Вы не поставили qualify=no для этого пира, чтобы не слать эти самые пакеты OPTIONS, потому что они нужны только для бомбардировки клиентских экстенов за НАТом, типа nat keepalive, только наоборот.[/quote]
Вот за это спасибо. Так увлёкся задачей добиться нужной структуры пакета, что и не подумал отключить.

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 16:32
demon
Пока сильно занят по работе.. и не могу проверить, но если есть желающие, то можно попробовать:
register => login@sip.beeline.ru:secret:7499xxxxxxx%40sip.beeline.ru@msk.sip.beeline.ru

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 18:44
Vlad1983
чую перебор

примерно так должно быть
register => login@sip.beeline.ru:secret:7499xxxxxxx@msk.sip.beeline.ru/7499xxxxxxx

[beeline]
type=peer
username=login
secret=secret
host=msk.sip.beeline.ru
fromuser=7499xxxxxxx ; тут вариант ещё login
fromdomain=sip.beeline.ru
port=5060
context=incoming

Re: домашний телефон билайн

Добавлено: 15 ноя 2012, 19:20
ded
Много at в строке регистрации login@sip.beeline.ru:secret:7499xxxxxxx%40sip.beeline.ru@msk.sip.beeline.ru
Как Астериску отделить логин часть от хоста? Предлагаю попробовать заключить в кавычки, одинарные или двойные часть логина. При этом дампить - смотреть что получается при отправке мудрённого REGISTER.