libosmocore/tests/gsm0808/gsm0808_test.ok

921 lines
25 KiB
Plaintext

Testing generation of GSM0808 messages
test_gsm0808_enc_cause: encoded: 04 01 41 (rc = 3)
test_gsm0808_enc_cause: encoded: 04 02 80 41 (rc = 4)
Testing creating Layer3
Testing creating Layer3 (AoIP)
Testing creating Reset
Testing creating Reset Ack
Testing creating Clear Command
Testing creating Clear Command 2
Testing creating Clear Command 2 (CSFB)
Testing creating Clear Complete
Testing creating Chipher Mode Command
Testing creating Cipher Complete
Testing creating Cipher Reject
Testing creating Cipher Reject (extended)
Testing creating CM U
Testing creating SAPI Reject
Testing creating Assignment Request
Testing creating Assignment Request with Kc and LCLS
Testing creating Assignment Complete
Testing creating Assignment Complete (AoIP)
Testing creating Assignment Failure
Testing creating Assignment Failure (AoIP)
Testing creating Clear Request
Testing creating Paging Request
Testing creating DTAP
Testing prepend DTAP
Testing Global Call Reference IE encoder...
15 bytes added: OK
decoded 15 bytes: OK:
LCLS Config: Not available, Control: Not available, Correlation-Needed: 1
GCR NetID 0xf1f2f3, Node 0xdead, CallRefID 0x4142434445
test_gsm0808_enc_dec_cell_id_list_lac: encoded: 1a 07 05 01 24 ab cd 56 78 (rc = 9)
------- test_cell_id_list_add
cell_id_list == CGI[0]:{}
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 1
cell_id_list == LAC[1]:{123}
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 0
cell_id_list == LAC[1]:{123}
gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 2
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 0
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &cil) --> rc = 0
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = -22
cell_id_list == LAC[3]:{123, 456, 789}
* can't add to BSS list
cell_id_list == BSS[0]
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = -22
cell_id_list == BSS[0]
* other types (including NO_CELL) take on new type iff empty
cell_id_list == NO-CELL[0]
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 1
cell_id_list == CGI[1]:{001-02-3-4}
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 0
cell_id_list == CGI[1]:{001-02-3-4}
gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 2
cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 0
cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
* test gsm0808_cell_id_list_name_buf()'s return val
strlen(gsm0808_cell_id_list_name(cil)) == 45
gsm0808_cell_id_list_name_buf(buf, 46, cil)) == 45 "CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}"
gsm0808_cell_id_list_name_buf(buf, 23, cil)) == 45 "CGI[3]:{001-02-3-4, 00"
gsm0808_cell_id_list_name_buf(buf, 11, cil)) == 45 "CGI[3]:{00"
gsm0808_cell_id_list_name_buf(buf, 5, cil)) == 45 "CGI["
gsm0808_cell_id_list_name_buf(buf, 2, cil)) == 45 "C"
gsm0808_cell_id_list_name_buf(buf, 1, cil)) == 45 ""
gsm0808_cell_id_list_name_buf(buf, 0, cil)) == 45 "#"
* list-full behavior
cil.id_list_len = 126
gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = 1
cil.id_list_len = 127
cil.id_list_len = 126
gsm0808_cell_id_list_add(&cil, &cgi3) --> rc = -28
cil.id_list_len = 127
gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = -28
cil.id_list_len = 127
------- test_cell_id_list_add done
test_gsm0808_enc_dec_cell_id_lac: encoded: 05 03 05 01 24 (rc = 5)
test_gsm0808_enc_dec_cell_id_bss: encoded: 05 01 06 (rc = 3)
test_gsm0808_enc_dec_cell_id_no_cell: encoded: 05 01 03 (rc = 3)
test_gsm0808_enc_dec_cell_id_lai_and_lac: encoded: 05 06 04 21 63 54 23 42 (rc = 8)
test_gsm0808_enc_dec_cell_id_ci: encoded: 05 03 02 04 23 (rc = 5)
test_gsm0808_enc_dec_cell_id_lac_and_ci: encoded: 05 05 01 04 23 02 35 (rc = 7)
test_gsm0808_enc_dec_cell_id_global: encoded: 05 08 00 21 63 54 23 42 04 23 (rc = 10)
Testing gsm0808_sc_cfg_from_gsm48_mr_cfg():
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0000 = 0b0000000000000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5701 = 0b0101011100000001
Result (hr):
S15-S0 = 0701 = 0b0000011100000001
Input:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0000 = 0b0000000000000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5704 = 0b0101011100000100
Result (hr):
S15-S0 = 0704 = 0b0000011100000100
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 1608 = 0b0001011000001000
Result (hr):
S15-S0 = 0608 = 0b0000011000001000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0410 = 0b0000010000010000
Result (hr):
S15-S0 = 0410 = 0b0000010000010000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 1
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 4020 = 0b0100000000100000
Result (hr):
S15-S0 = 0020 = 0b0000000000100000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 1
m12_2= 0
Result (fr):
S15-S0 = 1040 = 0b0001000001000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 1
Result (fr):
S15-S0 = 4080 = 0b0100000010000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 570d = 0b0101011100001101
Result (hr):
S15-S0 = 070d = 0b0000011100001101
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 54f0 = 0b0101010011110000
Result (hr):
S15-S0 = 0430 = 0b0000010000110000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 57cc = 0b0101011111001100
Result (hr):
S15-S0 = 070c = 0b0000011100001100
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5731 = 0b0101011100110001
Result (hr):
S15-S0 = 0731 = 0b0000011100110001
Input:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 1
m10_2= 0
m12_2= 1
Result (fr):
S15-S0 = 56a8 = 0b0101011010101000
Result (hr):
S15-S0 = 0628 = 0b0000011000101000
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 1
m12_2= 0
Result (fr):
S15-S0 = 5755 = 0b0101011101010101
Result (hr):
S15-S0 = 0717 = 0b0000011100010111
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 57ff = 0b0101011111111111
Result (hr):
S15-S0 = 073f = 0b0000011100111111
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 0
m12_2= 1
Result (fr):
S15-S0 = 5797 = 0b0101011110010111
Result (hr):
S15-S0 = 0717 = 0b0000011100010111
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5715 = 0b0101011100010101
Result (hr):
S15-S0 = 0717 = 0b0000011100010111
Testing gsm48_mr_cfg_from_gsm0808_sc_cfg():
Input:
S15-S0 = ff03 = 0b1111111100000011
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 0000 = 0b0000000000000000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Result invalid!
Input:
S15-S0 = ff06 = 0b1111111100000110
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 3e08 = 0b0011111000001000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0c12 = 0b0000110000010010
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = c020 = 0b1100000000100000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 1
m10_2= 0
m12_2= 0
Input:
S15-S0 = 3040 = 0b0011000001000000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 1
m12_2= 0
Input:
S15-S0 = c082 = 0b1100000010000010
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 0001 = 0b0000000000000001
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0002 = 0b0000000000000010
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 0004 = 0b0000000000000100
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0008 = 0b0000000000001000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0010 = 0b0000000000010000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0020 = 0b0000000000100000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 1
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0040 = 0b0000000001000000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 1
m12_2= 0
Input:
S15-S0 = 0080 = 0b0000000010000000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 0058 = 0b0000000001011000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 1
m12_2= 0
Input:
S15-S0 = 0021 = 0b0000000000100001
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 1
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0084 = 0b0000000010000100
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 0086 = 0b0000000010000110
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = 000a = 0b0000000000001010
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Result invalid!
Input:
S15-S0 = 0079 = 0b0000000001111001
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 1 ver= 1
m7_95= 1
m10_2= 0
m12_2= 0
Result invalid!
Input:
S15-S0 = 0000 = 0b0000000000000000
Output:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Result invalid!
Input:
S15-S0 = ffff = 0b1111111111111111
Output:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Result invalid!
test_cell_id_matching
[0] LAC:23 LAC:23 MATCH
[0] LAC:23 LAC:23 MATCH exactly
[1] LAC:23 LAC:42 don't match
[1] LAC:23 LAC:42 don't match exactly
[2] LAC:23 CI:5 MATCH
[2] LAC:23 CI:5 don't match exactly
[3] LAC:23 CI:6 MATCH
[3] LAC:23 CI:6 don't match exactly
[4] LAC:23 LAC-CI:23-5 MATCH
[4] LAC:23 LAC-CI:23-5 don't match exactly
[5] LAC:23 LAC-CI:42-6 don't match
[5] LAC:23 LAC-CI:42-6 don't match exactly
[6] LAC:23 LAI:023-042-23 MATCH
[6] LAC:23 LAI:023-042-23 don't match exactly
[7] LAC:23 LAI:023-042-42 don't match
[7] LAC:23 LAI:023-042-42 don't match exactly
[8] LAC:23 LAI:023-99-23 MATCH
[8] LAC:23 LAI:023-99-23 don't match exactly
[9] LAC:23 LAI:023-42-23 MATCH
[9] LAC:23 LAI:023-42-23 don't match exactly
[10] LAC:23 CGI:023-042-23-5 MATCH
[10] LAC:23 CGI:023-042-23-5 don't match exactly
[11] LAC:23 CGI:023-042-42-6 don't match
[11] LAC:23 CGI:023-042-42-6 don't match exactly
[12] LAC:23 CGI:023-99-23-5 MATCH
[12] LAC:23 CGI:023-99-23-5 don't match exactly
[13] CI:5 LAC:23 MATCH
[13] CI:5 LAC:23 don't match exactly
[14] CI:5 LAC:42 MATCH
[14] CI:5 LAC:42 don't match exactly
[15] CI:5 CI:5 MATCH
[15] CI:5 CI:5 MATCH exactly
[16] CI:5 CI:6 don't match
[16] CI:5 CI:6 don't match exactly
[17] CI:5 LAC-CI:23-5 MATCH
[17] CI:5 LAC-CI:23-5 don't match exactly
[18] CI:5 LAC-CI:42-6 don't match
[18] CI:5 LAC-CI:42-6 don't match exactly
[19] CI:5 LAI:023-042-23 MATCH
[19] CI:5 LAI:023-042-23 don't match exactly
[20] CI:5 LAI:023-042-42 MATCH
[20] CI:5 LAI:023-042-42 don't match exactly
[21] CI:5 LAI:023-99-23 MATCH
[21] CI:5 LAI:023-99-23 don't match exactly
[22] CI:5 LAI:023-42-23 MATCH
[22] CI:5 LAI:023-42-23 don't match exactly
[23] CI:5 CGI:023-042-23-5 MATCH
[23] CI:5 CGI:023-042-23-5 don't match exactly
[24] CI:5 CGI:023-042-42-6 don't match
[24] CI:5 CGI:023-042-42-6 don't match exactly
[25] CI:5 CGI:023-99-23-5 MATCH
[25] CI:5 CGI:023-99-23-5 don't match exactly
[26] LAC-CI:23-5 LAC:23 MATCH
[26] LAC-CI:23-5 LAC:23 don't match exactly
[27] LAC-CI:23-5 LAC:42 don't match
[27] LAC-CI:23-5 LAC:42 don't match exactly
[28] LAC-CI:23-5 CI:5 MATCH
[28] LAC-CI:23-5 CI:5 don't match exactly
[29] LAC-CI:23-5 CI:6 don't match
[29] LAC-CI:23-5 CI:6 don't match exactly
[30] LAC-CI:23-5 LAC-CI:23-5 MATCH
[30] LAC-CI:23-5 LAC-CI:23-5 MATCH exactly
[31] LAC-CI:23-5 LAC-CI:42-6 don't match
[31] LAC-CI:23-5 LAC-CI:42-6 don't match exactly
[32] LAC-CI:23-5 LAI:023-042-23 MATCH
[32] LAC-CI:23-5 LAI:023-042-23 don't match exactly
[33] LAC-CI:23-5 LAI:023-042-42 don't match
[33] LAC-CI:23-5 LAI:023-042-42 don't match exactly
[34] LAC-CI:23-5 LAI:023-99-23 MATCH
[34] LAC-CI:23-5 LAI:023-99-23 don't match exactly
[35] LAC-CI:23-5 LAI:023-42-23 MATCH
[35] LAC-CI:23-5 LAI:023-42-23 don't match exactly
[36] LAC-CI:23-5 CGI:023-042-23-5 MATCH
[36] LAC-CI:23-5 CGI:023-042-23-5 don't match exactly
[37] LAC-CI:23-5 CGI:023-042-42-6 don't match
[37] LAC-CI:23-5 CGI:023-042-42-6 don't match exactly
[38] LAC-CI:23-5 CGI:023-99-23-5 MATCH
[38] LAC-CI:23-5 CGI:023-99-23-5 don't match exactly
[39] LAI:023-042-23 LAC:23 MATCH
[39] LAI:023-042-23 LAC:23 don't match exactly
[40] LAI:023-042-23 LAC:42 don't match
[40] LAI:023-042-23 LAC:42 don't match exactly
[41] LAI:023-042-23 CI:5 MATCH
[41] LAI:023-042-23 CI:5 don't match exactly
[42] LAI:023-042-23 CI:6 MATCH
[42] LAI:023-042-23 CI:6 don't match exactly
[43] LAI:023-042-23 LAC-CI:23-5 MATCH
[43] LAI:023-042-23 LAC-CI:23-5 don't match exactly
[44] LAI:023-042-23 LAC-CI:42-6 don't match
[44] LAI:023-042-23 LAC-CI:42-6 don't match exactly
[45] LAI:023-042-23 LAI:023-042-23 MATCH
[45] LAI:023-042-23 LAI:023-042-23 MATCH exactly
[46] LAI:023-042-23 LAI:023-042-42 don't match
[46] LAI:023-042-23 LAI:023-042-42 don't match exactly
[47] LAI:023-042-23 LAI:023-99-23 don't match
[47] LAI:023-042-23 LAI:023-99-23 don't match exactly
[48] LAI:023-042-23 LAI:023-42-23 don't match
[48] LAI:023-042-23 LAI:023-42-23 don't match exactly
[49] LAI:023-042-23 CGI:023-042-23-5 MATCH
[49] LAI:023-042-23 CGI:023-042-23-5 don't match exactly
[50] LAI:023-042-23 CGI:023-042-42-6 don't match
[50] LAI:023-042-23 CGI:023-042-42-6 don't match exactly
[51] LAI:023-042-23 CGI:023-99-23-5 don't match
[51] LAI:023-042-23 CGI:023-99-23-5 don't match exactly
[52] CGI:023-042-23-5 LAC:23 MATCH
[52] CGI:023-042-23-5 LAC:23 don't match exactly
[53] CGI:023-042-23-5 LAC:42 don't match
[53] CGI:023-042-23-5 LAC:42 don't match exactly
[54] CGI:023-042-23-5 CI:5 MATCH
[54] CGI:023-042-23-5 CI:5 don't match exactly
[55] CGI:023-042-23-5 CI:6 don't match
[55] CGI:023-042-23-5 CI:6 don't match exactly
[56] CGI:023-042-23-5 LAC-CI:23-5 MATCH
[56] CGI:023-042-23-5 LAC-CI:23-5 don't match exactly
[57] CGI:023-042-23-5 LAC-CI:42-6 don't match
[57] CGI:023-042-23-5 LAC-CI:42-6 don't match exactly
[58] CGI:023-042-23-5 LAI:023-042-23 MATCH
[58] CGI:023-042-23-5 LAI:023-042-23 don't match exactly
[59] CGI:023-042-23-5 LAI:023-042-42 don't match
[59] CGI:023-042-23-5 LAI:023-042-42 don't match exactly
[60] CGI:023-042-23-5 LAI:023-99-23 don't match
[60] CGI:023-042-23-5 LAI:023-99-23 don't match exactly
[61] CGI:023-042-23-5 LAI:023-42-23 don't match
[61] CGI:023-042-23-5 LAI:023-42-23 don't match exactly
[62] CGI:023-042-23-5 CGI:023-042-23-5 MATCH
[62] CGI:023-042-23-5 CGI:023-042-23-5 MATCH exactly
[63] CGI:023-042-23-5 CGI:023-042-42-6 don't match
[63] CGI:023-042-23-5 CGI:023-042-42-6 don't match exactly
[64] CGI:023-042-23-5 CGI:023-99-23-5 don't match
[64] CGI:023-042-23-5 CGI:023-99-23-5 don't match exactly
test_cell_id_list_matching(test match)
LAC:23 and LAC[2]:{42, 23}: MATCH at [1]
LAC:23 and CI[2]:{5, 6}: MATCH at [0]
LAC:23 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
LAC:23 and LAI[4]:{023-042-42, 023-042-23, 023-99-23, 023-42-23}: MATCH at [1]
LAC:23 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
CI:5 and LAC[2]:{23, 42}: MATCH at [0]
CI:5 and CI[2]:{6, 5}: MATCH at [1]
CI:5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
CI:5 and LAI[4]:{023-042-23, 023-042-42, 023-99-23, 023-42-23}: MATCH at [0]
CI:5 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
LAC-CI:23-5 and LAC[2]:{42, 23}: MATCH at [1]
LAC-CI:23-5 and CI[2]:{6, 5}: MATCH at [1]
LAC-CI:23-5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
LAC-CI:23-5 and LAI[4]:{023-042-42, 023-042-23, 023-99-23, 023-42-23}: MATCH at [1]
LAC-CI:23-5 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
LAI:023-042-23 and LAC[2]:{42, 23}: MATCH at [1]
LAI:023-042-23 and CI[2]:{5, 6}: MATCH at [0]
LAI:023-042-23 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
LAI:023-042-23 and LAI[4]:{023-042-42, 023-99-23, 023-42-23, 023-042-23}: MATCH at [3]
LAI:023-042-23 and CGI[3]:{023-042-42-6, 023-99-23-5, 023-042-23-5}: MATCH at [2]
CGI:023-042-23-5 and LAC[2]:{42, 23}: MATCH at [1]
CGI:023-042-23-5 and CI[2]:{6, 5}: MATCH at [1]
CGI:023-042-23-5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
CGI:023-042-23-5 and LAI[4]:{023-042-42, 023-99-23, 023-42-23, 023-042-23}: MATCH at [3]
CGI:023-042-23-5 and CGI[3]:{023-042-42-6, 023-99-23-5, 023-042-23-5}: MATCH at [2]
test_cell_id_list_matching(test mismatch)
LAC:23 and LAC[1]:{42}: mismatch
LAC:23 vs. CI: No match_id entries to test mismatch
LAC:23 and LAC-CI[1]:{42-6}: mismatch
LAC:23 and LAI[1]:{023-042-42}: mismatch
LAC:23 and CGI[1]:{023-042-42-6}: mismatch
CI:5 vs. LAC: No match_id entries to test mismatch
CI:5 and CI[1]:{6}: mismatch
CI:5 and LAC-CI[1]:{42-6}: mismatch
CI:5 vs. LAI: No match_id entries to test mismatch
CI:5 and CGI[1]:{023-042-42-6}: mismatch
LAC-CI:23-5 and LAC[1]:{42}: mismatch
LAC-CI:23-5 and CI[1]:{6}: mismatch
LAC-CI:23-5 and LAC-CI[1]:{42-6}: mismatch
LAC-CI:23-5 and LAI[1]:{023-042-42}: mismatch
LAC-CI:23-5 and CGI[1]:{023-042-42-6}: mismatch
LAI:023-042-23 and LAC[1]:{42}: mismatch
LAI:023-042-23 vs. CI: No match_id entries to test mismatch
LAI:023-042-23 and LAC-CI[1]:{42-6}: mismatch
LAI:023-042-23 and LAI[3]:{023-042-42, 023-99-23, 023-42-23}: mismatch
LAI:023-042-23 and CGI[2]:{023-042-42-6, 023-99-23-5}: mismatch
CGI:023-042-23-5 and LAC[1]:{42}: mismatch
CGI:023-042-23-5 and CI[1]:{6}: mismatch
CGI:023-042-23-5 and LAC-CI[1]:{42-6}: mismatch
CGI:023-042-23-5 and LAI[3]:{023-042-42, 023-99-23, 023-42-23}: mismatch
CGI:023-042-23-5 and CGI[2]:{023-042-42-6, 023-99-23-5}: mismatch
test_gsm0808_cell_id_to_from_cgi()
cid LAC:23 -> cgi 777-007-23-7777 LAC -> cid LAC:23
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777
--> gsm0808_cell_id{LAI} = LAI:777-007-23
--> gsm0808_cell_id{CGI} = CGI:777-007-23-7777
cid LAC:42 -> cgi 777-007-42-7777 LAC -> cid LAC:42
--> gsm0808_cell_id{LAC} = LAC:42
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:42-7777
--> gsm0808_cell_id{LAI} = LAI:777-007-42
--> gsm0808_cell_id{CGI} = CGI:777-007-42-7777
cid CI:5 -> cgi 777-007-7777-5 CI -> cid CI:5
--> gsm0808_cell_id{LAC} = LAC:7777
--> gsm0808_cell_id{CI} = CI:5
--> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-5
--> gsm0808_cell_id{LAI} = LAI:777-007-7777
--> gsm0808_cell_id{CGI} = CGI:777-007-7777-5
cid CI:6 -> cgi 777-007-7777-6 CI -> cid CI:6
--> gsm0808_cell_id{LAC} = LAC:7777
--> gsm0808_cell_id{CI} = CI:6
--> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-6
--> gsm0808_cell_id{LAI} = LAI:777-007-7777
--> gsm0808_cell_id{CGI} = CGI:777-007-7777-6
cid LAC-CI:23-5 -> cgi 777-007-23-5 LAC CI -> cid LAC-CI:23-5
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:5
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5
--> gsm0808_cell_id{LAI} = LAI:777-007-23
--> gsm0808_cell_id{CGI} = CGI:777-007-23-5
cid LAC-CI:42-6 -> cgi 777-007-42-6 LAC CI -> cid LAC-CI:42-6
--> gsm0808_cell_id{LAC} = LAC:42
--> gsm0808_cell_id{CI} = CI:6
--> gsm0808_cell_id{LAC-CI} = LAC-CI:42-6
--> gsm0808_cell_id{LAI} = LAI:777-007-42
--> gsm0808_cell_id{CGI} = CGI:777-007-42-6
cid LAI:023-042-23 -> cgi 023-042-23-7777 PLMN LAC -> cid LAI:023-042-23
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777
--> gsm0808_cell_id{LAI} = LAI:023-042-23
--> gsm0808_cell_id{CGI} = CGI:023-042-23-7777
cid LAI:023-042-42 -> cgi 023-042-42-7777 PLMN LAC -> cid LAI:023-042-42
--> gsm0808_cell_id{LAC} = LAC:42
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:42-7777
--> gsm0808_cell_id{LAI} = LAI:023-042-42
--> gsm0808_cell_id{CGI} = CGI:023-042-42-7777
cid LAI:023-99-23 -> cgi 023-99-23-7777 PLMN LAC -> cid LAI:023-99-23
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777
--> gsm0808_cell_id{LAI} = LAI:023-99-23
--> gsm0808_cell_id{CGI} = CGI:023-99-23-7777
cid LAI:023-42-23 -> cgi 023-42-23-7777 PLMN LAC -> cid LAI:023-42-23
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-7777
--> gsm0808_cell_id{LAI} = LAI:023-42-23
--> gsm0808_cell_id{CGI} = CGI:023-42-23-7777
cid CGI:023-042-23-5 -> cgi 023-042-23-5 PLMN LAC CI -> cid CGI:023-042-23-5
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:5
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5
--> gsm0808_cell_id{LAI} = LAI:023-042-23
--> gsm0808_cell_id{CGI} = CGI:023-042-23-5
cid CGI:023-042-42-6 -> cgi 023-042-42-6 PLMN LAC CI -> cid CGI:023-042-42-6
--> gsm0808_cell_id{LAC} = LAC:42
--> gsm0808_cell_id{CI} = CI:6
--> gsm0808_cell_id{LAC-CI} = LAC-CI:42-6
--> gsm0808_cell_id{LAI} = LAI:023-042-42
--> gsm0808_cell_id{CGI} = CGI:023-042-42-6
cid CGI:023-99-23-5 -> cgi 023-99-23-5 PLMN LAC CI -> cid CGI:023-99-23-5
--> gsm0808_cell_id{LAC} = LAC:23
--> gsm0808_cell_id{CI} = CI:5
--> gsm0808_cell_id{LAC-CI} = LAC-CI:23-5
--> gsm0808_cell_id{LAI} = LAI:023-99-23
--> gsm0808_cell_id{CGI} = CGI:023-99-23-5
cid NO-CELL:NO-CELL -> cgi 777-007-7777-7777 -> cid NO-CELL:NO-CELL
--> gsm0808_cell_id{LAC} = LAC:7777
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777
--> gsm0808_cell_id{LAI} = LAI:777-007-7777
--> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777
cid unknown 0x1a7:unknown 0x1a7 -> cgi 777-007-7777-7777 -> cid unknown 0x1a7:unknown 0x1a7
--> gsm0808_cell_id{LAC} = LAC:7777
--> gsm0808_cell_id{CI} = CI:7777
--> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777
--> gsm0808_cell_id{LAI} = LAI:777-007-7777
--> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777
Testing decoding CONFUSION
Cause class 5/0x5 (Invalid message)
Cause 82/0x52 (INFORMATION ELEMENT OR FIELD MISSING)
Diagnostics error octet location 0 (Error location not determined)
Diagnostics error bit location 15 (Reserved value)
Diagnostics message that provoked the error: 00 03 25 03 25
Testing decoding Perform Location Report SYS#5891
Done