--- smsdaemon/ToDo 2008/06/13 09:33:47 74 +++ smsdaemon/ToDo 2008/12/19 22:33:41 206 @@ -1,8 +1,33 @@ ToDo list for smsdaemon: -- Clean-up Sms & SmsPdu -- SmsPdu: make EncodePdu work without the trailing 0x00 in UDH (multipart) - requires more work on Encode7to8bit -- Make GsmModem read messages in PDU mode +- SmsPdu: make EncodePdu work without the trailing 0x00 in UDH (multipart) + Requires more work on Encode7to8bit +- Create a filtering method: + Incoming: which phonenumbers are allowed to invoke which plugins + Outgoing: which phonenumbers are allowed to send to (to avoid loop backs) + Incoming could be solved with a PluginProxy() which intercepts the ExecutePlugin calls (only PluginManager needs to know about this one) + Outgoing calls an be solved with a TransceiverProxy which intercepts SendSms calls (Only main.cpp needs to know ) +- Config file : it should be possible to configure which plugins should be loaded, + the plugins should also load parameters from the config. (DONE - now do the same for tasks) + - Enable a dynamic reload of plugins/tasks when recieving a signal -- clean up in main.cpp - Refactor to a SmsDaemon class ?? +- when using SmsToolTransceiver, the target phonenumber must include countrycode (45 in DK) + can we check this in smsdaemon?? +- In Transciever section: make sure that phonenumbers has the correct layout (no '+' sign) - combine this + with the previous task. + + +Possible extensions +- Make a KannelTransceiver class for interfacing with kannel ? +- IRC<->SMS gateway +- E-mail<->SMS gateway +- Reminder tasks which reads events from DB and sends reminder messages. + Coupled with a plugin which can add reminders to this DB. + The persistance could of course be handled internally, but if it is in a DB then it is + easy to add other interfaces. +- Plugin to find weather report +- Plugin to lookup stock rates (maybe a stock task, to send messages when the rates change) +- Trafic information from trafikken.dk +- A generic subscribtion module to subscribe to different information modules +- Some kind of accounting module