Hi guys, I'm trying to set a channel variable effective_caller_id_number in gateway's <variables> section and it seems not working. However, if I set it up with application set command in dialplan it works fine. What is the difference between these two ways?

My gateway section looks like this:
 
<include>
     <gateway name="CanUS">
       <param name="username" value="64721"/>
       <param name="password" value="supersecretpasword"/>
       <param name="from-user" value="64721"/>
       <param name="from-domain" value="11.22.33.44"/>
       <param name="proxy" value="11.22.33.44"/>
       <param name="expire-seconds" value="800"/>
       <param name="register" value="true"/>
       <param name="retry-seconds" value="60"/>
       <param name="context" value="public"/>
       <param name="caller-id-in-from" value="true"/> <!--Most gateways seem to want this-->
       <variables>
           <variable name="effective_caller_id_name" value="Gateway"/>
           <variable name="effective_caller_id_number" value="64721"/>
       </variables>
     </gateway>
</include>
 
and working dialplan strings look like this:
 
<action application="set" data="effective_caller_id_number=64721" />
<action application="bridge" data="sofia/gateway/CanUS/$1" />                                                                                                                             
 
Thank you, Dmitry