add simulator for verifying NAS MAC

This commit is contained in:
Sukchan Lee 2018-01-20 03:11:20 +09:00
parent cb50821aa8
commit baf273c06e
4 changed files with 503 additions and 27 deletions

View File

@ -91,7 +91,7 @@ void emm_state_detached(fsm_t *s, event_t *e)
}
else
{
d_error("Unknown UE");
d_warn("Unknown UE");
nas_send_service_reject(mme_ue,
EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
FSM_TRAN(s, emm_state_exception);

View File

@ -1240,6 +1240,268 @@ static void attach_test4(abts_case *tc, void *data)
ABTS_INT_EQUAL(tc, CORE_OK, rv);
}
static void attach_test5(abts_case *tc, void *data)
{
status_t rv;
sock_id sock;
sock_id gtpu;
pkbuf_t *sendbuf;
pkbuf_t *recvbuf;
s1ap_message_t message;
int i;
int msgindex = 12;
mongoc_collection_t *collection = NULL;
bson_t *doc = NULL;
c_int64_t count = 0;
bson_error_t error;
const char *json =
"{"
"\"_id\" : { \"$oid\" : \"597223158b8861d7605378c6\" }, "
"\"imsi\" : \"001010123456937\", "
"\"pdn\" : ["
"{"
"\"apn\" : \"internet\", "
"\"_id\" : { \"$oid\" : \"597223158b8861d7605378c7\" }, "
"\"ambr\" : {"
"\"uplink\" : { \"$numberLong\" : \"1024000\" }, "
"\"downlink\" : { \"$numberLong\" : \"1024000\" } "
"},"
"\"qos\" : { "
"\"qci\" : 9, "
"\"arp\" : { "
"\"priority_level\" : 8,"
"\"pre_emption_vulnerability\" : 1, "
"\"pre_emption_capability\" : 1"
"} "
"}, "
"\"type\" : 2"
"}"
"],"
"\"ambr\" : { "
"\"uplink\" : { \"$numberLong\" : \"1024000\" }, "
"\"downlink\" : { \"$numberLong\" : \"1024000\" } "
"},"
"\"subscribed_rau_tau_timer\" : 12,"
"\"network_access_mode\" : 2, "
"\"subscriber_status\" : 0, "
"\"access_restriction_data\" : 32, "
"\"security\" : { "
"\"k\" : \"465B5CE8 B199B49F AA5F0A2E E238A6BC\", "
"\"opc\" : \"E8ED289D EBA952E4 283B54E8 8E6183CA\", "
"\"amf\" : \"8000\", "
"\"sqn\" : { \"$numberLong\" : \"768\" }, "
"\"rand\" : \"2e815f03 cc54b55f 00933008 5cab5ca3\" "
"}, "
"\"__v\" : 0 "
"}";
core_sleep(time_from_msec(300));
/* eNB connects to MME */
rv = tests1ap_enb_connect(&sock);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Send S1-Setup Reqeust */
rv = tests1ap_build_setup_req(
&sendbuf, S1ap_ENB_ID_PR_macroENB_ID, 0x787b0);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive S1-Setup Response */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
collection = mongoc_client_get_collection(
context_self()->db_client,
context_self()->db_name, "subscribers");
ABTS_PTR_NOTNULL(tc, collection);
/********** Insert Subscriber in Database */
doc = bson_new_from_json((const uint8_t *)json, -1, &error);;
ABTS_PTR_NOTNULL(tc, doc);
ABTS_TRUE(tc, mongoc_collection_insert(collection,
MONGOC_INSERT_NONE, doc, NULL, &error));
bson_destroy(doc);
doc = BCON_NEW("imsi", BCON_UTF8("001010123456937"));
ABTS_PTR_NOTNULL(tc, doc);
do
{
count = mongoc_collection_count (
collection, MONGOC_QUERY_NONE, doc, 0, 0, NULL, &error);
} while (count == 0);
bson_destroy(doc);
core_sleep(time_from_msec(300));
mme_self()->mme_ue_s1ap_id = 0;
/* Send Service request */
rv = tests1ap_build_service_request(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Service reject */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Receive Initial Context Setup Request */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send UE Context Release Complete */
rv = tests1ap_build_ue_context_release_complete(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/***********************************************************************
* Attach Request : Known IMSI, Integrity Protected, No Security Context
* Send Initial-UE Message + Attach Request + PDN Connectivity */
rv = tests1ap_build_initial_ue_msg(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Authentication Request */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send Authentication Response */
rv = tests1ap_build_authentication_response(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Security mode Command */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send Security mode Complete */
rv = tests1ap_build_security_mode_complete(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive ESM Information Request */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send ESM Information Response */
rv = tests1ap_build_esm_information_response(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Initial Context Setup Request +
* Attach Accept +
* Activate Default Bearer Context Request */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send UE Capability Info Indication */
rv = tests1ap_build_ue_capability_info_indication(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
core_sleep(time_from_msec(300));
/* Send Initial Context Setup Response */
rv = tests1ap_build_initial_context_setup_response(&sendbuf,
2, 1837, 5, 0x1000908);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Send Attach Complete + Activate default EPS bearer cotext accept */
rv = tests1ap_build_attach_complete(&sendbuf, msgindex);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive EMM information */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send Service request */
rv = tests1ap_build_service_request(&sendbuf, msgindex+1);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Service Reject */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Receive UE Context Release Command */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Send UE Context Release Complete */
rv = tests1ap_build_ue_context_release_complete(&sendbuf, msgindex+1);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Send Service request */
rv = tests1ap_build_service_request(&sendbuf, msgindex+2);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = tests1ap_enb_send(sock, sendbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
/* Receive Service Reject */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
/* Receive UE Context Release Command */
recvbuf = pkbuf_alloc(0, MAX_SDU_LEN);
rv = tests1ap_enb_read(sock, recvbuf);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
pkbuf_free(recvbuf);
core_sleep(time_from_msec(300));
/********** Remove Subscriber in Database */
doc = BCON_NEW("imsi", BCON_UTF8("001010123456937"));
ABTS_PTR_NOTNULL(tc, doc);
ABTS_TRUE(tc, mongoc_collection_remove(collection,
MONGOC_REMOVE_SINGLE_REMOVE, doc, NULL, &error))
bson_destroy(doc);
mongoc_collection_destroy(collection);
/* eNB disonncect from MME */
rv = tests1ap_enb_close(sock);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
}
abts_suite *test_attach(abts_suite *suite)
{
suite = ADD_SUITE(suite)
@ -1248,6 +1510,7 @@ abts_suite *test_attach(abts_suite *suite)
abts_run_test(suite, attach_test2, NULL);
abts_run_test(suite, attach_test3, NULL);
abts_run_test(suite, attach_test4, NULL);
abts_run_test(suite, attach_test5, NULL);
return suite;
}

View File

@ -201,6 +201,7 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
"000300000a005c0a 003103e5e0349011 035758a65d010000 4300060000f11030"
"39006440080000f1 100019b010008640 0130",
"000c"
"4068000005000800 020001001a00403f 0741720809101010 3254861002e06000"
"210207d011d1271a 8080211001000010 8106000000008306 00000000000d0000"
@ -213,10 +214,18 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
"830600000000000d 00000a005200f110 30395c0a00901103 4f18a6f15d0100e0"
"004300060000f110 3039006440080000 f110001f20a00086 400130004b000700"
"00f110000201",
"",
"000c"
"4080810000050008 000340072d001a00 5857074172080910 10103254967305e0"
"60c0401100270209 d031d12720808021 1001000010810600 0000008306000000"
"00000d0000030000 0a000010005c0a00 3103e5e02e901103 5758a64008040260"
"0000021f005d0103 c1004300060000f1 1030390064400800 00f1100787b80000"
"86400130",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
92,
@ -235,6 +244,10 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
136,
0,
134,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -330,7 +343,14 @@ status_t tests1ap_build_authentication_response(pkbuf_t **pkbuf, int i)
"000d"
"403e000005000000 05c0020000c40008 0002000c001a0012 1117deff957c0707"
"5308e3b925330735 7093006440080000 f110001f20a00043 40060000f1103039",
"",
"000d"
"4036000005000000 0200020008000340 072d001a000c0b07 5308e2b7921bc6fe"
"b4c9006440080000 f1100787b8000043 40060000f1103039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -348,6 +368,11 @@ status_t tests1ap_build_authentication_response(pkbuf_t **pkbuf, int i)
60,
66,
0,
58,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -443,6 +468,14 @@ status_t tests1ap_build_security_mode_complete(pkbuf_t **pkbuf, int i)
"000d"
"4035000005000000 05c0020000c40008 0002000c001a0009 084790282df90007"
"5e006440080000f1 10001f20a0004340 060000f1103039",
"",
"000d"
"4033000005000000 0200020008000340 072d001a00090847 aaaf94cf00075e00"
"6440080000f11007 87b8000043400600 00f1103039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
57,
@ -459,6 +492,11 @@ status_t tests1ap_build_security_mode_complete(pkbuf_t **pkbuf, int i)
57,
57,
0,
55,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -512,6 +550,15 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
"4041000005000000 05c0020000c40008 0002000c001a0015 14274f280bff0102"
"04da280908696e74 65726e6574006440 080000f110001f20 a0004340060000f1"
"103039",
"",
"000d"
"403f000005000000 0200020008000340 072d001a00151427 c4a524d8010209da"
"280908696e746572 6e65740064400800 00f1100787b80000 4340060000f11030"
"39",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
146,
@ -528,6 +575,12 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
69,
69,
0,
67,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -567,7 +620,6 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
"403f000003000000 05c0020000c70008 00020004004a4029 28013001023cd980"
"00bc000ff06ec4d0 0141b82c00000000 07d404000ef08020 00012a0300008800"
"00",
"",
@ -578,6 +630,16 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
"0016"
"4030000003000000 05c0020000c40008 0002000c004a401a 1900b801014c5980"
"0018000bf06ec4d0 0100302c00000000 0000",
"",
"0016"
"4080800000030000 0002000200080003 40072d004a406c6b 034803042c998001"
"08201838bfc1c5fd bd3ffa8a20400902 3a54930382c60000 00001c4083840008"
"0881001c40004042 080060e2ff0717f0 0040000203fa0000 0007e8000000020f"
"33035758a6601404 e09c100125600031 218d3432b2386200 40008d17960c4008"
"001100",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
161,
@ -594,6 +656,11 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
52,
52,
0,
133,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -670,7 +737,6 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
"000d"
"403a000005000000 05c00100009e0008 00020002001a000e 0d27e8a2a3f10207"
"4300035200c20064 40080000f1101079 baf0004340060000 f1105ba0",
"",
@ -695,6 +761,13 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
"000d"
"403a000005000000 05c0020000c40008 0002000c001a000e 0d276a543e560207"
"4300035200c20064 40080000f110001f 20a0004340060000 f1103039",
"",
"000d"
"4038000005000000 0200020008000340 072d001a000e0d27 600bbd3802074300"
"035200c200644008 0000f1100787b800 004340060000f110 3039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -712,6 +785,11 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
62,
62,
0,
60,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -870,16 +948,18 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i)
"",
"2017001200000200 004005c000000001 00084002001f",
"2017"
"0012000002000040 05c0020000c40008 4002000c",
"2017"
"0012000002000040 05c0020000c50008 40020008",
"2017"
"0012000002000040 05c0020000c70008 40020008",
"2017"
"0010000002000040 0200010008400340 072c",
"2017"
"0010000002000040 0200030008400340 072e",
0,
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
23,
@ -897,6 +977,10 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i)
22,
22,
22,
20,
20,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -924,9 +1008,23 @@ status_t tests1ap_build_service_request(pkbuf_t **pkbuf, int i)
"000c"
"4037000006000800 020004001a000504 c704d4b800430006 0000f1102b670064"
"40080000f11054f6 4010008640014000 6000060040000000 03",
"",
"",
"",
"",
"",
"000c"
"4038000006000800 0340072c001a0005 04c7119551004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
"000c"
"4038000006000800 0340072e001a0005 04c704da67004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
"000c"
"4038000006000800 0340072f001a0005 04c70528f1004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -941,6 +1039,14 @@ status_t tests1ap_build_service_request(pkbuf_t **pkbuf, int i)
59,
0,
0,
0,
0,
0,
60,
60,
60,
};
char hexbuf[MAX_SDU_LEN];

View File

@ -201,6 +201,7 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
"000300000a005c0a 003103e5e0349011 035758a65d010000 4300060000f11030"
"39006440080000f1 100019b010008640 0130",
"000c"
"4068000005000800 020001001a00403f 0741720809101010 3254861002e06000"
"210207d011d1271a 8080211001000010 8106000000008306 00000000000d0000"
@ -213,10 +214,18 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
"830600000000000d 00000a005200f110 30395c0a00901103 4f18a6f15d0100e0"
"004300060000f110 3039006440080000 f110001f20a00086 400130004b000700"
"00f110000201",
"",
"000c"
"4080810000050008 000340072d001a00 5857074172080910 10103254967305e0"
"60c0401100270209 d031d12720808021 1001000010810600 0000008306000000"
"00000d0000030000 0a000010005c0a00 3103e5e02e901103 5758a64008040260"
"0000021f005d0103 c1004300060000f1 1030390064400800 00f1100787b80000"
"86400130",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
92,
@ -235,6 +244,10 @@ status_t tests1ap_build_initial_ue_msg(pkbuf_t **pkbuf, int i)
136,
0,
134,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -330,7 +343,14 @@ status_t tests1ap_build_authentication_response(pkbuf_t **pkbuf, int i)
"000d"
"403e000005000000 05c0020000c40008 0002000c001a0012 1117deff957c0707"
"5308e3b925330735 7093006440080000 f110001f20a00043 40060000f1103039",
"",
"000d"
"4036000005000000 0200020008000340 072d001a000c0b07 5308e2b7921bc6fe"
"b4c9006440080000 f1100787b8000043 40060000f1103039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -348,6 +368,11 @@ status_t tests1ap_build_authentication_response(pkbuf_t **pkbuf, int i)
60,
66,
0,
58,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -443,6 +468,14 @@ status_t tests1ap_build_security_mode_complete(pkbuf_t **pkbuf, int i)
"000d"
"4035000005000000 05c0020000c40008 0002000c001a0009 084790282df90007"
"5e006440080000f1 10001f20a0004340 060000f1103039",
"",
"000d"
"4033000005000000 0200020008000340 072d001a00090847 aaaf94cf00075e00"
"6440080000f11007 87b8000043400600 00f1103039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
57,
@ -459,6 +492,11 @@ status_t tests1ap_build_security_mode_complete(pkbuf_t **pkbuf, int i)
57,
57,
0,
55,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -512,6 +550,15 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
"4041000005000000 05c0020000c40008 0002000c001a0015 14274f280bff0102"
"04da280908696e74 65726e6574006440 080000f110001f20 a0004340060000f1"
"103039",
"",
"000d"
"403f000005000000 0200020008000340 072d001a00151427 c4a524d8010209da"
"280908696e746572 6e65740064400800 00f1100787b80000 4340060000f11030"
"39",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
146,
@ -528,6 +575,12 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
69,
69,
0,
67,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -567,7 +620,6 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
"403f000003000000 05c0020000c70008 00020004004a4029 28013001023cd980"
"00bc000ff06ec4d0 0141b82c00000000 07d404000ef08020 00012a0300008800"
"00",
"",
@ -578,6 +630,16 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
"0016"
"4030000003000000 05c0020000c40008 0002000c004a401a 1900b801014c5980"
"0018000bf06ec4d0 0100302c00000000 0000",
"",
"0016"
"4080800000030000 0002000200080003 40072d004a406c6b 034803042c998001"
"08201838bfc1c5fd bd3ffa8a20400902 3a54930382c60000 00001c4083840008"
"0881001c40004042 080060e2ff0717f0 0040000203fa0000 0007e8000000020f"
"33035758a6601404 e09c100125600031 218d3432b2386200 40008d17960c4008"
"001100",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
161,
@ -594,6 +656,11 @@ status_t tests1ap_build_ue_capability_info_indication(pkbuf_t **pkbuf, int i)
52,
52,
0,
133,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -670,11 +737,12 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
"000d"
"403a000005000000 05c00100009e0008 00020002001a000e 0d27e8a2a3f10207"
"4300035200c20064 40080000f1101079 baf0004340060000 f1105ba0",
"",
"",
"000d"
"403a000005000000 05c0000000010008 0002001f001a000e 0d27127c47860207"
"4300035200c20064 40080000f1101079 baf0004340060000 f1105ba0",
"000d"
"403a000005000000 05c0010000020008 00020011001a000e 0d27225d92bb0207"
"4300035200c20064 40080000f1101079 baf0004340060000 f1105ba0",
@ -693,6 +761,13 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
"000d"
"403a000005000000 05c0020000c40008 0002000c001a000e 0d276a543e560207"
"4300035200c20064 40080000f110001f 20a0004340060000 f1103039",
"",
"000d"
"4038000005000000 0200020008000340 072d001a000e0d27 600bbd3802074300"
"035200c200644008 0000f1100787b800 004340060000f110 3039",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -700,7 +775,7 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
62,
0,
0,
62,
62,
0,
@ -710,6 +785,11 @@ status_t tests1ap_build_attach_complete(pkbuf_t **pkbuf, int i)
62,
62,
0,
60,
0,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -730,28 +810,27 @@ status_t tests1ap_build_emm_status(pkbuf_t **pkbuf, int i)
"",
"",
"000d403300000500 0000020001000800 02001f001a000a09 27574292cc020760"
"",
"",
"",
"",
"",
"000d403300000500 0000020001000800 020001001a000a09 276941dec8020760"
"65006440080000f1 10002343d0004340 060000f1103039",
"",
"",
"",
"",
"",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
0,
0,
0,
55,
0,
0,
0,
0,
0,
0,
55,
};
char hexbuf[MAX_SDU_LEN];
@ -867,18 +946,20 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i)
"2017"
"0012000002000040 05c0020000c80008 40020002",
"",
"",
"2017001200000200 004005c000000001 00084002001f",
"2017"
"0012000002000040 05c0020000c40008 4002000c",
"2017"
"0012000002000040 05c0020000c50008 40020008",
"2017"
"0012000002000040 05c0020000c70008 40020008",
"2017"
"0010000002000040 0200010008400340 072c",
"2017"
"0010000002000040 0200030008400340 072e",
0,
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
23,
@ -891,11 +972,15 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i)
22,
0,
0,
22,
22,
22,
22,
20,
20,
0,
};
char hexbuf[MAX_SDU_LEN];
@ -923,9 +1008,23 @@ status_t tests1ap_build_service_request(pkbuf_t **pkbuf, int i)
"000c"
"4037000006000800 020004001a000504 c704d4b800430006 0000f1102b670064"
"40080000f11054f6 4010008640014000 6000060040000000 03",
"",
"",
"",
"",
"",
"000c"
"4038000006000800 0340072c001a0005 04c7119551004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
"000c"
"4038000006000800 0340072e001a0005 04c704da67004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
"000c"
"4038000006000800 0340072f001a0005 04c70528f1004300 060000f110303900"
"6440080000f11007 87b8000086400140 0060000600400000 0001",
};
c_uint16_t len[TESTS1AP_MAX_MESSAGE] = {
@ -940,6 +1039,14 @@ status_t tests1ap_build_service_request(pkbuf_t **pkbuf, int i)
59,
0,
0,
0,
0,
0,
60,
60,
60,
};
char hexbuf[MAX_SDU_LEN];