Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Не обнавляется context из MySQL

Не обнавляется context из MySQL

При апдейте БД sip peers не обновляется...
1 2>
Сообщений: 4

Не обнавляется context из MySQL

asterisk:/var/lib/mysql # asterisk -rx 'sip show users'
MySQL-server-community-5.0.67-0.sles10.i586.rpm
Asterisk 1.6.0.1

extconfig.conf
[general]
dbhost = localhost
dbname = asterisk
dbuser = asterisk
dbpass = asterisk
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock

новые данные по sip выгружаются только при перезапуски *

Username Secret Accountcode Def.Context ACL NAT
5020 test cat-3 No RFC3581

mysql> select context from sip_buddies where name=5020;
+---------+
| context |
+---------+
| cat-6 |
+---------+
1 row in set (0.00 sec)

Как я понимаю все что RealTime вообще не хранится в памяти, и динамически трется,
подргружается только при звонке...
Где ошибка в моем понимании?
2008-11-20 14:43

Сообщений: 1573

Re: Не обнавляется context из MySQL

Как настроен - RealTime? (dynamic, static)

Если вы о таблице с юзерами, то если dynamic, они и не появяться ...
Только после регистрации юзера на сервере. И нужно еще настраивать несколько параметров, что бы юзеры были видны ...
Потому что без доп. телодвижений они исчезают периодически ... )
2008-11-20 16:07

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Не обнавляется context из MySQL

Поставьте rtcachefriend=no ;-)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-11-20 22:03

Сообщений: 1573

Re: Не обнавляется context из MySQL

litnimax:

Поставьте rtcachefriend=no ;-)
Макс, при всем уважении, но здесь нужно сделать все, с точностью до наоборот ... )
+ установить параметр regcontext.

А в основном все подробно расписано в стандартном sip.conf (он же asterisk-1.4.X/configs/sip.conf.sample) ...

Пример с рабочего сервера:

regcontext=sipusers

rtcachefriends=yes
rtupdate=yes
rtautoclear=yes

Этот сервер стоит в кластере.


Если речь об одиночной машине, может быть понадобиться добавить параметр - ignoreregexpire=yes.

P.S. Все это относиться к "RealTime dynamic"
2008-11-20 22:21

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Не обнавляется context из MySQL

Дружище, насколько я понял, человеку хочется, чтобы все изменения вступали в силу немедленно! Т.е. каждый раз чтобы делался SELECT. Если включить кэширование, то SELECT делается один раз во внутренние структуры данных, и потом следующий раз сделается только после истечения 120 sec:
rtautoclear = yes|no|number : Auto-Expire friends created on the fly. If yes the autoexpire will be in 120 seconds. Default yes. (New in v1.2.x).
Так что ставить надо rtcachefriends=no, и тогда каждый раз будут запросы в базу.

P.S. Другое дело, что при выключении кеширования не работает поддержка абонентов за NAT и еще пару вещей.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-11-21 17:35

Сообщений: 1573

Re: Не обнавляется context из MySQL

Я и говорю, что это относиться к конфигурации - dynamic. SELECT - выполняется только при регистрации абонента, а не при "звонке" ему. Так что кеширование на данный момент не влияет. Оно устраняет другие проблемы ... )
2008-11-21 20:25

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Не обнавляется context из MySQL

SELECT - выполняется только при регистрации абонента, а не при "звонке" ему.
А ты debug включи и посмотри ;-)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-11-22 12:57

Сообщений: 1573

Re: Не обнавляется context из MySQL

:) - сказал все наоборот. Хотел - "SELECT - выполняется не только при регистрации абонента, а при "звонке" ему. Так что кеширование на данный момент не влияет."

Т.е. изменения вступят в силу - сразу

А вот то, что исправляется с включением кеширования - цитата:
есть некоторые проблемы с поддержкой функционирования клиентов, которые работают через NAT: keep-alives (qualify=) или индикация о новых сообщениях в voicemail для данных пиров не будут работать без специальных мер по кэшированию этих записей.

если вы включите кэширование данных полученных через RealTime в Вашем файле sip.conf, iax.conf Voicemail MWI работает, а так же работают команды типа: 'sip show peers' - смотри описание параметра: rtcachefriends=yes

2008-11-22 13:24

Сообщений: 80

Re: Не обнавляется context из MySQL

asterisk -rx 'sip prune realtime <name>'
каждый раз в момент обновления записи
и время регистрации поменьше
2008-11-24 15:23

Сообщений: 1573

Re: Не обнавляется context из MySQL

to Rom1kz

RealTime - сделан для того что бы можно было оперативно менять данные (хранить данные в одном месте для многих серверов и т.д.), а не для того, что бы вводить дополнительные команды ...

С таким же успехом можно сделать - asterisk -rx 'sip reload' и не париться с RealTime ... )
А если, к тому же, у вас серверов с десяток?
В случае кластера - нужно будет вначале найти на каком в данный момент висит этот пир и ввести команду ...
Мягко говоря - не удобно, не так ли?

P.S. А вообще, что имелось ввиду? Для чего это нужно? Это не решит поставленной задачи ...
2008-11-24 16:13

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru