Letting the User set outbound CallerID (within limits)

I’m looking for suggestions on how to allow FreePBX (v 2.5.x) users to selectively set the CallerID number per call. A simple use case might be a an IAX2 extension in my PBX, that is connected to a customer’s own Asterisk box (my extension is his trunk). To avoid chaos, I check to make sure that the number they are setting is a number that’s actually assigned to them. Essentially I want my users to be able to set the outbound CallerID number to any of the numbers I’ve assigned to them.

I’ve tampered with macro-user-callerid, but now I’m on the hook to re-patch it every time we do an update to FreePBX. Is there a better way of doing it?

I did review Philipe’s presentation but found nothing that already addresses this.

TIA,

Jay Allen
F2 Incorporated
Portland Oregon