玩转pjsip之一 简介

简介
PJSIP是一个免费的开源多媒体通信库,由C语言编写,实现了基于标准的协议,如SIP,SDP,RTP,STUN,TURN和ICE。 它将信令协议(SIP)与丰富的多媒体框架和NAT穿越功能集成到高级API中,该API是便携式的,适用于几乎任何类型的系统,从台式机,嵌入式系统到移动手持设备。

1 安装
$ ./configure
$ make dep && make clean && make

本系列基于PJPROJECT 2.2 讲解使用, 可能版本之前有细微差别


2 架构

玩转pjsip之一 简介_第1张图片

从底部介绍静态库:

  • PJLIB, 是所有其他库所依赖的平台抽象和框架库,
  • PJLIB-UTIL, 提供文本扫描,XML和STUN等辅助功能,
  • PJMEDIA 是多媒体框架
  • PJMEDIA-CODEC 是媒体编解码器,
  • Core SIP Library (PJSIP-CORE) 是PJSIP库的核心,它包含SIP Endpoint,它是应用程序中所有SIP对象的所有者/管理器,消息传递元素,解析,传输管理,模块管理和无状态操作,还包含:
  • Transaction Layer 为PJSIP-CORE内部提供了有状态的操作,并且是更高层功能(如对话框)的基础
  • Base User Agent Layer/Common Dialog Layer 为PJSIP-CORE内部管理对话框,并支持对话使用,
  • Event and Presence Framework (PJSIP-SIMPLE) 提供了基本的SIP事件框架(它使用通用/基础对话框架),并在其上实现了存在,并且还用于呼叫转移功能,
  • User Agent Library (PJSIP-UA) 是INVITE会话的高级抽象(使用通用/基本对话框架)。 该库还提供SIP客户端注册和呼叫转移功能,
  • PJSUA API - High Level Softphone API (PJSUA-LIB) 是抽象的最高级别,它将所有以上功能整合到高层次,易于使用的API中。

你可能感兴趣的:(pjsip)