[Originate] Originate a call from a external number to a queue member

I am using the asterisk AMI and I can originate a call from one extension to another. However I cannot make a call from a external number to a member on a specific queue. I wanted to do this, to allow me to have queue member events on a outbound call.

Thanks in advance,

Show us what is failing on the trunk.

In particular, in Asterisk terms, Queues are extensions.

I wanted to use something like this:

Action: Originate
Channel: 948214124 <- External Number
Timeout: 30000
Context: my-context
Priority: 1
CallerID: 105
Exten: 101@0101 <- 101 is the member extension, and 0101 is the queue the member is logged in into
Async: yes

This way the external caller would be put in a queue, logging the queue events into the queue log.

Your channel only contains the optional dialled digits component. It should include the technology and device components, e.g. SIP/ITSP1, DAHDI/g2, or Local/…@context
Unless it has been added recently, you cannot address specific members in a queue, but, in any case, you would need explicit dialplan to parse the two parts of your extenion. Also, whilst I’m not sure that it is technically invalid, use “@” in an extension is likely to cause confusion.

If you want to call a member that is an always on agent, you need to define an additional queue with just that agent as a member. If you want to call a member to which you dial out, you need to address them directly, not relative to the queue. This assumes that addressing a member of a queue hasn’t been added, but I’m not aware of significant new work on queues, and this would be a low priority compared with other queue issues.

The problem is that I need to address a member in a specific queue and not any agent. Because originating to the agent the queue events like AgentCalled doesn’t show up in the AMI and I have no means to track the call.

At least up to Asterisk 11, you cannot address a specific member of a queue. You must know what address corresponds to the member and use Dial, or, as I said, have a single member queue.

Also, as I said, extension x@y will not run an application, unless write dialplan to match x@y,parse out x and y appropriately, and have the dialplan call an applicaion with those parameter.

You can do it with the active channel associated with the call, normally the channel prefix gives you that info