Страница 2 из 3

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 30 янв 2011, 00:50
Stanislav
lyolic писал(а):defaultexpirey=120 применяется только в том случае, если при регистрации не было б явно указано ~120
В данном случае я рассматривал следующий параметр
maxexpirey=3600: Максимально разрешенная продолжительность регистрации

Но он не работает.....
Астериск 1.6.12
Похоже что бага?

PS Добавлю, что на ответ веншнего сервера "Expires: 3600" повлиять не могу.


defaultexpirey=120 приведет к тому, что вы отправите параметр Expires: 120 и через 120 секунд Вам надо будет перерегистрироваться.
Но этого почему то не происходит автоматически.
При правильной обработке провайдером Ваших запросов вида
register => xxxxxxxxxxx:xxxxxxxx:xxxx@xxxx.xxxxxx.ru/xxxxxxxxxxxx~135
вы получите от него как результат фактическое TTL регистрации примерно 120 секунд (отправленный параметр отнять 15). А что он пишет сейчас?

[quote="Evgen"]Что-то изменилось у мультифона, он даже стал присылать нормальные значения expires в ответ, а не 3600, как обычно, хотя логику его работы я всё равно понять не могу.[/quote
По sip debug Вы получаете пакет, где будет что то вроде
Contact: <sip:Вашdid@ВашАдрес>;expires=3600

То что вас заставляет думать о коротком времени жизни Вашей регистрации, может быть найдете еще в параметре
Reg. min duration -
- что в нем у Вас написано?
Чтобы его увидеть, наберите sip show settings
Поделитесь результатами, Ваша тема касается любого нового разработчика. Очень важно ,какие именно установки фактически влияют на какие переменные в SIP пакетах *. Еще для сервера SIP провайдера иногда актуально, что * указывает в OPTIONS, который * использует как qualify сообщение. Какой он у Вас?]

Как итог, если Вы увеличите Defaultexpirey до 135 секунд, то он будет перерегистрироваться на 120 секунде, при этом Вы можете выставить ~120 и получите окончание регистрации 119, как заказываете.

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 06 фев 2011, 00:57
Roma_N
Evgen писал(а):Методом тыка наткнулся на интересный эффект. В externip прописал левый адрес. В итоге мультифон начал реагировать на параметр expires.
Кому интересно - попробуйте у себя и отпишите, пож-ста, результат.

Заработало, только голос перестал ходить)).
Только на параметр expires в настройках asterisk не влияет. Просто multifon присылает expires = 100

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 06 фев 2011, 02:47
Roma_N
esveka писал(а):Тоже интересно! Кто-нибудь добьет ентот гребаный multifon?! Вещь классная, а вот потеря регистрации очень раздражает.

Проблема, как я понимаю, не во времени перерегистрации, а том что при её потере не происходит перерегистрация через заданное время.
В данном случая не важно expires=3600 или 60.
При получении ответа от мультифона 403 Forbidden на запрос register, asterisk прекращает повторные запросы register.
Что в принципе правильно.

403 Forbidden. Запрещенный запрос – запрос не будет обрабатываться сервером и не должен передаваться повторно. Запрос был понят, но не будет обслужен. Такой ответ может быть получен, к примеру, при попытке дозвониться по номеру, который не принимает звонки с данного номера телефона.

из справочника "протокол SIP". Гольдштейн


Т.е. multifon по какой-то причине при очередной регистрации выдает 403 ответ.

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 06 фев 2011, 11:25
Evgen
При получении ответа от мультифона 403 Forbidden на запрос register, asterisk прекращает повторные запросы register. Что в принципе правильно

А вот в реализации SIP-протокола, встроенном в Linksys SPA 2102/3102 есть параметр Reg Retry Long Intvl, который задаёт время повтора регистрации даже при таких фатальных ответах сервера, как 403 Forbidden. Я так понимаю, это сделано из соображений, что админы sip-сервера тоже могут что-то накосячить :)

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 04 мар 2011, 15:26
esveka
А что с Multifon'ом-то? Давно не пользовался, а намедни спонадобился... работает... не отваливается.. Допилили?

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 05 мар 2011, 00:40
Evgen
esveka писал(а):работает... не отваливается..

IP-адрес менять ему пробовал?

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 05 мар 2011, 15:49
esveka
Нет. А зачем? Я поставил на новую систему *1.8.3. Воткнул туда старый файл sip.conf... и все! Дня три работает и при каждой загрузке успешно регистрируется.

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 05 мар 2011, 16:07
Evgen
Так проблема была в том, что при запущенном астериске и смене внешнего IP-адреса мультифон давал отлуп при очередной перерегистрации.

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 05 мар 2011, 22:07
esveka
Плин, так оно и есть... не регистрируется.

Re: Как заставить астериск перерегистрироваться каждые 2 мин

СообщениеДобавлено: 23 ноя 2011, 06:02
KeeperAD
Апсолютно похожая проблема при подключении номера у Ростелеком! Победить не удалось. Один из вариантов запускать cron'ом скрипт для перезапуска конфигов с интервалом меньшим чем expiry. Но заморачиваться пока не стал...