OpenSIPS将由1.X升级为2.0, 架构重新设计(2.0 Design)

来源:互联网 发布:unity3d 中文文档 编辑:程序博客网 时间:2024/06/16 17:12

The current (pre 2.0) OpenSIPS internal design is based on some concepts older than 7 years. At the time, the requirements were few (simple stateless UDP proxy) and the decisions were made accordingly. But with all the additions, both in SIP and functionality (like TCP/TLS, script manipulation, dialog support, external integration, etc), the existing design is not able to cope with the requirements and use-cases any more.

The issues that the new design tries to solve are:

  • I/O blocking (transport, DB, applications)
  • scaling with the hardware resources (I/O and parallel processing sync is a bottleneck with the current design)
  • script writer must manually deal with low level functionalities (TM, dialog, NAT), instead of focusing on service logic
  • horizontal scalability of both core and routing logic
  • routing logic (as a custom language) has very limited non-SIP functionalities (integration with other applications, complex script processing, array/string manipulations, support for complex operations and data types) and requires additional skills from the user.
  • routing logic is too tightly coupled with the SIP stack, making impossible to change it at runtime without restarting OpenSIPS
  • cannot distribute the routing/control logic over multiple systems (to increase scalability)

原创粉丝点击