mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
gprs/test: Add Detach messages to test
This patch adds a Detach Request (MO) / Detach Accept sequence to the test, followed by another (here invalid) Act PDP Context Req which should be APN patched. Sponsored-by: On-Waves ehf
This commit is contained in:
committed by
Holger Hans Peter Freyther
parent
1166974bca
commit
cf02eb1b20
@@ -124,6 +124,29 @@ static const unsigned char bssgp_act_pdp_ctx_req[76] = {
|
||||
0x00, 0x5a, 0xff, 0x02
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Detach Request */
|
||||
static const unsigned char bssgp_detach_req[44] = {
|
||||
0x01, 0xef, 0xe2, 0xb7, 0x00, 0x00, 0x00, 0x04,
|
||||
0x08, 0x88, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60,
|
||||
0x75, 0x30, 0x00, 0x80, 0x0e, 0x00, 0x15, 0x01,
|
||||
0xc0, 0x19, 0x08, 0x05, 0x01, 0x18, 0x05, 0xf4,
|
||||
0xef, 0xe2, 0xb7, 0x00, 0x19, 0x03, 0xb9, 0x97,
|
||||
0xcb, 0x7e, 0xe1, 0x41
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Detach Accept */
|
||||
static const unsigned char bssgp_detach_acc[67] = {
|
||||
0x00, 0xef, 0xe2, 0xb7, 0x00, 0x00, 0x50, 0x20,
|
||||
0x16, 0x82, 0x02, 0x58, 0x13, 0x99, 0x18, 0xb3,
|
||||
0x43, 0x2b, 0x25, 0x96, 0x62, 0x00, 0x60, 0x80,
|
||||
0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60, 0x80, 0xba,
|
||||
0xc8, 0xc6, 0x62, 0x00, 0x60, 0x80, 0x00, 0x0a,
|
||||
0x82, 0x08, 0x02, 0x0d, 0x88, 0x11, 0x12, 0x13,
|
||||
0x14, 0x15, 0x16, 0x17, 0x18, 0x00, 0x81, 0x00,
|
||||
0x0e, 0x89, 0x41, 0xc0, 0x15, 0x08, 0x06, 0x00,
|
||||
0xf7, 0x35, 0xf0
|
||||
};
|
||||
|
||||
static int gprs_process_message(struct gprs_ns_inst *nsi, const char *text,
|
||||
struct sockaddr_in *peer, const unsigned char* data,
|
||||
size_t data_len);
|
||||
@@ -882,11 +905,22 @@ static void test_gbproxy_ra_patching()
|
||||
&bss_peer[0], 0x1002,
|
||||
bssgp_act_pdp_ctx_req, sizeof(bssgp_act_pdp_ctx_req));
|
||||
|
||||
/* Detach */
|
||||
send_ns_unitdata(nsi, "DETACH REQ", &bss_peer[0], 0x1002,
|
||||
bssgp_detach_req, sizeof(bssgp_detach_req));
|
||||
|
||||
send_ns_unitdata(nsi, "DETACH ACC", &sgsn_peer, 0x1002,
|
||||
bssgp_detach_acc, sizeof(bssgp_detach_acc));
|
||||
|
||||
gbprox_dump_global(stdout, 0);
|
||||
gbprox_dump_peers(stdout, 0);
|
||||
|
||||
printf("--- Bad cases ---\n\n");
|
||||
|
||||
printf("TLLI is already detached, shouldn't patch (expected failure)\n");
|
||||
send_ns_unitdata(nsi, "ACT PDP CTX REQ", &bss_peer[0], 0x1002,
|
||||
bssgp_act_pdp_ctx_req, sizeof(bssgp_act_pdp_ctx_req));
|
||||
|
||||
send_bssgp_reset_ack(nsi, &sgsn_peer, 0x1eee);
|
||||
send_bssgp_suspend_ack(nsi, &sgsn_peer, &rai_unknown);
|
||||
|
||||
|
@@ -1647,14 +1647,51 @@ MESSAGE to SGSN at 0x05060708:32000, msg length 75
|
||||
|
||||
result (ACT PDP CTX REQ (REMOVE APN)) = 75
|
||||
|
||||
PROCESSING DETACH REQ from 0x01020304:1111
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 15 01 c0 19 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 7e e1 41
|
||||
|
||||
CALLBACK, event 0, msg length 44, bvci 0x1002
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 15 01 c0 19 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 7e e1 41
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 44 (gprs_ns_sendmsg)
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 48
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 15 01 c0 19 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 7e e1 41
|
||||
|
||||
result (DETACH REQ) = 48
|
||||
|
||||
PROCESSING DETACH ACC from 0x05060708:32000
|
||||
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
|
||||
|
||||
CALLBACK, event 0, msg length 67, bvci 0x1002
|
||||
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
|
||||
|
||||
NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 67 (gprs_ns_sendmsg)
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 71
|
||||
00 00 10 02 00 ef e2 b7 00 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 89 41 c0 15 08 06 00 f7 35 f0
|
||||
|
||||
result (DETACH ACC) = 71
|
||||
|
||||
Gbproxy global:
|
||||
RAID patched (BSS ): 8
|
||||
RAID patched (BSS ): 9
|
||||
RAID patched (SGSN): 3
|
||||
APN patched : 2
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
--- Bad cases ---
|
||||
|
||||
TLLI is already detached, shouldn't patch (expected failure)
|
||||
PROCESSING ACT PDP CTX REQ from 0x01020304:1111
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
|
||||
|
||||
CALLBACK, event 0, msg length 76, bvci 0x1002
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 35 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 28 03 02 61 62 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 5a ff 02
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 71 (gprs_ns_sendmsg)
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 75
|
||||
00 00 10 02 01 ef e2 b7 00 00 00 04 08 88 21 63 54 40 50 60 75 30 00 80 0e 00 30 01 c0 0d 0a 41 05 03 0c 00 00 1f 10 00 00 00 00 00 00 00 00 02 01 21 27 14 80 80 21 10 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00 85 fa 60
|
||||
|
||||
result (ACT PDP CTX REQ) = 75
|
||||
|
||||
PROCESSING BVC_RESET_ACK from 0x05060708:32000
|
||||
00 00 00 00 23 04 82 1e ee
|
||||
|
||||
@@ -1678,9 +1715,9 @@ result (BVC_SUSPEND_ACK) = 28
|
||||
Gbproxy global:
|
||||
Invalid BVC Identifier : 1
|
||||
Invalid Routing Area Identifier : 1
|
||||
RAID patched (BSS ): 8
|
||||
RAID patched (BSS ): 10
|
||||
RAID patched (SGSN): 4
|
||||
APN patched : 2
|
||||
APN patched : 3
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
===== GbProxy test END
|
||||
|
Reference in New Issue
Block a user