Outbound caller id by extension?

I have:

DID 1 --> asterisk --> extension 1 of eyebeam softphone
DID 2 --> asterisk --> extension 2 of eyebeam softphone

I can receive calls on both DIDs and send calls on both DIDs
I have set the caller id in the outbound context of extensions.conf
but it uses the same outbound caller id assignment for both eyebeam extensions.
Is there a way to set a different caller id for outbound calls based on the extension that is calling out?

Ex.

Extension 1 of eyebeam softphone --> asterisk --> callerid=X Corp
Extension 2 of eyebeam softphone --> asterisk --> callerid=Y Corp

Please remember that the softphone extensions are mapped to the DIDs so if I can set the callerid by the DID being used to make the call then that would be fine.

Any help is appreciated.

Use Set(CALLERID(all)=…) with an appropriate expression. For details of expressions see http://www.asterisk.org/doxygen/1.2/AstVar.html.