iOS 基于 PJSIP 开发 VOIP 应用 --- PJSI

2023-01-29  本文已影响0人  试图与自己和解

前言

上一篇我们已经将 PJSIP 编译好的静态库集成到项目中来了,这一篇内容应该才是我们最期望的:该如何 Coding 呢~

闲话少说,让我们直接步入正题。

PJSIP 流程

PJSIP 使用的 API 基本来自 pjsua,因为 pjsua 是建立在 PJSIP 基础库上的一层纯 C 封装。

下图展示了 PJSIP创建 --> 初始化 --> 注销API 调用流程(期间还建立了一次通话 ):

image.png

注意:此流程很重要,请严格按照流程走,但凡期间一个流程有误,都会导致 Bug 产生。

主线流程
支线流程

我们 通话 的时候,通常还伴随着其他操作,包括但不限于:是否通话静音,呼叫分机(通常打客服电话会提示:人工服务请按 0 ,业务咨询请按 1 ...等分机服务),是否启用麦克风...等等。

流程图用虚线表示的操作就是支线操作(我就象征性拉了一条,先推主线,支线啥的根据各位需要慢慢再补...):

阶段总结

PJSIP 只是完成两个功能

  1. 使用 sip 信令协定双方音 / 视频通话时使用的 rtp、rtcp 的 socket 端口,音/ 视频编码器的类型和相关的编码参数,使用的网络类型。

  2. 建立音 / 视频通话的 socket 通道,传输 音 / 视频数据。

实例代码

先 make,项目实战先后续有时间再补吧,刚被拉到其他项目组事情有点多,最近一段时间估计会很忙。

上一篇下一篇

猜你喜欢

热点阅读