Вопрос

I'm running Asterisk 11.4.0 and I've got access to it with AMI. How can I get list of all extensions (not peers or users)?

For example, I've got dialplan like this:

exten = _XXXX,1,Verbose(Start recording!)
exten = _XXXX,2,NoOp()
exten = _XXXX,3,Set(SCREEN_FILE=${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)}_${CALLERID(num)}>${EXTEN}.gsm)
exten = _XXXX,4,MixMonitor(${SCREEN_FILE},b)
exten = _XXXX,5,Dial(SIP/${EXTEN})
exten = _XXXX,6,StopMonitor()
exten = _XXXX,7,Hangup()
exten = _49000030[0-9a-zA-Z.@_/-].,1,Goto(test1,${EXTEN},1)
exten = _49000033[0-9a-zA-Z.@_/-].,1,Goto(test2,${EXTEN},1)

So, my extensions are _XXXX, 49000030[0-9a-zA-Z.@/-]. and 49000033[0-9a-zA-Z.@/-].

Это было полезно?

Решение

Hate answering my own questions, but... For this purpose one can use AMI command like this:

Action: 'GetConfig',
Filename: 'extensions.conf',
Category: 'default'

In the response, you will get object containing each line of "default" context as it's field. All the extensions can be easily parsed from it.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top