Только что проделал всё вышеперечисленное, для наглядности изменил просто в первом шаге Wait(1) на Wait(12) и результат - вполне ожидаемый:
Код: Выделить всё
dialplan show macro-toggle-add-agent
[ Context 'macro-toggle-add-agent' created by 'pbx_config' ]
's' => 1. Wait(12) [pbx_config]
2. Macro(user-callerid,SKIPTTL,) [pbx_config]
3. Set(CALLBACKNUM=${AMPUSER}) [pbx_config]
4. GotoIf($["${DB(QPENALTY/${QUEUENO}/dynmemberonly)}" = "yes" & ${DB_EXISTS(QPENALTY/${QUEUENO}/agents/${CALLBACKNUM})} != 1]?invalid) [pbx_config]
5. ExecIf($["${DB(AMPUSER/${CALLBACKNUM}/queues/qnostate)}" != "ignorestate"]?AddQueueMember(${QUEUENO},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${QUEUENO}/agents/${CALLBACKNUM})},,${DB(AMPUSER/${CALLBACKNUM}/cidname)},hint:${CALLBACKNUM}@ext-local [pbx_config]
6. ExecIf($["${DB(AMPUSER/${CALLBACKNUM}/queues/qnostate)}" = "ignorestate"]?AddQueueMember(${QUEUENO},Local/${CALLBACKNUM}@from-queue/n,${DB(QPENALTY/${QUEUENO}/agents/${CALLBACKNUM})},,${DB(AMPUSER/${CALLBACKNUM}/cidname)})) [pbx_config]
7. UserEvent(AgentLogin,Agent: ${CALLBACKNUM}) [pbx_config]
8. QueueLog(${QUEUENO},MANAGER,${AMPUSERCIDNAME},ADDMEMBER,) [pbx_config]
9. MacroExit() [pbx_config]
[invalid] 10. Playback(pbx-invalid) [pbx_config]
11. Set(QAGENT_UNAUTHORIZED=1) [pbx_config]
12. MacroExit() [pbx_config]
Include => 'macro-toggle-add-agent-custom' [pbx_config]
-= 1 extension (12 priorities) in 1 context. =-
Почему у меня получилось? Предположение: при копировании строчек они обрубились окном в перенос строки, и поэтому не работает. А я при переносе этих длинных строк подправил их, чтобы во всю длину умещались.