Set callerID depending Queue the call comes from


I have 3 queues and also 3 verified nrs. I’d like to send out a caller id depending the queue the call is coming from. If I make an outbound route with the new caller id and a dialplan for example like this:

(+32) + 0 [0XXXXXXXX/701] where 701 is the queue nr of the queue who needs this cid outbound.

Is this the right way to do this?

kind regards & thx

Tried the above but doesn’t work. Can someone give me any pointers on how to do this the correct way? Many thx

Bump anyone?

The inbound Queue info is not passed to an outbound route.

I can’t think of a way to do this without custom code.

This is common for 3 separate companies under one roof.0

We did this for a customer - we made the “Caller ID Prefix” of the queue 7,8,and 9 for 3 seperate queues, then duplicated the trunk 3 separate times with 3 caller ID’s. And made outbound routes with 7|. 8|. and 9|. respectively , with each going to its resptive trunk with the proper CIDSo:

If someone called queue #1 with caller id of 7142221234- it had a CID Prefix of 7, the CID presented to the agent would be “77142221234” - if they tried to call it back it would go out trunk #1 with the outbound CID of whatever we wanted the first queue calls set to (i.e. 949-222-5555)

If that same customer called in to queue #2, and it had a CID Prefix of 8, the CID presented to an agent would be “87142221234”…If they tried to call it back it would automatically go out the 2nd trunk with the different caller id.

Does that make sense?


Yes, this makes sense! I’ll try it tomorrow and get back here in case of problems. I envy guys like you who manage to spit solutions like this, kudo’s!:slight_smile:

Many thx m8!
Kind regards


I’ve been trying this, but no joy.

In the logs I can see that the “7” I’ve added as prefix in the queue settings is effectively added to the CallerID(NAME), but not to the CallerID(NUMBER). In the dial rules only the real number is checked/changed, and not the CallerID(NAME)so it never gets out of the trunk, the 7 never matches as it’s never in the callerid(NUMBER).

[2013-01-09 14:09:49] VERBOSE[18475] pbx.c: -- Executing [s@macro-user-callerid:26] Set("Local/1000@from-queue-bd71;2", "CALLERID(number)=0489471927") in new stack
[2013-01-09 14:09:49] VERBOSE[18475] pbx.c: -- Executing [s@macro-user-callerid:27] Set("Local/1000@from-queue-bd71;2", "CALLERID(name)=70489471927") in new stack

Am I overlooking something?

EDIT: I just reread your post and I think we still have different situations. You say “when the agent calls the nr back it goes out of the right trunk”, I can believe that as the call is initiated again by an agent and dial rules apply of course. BUT in my situation, the call is sent to a cell phone straight from the queue without any action of an agent. The cell phone extension is just in the member list of the queue. I think that’s what making the difference.

Kind regards

Sorry - you are correct - I forgot one item…

You will need to override the dialplan for that context so it sets the callerid number as well as the name…

Can you post the entire section of the log (or PM me)