Итак, с помощью коллективного разума и гугла разобрался, может, кому еще пригодится:
стоит задача избирательно записывать звонки абонента 123, только абоненту 111.
1. в
sip.conf вызывающий номер 123 переносится в свой, отдельный контекст (в данном случае
[dispetcher] )
;Disp
[123](public)
regexten=123
secret=********
callerid="123" <Dispetcher>
callgroup=1
pickupgroup=1
<b>context=dispetcher</b>
;
2. в
extension.conf есть общий контекст [internal] для всех звонков, как внутренних, так и через транки на внешние линии (город, мобильные..). поэтому добавляем отдельный контекст:
[dispethcer]
exten => _X.,1,Noop
same => 2,GotoIf($["${EXTEN}" = "111"]?3:5)
same => 3,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
same => 4,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
same => 5(go-dial),Goto(internal,${EXTEN},1)
same => 6,HangUp()