Configuration Dialplan with channelId specific

I have a request like below:
1-From user with a number xxxx who calls our agents, they are considered as client VIP, so his call must be answered first.
Is there anyway to tell dialplan in asterisk if number of caller_id = xxxx then Answered directly by extension 6000 without coming in Queue .

2-How to assigned directly a channel directly to one agent available? is it possible with dialplan or I have to use ARI API

3-How about the report of asterisk, does I have to build my own report (my own shema of database) or it exists already ?
I need as report:
a) the number of calls which is missed, the number of calls received, the number of calls outgoings.
b)details of each call I mean caller_id, status (if it is receiving or outgoing or missing call), duration of the call,the time that the call is stayed in queue before the agent answered, the agent who is treated the call etc

Thanks you much for your replies

  1. I don’t think you mean extension, I think you mean device, but to answer the questions as posed:
exten => qqqq/xxxx,1,Goto(6000,1)
exten => qqqq,s,Queue(...)

which will give busy if that extension corresponds to someone busy on a queue.

You could also use the position argument of the queue application, or have multiple queues, of different weights, with the same members.

  1. I’m not sure what you are asking, but I suspect you don’t mean an Asterisk Agent/ channel, when you say “agent”, so you need to more precise. Showing a concrete example of what you thought should work is likely to be helpful.

  2. Asterisk is a toolkit, not a PABX. You need to use your own, or third party tools, to analyze the logs as best fits your requirement. Remember there as CEL as well as CDR, and CEL may be better for more complex cases.

Thank you so much for your replies

For the question2 :
Yes it’s not clear and my explanation is not enough
1- So I have one channel in coming, I can see using ARI.listchannels all channels
2- I would like to assigned this channel to one device with callerid=1000 for example the channel will be affected to callerid=1000 and then his device will be ringing and he has to answered the call.
Does those actions are possibles

4-About using ARI there is notion stasis
I check the documentation ARI and Channels: Manipulating Channel State - Asterisk Project - Asterisk Project Wiki

exten => 1000 , 1 ,NoOp() same => n,Stasis(channel-state) same => n,Hangup()`

and there is a file
my question is:
1- where is the place of this file in the server contains the asterisk

2-As I see it is language python, so does asterisk can compile other language than his own script ?

3-Could you give me more explanation about stasis please
statis (name of what exactly)
how to make configuration of it

Again thank you so much

ARI postdates my direct experience with Asterisk, but I suspect it is over used because it is fashionable.

I don’t think you mean callerID. I don’t understand why you don’t just Dial the device.

Stasis is the interpreter for ARI.

I don’t believe that Asterisk contains any Python, so I assume the .py file is third party or contributed.

Asterisk doesn’t compile anything (except AEL).

I’d suggest not trying to use stasis until you are familiar with using normal dailpan.

There are no included Stasis or ARI applications. ARI is a method by which an application (such as a new implementation of the Queue application) can be written. The referenced wiki page just demonstrates how it can be used.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.