1
0
Fork 0

Test creating SCCP CR messages

This commit is contained in:
Holger Hans Peter Freyther 2010-11-15 19:07:37 +01:00
parent 163f329d02
commit fdf0842be7
2 changed files with 91 additions and 0 deletions

79
SCCP.st
View File

@ -21,8 +21,14 @@ Object subclass: SCCPHelper [
SCCPHelper class >> msgLudt [ ^ 16r13 ]
SCCPHelper class >> msgLudts[ ^ 16r14 ]
SCCPHelper class >> pncData [ ^ 16r0F ]
SCCPHelper class >> pncEoO [ ^ 16r00 ]
SCCPHelper class >> createCR: src dest: dest data: aData [
^ (SCCPConnectionRequest initWith: src dest: dest data: aData)
toMessage.
]
SCCPHelper class >> createRLSD: src dest: dest cause: cause [
^ (SCCPConnectionReleased initWith: src dest: dest cause: cause)
toMessage.
@ -34,6 +40,35 @@ Object subclass: SCCPHelper [
]
]
Object subclass: SCCPAddress [
| ssn |
SCCPAddress class >> createWith: ssn [
^ (SCCPAddress new)
ssn: ssn;
yourself
]
ssn: assn [
ssn := assn
]
asByteArray [
"Most simple address storing routine"
| ai data |
data := OrderedCollection new.
ai := 0.
ai := ai bitOr: 2.
ai := ai bitOr: 64.
data add: ai.
data add: ssn.
data addFirst: data size.
^ data asByteArray
]
]
Object subclass: SCCPAddrReference [
<category: 'osmo-network'>
SCCPAddrReference class >> store: anAddress on: aMsg [
@ -56,6 +91,50 @@ Object subclass: SCCPAddrReference [
]
]
Object subclass: SCCPConnectionRequest [
<category: 'osmo-network'>
| src dst data |
SCCPConnectionRequest class >> initWith: src dest: dest data: data [
<category: 'construction'>
^ self new
src: src dest: dest data: data;
yourself
]
src: aSrc dest: aDest data: aData [
src := aSrc.
dst := aDest.
data := aData.
]
toMessage [
<category: 'conversion'>
| msg len addr |
addr := dst asByteArray.
msg := MessageBuffer new.
msg putByte: SCCPHelper msgCr.
SCCPAddrReference store: src on: msg.
"store proto_class, variable_called, optional_start"
msg putByte: 2.
msg putByte: 2.
msg putByte: 1 + addr size.
msg putByteArray: addr.
" place the data now "
msg putByte: SCCPHelper pncData.
msg putByte: data size.
msg putByteArray: data.
msg putByte: SCCPHelper pncEoO.
^ msg.
]
]
Object subclass: SCCPConnectionReleased [
<category: 'osmo-network'>
| src dst cause |

View File

@ -21,6 +21,18 @@ TestCase subclass: SCCPTests [
self assert: msg = #(6 1 4 0 0 1 4 49 50 51 52) asByteArray.
]
testCR [
| cr msg |
cr := SCCPConnectionRequest
initWith: 16r0300BF
dest: (SCCPAddress createWith: 254)
data: '1234' asByteArray.
msg := cr toMessage toByteArray.
msg printNl.
self assert: msg = #(1 191 0 3 2 2 4 2 66 254 15 4 49 50 51 52 0) asByteArray
]
]
TestCase subclass: IPATests [