diff --git a/test/rx/testpacket.c b/test/rx/testpacket.c index 4b085d7698..2ba1a490b7 100644 --- a/test/rx/testpacket.c +++ b/test/rx/testpacket.c @@ -771,8 +771,9 @@ status_t tests1ap_build_detach_request(pkbuf_t **pkbuf, int i) "000c404900000600 080003000200001a 001615172ba435db 040745090bf600f1" "10000201020003e6 004300060000f110 2b67006440080000 f1109d67aa500086" "4001300060000600 40020003e6", - - "", + "000c404900000600 080003000100001a 00161517ba258500 040745090bf600f1" + "10000201020003e6 004300060000f110 2b67006440080000 f1109d67aa500086" + "4001300060000600 40020003e6", "", "" @@ -786,7 +787,7 @@ status_t tests1ap_build_detach_request(pkbuf_t **pkbuf, int i) }; c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 77, - 0, + 77, 0, 0, @@ -856,11 +857,8 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i) { char *payload[TESTS1AP_MAX_MESSAGE] = { "2017001300000200 004005c00100009e 00084003400002", - - "", - - "2017" - "0012000002000040 05c00100009f0008 40020003", + "2017001300000200 004005c000000001 00084003400001", + "2017001200000200 004005c00100009f 000840020003", "", "", @@ -884,8 +882,8 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i) }; c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 23, - 0, 23, + 22, 0, 0, @@ -1013,7 +1011,7 @@ status_t tests1ap_build_pdn_disconnectivity_request( "0500000005c08000 0108000800030001 00001a000b0a2732 423c53040206d206" "006440080055f501 0019d01000434006 0055f5011022", "000d40380000" - "0500000005c08000 0108000800030001 00001a000b0a271a 776620040206d206" + "0500000005c08000 0108000800030001 00001a000b0a2732 423c53040206d206" "006440080055f501 0019d01000434006 0055f5011022", "", @@ -1353,7 +1351,7 @@ status_t tests1ap_build_deactivate_bearer_accept( "0500000005c00000 0001000800030001 00001a000a0927a9 a1b2bd057200ce00" "6440080055f50100 19d0100043400600 55f5011022", "000d40370000" - "0500000005c00000 0001000800030001 00001a000a09275a af43d9056200ce00" + "0500000005c00000 0001000800030001 00001a000a09274c b2ebbd056200ce00" "6440080055f50100 19d0100043400600 55f5011022", "", diff --git a/test/rx/volte_test.c b/test/rx/volte_test.c index 9d22f39a87..bad08caf6b 100644 --- a/test/rx/volte_test.c +++ b/test/rx/volte_test.c @@ -314,49 +314,26 @@ static void volte_test1(abts_case *tc, void *data) core_sleep(time_from_msec(300)); - /* Send PDN disconnectivity request */ - rv = tests1ap_build_pdn_disconnectivity_request(&sendbuf, msgindex+1); + /* Send Detach Request */ + rv = tests1ap_build_detach_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 E-RAB Release Command + - * Deactivate EPS bearer context request */ + /* 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 E-RAB Release Response */ - rv = tests1ap_build_e_rab_release_response(&sendbuf, msgindex); + /* 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); core_sleep(time_from_msec(300)); - /* Send Deactivate EPS bearer context accept */ - rv = tests1ap_build_deactivate_bearer_accept(&sendbuf, msgindex+2); - 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)); - -#if 0 - /* Send INVALID PDN Connectivity Request */ - rv = tests1ap_build_pdn_connectivity_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 PDN Connectivity Reject */ - recvbuf = pkbuf_alloc(0, MAX_SDU_LEN); - rv = tests1ap_enb_read(sock, recvbuf); - ABTS_INT_EQUAL(tc, CORE_OK, rv); - pkbuf_free(recvbuf); -#endif - /********** Remove Subscriber in Database */ doc = BCON_NEW("imsi", BCON_UTF8("001010123456819")); ABTS_PTR_NOTNULL(tc, doc); @@ -382,6 +359,7 @@ static void volte_test2(abts_case *tc, void *data) s1ap_message_t message; int i; int msgindex = 0; + c_int8_t *rx_sid = NULL; mongoc_collection_t *collection = NULL; bson_t *doc = NULL; @@ -392,7 +370,7 @@ static void volte_test2(abts_case *tc, void *data) "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd2b\" }," "\"imsi\" : \"001010123456819\"," "\"pdn\" : [" - "{ \"apn\" : \"internet.ng2.mnet\"," + "{ \"apn\" : \"internet\"," "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd32\" }," "\"qos\" : {" "\"qci\" : 9," @@ -401,7 +379,7 @@ static void volte_test2(abts_case *tc, void *data) "\"pre_emption_vulnerability\" : 1," "\"pre_emption_capability\" : 1 } }," "\"type\" : 2 }," - "{ \"apn\" : \"internet\"," + "{ \"apn\" : \"internet.ng2.mnet\"," "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd2c\" }," "\"pcc_rule\" : [" "{ \"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd2d\" }," @@ -416,20 +394,7 @@ static void volte_test2(abts_case *tc, void *data) "\"arp\" : {" "\"priority_level\" : 3," "\"pre_emption_vulnerability\" : 0," - "\"pre_emption_capability\" : 0 } }," - "\"flow\" : [" - "{ \"direction\" : 2," - "\"description\" : \"permit out udp from any 1-65535 to 10.200.136.98/32 23454\"," - "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd31\" } }," - "{ \"direction\" : 1," - "\"description\" : \"permit out ip from 45.45.0.1 to any\"," - "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd30\" } }," - "{ \"direction\" : 2," - "\"description\" : \"permit out udp from any 1-65535 to 10.200.136.98/24 23455\"," - "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd2f\" } }," - "{ \"direction\" : 1," - "\"description\" : \"permit out ip from cafe::1 to any\"," - "\"_id\" : { \"$oid\" : \"599eb929c850caabcbfdcd2e\" } } ]" + "\"pre_emption_capability\" : 0 } }" "} ]," "\"ambr\" : {" "\"downlink\" : { \"$numberLong\" : \"35840\" }," @@ -559,8 +524,7 @@ static void volte_test2(abts_case *tc, void *data) core_sleep(time_from_msec(300)); /* Send Initial Context Setup Response */ - rv = tests1ap_build_initial_context_setup_response(&sendbuf, - 16777373, 1, 5, 1); + rv = tests1ap_build_initial_context_setup_response(&sendbuf, 1, 1, 5, 1); ABTS_INT_EQUAL(tc, CORE_OK, rv); rv = tests1ap_enb_send(sock, sendbuf); ABTS_INT_EQUAL(tc, CORE_OK, rv); @@ -577,7 +541,41 @@ static void volte_test2(abts_case *tc, void *data) ABTS_INT_EQUAL(tc, CORE_OK, rv); pkbuf_free(recvbuf); - /* Receive E-RAB Setup Request + + /* Send PDN Connectivity Request */ + rv = tests1ap_build_pdn_connectivity_request(&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)); + + /* Receive E-RAB Setup Request + + * Activate default EPS 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 E-RAB Setup Response */ + rv = tests1ap_build_e_rab_setup_response(&sendbuf, 1, 1, 6, 2); + 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 Activate default EPS bearer context accept */ + rv = tests1ap_build_activate_default_bearer_accept(&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 AA-Request */ + pcscf_rx_send_aar(&rx_sid, "45.45.0.5", 1, 1); + + /* Receive E-RAB Setup Request + * Activate dedicated EPS bearer context request */ recvbuf = pkbuf_alloc(0, MAX_SDU_LEN); rv = tests1ap_enb_read(sock, recvbuf); @@ -585,7 +583,7 @@ static void volte_test2(abts_case *tc, void *data) pkbuf_free(recvbuf); /* Send E-RAB Setup Response */ - rv = tests1ap_build_e_rab_setup_response(&sendbuf, 33554492, 1, 6, 2); + rv = tests1ap_build_e_rab_setup_response(&sendbuf, 1, 1, 7, 3); ABTS_INT_EQUAL(tc, CORE_OK, rv); rv = tests1ap_enb_send(sock, sendbuf); ABTS_INT_EQUAL(tc, CORE_OK, rv); @@ -593,24 +591,41 @@ static void volte_test2(abts_case *tc, void *data) core_sleep(time_from_msec(300)); /* Send Activate dedicated EPS bearer context accept */ - rv = tests1ap_build_activate_dedicated_bearer_accept(&sendbuf, msgindex+1); + rv = tests1ap_build_activate_dedicated_bearer_accept(&sendbuf, msgindex); ABTS_INT_EQUAL(tc, CORE_OK, rv); rv = tests1ap_enb_send(sock, sendbuf); ABTS_INT_EQUAL(tc, CORE_OK, rv); -#if 0 /* TFT Rule Tester */ core_sleep(time_from_msec(300)); - /* Send GTP-U ICMP Packet */ -#if 1 - rv = testgtpu_build_ping(&sendbuf, "45.45.0.2", "45.45.0.1"); -#else - rv = testgtpu_build_ping(&sendbuf, "cafe::2", "cafe::1"); -#endif - rv = testgtpu_enb_send(sendbuf); + /* Send PDN disconnectivity request */ + rv = tests1ap_build_pdn_disconnectivity_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 E-RAB Release Command + + * Deactivate EPS 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 E-RAB Release Response */ + rv = tests1ap_build_e_rab_release_response(&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 Deactivate EPS bearer context accept */ + rv = tests1ap_build_deactivate_bearer_accept(&sendbuf, msgindex+2); + 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)); -#endif /********** Remove Subscriber in Database */ doc = BCON_NEW("imsi", BCON_UTF8("001010123456819")); @@ -633,9 +648,7 @@ abts_suite *test_volte(abts_suite *suite) suite = ADD_SUITE(suite) abts_run_test(suite, volte_test1, NULL); -#if 0 abts_run_test(suite, volte_test2, NULL); -#endif return suite; } diff --git a/test/testpacket.c b/test/testpacket.c index a1d6c79f02..2ba1a490b7 100644 --- a/test/testpacket.c +++ b/test/testpacket.c @@ -771,8 +771,9 @@ status_t tests1ap_build_detach_request(pkbuf_t **pkbuf, int i) "000c404900000600 080003000200001a 001615172ba435db 040745090bf600f1" "10000201020003e6 004300060000f110 2b67006440080000 f1109d67aa500086" "4001300060000600 40020003e6", - - "", + "000c404900000600 080003000100001a 00161517ba258500 040745090bf600f1" + "10000201020003e6 004300060000f110 2b67006440080000 f1109d67aa500086" + "4001300060000600 40020003e6", "", "" @@ -786,7 +787,7 @@ status_t tests1ap_build_detach_request(pkbuf_t **pkbuf, int i) }; c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 77, - 0, + 77, 0, 0, @@ -856,11 +857,8 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i) { char *payload[TESTS1AP_MAX_MESSAGE] = { "2017001300000200 004005c00100009e 00084003400002", - - "", - - "2017" - "0012000002000040 05c00100009f0008 40020003", + "2017001300000200 004005c000000001 00084003400001", + "2017001200000200 004005c00100009f 000840020003", "", "", @@ -884,8 +882,8 @@ status_t tests1ap_build_ue_context_release_complete(pkbuf_t **pkbuf, int i) }; c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 23, - 0, 23, + 22, 0, 0, @@ -1012,7 +1010,9 @@ status_t tests1ap_build_pdn_disconnectivity_request( "000d40380000" "0500000005c08000 0108000800030001 00001a000b0a2732 423c53040206d206" "006440080055f501 0019d01000434006 0055f5011022", - "", + "000d40380000" + "0500000005c08000 0108000800030001 00001a000b0a2732 423c53040206d206" + "006440080055f501 0019d01000434006 0055f5011022", "", "", @@ -1026,7 +1026,7 @@ status_t tests1ap_build_pdn_disconnectivity_request( }; c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 60, - 0, + 60, 0, 0, @@ -1350,7 +1350,9 @@ status_t tests1ap_build_deactivate_bearer_accept( "000d40370000" "0500000005c00000 0001000800030001 00001a000a0927a9 a1b2bd057200ce00" "6440080055f50100 19d0100043400600 55f5011022", - "", + "000d40370000" + "0500000005c00000 0001000800030001 00001a000a09274c b2ebbd056200ce00" + "6440080055f50100 19d0100043400600 55f5011022", "", "", @@ -1364,7 +1366,7 @@ status_t tests1ap_build_deactivate_bearer_accept( c_uint16_t len[TESTS1AP_MAX_MESSAGE] = { 59, 59, - 0, + 59, 0, 0,