Linux下搭建pjsip

整体架构流程

提示:这里可以添加技术整体架构

1.安装依赖:
在开始之前,确保安装了所有必要的依赖。对于 pjsip,这通常包括开发工具和库,如 gcc、make、autoconf 等。你可以使用你的 Linux 发行版的包管理器来安装它们。例如,在基于 Debian 的系统(如 Ubuntu)上,你可以使用以下命令:

sudo apt-get update
sudo apt-get install build-essential autoconf automake libtool libasound2-dev libpulse-dev libssl-dev

2.下载pjsip
从 pjsip 官网下载最新的源代码。你可以使用 wget 或 curl 命令直接在终端下载。例如:
wget https://www.pjsip.org/release/x.y.z/pjproject-x.y.z.tar.bz2
这里的 x.y.z 应该替换为最新的版本号。(我这里下载的是2.14版本,可以直接点击下面链接下载
https://www.pjsip.org/download.htm)
如果遇到以下错误:

在这里插入图片描述需要使用梯子去官网下载。

3.解压源代码:
使用 unzip 命令解压下载的文件:
unzip pjproject-x.y.z.zip
(如果下载的是.tar.bz2文件就使用以下命令解压:
tar -xvjf pjproject-x.y.z.tar.bz2)
在这里插入图片描述

4.编译 pjsip:
进入解压后的目录并编译 pjsip:
cd pjproject-x.y.z
./configure && make dep && make(如果想指定编译路径【方便查找头文件以及库文件】./configure --prefix=/your/installation/path)
这将编译 pjsip 及其依赖项。如果你需要特定的配置,可以通过 ./configure 命令来指定。
编译出现问题,原因是最新版本更新了许多其他的库,回退一个版本到2.13,重新重复以上步骤
在这里插入图片描述make成功

5.安装:
安装编译好的 pjsip 到系统中:
make install

6.验证安装:
安装完成后,你可以通过运行 pjsip 提供的示例应用程序来验证,进入/pjproject-2.13/pjsip-apps/bin目录下,运行./pjsua-x86_64-unknown-linux-gnu 可以看到以下输出:
在这里插入图片描述
可以看到PJSIP 已经成功初始化并运行。它成功识别了音频设备、网络接口,并创建了 SIP 账户。以下是一些关键信息:

SIP 端点初始化:Module “mod-pjsua-log” registered 等消息表示 SIP 端点模块正在注册,这是 SIP 通信的基础。

音频设备识别:ALSA driver found 15 devices 指示使用 ALSA 音频驱动程序成功找到了 15 个音频设备。

网络接口:SIP UDP socket reachable at 192.168.188.129:5060 显示了 PJSIP 正在监听的网络地址和端口。

账户创建:创建了两个账户(标识为 0 和 1),它们都设置为在线状态但没有注册到任何 SIP 服务器。

PJSUA 状态:PJSUA state changed: STARTING --> RUNNING 表明 PJSUA 从启动状态转变为运行状态。

交互式命令行:最后,程序提供了一个交互式命令行界面,列出了可用的命令,用于发起呼叫、管理账户、发送消息等。

总的来说,这表明 PJSIP 环境已经正确设置并可以开始进行 SIP 通信。下一步,就需要配置 SIP 账户细节以连接到具体的 SIP 服务器或进行呼叫测试。

小结

  1. 项目目标
    目标是在 Linux 系统上安装 pjsip(版本 2.13),这是一个流行的开源多媒体通信库。

  2. 准备阶段
    确保系统上安装了所有必要的依赖,如开发工具(gcc、make、autoconf)和必要的库(例如 OpenSSL)。这是确保顺利编译的关键步骤。

  3. 下载和解压
    从 pjsip 的官方网站下载了源代码,并成功解压缩到Linux 系统。

  4. 编译过程
    在 pjsip 源代码目录内,执行了 ./configure && make dep && make 命令来编译 pjsip。这一过程中,遇到了一些与 OpenSSL 版本兼容性相关的链接错误。这表明 pjsip 需要更新版本的 OpenSSL。

  5. 解决问题
    成功解决了编译中出现的问题,可能是通过调整编译配置。

  6. 安装 pjsip
    使用 make install 命令,将编译好的 pjsip 安装到了系统中,包括库文件、头文件,以及 pkg-config 文件。

  7. 项目完成
    安装完成后,pjsip 现在已准备好在您的项目中使用。可以通过指定包含目录和库目录的编译器标志(-I/usr/local/include-L/usr/local/lib)来使用 pjsip。此外,如果您的项目使用 pkg-config 来管理依赖关系,可以利用生成的 libpjproject.pc 文件。

  8. 后续建议
    如果在将来使用 pjsip 过程中遇到任何问题,建议查阅官方文档或寻求社区支持。此外,始终建议在进行系统级更改或安装新软件时备份重要数据。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐