– Kamailio SIP Server –

Roadmap for the 1.3 release

  1. tighter integration of xmpp into OpenSER, get rid of two levels of addressing
    • remove address mapping between sip and xmpp
    • suggested from Juha Heinanen
    • status: needs update
  2. dialog enhancements
    • Bogdan-Andrei Iancu
    • Victor Gamov
    • allow to destroy dialog from MI with accounting generating.
    • try to find idle or disconnected dialog (ping-like, get statistic from rtpproxy or some other method) and close it with accounting generating
    • status: enchancements to save more dialog state in database, unclear if call termination could be done
  3. better diameter support
    • Ovidiu Sas
    • status: needs update
  4. SIPS url support
    • get rid of hard coded “sip” in modules
    • enhance parser
    • status: postponed
  5. replace OpenSSL with GnuTLS
    • performance issues, GnuTLS seems two times slower then OpenSSL
    • but GnuTLS supports more features
    • Julien Blache announced that he wants to work on this
    • status: needs update
  6. replace integrated assembler code with system provided assembler functions
    • Bogdan
    • needs performance evaluation
    • status: postponed
  7. RTPProxy enhancements
    • collaboration with existing project, or rewrite
    • Adam Linford announced that he can perhaps provide funding for an rewrite
    • status: enhancements to do load balancing and clustering of RTPproxy
  8. Build system change
    • not decided yet
    • cmake vs. autotools
    • Sebastien Tricaud announced that he wants to work in this
    • status: core is working, module support is missing
  9. OpenSER lib
    • would probably easier with better build system and isolation of memory management
    • Sebastien Tricaud announced that he wants to work on this
    • status: needs autoconf infrastructure, postponed
  10. Log enchancements
    • message log printing with file, line, etc… (attempted to be introduced by different modules before release, e.g., seas)
    • status: enchancements in core done, most modules still uses the old system
  11. code cleanup
    • Daniel-Constantin Mierla
    • free mem for fixup function (required for better perl integration)
    • review all "FIXME" and “hack” annotations in core and important modules
    • status: needs update
  1. database code cleanup
    • move common fixup functions to mod_fix.h (as it is now for str fixup)
    • db interface cleanups, move commonly used functions to db dir
    • status: done
  1. database interface overhaul
    • Henning Westerholt
    • generate sql for different dbs from common schema
    • status: done
  1. database functions enchancements
    • Daniel-Constantin Mierla
    • Henning Westerholt
    • multithreading support/ watcher process
    • application level loadbalancing or clustering
    • status: some working code present, but needs to reworked or adapted
  1. OpenSER config reload
    • use a new configuration without an server restart
    • status: postponed
  1. Load caller and callee AVPs in separate AVP branches
    • Andreas Granig
    • avoid copying each AVP in the script to avoid collisions between AVPs when for example doing call forwards
    • status: alternative is to use AVP flags to avoid overwriting
  1. better dbtext handling
    • Ovidiu Sas
    • integrating dbtext into the openserctl script
    • status: mostly done, small adaptions for the table ids still needed
  1. unit tests infrastructure
    • Elias Baixas
    • needs to be discussed
    • for seas allready implemented with the cuTest framework
    • status: postponed
  1. security/stability improvements
    • Klaus Darilion
    • do not block during establishing new TCP/TLS connections
    • do not try to establish TCP/TLS to clients behind NAT
    • possibility to drop final response if there is no matching transaction
    • do not block during DNS lookup
    • do not block on db problems
    • do not block on syslog problems
    • implementation of an dedicated overload thread/ process
    • status: needs update
  1. improve the “force_Send_Socket” capabilities
    • Klaus Darilion
    • e.g. to force a certain socket for a certain branch
    • even in failure routes
    • status: needs update
  1. items for OpenSER Core from the 1.2 roadmap
    • SIP identity - allready in patch tracker
    • status: auth_identity needs a maintainer
    • memory defragmentation
    • OpenSER command line interface (terminal)
    • pass socket information through fifo/unixsock
    • interpret ICMP error messages
    • status: postponed
  1. items for OpenSER Modules from the 1.2 roadmap
    • dbtext reload support
    • status: dbtext cacheless mode in trunk
    • xmpp - support for presence and voice
    • status: xmpp presence in trunk
    • dispatcher - database support
    • uac
    • qop authentication support
    • proper CSeq value after authentication challenge
    • usrloc - possibility to attach to a contact a set of values (similar to log_extra in acc)
    • avpops - local avps - avps to be stored locally, specific per script, not per transaction
    • cpl-c
    • dbtext replace support
    • status: postponed