From fe460b2f54b6a035a207815252fe87ee3a06351c Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 5 Oct 2016 13:32:41 +0200 Subject: 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. --- src/tests/test-modem-helpers.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/tests/test-modem-helpers.c') 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 @@ -1026,6 +1026,28 @@ test_creg2_leading_zeros_unsolicited (void *f, gpointer d) test_creg_match ("unsolicited CREG=2 with leading zeros in integer fields", FALSE, reply, data, &result); } +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) { @@ -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)); -- cgit v1.2.3-70-g09d2