Hi!
I'm just writiing this up as you mentioned that you were considering to look into implementing an external SMSC. This is great news, and of course you can do it whatever way you want to do it.
However, to put things a bit more into perspective and ensure that this SMSC can also be used in a real GSM core network later on, I would like to ask you to consider staying in line with how the primitives/transacitions look like in a real GSM network.
The idea here is that with every new interface we introduce in osmo-nitb, we should try ot move towards that of a real network. This does't mean that it has to implement the actual detailed MAP/TCAP/SCCP encoding as specified, but simply that they semantic of the primitives/messages and their order and time of occurrence is the same.
hi,
when i touched SMS last year for osmocombb, i looked at the openbsc code and splitted it into openbsc-stuff, CP protocol and RP protocol. (the CP and RP protocols carry SMS APDU over SAPI-3 link.) both protocols are in libosmocore already. there is also a branch for openbsc (jolly/sms) which has never been merged, iirc. it uses the CP/RP stuff from libosmocore, similar to what osmocombb already does.
my suggestion now is that the SMSC interface should use the protocols from libosomocore. this way it could be possible (with little additions to osmocombb) to use the SMSC with the mobile side too. i think it could be interesting, if SMSC would allow nice features like email gateway, so we could have a mail gateway for the mobile side too. but maybe this is a bad idea... let me know!
regards,
andreas
Hi Harald,
sorry for the late answer (I was on vacation (*)).
However, to put things a bit more into perspective and ensure that this SMSC can also be used in a real GSM core network later on, I would like to ask you to consider staying in line with how the primitives/transacitions look like in a real GSM network.
Agreed. We should use the real world protocols and only simplify by omitting the parts we currently don't need.
Now the desing questions are:
- do you agree that we should align with those primitives?
Yes.
- If yes,is it really worth coding a custom protocol for them, or should we rather already use at least the MAP encoding, but ignore the complex TCAP transaction state machines and SCCP routing? There's already libosmo-asn1-map which should be able to parse and generate the 'real world' data structures. The extra effort is probably limited, and if the messages are then simly sent over a raw TCP (IPA) connection, there is no SS7 complexity.
I am definitely against a custom protocol. Using MAP over raw TCP sounds fine to me.
I will try to find some time to sit down with Peter some time next week to discuss this further.
Regards, -Tobias
(*) ... in a remote location where they did have GSM, but they switched off the BTS during the night to save power ;)