Already typed this, so maybe it'll be helpful. 

I had to use origination_caller_id_number to get the right number to show up on an incoming call from my gateway being bridged to an external device through my gateway. The bridge I am using is the longer line, but you could set it in a single line. 

Setting it in the bridge:
<action application="bridge" data="<ignore_early_media=true,origination_caller_id_number=${caller_id_number}>
    {leg_timeout=35}group/${dialed_group}@${domain}
    :_:{leg_timeout=25,bypass_media_after_bridge=true,absolute_codec_string=G729}group/external_devices@${domain}"/>

Setting it prior to the bridge :
<action application="set" data="origination_caller_id_number=${caller_id_number}"/>



On Wed, Oct 10, 2012 at 4:31 PM, D'Arcy J.M. Cain <darcy@vex.net> wrote:
On Wed, 10 Oct 2012 15:40:52 -0400
Nick Vines <jnvines@gmail.com> wrote:
> I ran into a similar problem and setting origination_caller_id name
> and number fixed it for me.
>
> http://wiki.freeswitch.org/wiki/Variable_origination_caller_id_number

Is that just a badly named variable?  I am not worried about
origination, only termination.  Can you show me a more complete
example?  Where does this go?  In the dialplan?  The wiki is not very
clear.  it says to put this inside the {} brackets:

originate {origination_caller_id_name='Caller
Name',origination_caller_id_number=5551231234}sofia/gateway/test/1231231234
&park()

But there is stuff outside the brackets.  Are there other brackets that
this is supposed to nest in?  I have no "originate" keyword in my
configs.

--
D'Arcy J.M. Cain
System Administrator, Vex.Net
http://www.Vex.Net/ IM:darcy@Vex.Net