Holger Hans Peter Freyther's blog

GNU Smalltalk deployment with images and image resumption

Once up on a time I was sitting in a cold hall at the Barcelona exhibition ground, a power outage has taken down several DVB-H platforms (racks consisting of servers, streamers, RF equipment...) and once power was restored red LEDs were blinking, systems not coming up automatically, hordes of engineers trying to boot the right kernel, trying to remember the multicast routes they had typed in by hand, chaos, hectic. It was interesting to witness that as we could lay back, continue with our work, as our platform was configured to come up automatically and it did.

OsmoST SIP

Intro

The last couple of days, to some degree weeks I was implementing a SIP stack for GNU Smalltalk to be used in my Smalltalk GSM project. The first time I encountered SIP was around 2001 when we were excited to run a SIP Phone on our Linux powered iPAQs (Linphone on Opie).

For Smalltalk I started with looking at SipStack by Frank Shearar (who was very responsive to questions regarding his code and SIP in general). The main problem was that his stack was incomplete and as usual it is difficult to pick things up without knowing SIP and not knowing where the code was heading.

Block Closure and Timeouts

Tagged:  •  

For the SS7/GSM work I am doing I have to implement dialogues with other systems and by default the IO in a lightweight process in Smalltalk is blocking (built on top of SIGIO). My problem is that a remote system could make me wait for a response forever. I am not an experienced Smalltalker yet but the existing options didn't look good enough (which might be me being unexperienced). I looked into what is required to add a #timeout:do: to the BlockClosure. The idea is to run the dialogue in a very straight forward way and guard the whole operation with a Timeout.


[
self sendSomething.
self waitForResponseOfKind: ABC.
self someMoreStuff.
self waitForMoe.
self askOtherSystem.
self conclude.
] timeout: 10 do: ['The operation timed out... cleanup']

Looking for a nice ASN.1 stack

Tagged:  •  

I am working on GSM/SS7 protocol implementation on and off for a bit. The current modules can be found in these git repositories.

Right now I am working on parsing and creating ISDN User Part (ISUP) messages and the general question of how to express on-wire messages composed from mandantory, variable and optional fields (class based vs. instance based). For now I am using a class based approach as this allows me to have field decoding/encoding inside these classes but I am not sure if this is the best way and will keep on exploring it.

GSM in Smalltalk - a GSM Toolkit

Tagged:

I started to play with smalltalk somewhere in February, more specific with the GNU Smalltalk implementation. Like it is with any new language and class library it takes a while to get productive and it took me until somewhere the last month where I finally started to do GSM handling in Smalltalk and thanks to laf0rge the code is now in a public repository and hosted along the other Osmocom projects. You can see all the subprojects over here.

Syndicate content

User login