– Kamailio SIP Server –


Date: Tuesday, Feb 19, 2008, 13:00 UTC in the #openser IRC channel on freenode.net

Project topics


* Minor Release 1.3.1 Date (End of Februar?) show stoppers * Major Release 1.4 Roadmap define priorities Date (Summer, before holiday period?) add known items to roadmap page


* Migrate docbook documentation from SGML to XML: miconda: seems that docbook moves to XML-based specification. XML is easier to handle for custom tasks like generating indexes of functions, parameters, a.s.o. (many xml parsers ou there and writing XSL files is simpler) henning: perhaps we can do the conversion with some scripting, instead of doing it manually * henning: we should get a prober FAQ, because the mailling list gets busier, perhaps we can ask about volunteers? * what about starting a docs list? Perhaps some users want to work on this, because for most people the lack of docs is the biggest issue at all (see webpage poll)


* henning: the actual openser.org webpage has some issues old content, dificult structure, obselete installation instructions we need a maintainer for this, perhaps we can ask about volunteers? some cites from users “the website is a real mess, if i don't know that openser means quality, i would choose another project” * henning: we could improve our release announcement process discuss and proof-read them on the devel list send them to lwn.net, freshmeat.net etc.. ===== Code topics ===== ==== Motivation ==== * Synchronize to avoid working on same code space at same time * Avoid duplication of effort because people implemeting the same features * give users a overview about planned schedule and features ==== Major changes ==== === DB API redesign === * miconda: migrate to an API structure for function exports * miconda: compact related parameters of DB functions to structures the DB functions get lot of parameters and it is hard to remember what is column name, what is value, what is the number of given values or columns. I think we can have structures that incorporates related items, e.g., for insert, columns names, values and number of them shall be in one structure *bogdan: prepared queries support (mysql and auth/usrloc for the beginning)

Module merging

* there are some modules that have one or few functionalities – they can be moved in related modules * miconda: proposals: gflags in cfgutils uri* to auth and textops – some of uri functions are depending on authentication of the request, some are just text operations diversion to textops compact radius modules – try to gather RADIUS dependent functions in one module that will export some API and acc, auth, .., will use them. Mainly is about ability to provide acc radius support in packages, by removing in the module the dependency of radius client library

Internal developer framework

* miconda: Building an easy to use developer framework, removal of duplicated code in modules and core move of common fixup functions create helper functions for common operations: e.g., add a new header (many modules have their own ones), PV set/get operations, rewrite uri * henning: autogenerate module interface code from metadata its a pain to change all this modules after module interface changes “table_name” and “column_name” parameter could be autogenerated from XML db schema, also the configuration parameter module parameter could be specified in metadata, documentation and header files could be generated from this all modules that needs a DB connection have the same boilerplate code (version checks, inits..), this could be autogenerated too module functions could perhaps be also specified there miconda: we should decide on a naming pattern of module's main files, the file exporting the module structures: modulename.c or modulename_mod.c?

Low level re-design SIP parsing

* bogdan: remove lumps and realtime changing of the sip message? * bogdan: avoid cloning and dummy parsing/undo-parsing in TM due shm versus pkg * bogdan: should asynchronous processing be considered? what are the needed cases? * bogdan: dynamic process forking to avoid bottlenecks ? * klaus: re-applying lumps to make signing of messages possible

Feature additions, minor changes

* SDP parser: osas: follow the initial discussion on the mailling list bogdan: still pending on tracker * Module enhancements: dialog module: handle dialog timeouts via openser.cfg (see feature request: timeout_route) bogdan: dialog module - dialogs grouping on various criteria for load monitoring bogdan: pike module - MI interface for listing blocked IPs; MI commands to inject IPs to be blocked; better reporting - start and stop of blocking * multi-domain support: bogdan: auto-import of domains (from domain module) as aliases in order to be recognized by RR modules * carrierroute enchancements henning: improve code structure, refactor internal APIs add functionality to attach failure routes to any route rework external module API to use more than two function parameters, unify the different route functions to one * TCP support: bogdan: ping - TCP level or app level? bogdan: avoid opening connections to known natted destinations * Auto processing (to simplify scripting) bogdan: stateful CANCEL auto processing bogdan: NAT + TCP integration (self control of the transport layer) bogdan: NAT traversal - no scripting but only off/on parameter bogdan: dialog simplicity in usage * Pending contributions: bogdan: SIP-identity module henning: not really useful with current infrastructure, see SIP parser enchancements ==== Smaller Cleanups ==== * remove some #defines that are not needed anymore henning: make IPV6 and DISABLE_NAGLE the default, cleanup code and remove complexity * XMLRPC support: ** bogdan: libxmlrpc-c3 thread and fork support- we need runtime selection; get rid of the imported code form the lib