GTD Manipulation Sample Scripts

Here are some sample scripts you can use to get familiar with GTD Manipulation.

Accessing GTD parameters received during call setup
<vxml version="2.0">
<form>
 <var name="X" expr="com.cisco.signal.gtdlist['setup_indication']"/>
 <var name="cgn1" expr="X.CGN[0].noa"/>
 <var name="cgn2" expr="X.CGN[0].npi"/>
 <var name="cgn3" expr="X.CGN[0].pi"/>
 <var name="cgn4" expr="X.CGN[0].si"/>
 <var name="y" expr="X.CGN[0]['#']"/>
  <block>
   <log> y is:<value expr="y"/>:</log>
    <var name="rc" expr="'passed'"/>
   <if cond="y != '9876543210'">
   <assign name="rc" expr="'failed'"/>
   </if>
   <log> WB_FEAT_GTD_1001:END: <value expr="rc"/> </log>
  <disconnect/>
  </block>
</form>
</vxml>
Creating a GTD Message
<form>
 <var name="my_new_gtd0" expr="new com.cisco.objclass.gtd()"/>
 <var name="my_new_gtd1" expr="new com.cisco.objclass.gtd()"/>
 <var name="my_new_gtd2" expr="new com.cisco.objclass.gtd()"/>
 <var name="my_new_gtd3" expr="new com.cisco.objclass.gtd()"/>
 <var name = "my_new_gtd0.message_type" expr = "'IAM'"/>
 <var name = "my_new_gtd1.message_type" expr = "'ACM'"/>
 <var name = "my_new_gtd2.message_type" expr = "'CPG'"/>
<var name = "my_new_gtd3.message_type" expr = "'REL'"/>
 
 <block>
 <log> message type for my_new_gtd0 is <value 
expr="my_new_gtd0.message_type"/></log>
 <log> message type for my_new_gtd1 is <value 
expr="my_new_gtd1.message_type"/></log>
 <log> message type for my_new_gtd2 is <value 
expr="my_new_gtd2.message_type"/></log>
 <log> message type for my_new_gtd3 is <value 
expr="my_new_gtd2.message_type"/></log>
 <goto next="#printresult"/>
 </block>
</form>
<catch event="error.semantic">
 <assign name="res" expr="'failed'"/>
 <goto next="#printresult"/>
</catch>

 <form id="printresult">
 <block>
 <log> <value expr="testcase"/>:END:<value expr="res"/> </log>
 </block>
 </form>
</vxml>
Modifying Attributes in a GTD Message
<form>
 <var name="my_gtd0" expr="new com.cisco.objclass.gtd()"/>
 <var name = "my_gtd0.message_type" expr = "'IAM'" />
 <var name = "my_gtd0.CGN[0].npi" expr = "4" />
 <var name = "my_gtd0.CGN[0].pi" expr = "'y'" />
 <var name = "my_gtd0.CGN[0]['#']" expr = "'408-527-4800'" />
 <!-- Second gtd message use if needed -->
 <var name="my_gtd1" expr="new com.cisco.objclass.gtd()"/>
 <var name = "my_gtd1.message_type" expr = "'CPG'" />
 <block>
 <log> message type for my_gtd0 is <value expr="my_gtd0.message_type"/></log>
 <log> cgn.npi for my_gtd0 is <value expr="my_gtd0.CGN[0].npi"/></log>
 <log> cgn.pi for my_gtd0 is <value expr="my_gtd0.CGN[0].pi"/></log>
 <log> cgn.# for my_gtd0 is <value expr="my_gtd0.CGN[0]['#']"/></log>
 <if cond="my_gtd0.CGN[0].npi== '4' || my_gtd0.CGN[0].pi== 'y' || my_gtd0.CGN[0]['#']
== '408-527-4800'">
 <assign name="res" expr="'passed'"/>
 <else/>
 <log> Failed to modify new GTD instance.</log>
 </if>
 <goto next="#printresult"/>
 </block>
 </form>
 <form id="printresult">
 <block>
 <log> <value expr="testcase"/>:END:<value expr="res"/> </log>
 </block>
</form>
</vxml>
Accessing a Valid but Unavailable GTD Parameter

<form>
    <var name="X" expr="com.cisco.signal.gtdlist['setup_indication']"/>
    <var name=“uus" expr="X.UUS[0]"/>
    <block>
    	<if cond="uus == 'Undefined' || uus == 'undefined'">
          <log> UUS unavailable <value expr=“uus"/>:</log>
        <else/>
          <assign name=“uusdat" expr="X.UUS[0].dat"/> 
        </if>
    </block>
 </form>
</vxml>