Страница 1 из 1

realtime и обновление кеша.

Добавлено: 05 июл 2012, 16:51
Ferrum
У меня большинство SIP пользователей прописано через реалтайм, кэш включен, но мне необходимо обновлять данные по контекстам пользователей, а пока не выполнить sip reload, sip prune realtime <name>, кэш не обновляется несмотря на изменения в базе.
Как сделать обновления кеша SIP пользователей, пусть не сразу пусть через какое-то время после внесения изменений в базу ?

sip.conf

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

rtcachefriends=yes
rtautoclear=yes
defaultexpiry=600
minexpiry=60
maxexpiry=3600
rtupdate=yes
Астериск 10.X

Re: realtime и обновление кеша.

Добавлено: 05 июл 2012, 17:36
Vlad1983
т.к. изменения вносятся каким-то внешним ПО можно из него же по AMI выполнять те же команды
или добавить поле в таблицу где ставить флаг о том, что произошло изменение в такой то строке, и скриптом по крону его отслеживать при нахождении выполнять asterisk -rx 'что надо'

Re: realtime и обновление кеша.

Добавлено: 06 июл 2012, 10:08
Ferrum
Vlad1983 писал(а):т.к. изменения вносятся каким-то внешним ПО можно из него же по AMI выполнять те же команды
или добавить поле в таблицу где ставить флаг о том, что произошло изменение в такой то строке, и скриптом по крону его отслеживать при нахождении выполнять asterisk -rx 'что надо'
Спс это на крайний случай, неужели штатными средствами никак не сделать ?

Re: realtime и обновление кеша.

Добавлено: 06 июл 2012, 10:50
Vlad1983
попробовать выставить
rtupdate=yes
rtautoclear=120
последнее действует в trunk (в остальных ХЗ смотрите сами)
под "действует" не подразумевается что будет работать так как нужно вам

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

;rtupdate=yes                   ; Send registry updates to database using realtime? (yes|no)
                                ; If set to yes, when a SIP UA registers successfully, the ip address,
                                ; the origination port, the registration period, and the username of
                                ; the UA will be set to database via realtime.
                                ; If not present, defaults to 'yes'. Note: realtime peers will
                                ; probably not function across reloads in the way that you expect, if
                                ; you turn this option off.
;rtautoclear=yes                ; Auto-Expire friends created on the fly on the same schedule
                                ; as if it had just registered? (yes|no|<seconds>)
                                ; If set to yes, when the registration expires, the friend will
                                ; vanish from the configuration until requested again. If set
                                ; to an integer, friends expire within this number of seconds
                                ; instead of the registration interval.