ЧЕРНОВОЙ ВАРИАНТ СТАТЬИ
ДОВЕСТИ ДО УМА!!!
Отдельно замечу: в тестовых целях оценивались исходящие звонки.
При реальном применении звонок потребуется «развернуть».
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()