Упростил проблему до такого примера:
Код: Выделить всё
[incoming]
exten => _X.,1,Set(CDR(userfield)=test1)
same => n,Dial(SIP/500000/89610000000,120,tT)
exten => h,1,Set(CDR(is_incoming)=1)
same => n,Set(CDR(userfield)=test2)
Asterisk 13.1.0~dfsg-1.1ubuntu4
Настроено через ODBC.
Код: Выделить всё
/etc/asterisk/cdr.conf
[general]
enable=yes
unanswered=yes
Код: Выделить всё
/etc/asterisk/cdr_adaptive_odbc.conf
[global]
dsn=asterisk
dispositionstring=yes
connection=asterisk
loguniqueid=yes
table=cdr
alias is_incoming => is_incoming
alias in_callerid => in_callerid
alias userfield => userfield
alias start => calldate
Что еще сказать. Пользовательских полей несколько, все они пишутся успешно при вызовах до того как положили трубку. В exten => h уже не пишутся.
Код: Выделить всё
ats-asterisk*CLI> odbc show
ODBC DSN Settings
-----------------
Name: asterisk
DSN: MySQL-asterisk
Last connection attempt: 1970-01-01 07:00:00
Pooled: No
Connected: Yes