Задать вопрос
s2d1ent
@s2d1ent
Администратор IP-телефонии

Почему не работает кастомное поле в CDR?

Настроил Asterisk 20.17.0 и не работает кастомное поле в CDR. Поле называется filename, приведено в таблице ниже.
+---------------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------------------+----------------+
| id | int(10) | NO | PRI | NULL | auto_increment |
| calldate | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| clid | varchar(80) | NO | MUL | | |
| src | varchar(80) | NO | MUL | | |
| dst | varchar(80) | NO | MUL | | |
| realdst | varchar(80) | NO | | | |
| dcontext | varchar(80) | NO | MUL | | |
| channel | varchar(80) | NO | | | |
| dstchannel | varchar(80) | NO | | | |
| lastapp | varchar(80) | NO | | | |
| lastdata | varchar(80) | NO | | | |
| start | datetime | NO | | 0000-00-00 00:00:00 | |
| answer | datetime | NO | | 0000-00-00 00:00:00 | |
| end | datetime | NO | | 0000-00-00 00:00:00 | |
| duration | int(11) | NO | | 0 | |
| billsec | int(11) | NO | | 0 | |
| disposition | varchar(45) | NO | | | |
| amaflags | int(11) | NO | | 0 | |
| remoteip | varchar(60) | NO | | | |
| accountcode | varchar(20) | NO | MUL | | |
| peeraccount | varchar(20) | NO | | | |
| uniqueid | varchar(32) | NO | MUL | | |
| userfield | varchar(255) | NO | | | |
| did | varchar(50) | NO | MUL | | |
| linkedid | varchar(32) | NO | | | |
| sequence | int(11) | NO | | 0 | |
| filename | varchar(255) | YES | | none | |
| cnum | varchar(80) | NO | | | |
| recordingfile | varchar(255) | NO | | | |
+---------------+--------------+------+-----+---------------------+----------------+
В диалплане в контексте для записи звонков есть следующие две строки:
exten => s,n(cdr),Set(CDR(userfield)=${field})
exten => s,n,Set(CDR(filename)=${dname}${fname})

В поле userfield значение устанавливается, а в filename нет. На версии Asterisk 18.16.0 все работало без проблем.
В cdr_adaptive_odbc.conf добавил следующую запись
[asteriskdb]
connection = asteriskdb
table = cdr
loguniqueid = yes
usegmtime = no
;alias start => calldata
Если сделать module reload cdr_adaptive_odbc.so в выводе видно, что поле filename он видит. С чем моежт быть связана данная проблема ?
  • Вопрос задан
  • 22 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Академия Eduson
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы