Вы можете использовать команду перенаправления AMI. Вы должны знать канал звонящего, но с AMI вы, вероятно, отслеживаете звонки и их каналы (через события).
pbx*CLI> manager show command Redirect
[Syntax]
Action: Redirect
[ActionID:] <value>
Channel: <value>
[ExtraChannel:] <value>
Exten: <value>
[ExtraExten:] <value>
Context: <value>
[ExtraContext:] <value>
Priority: <value>
[ExtraPriority:] <value>
[Synopsis]
Redirect (transfer) a call.
[Description]
Redirect (transfer) a call.
[Arguments]
ActionID
ActionID for this transaction. Will be returned.
Channel
Channel to redirect.
ExtraChannel
Second call leg to transfer (optional).
Exten
Extension to transfer to.
ExtraExten
Extension to transfer extrachannel to (optional).
Context
Context to transfer to.
ExtraContext
Context to transfer extrachannel to (optional).
Priority
Priority to transfer to.
ExtraPriority
Priority to transfer extrachannel to (optional).
[See Also]
Not available
[Privilege]
call,all
[List Responses]
None
[Final Response]
None
Вы должны указать Channel
вызывающего абонента вы хотите переадресовать и назначения для перенаправления с Context
, Exten
, Priority
. Теперь вы можете перенаправить любого вызывающего абонента на любое другое расширение в диалплане.
Мы использовали его таким образом в течение многих лет, пока не перешли на подход AGI.
Здесь лучше использовать AGI. Проверьте с помощью AGI, какое разрешение имеет вызывающий, а затем направьте его соответствующим образом. Вы можете использовать AGI для установки переменной на канале, а затем проверить ее в диалплане. –
Esyscoder dzieki za zainteresowanie. Спасибо, что ответили. Вы видите, что мне нужно поставить вызывающего абонента в очередь, и нет никакой опции для другой логики для входящих вызовов. Я должен проверить разрешение из очереди. Существует около 17 очередей с этими же агентами для всей очереди. И если вы знаете, как работает очередь, тогда вы согласитесь со мной, что это отстой. Поскольку каждая очередь будет пытаться поставить вызывающего агента, но мне нужно отправить только первый вызывающий агент из каждой очереди. Итак, я написал скрипт, который работает backround и проверяет через AMI, у которого в очереди есть вызывающий, и если очередь затем помещается в значение astdb 1, либо ставится 0. – przeqpiciel
AMI может делать перенаправление. Таким образом, вы можете перенаправить вызов уже в очередь. Mayby, который помогает. –