gprs/test: Add additional gbproxy tests
This adds a test case with several messages to test BSSGP patching. New messages: - BSSGP/DTAP Attach Request - BSSGP/DTAP Attach Accept - BSSGP/DTAP Routing Area Update Request - BSSGP/DTAP Routing Area Update Accept - BSSGP/DTAP Activate PDP Context Request - BSSGP SUSPEND - BSSGP SUSPEND ACK Sponsored-by: On-Waves ehf
This commit is contained in:
parent
738b1c8adb
commit
eb3102eb77
|
@ -28,13 +28,88 @@
|
|||
#include <osmocom/gprs/gprs_bssgp.h>
|
||||
|
||||
#include <openbsc/gb_proxy.h>
|
||||
#include <openbsc/debug.h>
|
||||
|
||||
#define REMOTE_BSS_ADDR 0x01020304
|
||||
#define REMOTE_SGSN_ADDR 0x05060708
|
||||
|
||||
#define SGSN_NSEI 0x0100
|
||||
|
||||
struct gbproxy_config gbcfg;
|
||||
struct gbproxy_config gbcfg = {0};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Attach Request */
|
||||
static const unsigned char bssgp_attach_req[75] = {
|
||||
0x01, 0xbb, 0xc5, 0x46, 0x79, 0x00, 0x00, 0x04,
|
||||
0x08, 0x88, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60,
|
||||
0x75, 0x30, 0x00, 0x80, 0x0e, 0x00, 0x34, 0x01,
|
||||
0xc0, 0x01, 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21,
|
||||
0x08, 0x02, 0x05, 0xf4, 0xfb, 0xc5, 0x46, 0x79,
|
||||
0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x19, 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,
|
||||
0x16, 0x6d, 0x01
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Attach Accept */
|
||||
static const unsigned char bssgp_attach_acc[88] = {
|
||||
0x00, 0xbb, 0xc5, 0x46, 0x79, 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, 0x9e, 0x41, 0xc0, 0x05, 0x08, 0x02, 0x01,
|
||||
0x49, 0x04, 0x21, 0x63, 0x54, 0x40, 0x50, 0x60,
|
||||
0x19, 0xcd, 0xd7, 0x08, 0x17, 0x16, 0x18, 0x05,
|
||||
0xf4, 0xfb, 0xc5, 0x47, 0x22, 0x42, 0x67, 0x9a
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Routing Area Update Request */
|
||||
static const unsigned char bssgp_ra_upd_req[85] = {
|
||||
0x01, 0xaf, 0xe2, 0x80, 0x6e, 0x00, 0x00, 0x04,
|
||||
0x08, 0x88, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60,
|
||||
0x70, 0x80, 0x00, 0x80, 0x0e, 0x00, 0x3e, 0x01,
|
||||
0xc0, 0x15, 0x08, 0x08, 0x10, 0x11, 0x22, 0x33,
|
||||
0x40, 0x50, 0x60, 0x1d, 0x19, 0x13, 0x42, 0x33,
|
||||
0x57, 0x2b, 0xf7, 0xc8, 0x48, 0x02, 0x13, 0x48,
|
||||
0x50, 0xc8, 0x48, 0x02, 0x14, 0x48, 0x50, 0xc8,
|
||||
0x48, 0x02, 0x17, 0x49, 0x10, 0xc8, 0x48, 0x02,
|
||||
0x00, 0x19, 0x8b, 0xb2, 0x92, 0x17, 0x16, 0x27,
|
||||
0x07, 0x04, 0x31, 0x02, 0xe5, 0xe0, 0x32, 0x02,
|
||||
0x20, 0x00, 0x96, 0x3e, 0x97
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Routing Area Update Accept */
|
||||
static const unsigned char bssgp_ra_upd_acc[91] = {
|
||||
0x00, 0xaf, 0xe2, 0x80, 0x6e, 0x00, 0x50, 0x20,
|
||||
0x16, 0x82, 0x02, 0x58, 0x13, 0x9d, 0x19, 0x13,
|
||||
0x42, 0x33, 0x57, 0x2b, 0xf7, 0xc8, 0x48, 0x02,
|
||||
0x13, 0x48, 0x50, 0xc8, 0x48, 0x02, 0x14, 0x48,
|
||||
0x50, 0xc8, 0x48, 0x02, 0x17, 0x49, 0x10, 0xc8,
|
||||
0x48, 0x02, 0x00, 0x0a, 0x82, 0x07, 0x04, 0x0d,
|
||||
0x88, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||
0x18, 0x00, 0x81, 0x00, 0x0e, 0x9d, 0x41, 0xc0,
|
||||
0x19, 0x08, 0x09, 0x00, 0x49, 0x21, 0x63, 0x54,
|
||||
0x40, 0x50, 0x60, 0x19, 0x54, 0xab, 0xb3, 0x18,
|
||||
0x05, 0xf4, 0xef, 0xe2, 0x81, 0x17, 0x17, 0x16,
|
||||
0xc3, 0xbf, 0xcc
|
||||
};
|
||||
|
||||
/* Base Station Subsystem GPRS Protocol: GSM A-I/F DTAP - Activate PDP Context Request */
|
||||
static const unsigned char bssgp_act_pdp_ctx_req[76] = {
|
||||
0x01, 0xef, 0xe2, 0xb7, 0x00, 0x00, 0x00, 0x04,
|
||||
0x08, 0x88, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60,
|
||||
0x75, 0x30, 0x00, 0x80, 0x0e, 0x00, 0x35, 0x01,
|
||||
0xc0, 0x0d, 0x0a, 0x41, 0x05, 0x03, 0x0c, 0x00,
|
||||
0x00, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x01, 0x21, 0x28, 0x03,
|
||||
0x02, 0x61, 0x62, 0x27, 0x14, 0x80, 0x80, 0x21,
|
||||
0x10, 0x01, 0x00, 0x00, 0x10, 0x81, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x83, 0x06, 0x00, 0x00, 0x00,
|
||||
0x00, 0x5a, 0xff, 0x02
|
||||
};
|
||||
|
||||
static int gprs_process_message(struct gprs_ns_inst *nsi, const char *text,
|
||||
struct sockaddr_in *peer, const unsigned char* data,
|
||||
|
@ -168,6 +243,37 @@ static void send_bssgp_reset_ack(struct gprs_ns_inst *nsi,
|
|||
send_ns_unitdata(nsi, "BVC_RESET_ACK", src_addr, 0, msg, sizeof(msg));
|
||||
}
|
||||
|
||||
static void send_bssgp_suspend(struct gprs_ns_inst *nsi,
|
||||
struct sockaddr_in *src_addr,
|
||||
struct gprs_ra_id *raid)
|
||||
{
|
||||
/* Base Station Subsystem GPRS Protocol, BSSGP SUSPEND */
|
||||
unsigned char msg[15] = {
|
||||
0x0b, 0x1f, 0x84, 0xcc, 0xd1, 0x75, 0x8b, 0x1b,
|
||||
0x86, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60
|
||||
};
|
||||
|
||||
gsm48_construct_ra(msg + 9, raid);
|
||||
|
||||
send_ns_unitdata(nsi, "BVC_SUSPEND", src_addr, 0, msg, sizeof(msg));
|
||||
}
|
||||
|
||||
static void send_bssgp_suspend_ack(struct gprs_ns_inst *nsi,
|
||||
struct sockaddr_in *src_addr,
|
||||
struct gprs_ra_id *raid)
|
||||
{
|
||||
/* Base Station Subsystem GPRS Protocol, BSSGP SUSPEND ACK */
|
||||
unsigned char msg[18] = {
|
||||
0x0c, 0x1f, 0x84, 0xcc, 0xd1, 0x75, 0x8b, 0x1b,
|
||||
0x86, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x1d,
|
||||
0x81, 0x01
|
||||
};
|
||||
|
||||
gsm48_construct_ra(msg + 9, raid);
|
||||
|
||||
send_ns_unitdata(nsi, "BVC_SUSPEND_ACK", src_addr, 0, msg, sizeof(msg));
|
||||
}
|
||||
|
||||
static void setup_ns(struct gprs_ns_inst *nsi, struct sockaddr_in *src_addr,
|
||||
uint16_t nsvci, uint16_t nsei)
|
||||
{
|
||||
|
@ -687,6 +793,90 @@ static void test_gbproxy_ident_changes()
|
|||
gbprox_reset();
|
||||
}
|
||||
|
||||
static void test_gbproxy_ra_patching()
|
||||
{
|
||||
struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);
|
||||
struct sockaddr_in bss_peer[1] = {{0},};
|
||||
struct sockaddr_in sgsn_peer= {0};
|
||||
struct gprs_ra_id rai_bss =
|
||||
{.mcc = 112, .mnc = 332, .lac = 16464, .rac = 96};
|
||||
struct gprs_ra_id rai_sgsn =
|
||||
{.mcc = 123, .mnc = 456, .lac = 16464, .rac = 96};
|
||||
struct gprs_ra_id rai_unknown =
|
||||
{.mcc = 1, .mnc = 99, .lac = 99, .rac = 96};
|
||||
|
||||
bssgp_nsi = nsi;
|
||||
gbcfg.nsi = bssgp_nsi;
|
||||
gbcfg.nsip_sgsn_nsei = SGSN_NSEI;
|
||||
|
||||
sgsn_peer.sin_family = AF_INET;
|
||||
sgsn_peer.sin_port = htons(32000);
|
||||
sgsn_peer.sin_addr.s_addr = htonl(REMOTE_SGSN_ADDR);
|
||||
|
||||
bss_peer[0].sin_family = AF_INET;
|
||||
bss_peer[0].sin_port = htons(1111);
|
||||
bss_peer[0].sin_addr.s_addr = htonl(REMOTE_BSS_ADDR);
|
||||
|
||||
printf("--- Initialise SGSN ---\n\n");
|
||||
|
||||
connect_sgsn(nsi, &sgsn_peer);
|
||||
gprs_dump_nsi(nsi);
|
||||
|
||||
printf("--- Initialise BSS 1 ---\n\n");
|
||||
|
||||
setup_ns(nsi, &bss_peer[0], 0x1001, 0x1000);
|
||||
setup_bssgp(nsi, &bss_peer[0], 0x1002);
|
||||
gprs_dump_nsi(nsi);
|
||||
gbprox_dump_peers(stdout, 0);
|
||||
|
||||
send_bssgp_reset_ack(nsi, &sgsn_peer, 0x1002);
|
||||
|
||||
send_bssgp_suspend(nsi, &bss_peer[0], &rai_bss);
|
||||
send_bssgp_suspend_ack(nsi, &sgsn_peer, &rai_sgsn);
|
||||
|
||||
gbprox_dump_global(stdout, 0);
|
||||
gbprox_dump_peers(stdout, 0);
|
||||
|
||||
printf("--- Send message from BSS 1 to SGSN, BVCI 0x1002 ---\n\n");
|
||||
|
||||
send_ns_unitdata(nsi, NULL, &bss_peer[0], 0x1002,
|
||||
bssgp_attach_req, sizeof(bssgp_attach_req));
|
||||
|
||||
send_ns_unitdata(nsi, NULL, &sgsn_peer, 0x1002,
|
||||
bssgp_attach_acc, sizeof(bssgp_attach_acc));
|
||||
|
||||
send_ns_unitdata(nsi, NULL, &bss_peer[0], 0x1002,
|
||||
bssgp_ra_upd_req, sizeof(bssgp_ra_upd_req));
|
||||
|
||||
send_ns_unitdata(nsi, NULL, &sgsn_peer, 0x1002,
|
||||
bssgp_ra_upd_acc, sizeof(bssgp_ra_upd_acc));
|
||||
|
||||
/* Replace APN */
|
||||
send_ns_unitdata(nsi, NULL, &bss_peer[0], 0x1002,
|
||||
bssgp_act_pdp_ctx_req, sizeof(bssgp_act_pdp_ctx_req));
|
||||
|
||||
/* TODO: Re-configure to test APN IE removal */
|
||||
|
||||
/* Remove APN */
|
||||
send_ns_unitdata(nsi, NULL, &bss_peer[0], 0x1002,
|
||||
bssgp_act_pdp_ctx_req, sizeof(bssgp_act_pdp_ctx_req));
|
||||
|
||||
gbprox_dump_global(stdout, 0);
|
||||
gbprox_dump_peers(stdout, 0);
|
||||
|
||||
printf("--- Bad cases ---\n\n");
|
||||
|
||||
send_bssgp_reset_ack(nsi, &sgsn_peer, 0x1eee);
|
||||
send_bssgp_suspend_ack(nsi, &sgsn_peer, &rai_unknown);
|
||||
|
||||
gbprox_dump_global(stdout, 0);
|
||||
gbprox_dump_peers(stdout, 0);
|
||||
|
||||
gprs_ns_destroy(nsi);
|
||||
nsi = NULL;
|
||||
gbprox_reset();
|
||||
}
|
||||
|
||||
|
||||
static struct log_info info = {};
|
||||
|
||||
|
@ -707,6 +897,7 @@ int main(int argc, char **argv)
|
|||
printf("===== GbProxy test START\n");
|
||||
test_gbproxy();
|
||||
test_gbproxy_ident_changes();
|
||||
test_gbproxy_ra_patching();
|
||||
printf("===== GbProxy test END\n\n");
|
||||
|
||||
exit(EXIT_SUCCESS);
|
||||
|
|
|
@ -1518,5 +1518,273 @@ Peers:
|
|||
NS Transmission error : 2
|
||||
NSEI 8192, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
NSEI mismatch : 1
|
||||
--- Initialise SGSN ---
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 12
|
||||
02 00 81 01 01 82 01 01 04 82 01 00
|
||||
|
||||
PROCESSING RESET_ACK from 0x05060708:32000
|
||||
03 01 82 01 01 04 82 01 00
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 1
|
||||
0a
|
||||
|
||||
result (RESET_ACK) = 1
|
||||
|
||||
PROCESSING ALIVE_ACK from 0x05060708:32000
|
||||
0b
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 1
|
||||
06
|
||||
|
||||
result (ALIVE_ACK) = 1
|
||||
|
||||
PROCESSING UNBLOCK_ACK from 0x05060708:32000
|
||||
07
|
||||
|
||||
==> got signal NS_UNBLOCK, NS-VC 0x0101/5.6.7.8:32000
|
||||
|
||||
result (UNBLOCK_ACK) = 0
|
||||
|
||||
PROCESSING ALIVE from 0x05060708:32000
|
||||
0a
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 1
|
||||
0b
|
||||
|
||||
result (ALIVE) = 1
|
||||
|
||||
Current NS-VCIs:
|
||||
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
|
||||
NS-VC Block count : 1
|
||||
|
||||
--- Initialise BSS 1 ---
|
||||
|
||||
Setup NS-VC: remote 0x01020304:1111, NSVCI 0x1001(4097), NSEI 0x1000(4096)
|
||||
|
||||
PROCESSING RESET from 0x01020304:1111
|
||||
02 00 81 01 01 82 10 01 04 82 10 00
|
||||
|
||||
==> got signal NS_RESET, NS-VC 0x1001/1.2.3.4:1111
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 9
|
||||
03 01 82 10 01 04 82 10 00
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 1
|
||||
0a
|
||||
|
||||
result (RESET) = 9
|
||||
|
||||
PROCESSING ALIVE from 0x01020304:1111
|
||||
0a
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 1
|
||||
0b
|
||||
|
||||
result (ALIVE) = 1
|
||||
|
||||
PROCESSING UNBLOCK from 0x01020304:1111
|
||||
06
|
||||
|
||||
==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 1
|
||||
07
|
||||
|
||||
result (UNBLOCK) = 1
|
||||
|
||||
PROCESSING ALIVE_ACK from 0x01020304:1111
|
||||
0b
|
||||
|
||||
result (ALIVE_ACK) = 0
|
||||
|
||||
Setup BSSGP: remote 0x01020304:1111, BVCI 0x1002(4098)
|
||||
|
||||
PROCESSING BVC_RESET from 0x01020304:1111
|
||||
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00 00 00 00 00
|
||||
|
||||
CALLBACK, event 0, msg length 22, bvci 0x0000
|
||||
22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00 00 00 00 00
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 22
|
||||
22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00 00 00 00 00
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 26
|
||||
00 00 00 00 22 04 82 10 02 07 81 08 08 88 11 22 33 40 50 60 10 00 00 00 00 00
|
||||
|
||||
result (BVC_RESET) = 26
|
||||
|
||||
Current NS-VCIs:
|
||||
VCI 0x1001, NSEI 0x1000, peer 0x01020304:1111
|
||||
VCI 0x0101, NSEI 0x0100, peer 0x05060708:32000
|
||||
NS-VC Block count : 1
|
||||
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
PROCESSING BVC_RESET_ACK from 0x05060708:32000
|
||||
00 00 00 00 23 04 82 10 02
|
||||
|
||||
CALLBACK, event 0, msg length 5, bvci 0x0000
|
||||
23 04 82 10 02
|
||||
|
||||
NS UNITDATA MESSAGE to BSS, BVCI 0x0000, msg length 5
|
||||
23 04 82 10 02
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 9
|
||||
00 00 00 00 23 04 82 10 02
|
||||
|
||||
result (BVC_RESET_ACK) = 9
|
||||
|
||||
PROCESSING BVC_SUSPEND from 0x01020304:1111
|
||||
00 00 00 00 0b 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60
|
||||
|
||||
CALLBACK, event 0, msg length 15, bvci 0x0000
|
||||
0b 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 15
|
||||
0b 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 19
|
||||
00 00 00 00 0b 1f 84 cc d1 75 8b 1b 86 11 22 33 40 50 60
|
||||
|
||||
result (BVC_SUSPEND) = 19
|
||||
|
||||
PROCESSING BVC_SUSPEND_ACK from 0x05060708:32000
|
||||
00 00 00 00 0c 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60 1d 81 01
|
||||
|
||||
CALLBACK, event 0, msg length 18, bvci 0x0000
|
||||
0c 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60 1d 81 01
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 24
|
||||
41 07 81 05 15 92 0c 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60 1d 81 01
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 28
|
||||
00 00 00 00 41 07 81 05 15 92 0c 1f 84 cc d1 75 8b 1b 86 21 63 54 40 50 60 1d 81 01
|
||||
|
||||
result (BVC_SUSPEND_ACK) = 28
|
||||
|
||||
Gbproxy global:
|
||||
Invalid Routing Area Identifier : 1
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
--- Send message from BSS 1 to SGSN, BVCI 0x1002 ---
|
||||
|
||||
PROCESSING UNITDATA from 0x01020304:1111
|
||||
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 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 16 6d 01
|
||||
|
||||
CALLBACK, event 0, msg length 75, bvci 0x1002
|
||||
01 bb c5 46 79 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 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 16 6d 01
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 75
|
||||
01 bb c5 46 79 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 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 16 6d 01
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 79
|
||||
00 00 10 02 01 bb c5 46 79 00 00 04 08 88 11 22 33 40 50 60 75 30 00 80 0e 00 34 01 c0 01 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 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 16 6d 01
|
||||
|
||||
result (UNITDATA) = 79
|
||||
|
||||
PROCESSING UNITDATA from 0x05060708:32000
|
||||
00 00 10 02 00 bb c5 46 79 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 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 fb c5 47 22 42 67 9a
|
||||
|
||||
CALLBACK, event 0, msg length 88, bvci 0x1002
|
||||
00 bb c5 46 79 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 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 fb c5 47 22 42 67 9a
|
||||
|
||||
NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 88
|
||||
00 bb c5 46 79 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 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 fb c5 47 22 42 67 9a
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 92
|
||||
00 00 10 02 00 bb c5 46 79 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 9e 41 c0 05 08 02 01 49 04 21 63 54 40 50 60 19 cd d7 08 17 16 18 05 f4 fb c5 47 22 42 67 9a
|
||||
|
||||
result (UNITDATA) = 92
|
||||
|
||||
PROCESSING UNITDATA from 0x01020304:1111
|
||||
00 00 10 02 01 af e2 80 6e 00 00 04 08 88 11 22 33 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 96 3e 97
|
||||
|
||||
CALLBACK, event 0, msg length 85, bvci 0x1002
|
||||
01 af e2 80 6e 00 00 04 08 88 11 22 33 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 96 3e 97
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x1002, msg length 85
|
||||
01 af e2 80 6e 00 00 04 08 88 11 22 33 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 96 3e 97
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 89
|
||||
00 00 10 02 01 af e2 80 6e 00 00 04 08 88 11 22 33 40 50 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 96 3e 97
|
||||
|
||||
result (UNITDATA) = 89
|
||||
|
||||
PROCESSING UNITDATA from 0x05060708:32000
|
||||
00 00 10 02 00 af e2 80 6e 00 50 20 16 82 02 58 13 9d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 0a 82 07 04 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 ef e2 81 17 17 16 c3 bf cc
|
||||
|
||||
CALLBACK, event 0, msg length 91, bvci 0x1002
|
||||
00 af e2 80 6e 00 50 20 16 82 02 58 13 9d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 0a 82 07 04 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 ef e2 81 17 17 16 c3 bf cc
|
||||
|
||||
NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 91
|
||||
00 af e2 80 6e 00 50 20 16 82 02 58 13 9d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 0a 82 07 04 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 ef e2 81 17 17 16 c3 bf cc
|
||||
|
||||
MESSAGE to BSS at 0x01020304:1111, msg length 95
|
||||
00 00 10 02 00 af e2 80 6e 00 50 20 16 82 02 58 13 9d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 0a 82 07 04 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 19 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 ef e2 81 17 17 16 c3 bf cc
|
||||
|
||||
result (UNITDATA) = 95
|
||||
|
||||
PROCESSING UNITDATA 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
|
||||
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 76
|
||||
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
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 80
|
||||
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
|
||||
|
||||
result (UNITDATA) = 80
|
||||
|
||||
PROCESSING UNITDATA 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
|
||||
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 76
|
||||
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
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 80
|
||||
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
|
||||
|
||||
result (UNITDATA) = 80
|
||||
|
||||
Gbproxy global:
|
||||
Invalid Routing Area Identifier : 1
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
--- Bad cases ---
|
||||
|
||||
PROCESSING BVC_RESET_ACK from 0x05060708:32000
|
||||
00 00 00 00 23 04 82 1e ee
|
||||
|
||||
CALLBACK, event 0, msg length 5, bvci 0x0000
|
||||
23 04 82 1e ee
|
||||
|
||||
result (BVC_RESET_ACK) = -2
|
||||
|
||||
PROCESSING BVC_SUSPEND_ACK from 0x05060708:32000
|
||||
00 00 00 00 0c 1f 84 cc d1 75 8b 1b 86 00 f1 99 00 63 60 1d 81 01
|
||||
|
||||
CALLBACK, event 0, msg length 18, bvci 0x0000
|
||||
0c 1f 84 cc d1 75 8b 1b 86 00 f1 99 00 63 60 1d 81 01
|
||||
|
||||
NS UNITDATA MESSAGE to SGSN, BVCI 0x0000, msg length 24
|
||||
41 07 81 05 15 92 0c 1f 84 cc d1 75 8b 1b 86 00 f1 99 00 63 60 1d 81 01
|
||||
|
||||
MESSAGE to SGSN at 0x05060708:32000, msg length 28
|
||||
00 00 00 00 41 07 81 05 15 92 0c 1f 84 cc d1 75 8b 1b 86 00 f1 99 00 63 60 1d 81 01
|
||||
|
||||
result (BVC_SUSPEND_ACK) = 28
|
||||
|
||||
Gbproxy global:
|
||||
Invalid BVC Identifier : 1
|
||||
Invalid Routing Area Identifier : 2
|
||||
Peers:
|
||||
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
|
||||
===== GbProxy test END
|
||||
|
||||
|
|
Loading…
Reference in New Issue