smalltalk
/
osmo-st-gsm
Archived
1
0
Fork 0

gsm0808: Be able to parse a ciphering mode complete with layer3 contents

This commit is contained in:
Holger Hans Peter Freyther 2014-06-05 10:53:52 +02:00
parent 15be4f4af2
commit 00ee3d0ea0
2 changed files with 34 additions and 0 deletions

View File

@ -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.
]
]

View File

@ -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.