I posted earlier in this thread, so perhaps this is spamming...
But regarding PvK's need, you should look at our Caller ID tool. It has expanded some since it's original release. Now managers can restrict the numbers an agent can choose from based on group (For example, no point showing UK phone numbers to USA agents). Or, rather than selecting a specific phone number from a predefined list, you can simply type in an add-hoc number.
Also, you can give a description to the numbers and select by name rather than the actual number. That way you don't need to memorize which number goes with each location or customer. You simply select the name. For example "Sacramento, California" or "West-Side Franchise".
To expand the discussion further, in response to the idea of setting the caller ID by looking at the number dialed, this is only a partial solution when you consider number portability. My cell has a Wisconsin phone number, but I live in Utah. If the number that shows up on my cell is from out of state, I know right away it's a spam call and I reject the call and block the number... worse that gets reported to my carrier so not only do I block the number from my phone, it leads to everyone on that carrier blocking the number.
It is true, most businesses are going to have a local number, but that is less true for residential contacts. In my opinion, getting the caller ID set to the correct number should be (when possible) based on the contact's address and not assume their phone number matches their location.
So, if you are dialing from your CRM, (for example using our VoIPTools REST API), your code should be looking at the contacts address to decide what Caller ID to use rather than matching based on the phone number. Or have a human make the decision.