commit 6ec4e192d39e03b4f63eb6b617f74e04914d644c Author: Holger Hans Peter Freyther Date: Sun Nov 14 22:37:50 2010 +0100 TestPhone: Start with a lot of stubs.. diff --git a/Messages.st b/Messages.st new file mode 100644 index 0000000..dc1a076 --- /dev/null +++ b/Messages.st @@ -0,0 +1,40 @@ +"Messages for GSM04.08" + +Object subclass: LocationUpdatingRequest [ + | imsi tmsi | + + LocationUpdatingRequest class >> initWithIMSI: aImsi [ + ^ (self new) + imsi: aImsi; + yourself + ] + + LocationUpdatingRequest class >> initWithTMSI: aTmsi [ + ^ (self new) + tmsi: aTmsi; + yourself + ] + + toMessage [ + ] +] + +Object subclass: LocationUpdatingAccept [ + toMessage [ + ] +] + +Object subclass: LocationUpdatingReject [ + toMessage [ + ] +] + +Object subclass: IdentityRequest [ + toMessage [ + ] +] + +Object subclass: IdentityResponse [ + toMessage [ + ] +] diff --git a/README b/README new file mode 100644 index 0000000..4b572b7 --- /dev/null +++ b/README @@ -0,0 +1 @@ +A simple test phone to do a LU and place a call diff --git a/TestPhone.st b/TestPhone.st new file mode 100644 index 0000000..f6590b4 --- /dev/null +++ b/TestPhone.st @@ -0,0 +1,93 @@ +PackageLoader fileInPackage: 'OsmoNetwork'. + +Object subclass: SCCPHadler [ + + + registerOn: aDispatcher [ + aDispatcher addHandler: Osmo.IPAConstants protocolSCCP + on: self with: #handleMsg. + ] + + handlerMsg: aMsg [ + 'Got a new SCCP message' printNl. + ] +] + +Object subclass: IPAConnection [ + | socket demuxer queue muxer dispatcher sccp ipa | + IPAConnection class >> initWith: anAddr port: aPort token: aToken [ + ^ (self new) + socket: (Sockets.Socket remote: anAddr port: aPort); + setup: aToken; + yourself + ] + + socket: aSocket [ + socket := aSocket. + ] + + setup: aToken [ + demuxer := Osmo.IPADemuxer initOn: socket. + queue := SharedQueue new. + muxer := Osmo.IPAMuxer initOn: queue. + + dispatcher := Osmo.IPADispatcher new. + dispatcher initialize. + + sccp := SCCPHadler new. + sccp registerOn: dispatcher. + + ipa := Osmo.IPAProtoHandler new. + ipa registerOn: dispatcher. + ipa muxer: muxer. + ipa token: aToken + ] + + serve [ + [true] whileTrue: [ + [ + | data | + data := demuxer next. + dispatcher dispatch: data first with: data second. + + self drainSendQueue. + ] on: SystemExceptions.EndOfStream do: [:e | ^ false ] + ] + ] + + drainSendQueue [ + [queue isEmpty] whileFalse: [ + | msg | + msg := queue next. + socket nextPutAllFlush: msg. + ] + ] +] + +Object subclass: IPAConfig [ + | socket addr port token connection | + + addr: anAddr port: aPort [ + addr := anAddr. + port := aPort. + ] + + token: aToken [ + token := aToken. + ] + + connect [ + connection := IPAConnection initWith: addr port: port token: token. + ] + + connection [ + ^ connection + ] +] + +Object subclass: LUOperation [ +] + +Object subclass: PhoneCallOperation [ +] +