rsl: Add the mode modify and ack/nack messages, test the requeest parsing
This commit is contained in:
parent
99e04a9e56
commit
0d7ad9fea2
|
@ -490,6 +490,51 @@ Object subclass: RSLMessageDefinitions [
|
|||
^ self dedicatedChannelMessageBase
|
||||
]
|
||||
|
||||
modeModifyMessage [
|
||||
<category: 'dedicated-channel'>
|
||||
^ self dedicatedChannelMessageBase
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrChannelMode;
|
||||
instVarName: #channel_mode; parseClass: RSLAttributeData;
|
||||
beTLV; minSize: 6 maxSize: 7; yourself);
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrEncryptionInformation;
|
||||
instVarName: #encr_info; parseClass: RSLAttributeData;
|
||||
beOptional; beTLV; minSize: 1; yourself);
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrMainChannelReference;
|
||||
instVarName: #main_channel; parseClass: RSLAttributeData;
|
||||
beOptional; beTV; minSize: 1; yourself);
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrMultiRateConfiguration;
|
||||
instVarName: #mr; parseClass: RSLAttributeData;
|
||||
beOptional; beTLV; minSize: 1; yourself);
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrMultiRateControl;
|
||||
instVarName: #mr_control; parseClass: RSLAttributeData;
|
||||
beOptional; beTV; valueSize: 1; yourself);
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrSupportedCodecTypes;
|
||||
instVarName: #codec; parseClass: RSLAttributeData;
|
||||
beOptional; beTLV; minSize: 3; yourself);
|
||||
yourself.
|
||||
]
|
||||
|
||||
modeModifyAck [
|
||||
<category: 'dedicated-channel'>
|
||||
^ self dedicatedChannelMessageBase
|
||||
]
|
||||
|
||||
modeModifyNack [
|
||||
<category: 'dedicated-channel'>
|
||||
^ self dedicatedChannelMessageBase
|
||||
add: (Osmo.TLVDescription new
|
||||
tag: RSLInformationElement attrCause;
|
||||
instVarName: #cause; parseClass: RSLAttributeData;
|
||||
beTLV; minSize: 1; yourself);
|
||||
yourself
|
||||
]
|
||||
|
||||
encryptionCommandMessage [
|
||||
<category: 'dedicated-channel'>
|
||||
^ self dedicatedChannelMessageBase
|
||||
|
@ -955,6 +1000,26 @@ RSLDedicatedChannelManagement subclass: RSLSacchDeactivate [
|
|||
<rslMessageDefinition: #deactivateSacchMessage>
|
||||
]
|
||||
|
||||
RSLDedicatedChannelManagement subclass: RSLModeModifyRequest [
|
||||
| channel_mode encr_info main_channel mr mr_control codec |
|
||||
<comment: 'I represent a GSM 08.58 8.4.9 MODE MODIFY'>
|
||||
<rslMessageType: #messageDedModeModifyRequest>
|
||||
<rslMessageDefinition: #modeModifyMessage>
|
||||
]
|
||||
|
||||
RSLDedicatedChannelManagement subclass: RSLModeModifyAck [
|
||||
<comment: 'I represent a GSM 08.58 8.4.10 MODE MODIFY ACKNOWLEDGE'>
|
||||
<rslMessageType: #messageDedModeModifyAck>
|
||||
<rslMessageDefinition: #modeModifyAck>
|
||||
]
|
||||
|
||||
RSLDedicatedChannelManagement subclass: RSLModeModifyNack [
|
||||
| cause |
|
||||
<comment: 'I represent a GSM 08.58 8.4.11 MODE MODIFY NEGATIVE ACKNOWLEDGE'>
|
||||
<rslMessageType: #messageDedModeModifyNack>
|
||||
<rslMessageDefinition: #modeModifyNack>
|
||||
]
|
||||
|
||||
RSLMessageBase subclass: RSLRadioLinkManagement [
|
||||
| channel_number link_id |
|
||||
<category: 'BTS-RSL'>
|
||||
|
|
|
@ -468,6 +468,10 @@ RoundTripTestCase subclass: RSLRoundTripTest [
|
|||
^ #(2 7 1 32 2 0 20 0)
|
||||
]
|
||||
|
||||
modeModifyRequestData [
|
||||
^ #(8 41 1 10 6 4 0 1 8 17 )
|
||||
]
|
||||
|
||||
testBCCHInformation [
|
||||
self roundtripTestFor: #bcchInformationData class: RSLBCCHInformation
|
||||
]
|
||||
|
@ -539,6 +543,10 @@ RoundTripTestCase subclass: RSLRoundTripTest [
|
|||
self assert: mi type = OsmoGSM.GSM48IdentityType typeTMSI.
|
||||
self assert: mi tmsi asByteArray = #(83 211 211 3 ) asByteArray.
|
||||
]
|
||||
|
||||
testModeModify [
|
||||
self roundtripTestFor: #modeModifyRequestData class: RSLModeModifyRequest.
|
||||
]
|
||||
]
|
||||
|
||||
TestCase subclass: RSLIETest [
|
||||
|
|
Reference in New Issue