You can set your caller ID in the admin center. Login to your account, then choose "options" under the TELEPHONY section, then choose "caller id" link above. After that specify your caller ID which will be used for your outgoing calls and for your SMS sub-accounts.
At Diamondcard, we pass caller ID, but depending upon the local telco that terminates the call in a specific country, it may or may not display on the destination phone properly.
For USA, it should display as set in the Diamondcard admin center.
Most IAX2 clients allow you to configure a caller ID number. That's the field that needs to be set for proper caller ID.
SIP devices usually don't have a special field for caller ID. With Diamondcard, you can specify a phone number to be presented as the caller ID number in the "Name" field.
This is a field where you usually specify a name. If you add a phone number after the name it'll be used as the caller ID. This field may be named differently on different SIP devices. "Display Name" in Lynksys, "Your name" in Twinkle softphone, "First Name" + "Surname" in Ekiga.
Here is an example: "John Smith 13031234567". 13031234567 will be used as the caller ID number.