Добрый день! Настроил Realtime (хотя сейчас я уже сомневаюсь что это название подходит) sip пиров на postgreSQL. Гуглил, читал, но до конца все равно не понял В sip.conf из параметров для риалтайма прописал только rtcachefriends=yes Оно вродь как работает, но:
1) Если изменил запись в базе данных, то астериск автоматически эти данные не подтягивает. Прочитал что нужно делать sip prune realtime peer 4624, но тогда пункт 2
2) Делаем sip prune realtime peer 4624, запись удаляется с кеша. Иногда, если после этого позвонить с другого телефона на этот номер 4624, то вызов не доходит и в кеш добавляется строка 4624 UNREACHABLE, а в базу данных в поля порт и regseconds записываются ноли, вызов не доходит (лечится тем же prune и ожиданием пока телефон зарегистрируется по истечении своего expire).
4624/4624 (Unspecified) D No No 0 UNREACHABLE Cached RT
А иногда после sip prune realtime peer 4624, запись с кеша удаляется, а в таблице остается как было, и тогда звонок нормально проходит.
3) Если отключить rtcachefriends, то я не увижу зарегистрированных телефонов, что тоже не удобно
Подскажите, пожалуйста, правильные настройки Realtime
Там есть много вариантов работы, читайте доку.
Можно сделать, что вообще каждый раз читало из базы("подтягивало") и не кешировало. Когда кеширует, да, пароль не обновляет.
Можно сделать, чтоб в базу писало изменение регистрации.
Но это все плохо влияет на саму базу.
С последним пунктом ничего не сделать. Если все в базе, всю базу вам консольной командой не выводит в основном по причине наличия систем типа a2billing.org( 10млн+ записей ccsipfriends в базе из которых астериск подгружает не больше тысячи).
Задан: 2016-10-14 15:27:33 +0400
Просмотрен: 656 раз
Обновлен: Oct 15 '16
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.