Звездочка, Очередь с AGI или макросом

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

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


person przeqpiciel    schedule 31.08.2016    source источник
comment
Здесь лучше использовать AGI. Проверьте с помощью AGI, какое разрешение имеет вызывающий абонент, а затем направьте его соответствующим образом. Вы можете использовать AGI, чтобы установить переменную на канале, а затем проверить ее в диалплане.   -  person Dariusz Bączkowski    schedule 01.09.2016
comment
Esyscoder ???? dzieki za zainteresowanie. Спасибо за ваш ответ. Вы видите, что я должен поставить вызывающего абонента в очередь, и нет никакой другой логики для входящих вызовов. Я должен проверить разрешение из очереди. На всю очередь приходится около 17 очередей с одними и теми же агентами. И если вы знаете, как работают очереди, то согласитесь со мной, что это отстой. Поскольку каждая очередь будет пытаться поместить вызывающего абонента к агенту, но мне нужно отправить только первого вызывающего абонента агенту из каждой очереди. Итак, я написал скрипт, который работает в фоновом режиме и проверяет через AMI, в какой очереди есть вызывающий абонент, и если очередь имеет значение astdb 1, либо ставит 0.   -  person przeqpiciel    schedule 03.09.2016
comment
AMI может выполнять перенаправление. Таким образом, вы можете перенаправить вызывающего абонента уже в очереди. Может, это поможет.   -  person Dariusz Bączkowski    schedule 03.09.2016
comment
Как? Какие команды можно сделать?   -  person przeqpiciel    schedule 03.09.2016


Ответы (1)


Вы можете использовать команду AMI Redirect. Вы должны знать канал вызывающего абонента, но с 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.

person Dariusz Bączkowski    schedule 03.09.2016