2016-08-31 4 views
0

Ich muss einen Anrufer in die Warteschlange stellen. Und in diesem Moment ist es ein Basics - Queue-Befehl, aber ich muss prüfen, ob dieser Anrufer die Erlaubnis hat, einen Agenten in diesem Moment anzurufen. Ich habe im Hintergrund AMI-Skript ausgeführt, die Berechtigungen einrichten.Asterisk, Warteschlange mit AGI oder Makro

Ist es also möglich, einen Anrufer in die Warteschlange zu stellen, wenn er nicht die Erlaubnis hat, einen Agenten anzurufen?

+0

AGI kann hier besser verwendet werden. Überprüfe mit AGI welche Berechtigung Anrufer hat und richte ihn dann entsprechend ein. Sie können AGI verwenden, um die Variable für den Kanal festzulegen und dann im Wählplan zu überprüfen. –

+0

Esyscoder dzieki za zainteresowanie. Vielen Dank für Ihre Antwort. Sie sehen, ich muss Anrufer in die Warteschlange stellen und es gibt keine Option für andere Logik für eingehende Anrufe. Ich muss die Erlaubnis von der Warteschlange überprüfen. Es gibt ungefähr 17 Warteschlangen mit denselben Agenten für alle Warteschlangen. Und wenn Sie wissen, wie funktioniert Warteschlangen, dann stimmen Sie mir zu, das ist scheiße. Weil jede Warteschlange versuchen wird, den Anrufer zum Agenten zu bringen, aber ich muss nur den ersten Anrufer an den Agenten von jeder Warteschlange senden. Also habe ich ein Skript geschrieben, das backround läuft und über AMI prüft, welche Queue Anrufer hat und ob die Queue dann auf astdb 1 gesetzt wurde, entweder 0 setzen. – przeqpiciel

+0

AMI kann Redirect machen. So können Sie Anrufer bereits in der Warteschlange umleiten. Mayby das hilft. –

Antwort

0

Sie können den AMI-Befehl Redirect verwenden. Sie müssen den Anruferkanal kennen, aber mit AMI verfolgen Sie wahrscheinlich bereits Anrufe und deren Kanäle (über Ereignisse).

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 

Sie benötigen Channel des Anrufers Sie für die Umleitung Umleitung und Ziel festlegen möchten, mit Context, Exten, Priority. Jetzt können Sie jeden Anrufer an jede andere Nebenstelle in Dialplan umleiten.

Wir haben es so für Jahre verwendet, bis wir auf AGI-Ansatz umgestellt haben.