iOS 基于 PJSIP 开辟 VOIP 应用 --- 编译集成 PJSIP

源码 2024-9-22 17:58:12 82 0 来自 中国
媒介

Telegram 的研究先放一放,在 Telegram 源码中看到了 VOIP 干系功能,不禁想到本身上家公司的业务就是做 VOIP 通讯,趁着如今本身这段时间勤劳劲还没过,特地记录下。
PJSIP 是什么?

PJSIP 是一个用 C 语言编写的开源嵌入式 SIP 协议库,实现了基于尺度的协议(如SIP、SDP、RTP,STUN、TURN 和 ICE);把基于信令协议 SIP 的多媒体框架和 NAT 穿透功能整合成高条理、抽象的多媒体通讯 API。
PJSIP 具有非常好的移植性,几乎支持现今全部系统:从桌面系统、嵌入式系统到智能手机。
PJSIP 同时支持语音、视频、状态呈现和即时通讯;PJSIP 具有非常完善的文档,对开辟者非常友爱。
PJSIP 根本框架

PJSIP 库紧张包罗:

  • SIP 协议栈:处理处罚 SIP 消息
  • 流媒体处理处罚模块:RTP / RTCP 等媒体包处理处罚
SIP 协议部分
SIP 协议由下往上举行了多层封装:

  • PJSIP -开源的 SIP 协议栈(Open Source SIP stack)
  • PJMEDIA - 开源的媒体栈(Open Source Media Stack)
  • PJNATH - 开源的 NAT-T 辅助库(Open Source NAT Traversal Helper Library)
  • PJLIB-UTIL - 辅助工具库(Auxiliary Library)
  • PJLIB - 底子框架库(Ultra Portable Base Framework Library)
对于 PJSIP 有以上根本相识就行,毕竟现在我们紧张目标是编译出 iOS 多架构静态库,并导入到我们项目中举行功能开辟~
PJSIP 自动化导入

pod 'pjsip'懒人必备方式,已经有先驱们由于个人需要编译了这个版本:

  • 长处:不需要繁琐的手动编译,伸手即得。
  • 缺点:并不是官方存储库,且人家已经完成了本身的开辟任务,现在停留在了 2.9.1 版本,放弃了维护。
如果需要扩展某些功能,他人编译出来的版本未必会支持,到头来,照旧得本身重新编译~
PJSIP 手动编译

官方编译文档点这里
停止现在(2023/01/28)为止,官方能下载的最新版本是 2.13,因此,我将在这个版本上编译。
1.png 一、下载并解压缩

起首,我们去官方下载源代码,保举下载 .tar.gz 的压缩包。
下载完毕,我们可以将其放到一个符合的目录下(最好路径不包罗中文),我这里就是将其放在桌面上;
若你电脑上已经安装相识压缩软件,就可以双击解压缩;没有的话也不要紧,我们打开终端,用下令解压缩:
tar -jxvf pjproject-2.13.tar.gz如许我们就能得到一个名为 pjproject-2.13 的文件夹。
二、编译

这里我已经写好了一个脚本:
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 20:33, Processed in 0.177561 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表