test-stkutil: Tests for Call Control envelope
authorAndrzej Zaborowski <andrew.zaborowski@intel.com>
Fri, 11 Jun 2010 10:39:47 +0000 (12:39 +0200)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 15 Jun 2010 17:06:38 +0000 (12:06 -0500)
unit/test-stkutil.c

index 404f092..389a865 100644 (file)
@@ -18303,6 +18303,155 @@ static const struct envelope_test menu_selection_data_641 = {
        },
 };
 
+static const unsigned char call_control_111a[] = {
+       0xd4, 0x25, 0x82, 0x02, 0x82, 0x81, 0x86, 0x0b,
+       0x91, 0x10, 0x32, 0x54, 0x76, 0x98, 0x10, 0x32,
+       0x54, 0x76, 0x98, 0x07, 0x07, 0x06, 0x60, 0x04,
+       0x02, 0x00, 0x05, 0x81, 0x13, 0x09, 0x00, 0xf1,
+       0x10, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+};
+
+static const struct envelope_test call_control_data_111a = {
+       .pdu = call_control_111a,
+       .pdu_len = sizeof(call_control_111a),
+       .envelope = {
+               .type = STK_ENVELOPE_TYPE_CALL_CONTROL,
+               .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+               .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+               { .call_control = {
+                       .type = STK_CC_TYPE_CALL_SETUP,
+                       { .address = {
+                               .ton_npi = 0x91, /* Intl, ISDN */
+                               .number = "01234567890123456789",
+                       }},
+                       .ccp1 = {
+                               .ccp = {
+                                       0x60, 0x04, 0x02, 0x00, 0x05, 0x81,
+                               },
+                               .len = 6,
+                       },
+                       .location = {
+                               .mcc = "001",
+                               .mnc = "01",
+                               .lac_tac = 0x0001,
+                               .has_ci = TRUE,
+                               .ci = 0x0001,
+                               .has_ext_ci = TRUE,
+                               .ext_ci = 0x0001,
+                       },
+               }},
+       },
+};
+
+static const unsigned char call_control_111b[] = {
+       0xd4, 0x23, 0x82, 0x02, 0x82, 0x81, 0x86, 0x0b,
+       0x91, 0x10, 0x32, 0x54, 0x76, 0x98, 0x10, 0x32,
+       0x54, 0x76, 0x98, 0x07, 0x07, 0x06, 0x60, 0x04,
+       0x02, 0x00, 0x05, 0x81, 0x13, 0x07, 0x00, 0x11,
+       0x10, 0x00, 0x01, 0x00, 0x01,
+};
+
+static const struct envelope_test call_control_data_111b = {
+       .pdu = call_control_111b,
+       .pdu_len = sizeof(call_control_111b),
+       .envelope = {
+               .type = STK_ENVELOPE_TYPE_CALL_CONTROL,
+               .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+               .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+               { .call_control = {
+                       .type = STK_CC_TYPE_CALL_SETUP,
+                       { .address = {
+                               .ton_npi = 0x91, /* Intl, ISDN */
+                               .number = "01234567890123456789",
+                       }},
+                       .ccp1 = {
+                               .ccp = {
+                                       0x60, 0x04, 0x02, 0x00, 0x05, 0x81,
+                               },
+                               .len = 6,
+                       },
+                       .location = {
+                               .mcc = "001",
+                               .mnc = "011",
+                               .lac_tac = 0x0001,
+                               .has_ci = TRUE,
+                               .ci = 0x0001,
+                       },
+               }},
+       },
+};
+
+static const unsigned char call_control_131a[] = {
+       0xd4, 0x18, 0x82, 0x02, 0x82, 0x81, 0x86, 0x07,
+       0x91, 0x10, 0x32, 0x04, 0x21, 0x43, 0x65, 0x13,
+       0x09, 0x00, 0xf1, 0x10, 0x00, 0x01, 0x00, 0x01,
+       0x00, 0x01,
+       /*
+        * Byte 3 changed to 0x82 and byte 7 changed to 0x86 (Comprehension
+        * Required should be set according to TS 102 223 7.3.1.6)
+        */
+};
+
+static const struct envelope_test call_control_data_131a = {
+       .pdu = call_control_131a,
+       .pdu_len = sizeof(call_control_131a),
+       .envelope = {
+               .type = STK_ENVELOPE_TYPE_CALL_CONTROL,
+               .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+               .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+               { .call_control = {
+                       .type = STK_CC_TYPE_CALL_SETUP,
+                       { .address = {
+                               .ton_npi = 0x91, /* Intl, ISDN */
+                               .number = "012340123456",
+                       }},
+                       .location = {
+                               .mcc = "001",
+                               .mnc = "01",
+                               .lac_tac = 0x0001,
+                               .has_ci = TRUE,
+                               .ci = 0x0001,
+                               .has_ext_ci = TRUE,
+                               .ext_ci = 0x0001,
+                       },
+               }},
+       },
+};
+
+static const unsigned char call_control_131b[] = {
+       0xd4, 0x16, 0x82, 0x02, 0x82, 0x81, 0x86, 0x07,
+       0x91, 0x10, 0x32, 0x04, 0x21, 0x43, 0x65, 0x13,
+       0x07, 0x00, 0x11, 0x10, 0x00, 0x01, 0x00, 0x01,
+       /*
+        * Byte 3 changed to 0x82 and byte 7 changed to 0x86 (Comprehension
+        * Required should be set according to TS 102 223 7.3.1.6)
+        */
+};
+
+static const struct envelope_test call_control_data_131b = {
+       .pdu = call_control_131b,
+       .pdu_len = sizeof(call_control_131b),
+       .envelope = {
+               .type = STK_ENVELOPE_TYPE_CALL_CONTROL,
+               .src = STK_DEVICE_IDENTITY_TYPE_TERMINAL,
+               .dst = STK_DEVICE_IDENTITY_TYPE_UICC,
+               { .call_control = {
+                       .type = STK_CC_TYPE_CALL_SETUP,
+                       { .address = {
+                               .ton_npi = 0x91, /* Intl, ISDN */
+                               .number = "012340123456",
+                       }},
+                       .location = {
+                               .mcc = "001",
+                               .mnc = "011",
+                               .lac_tac = 0x0001,
+                               .has_ci = TRUE,
+                               .ci = 0x0001,
+                       },
+               }},
+       },
+};
+
 static const unsigned char mo_short_message_control_111a[] = {
        0xd5, 0x22, 0x02, 0x02, 0x82, 0x81, 0x06, 0x09,
        0x91, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
@@ -20077,6 +20226,15 @@ int main(int argc, char **argv)
        g_test_add_data_func("/teststk/Menu Selection 6.4.1",
                        &menu_selection_data_641, test_envelope_encoding);
 
+       g_test_add_data_func("/teststk/Call Control 1.1.1A",
+                       &call_control_data_111a, test_envelope_encoding);
+       g_test_add_data_func("/teststk/Call Control 1.1.1B",
+                       &call_control_data_111b, test_envelope_encoding);
+       g_test_add_data_func("/teststk/Call Control 1.3.1A",
+                       &call_control_data_131a, test_envelope_encoding);
+       g_test_add_data_func("/teststk/Call Control 1.3.1B",
+                       &call_control_data_131b, test_envelope_encoding);
+
        g_test_add_data_func("/teststk/MO Short Message Control 1.1.1A",
                        &mo_short_message_control_data_111a,
                        test_envelope_encoding);