linphone整体结构

Linphone学习目标

Description

Linphone is an open source SIP Phone, available on mobile and desktop environments (iOS, Android, Windows Phone 8, GNU/Linux, Windows Desktop, MAC OSX) and on web browsers.
Linphone has inside a separation between the user interfaces and the core engine, allowing to create various kinds of user interface on top of the same functionalities.
The user interface frontends:Gtk+ interface for windows, mac and GNU/Linux
The console interface (linphonec, linphonecsh)
The iPhone application built in objective C
The Android application running in java
The Windows Phone application written in C#

Liblinphone, the core engine: this is the library that implements all the functionalities of Linphone.Liblinphone is a powerful SIP VoIP video SDK that anyone can use to add audio or video call capabilities to an application. It provides a high level api to initiate, receive, terminate audio & video calls.
Liblinphone relies on the following software components:Mediastreamer2, a powerful multimedia SDK to make audio/video streaming and processing.
oRTP, a simple RTP library.
belle-sip the SIP library.

Liblinphone and all its dependencies are written in pure C.

Architecture

上图是最新的官方网站提出来的架构图,具有很高的价值。

Architecture

这张图是linphone3.3.2的架构图,

系统运行框图

这张图是系统运行框图,新版本跟老版本应该不会有太大的变化,毕竟已经是很多年的老程序了,应该是通用的。

linphone中各个模块的说明:

  1. Callback模块
  2. Genera_stat模块:
  3. Address模块
  4. Authorization模块
  5. Chat模块
  6. Friends模块
  7. Configure模块
  8. Offer_answer模块
  9. Presence模块
  10. Proxy模块
  11. Sql模块
  12. Core模块
几个关键数据结构之间的关系

底层模块

  1. Mediastream
  2. ortp
linphone中数据结构说明
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容