2016-08-31 12 views
0

Мне нужно поставить вызывающего абонента в очередь. И на данный момент это команда basics - Queue, но я должен проверить, есть ли у этого вызывающего абонента разрешение на вызов агента в данный момент. У меня есть фоновый сценарий AMI, который настраивает разрешения.Звездочка, Очередь с AGI или макросом

Итак, возможно ли вернуть вызывающего абонента в очередь, если у него нет разрешения на звонок к агенту?

+0

Здесь лучше использовать AGI. Проверьте с помощью AGI, какое разрешение имеет вызывающий, а затем направьте его соответствующим образом. Вы можете использовать AGI для установки переменной на канале, а затем проверить ее в диалплане. –

+0

Esyscoder dzieki za zainteresowanie. Спасибо, что ответили. Вы видите, что мне нужно поставить вызывающего абонента в очередь, и нет никакой опции для другой логики для входящих вызовов. Я должен проверить разрешение из очереди. Существует около 17 очередей с этими же агентами для всей очереди. И если вы знаете, как работает очередь, тогда вы согласитесь со мной, что это отстой. Поскольку каждая очередь будет пытаться поставить вызывающего агента, но мне нужно отправить только первый вызывающий агент из каждой очереди. Итак, я написал скрипт, который работает backround и проверяет через AMI, у которого в очереди есть вызывающий, и если очередь затем помещается в значение astdb 1, либо ставится 0. – przeqpiciel

+0

AMI может делать перенаправление. Таким образом, вы можете перенаправить вызов уже в очередь. Mayby, который помогает. –

ответ

0

Вы можете использовать команду перенаправления 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.