Вы оба красавы.
ТС привёл пример, там у него жестко забито 5002
Код: Выделить всё
exten => s,1,Noop(DEVICE STATE - ${DEVICE_STATE(PJSIP/5002)})
exten => s,n,ExecIf($["${DEVICE_STATE(PJSIP/5002)}" = "INUSE"]?Playback(abzanjat))
exten => s,n,ExecIf($["${DEVICE_STATE(PJSIP/5002)}" = "INUSE"]?Set(D_OPTIONS=Ttm(vertical)))
exten => s,n,ExecIf($["${DEVICE_STATE(PJSIP/5002)}" = "BUSY"]?Playback(abzanjat))
exten => s,n,ExecIf($["${DEVICE_STATE(PJSIP/5002)}" = "BUSY"]?Set(D_OPTIONS=Ttm(vertical)))
exten => s,n,ExecIf($["${DEVICE_STATE(PJSIP/5002)}" = "NOT_INUSE"]?Set(D_OPTIONS=Ttm(vertical)))
Уважаемый ТС! Вам надо изучить что такое ${EXTEN} в макросе. Вам надо передавать в макрос номер экстена как аргумент.
exten => s,1,Noop(DEVICE STATE - ${DEVICE_STATE(PJSIP/${ARG1})})