diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-10-05 13:32:41 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-10-12 13:24:08 +0200 |
commit | fe460b2f54b6a035a207815252fe87ee3a06351c (patch) | |
tree | d58b5312284d7fe4f0d5af29bd15e53595165cce /src/tests/test-modem-helpers.c | |
parent | a561f6edf0317ee4eb86e6811cd8cd5a7fbf5e60 (diff) |
3gpp: update registration state enumeration with CSFB related states
Introduce "sms only" and "CSFB not preferred" home/roaming states to be reported
for the CS context, while already registered on LTE.
Based on 3GPP TS 27.007 v13.5.0.
Diffstat (limited to 'src/tests/test-modem-helpers.c')
-rw-r--r-- | src/tests/test-modem-helpers.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c index 0d70f051..ab54cd55 100644 --- a/src/tests/test-modem-helpers.c +++ b/src/tests/test-modem-helpers.c @@ -1027,6 +1027,28 @@ test_creg2_leading_zeros_unsolicited (void *f, gpointer d) } static void +test_creg2_ublox_solicited (void *f, gpointer d) +{ + RegTestData *data = (RegTestData *) d; + const gchar *reply = "\r\n+CREG: 2,6,\"8B37\",\"0A265185\",7\r\n"; + /* NOTE: '6' means registered for "SMS only", home network; we just assume UNKNOWN in this case */ + const CregResult result = { MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY, 0x8B37, 0x0A265185, MM_MODEM_ACCESS_TECHNOLOGY_LTE, 8, FALSE, FALSE }; + + test_creg_match ("Ublox Toby-L2 solicited while on LTE", TRUE, reply, data, &result); +} + +static void +test_creg2_ublox_unsolicited (void *f, gpointer d) +{ + RegTestData *data = (RegTestData *) d; + const gchar *reply = "\r\n+CREG: 6,\"8B37\",\"0A265185\",7\r\n"; + /* NOTE: '6' means registered for "SMS only", home network; we just assume UNKNOWN in this case */ + const CregResult result = { MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY, 0x8B37, 0x0A265185, MM_MODEM_ACCESS_TECHNOLOGY_LTE, 6, FALSE, FALSE }; + + test_creg_match ("Ublox Toby-L2 unsolicited while on LTE", FALSE, reply, data, &result); +} + +static void test_cgreg1_solicited (void *f, gpointer d) { RegTestData *data = (RegTestData *) d; @@ -3255,6 +3277,8 @@ int main (int argc, char **argv) g_test_suite_add (suite, TESTCASE (test_creg2_leading_zeros_solicited, reg_data)); g_test_suite_add (suite, TESTCASE (test_creg2_no_leading_zeros_unsolicited, reg_data)); g_test_suite_add (suite, TESTCASE (test_creg2_leading_zeros_unsolicited, reg_data)); + g_test_suite_add (suite, TESTCASE (test_creg2_ublox_solicited, reg_data)); + g_test_suite_add (suite, TESTCASE (test_creg2_ublox_unsolicited, reg_data)); g_test_suite_add (suite, TESTCASE (test_cgreg1_solicited, reg_data)); g_test_suite_add (suite, TESTCASE (test_cgreg1_unsolicited, reg_data)); |