> > please make the patches as readable as possible, which means keep the > diff files semantically together, so that every patch does change one > semantical issue.
The main problem here is the entirely updated inner structure. This means that we talk hundreds of lines of code here, which cannot be separated that easily - for example, we cannot use improved store-file without changing message queue system. Earlier when we talked about this bearerbox/smsbox issue, one reason to have separate smsbox was to keep unstable special message things (OTA etc.) out of bearerbox, so that if they fail, bearerbox is not affected. This arises again the very question 'what should Kannel (gateway) do?' In my opinion, the gateway should: - be as reliable as possible (no memory leak, no crashing, no panics, no lost messages) - act as fast tunnel between user agents and applications - provide minimal features (API) to make it usable In this sense, gateway could have following things: - SMSC connection handling (this is the main thing wanted from it) - simple message routing to SMSCes - virtual SMSC handling (for HTTP based content gateways, external SMSC connection systems etc.) - simple message routing to external HTTP servers - simple message concatenation (or support to force used SMSC) - OPTIONAL: fixed answers for time-critical things Following things should not be there: - complicated message handling (logos, icons, ringtones, OTA,..) -> these messages should be created by other process which then uses the simple interface of the gateway - message modifications (headers, footers, etc.) - unstable drivers etc. - wap stack (seperate wapbox is good) Thus, I would move basic SMS handling to bearerbox and then leave more complicated (push etc.) things to smsbox. Like make smsbox completely stand-alone, so that it is not needed but can be used if additional features are needed. In practise, to make things work 'like they were', bearerbox would be configured to send all SMS'es to this new smsbox (maybe over HTTP?) which would then do routing/modifications, and push any replies (or return as reply to bearerbox HTTP) to bearerbox as any external application. Bearerbox would not see difference between that stand-alone smsbox and any other application, making it simpler. But this stand-alone smsbox could be provided with Kannel, to make easier to develop applications. -- &kalle marjola product concept manager NETikos finland (http://www.netikos.fi)