Selectively Mask/Change Caller ID on outbound SIP trunk

I’d like to allow our users to selectively override or mask the presented caller ID when placing calls. A little background:

We have several customer support engineers that will occasionally need to place calls to customers (rather than picking them up from the outbound queue). To prevent users from learning the reps’ direct lines (and calling them and bypassing the queue) we’d like to either hide the caller ID entirely or send the information that corresponds to the queue’s DID up the SIP trunk to our provider.

Does anyone have suggestions along these lines? Have you tackled a similar problem in the past.

Many providers and telco’s, if not all, only allow outgoing caller-id’s on a trunk which match a incoming (DID) phonenumber on that trunk. So you will probably have to route your outgoing calls thru the matching trunk. Or suppress their callerid. Apart from that, there are many ways to manipulate the caller-id. e.g. you can fill the Outbound caller id in the Trunk properties in FreePbx.

I’d just set the number of the queue as the outbound CID on each agent extension. Then if they want someone to have their DID, they would just need to tell the person their direct number.