gsm0808: Be able to parse a ciphering mode complete with layer3 contents
This commit is contained in:
parent
15be4f4af2
commit
00ee3d0ea0
28
BSSMAP.st
28
BSSMAP.st
|
@ -797,3 +797,31 @@ GSM0808IE subclass: GSM0808Classmark3IE [
|
|||
aMsg putByteArray: cm.
|
||||
]
|
||||
]
|
||||
|
||||
GSM0808IE subclass: GSM0808Layer3MessageContents [
|
||||
| layer3Message |
|
||||
<category: 'OsmoGSM'>
|
||||
|
||||
GSM0808Layer3MessageContents class >> elementId [^32]
|
||||
GSM0808Layer3MessageContents class >> initWith: aByteArray [
|
||||
^self new
|
||||
layer3Message: aByteArray;
|
||||
yourself
|
||||
]
|
||||
|
||||
GSM0808Layer3MessageContents class >> parseFrom: aStream [
|
||||
| size |
|
||||
size := aStream next.
|
||||
^self initWith: (aStream next: size)
|
||||
]
|
||||
|
||||
layer3Message: aByteArray [
|
||||
layer3Message := aByteArray
|
||||
]
|
||||
|
||||
writeOnDirect: aMsg [
|
||||
aMsg
|
||||
putByte: layer3Message size;
|
||||
putByteArray: layer3Message.
|
||||
]
|
||||
]
|
||||
|
|
6
Tests.st
6
Tests.st
|
@ -595,6 +595,12 @@ TestCase subclass: TestMessages [
|
|||
msg := MSGParser parse: inp.
|
||||
self assert: msg toMessage asByteArray = inp.
|
||||
|
||||
"Ciphering mode complete..."
|
||||
inp := #[16r06 16r01 16r01 16r5B 16r00 16r01 16r14 16r00 16r12 16r55 16r20 16r0D 16r06 16r32 16r17 16r09 16r33 16r15 16r49 16r00 16r93 16r89 16r31 16r62 16rF4 16r2C 16r02].
|
||||
msg := MSGParser parse: inp.
|
||||
self assert: msg toMessage asByteArray = inp.
|
||||
|
||||
|
||||
"Assignment Command"
|
||||
inp := #(6 0 0 72 0 1 11 0 9 1 11 3 1 10 17 1 0 20 ) asByteArray.
|
||||
msg := MSGParser parse: inp.
|
||||
|
|
Reference in New Issue