Yate设计


    转自:http://blog.csdn.net/tttyd/article/details/6153208


From: http://yate.null.ro/pmwiki/index.php?n=Main.Design

 

The purpose of Yate's design is to provide an extensible telephony engine. Holding the base code as simple as possible and adding functionality as needed allows one to find the best balance between desired functionality, performance and stability.

Yate的设计目标是为了提供一个可扩展性的电话引擎,试图以最简简洁的代码,在扩展所需功能与性能、稳定性之间达到最佳平衡。

Engine

The engine holds the base C++ classes of Yate and connects together all components. There is a diagramshowing how all components interact.

该引擎基于Yate的C++类,将所有组件连接在一起工作。以下图表描述了组件之间的交互过程。

Yate设计_第1张图片

Modules

Most real functionality is provided by modules loaded at runtime. These can be dynamical libraries loaded as plugins in the engine or external applications started by a specific module (extmodule ) that allows them to talk to the engine and other modules.

大部分功能由运行时加载的模块实现。这些模块以动态链接库为载体,作为插件被引擎或外部程序加载,模块与引擎、模块与模块之间可相互通信。

Messages

The signaling between Yate modules (either plugins or external modules) is performed by using messages . They provide extensibility, customization and technology independence. Each module that needs something from another or tries to notify about some event creates and emits a message. The message flows through the Engine which tries to deliver it to the proper target.

模块(包括插件或外部模块)之间的通信通过消息来实现。消息机制是可扩展的、可定制的且技术独立的。模块通过创建、发送消息的方式通知其他模块或接受其他模块的发送的信息。消息流通过引擎总会发送到恰当的目标中。

你可能感兴趣的:(服务器,voip,通讯,SIP,yate)