ЧЕРНОВОЙ ВАРИАНТ СТАТЬИ
ДОВЕСТИ ДО УМА!!!
Отдельно замечу: в тестовых целях оценивались исходящие звонки.
При реальном применении звонок потребуется «развернуть».
ALTER TABLE cdr ADD rating INT(11) DEFAULT 3;
[columns] ;static "<value>" => <column> ;alias <cdrvar> => <column> alias start => calldate <...> alias rating => rating
[macro-ratecall] exten => s,1,Playback(rate) exten => s,n,Read(CDR(rating),,1) exten => s,n,Playback(goodbye)
[macro-makecall-psk] exten => s,1,Dial(SIP/psk/${ARG1},20,g)
exten => _11XX,1,Answer() same => n,Macro(recording,${CALLERID(num)},${EXTEN}) same => n,Macro(makecall-psk,${EXTEN:1}) same => n,Macro(ratecall) same => n,Hangup()