Caller ID, external agents in queue


I have two queues nested like so:

598 = Extension 1001
          Extension 1002
          Extension 1003
          Extension 1004
          Extension 1005
          Queue 599

599 = Mobile xxxxxxxxx
          Mobile xxxxxxxxx

When a call is made to a mobile via the queue the caller ID is that of the outbound route rather than the caller.

Override extension is not set and I cannot figure out why this would be.

Has anybody else experienced this?

FreePBX, Asterisk 11.7.0



This will depend on what type of trunks you are using.

Hi, I can’t see how this would be a trunk issue as the Caller ID is that of the Outbound Route, I know this because if I chnage the Routes default CID it takes effect. Anyway the trunk is SIP with allow any CID set.

If I send normal calls via this route the CID is perfect. This must have something to do with queues and external agents.


It’s something here:


exten => s,n(start),GotoIf($[ $["${REALCALLERIDNUM}" = “”] | $["${KEEPCID}" != “TRUE”] | $["${OUTKEEPCID_${ARG1}}" = “on”] ]?normcid)

KEEPCID is an empty string, what can be causing this?

The only other reference I have to this is:

– Executing [[email protected]:36] Set(“Local/[email protected];2”, “__KEEPCID=TRUE”) in new stack

Any ideas?

Hi taxwriter,

did you ever find a solution for setting or preserving the CID when using external numbers in queue’s ?
We have the same problem and are still looking for a solution or workaround , We use asterisk multi-tenant, and a queue cannot be pointed to a specific route or trunk. There are no options for setting the Queue CID like you would on an extension and/or outbound route.

Of we known all the external agent numbers, then we can make a route, but the agents can set their external phone numbers by themselves, so we never know ahead which number’s need to be in the route. So this solution is for us not practical.

Most be other people also facing this problem?

Hope to hear some insights.


1 Like