Tcl Variable General Naming Convention


Some Tcl parameter names have prefixes, some suffixes, and others may have both. In addition to specific naming convention (see On Multiple Subtabs and Prefix Type), each parameter also has its own value-type rules.  


Tcl Parameter Generic Type Values

The generic value-types would be one of the following:

 


 

The following further clarifies the Tcl Parameter value types:


Suffixes/Prefixes

For example, if there were 3 MSCCs, the variable would be suffixed as follows:

 _1 (for MSCC_1 tab), _2 (for MSCC_2 tab), _3 (for MSCC_2 tab) and so on.

The Tcl variable format is "DiaSrvCcV1AvpTrigger" + <trigger_value> + "_" + mscc_idx + id_idx

For example, if there were 3 primary contexts and 2 secondary contexts per primary context, the parameters would be suffixed as follows:

 _0_0 (Primary), _0_1 (secondary), _0_2 (secondary), _1_0, _1_1, _1_2, _2_0, _2_1, and _2_2.

For example, if the maximum bearer per subscriber were 3, the parameters would be suffixed as  _1, _2, _3, ... _11

A Rule Set is associated with a maximum of 8 Charging Rules, which is associated with a maximum of 8 Rule Definitions. In Addition, a Rule Set may be mapped to a maximum of 30 APNs and each APN may be mapped with more than one Rule-Set.

The Tcl parameters in PCRF Node Test Case are define as an array.

  1. APN Name/Timer Mapping Tcl Variable Information

    Tcl variable name: TyCcSrvApns

    Parameter Class:  Array, list of APN names, up to 30

        [APN1] [APN2] ... [APNn]

    Tcl variable name: TyCcSrvApnRevalidationTime[n]

    Parameter Class:  Array, list of associated revalidation timers

        [TIMER1] [TIMER2] ... [TIMERn]

    Example:

    set list [ls::create Array-TyCcSrvApns -under $p]

    ls::create ArrayItem -under $list -Value 'my apn1'; #apn1 1

    ls::create ArrayItem -under $list -Value 'my apn2'; #apn2 1

    ls::create ArrayItem -under $list -Value 'my apn3'; #apn3 1

    set list [ls::create Array-TyCcSrvApnRevalidationTime -under $p]

    ls::create ArrayItem -under $list -Value 0; #apn1 timer disabled

    ls::create ArrayItem -under $list -Value 0; #apn2 timer disabled

    ls::create ArrayItem -under $list -Value 3600; #apn3 timer

    • On the Charging Rules pane, the parameters are suffixed with _x_y, where x = Rule Set index and y = Charging Rule index). For example the suffixes display as, _1_1, _1_2, .... 8_1, 8_8

    • On the Rule Definitions pane, the parameters are suffixed _x_y_z. Where x = Rule Set; y = Charging Rule; z = Rule Definition) For example the suffixes display as, _1_1_1, _1_1_2, .... 8_1_1, ..., 8_8_8

    • For Packet Filter Table, the parameters are suffixed as follows: a_b_c_d, where a = rule set index, b = charging rule index, c= rule definition index, d = filter number

Suffix "_1" indicates Primary setting, and "_2" Mobility setting

Primaries PDP Contexts: P<primary index> (P0, P1, .... Pn)

Secondary PDP Context: P<primary index>-S<primary index> (P0-S0, P0-S1, ... P0-Sn, P1-S0 ... P1-Sn, Pn-S0 ... PnSn)


IPSec Parameter Prefix

Depending on the test case using the IPSec protocols, the parameter $prefix$ identifies the test case in which the parameter is used:

 Number of Cryptographic Suites : <tab_prefix>NumCryptoSuites

    • Tcl Parameters within each cryptographic suite tab is as follows:

<tab_prefix><ParameterName>_<Suite ID>

For example: DataAuthType_1

Suite ID is 1 - 5

Number of Cryptographic Suites : <tab_prefix>NumCryptoSuites<Tunnel ID>

Where value of Tunnel ID range is 1 to 16

<tab_prefix><ParameterName><Tunnel ID><Suite ID>

Where value of Tunnel ID is 1 - 16

Suite ID is 1 - 5


Diameter Prefix

Depending on the test case using the Diameter protocols, the parameter <tabprefix> identifies the test case and protocol in which the parameter is used: