Доброго времени суток. Пытаюсь в реалтайм затащить автопровижинг телефонов. Но чет не получается. Что сделано:
extconfig.conf
ps_endpoints => odbc,asterisk
ps_auths => odbc,asterisk
ps_aors => odbc,asterisk
ps_domain_aliases => odbc,asterisk
ps_endpoint_id_ips => odbc,asterisk
ps_contacts => odbc,asterisk
**ps_phoneprov => odbc,asterisk**
sorcery.conf
[res_pjsip] ; Realtime PJSIP configuration wizard
endpoint=realtime,ps_endpoints
auth=realtime,ps_auths
aor=realtime,ps_aors
domain_alias=realtime,ps_domain_aliases
contact=realtime,ps_contacts
[res_pjsip_endpoint_identifier_ip]
identify=realtime,ps_endpoint_id_ips
[res_pjsip_phoneprov_provider]
phoneprov=realtime,ps_phoneprov
CREATE TABLE ps_phoneprov (
id VARCHAR(40) NOT NULL,
endpoint VARCHAR(128) NOT NULL,
MAC VARCHAR(48) NOT NULL,
PROFILE VARCHAR(128) NOT NULL,
ENDPOINT_ID VARCHAR(40) NOT NULL,
AUTH_ID VARCHAR(40) NOT NULL,
TRANSPORT_ID VARCHAR(40) NOT NULL,
OTHERVAR TEXT,
UNIQUE(id)
);
SELECT * FROM ps_phoneprov WHERE id LIKE '%' ORDER BY id;
+------+----------+--------------+------------------+-------------+---------+---------------+
| id | endpoint | MAC | PROFILE | ENDPOINT_ID | AUTH_ID | TRANSPORT_ID |
+------+----------+--------------+------------------+-------------+---------+---------------+
| 2776 | 2776 | 805ec0830055 | yealink_t19_0053 | 2776 | 2776 | transport-udp |
| 2778 | 2778 | 805ec0830054 | yealink_t19_0053 | 2778 | 2778 | transport-udp |
+------+----------+--------------+------------------+-------------+---------+---------------+
phoneprov.conf
[yealink_t19_0053]
yealink/${TOLOWER(${MAC})}.cfg => yealink/yealink-t19.cfg
Судя по логам
core set debug 5
module reload res_pjsip_phoneprov_provider.so
таблица со значениями читается, даже отрабатывает функция:
pbx_variables.c:503 ast_str_substitute_variables_full: Evaluating 'TOLOWER(${MAC})' (from 'TOLOWER(${MAC})}.cfg' len 15
....
pbx_variables.c:379 ast_str_retrieve_variable: Result of 'MAC' is '805ec0830055'
Но вот
phoneprov show routes
показывает в Dynamic routes пустоту.
При указании в sorcery.conf
[res_pjsip_phoneprov_provider]
phoneprov=config,pjsip.conf,criteria=type=phoneprov
и
core restart now
(просто core reload результата не дает)
Dynamic routes показывает
Provider Profile Relative URI Template
res_pjsip_phoneprov_ yealink_t19_0053 yealink/.cfg yealink/yealink-t19.cfg
После core reload
Dynamic routes
Provider Profile Relative URI Template
res_pjsip_phoneprov_ yealink_t19_0053 yealink/805ec0830055.cfg yealink/yealink-t19.cfg
Т.е. типа из конфига все работает, а из БД нет. Шо за бред - не понятно :(
Задан: 2019-09-02 16:46:17 +0400
Просмотрен: 548 раз
Обновлен: Sep 03 '19
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
шо за бред - непонятно. редактируйте
meral ( 2019-09-02 18:05:14 +0400 )редактироватьolegsenin, надо делать на протоколе TR-069, телефоны Yealink его поддерживают, и смотрите лучше в сторону более-менее готового ПО - GenieACS is an open source TR-069 remote management. Иначе - велосипед изобретать.
ded ( 2019-09-09 13:00:52 +0400 )редактировать