Пытаюсь создать blacklis в asterisk. Сейчас при водящем звонке номера добавляются в blacklist, но мне нужно добавлять CallerID в blacklist только после того как на звонок ответили т.е по факту совершившегося звонка.
[sip]
exten => _X.,1,NoOp(Checking CallerID against blacklist)
exten => _X.,n,GotoIf($[${DB_EXISTS(/${CALLERID(num)})}]?blacklisted,1)
exten => _X.,n,Set(DB(blacklist/${CALLERID(num)})=1)
exten => _X.,n,Set(records=/etc/asterisk/rec/${STRFTIME(${EPOCH},,%H_%M_%d-%m-%Y)}-${CALLERID(number)}-${EXTEN}.wav)
exten => _X.,n,MixMonitor(${records})
exten => _X.,n,Dial(SIP/1002,15,m())
exten => _X.,n,Set(DB(blacklist/${CALLERID(num)})=1)
exten => _X.,n,Hangup()
exten => blacklisted,1,NoOp(CallerID is blacklisted, hanging up)
exten => blacklisted,n,Hangup()
Пытался добавить добавление в blacklist по статусу ${DIALSTATUS}"="ANSWER"
[sip]
exten => _X.,1,NoOp(Checking CallerID against blacklist)
exten => _X.,n,GotoIf($[${DB_EXISTS(blacklist/${CALLERID(num)})}]?blacklisted,1)
exten => _X.,n,Set(records=/etc/asterisk/rec/${STRFTIME(${EPOCH},,%H_%M_%d-%m-%Y)}-${CALLERID(number)}-${EXTEN}.wav)
exten => _X.,n,MixMonitor(${records})
exten => _X.,n,Dial(SIP/1002,15,m())
exten => _X.,n,GotoIf($["${DIALSTATUS}"="ANSWER"]?add_to_blacklist,1:blacklisted,1)
[add_to_blacklist]
exten => 1,1,Set(DB(blacklist/${CALLERID(num)})=1)
exten => 1,n,Hangup()
[blacklisted]
exten => 1,1,NoOp(CallerID is blacklisted, hanging up)
exten => 1,n,Hangup()
но по завершению звонка номер не попадает в blacklist.
Подскажите куда копать?