服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - CentOS7环境编译python3.9版本pjsua

CentOS7环境编译python3.9版本pjsua

2023-06-09 08:07未知服务器之家 Centos

环境:CentOS 7.6_x64    Python版本 :3.9.12 pjsip版本:2.13  一、背景描述  pjsip地址:https://www.pjsip.org/ GitHub地址:https://github.com/pjsip/pjproject pjsip文档地址:https://docs.pjsip.org/en/latest/ 最新版本:2.13 pjsip是一个功能强大的sip协议栈和媒

环境:CentOS 7.6_x64   

Python版本 :3.9.12

pjsip版本:2.13

 一、背景描述

 pjsip地址:https://www.pjsip.org/

GitHub地址:https://github.com/pjsip/pjproject

pjsip文档地址:https://docs.pjsip.org/en/latest/

最新版本:2.13

pjsip是一个功能强大的sip协议栈和媒体处理库,MicroSIP软电话就是基于pjsip实现的,功能很强大。

其中的pjsua可以实现软电话的基础功能,在日常开发中可以作为uas或uac辅助开发,但pjsua默认绑定的python版本是python 2.4,使用起来有诸多限制,希望可以使用python3调用pjsua库。

之前写过在windows10环境下编译python3版本的pjsua:

windos10环境下编译python3版pjsua库

这里记录下centos7环境编译pjsua的过程及注意事项,并提供预编译二进制文件下载,可通过如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

这里使用 Python 3.9.12 版本,具体编译过程可参考这篇文章:

CentOS7环境源码安装python3.9

二、具体实现

 1、替换文件

官方给的代码不支持python3,需要使用第三方代码:

https://github.com/mgwilliams/python3-pjsip.git

下载之后,替换该目录 pjsip-apps/src/python,或使用软链接:

cp python3-pjsip.tar.gz pjproject-2.13/pjsip-apps/src/
cd pjproject-2.13/pjsip-apps/src/
mv python python_bak
tar zxvf python3-pjsip.tar.gz
ln python3-pjsip -s python

CentOS7环境编译python3.9版本pjsua

2、编译pjsip

编译pjsip时需要添加 -fPIC 选项

目录:pjproject-2.13

编译pjsip命令:

./configure CFLAGS="$CFKAGS -fPIC"
make dep && make

3、编译python3版本pjsua

目录:pjproject-2.13/pjsip-apps/src/python

编译脚本:

vim doBulild.sh

CentOS7环境编译python3.9版本pjsua

 执行如下命令:

chmod a+x doBuild.sh

./doBulild.sh

ls build/lib.linux-x86_64-cpython-39/

CentOS7环境编译python3.9版本pjsua

 编译过程视频获取途径:

关注微信公众号(聊聊博文,文末可扫码)后回复 2023060801 获取。 

三、运行效果

1、环境准备

python3.9的env.sh文件,位置:/root/py39env/env.sh

内容:

#! /bin/bash

pydir=/root/py39env
export CFLAGS="-I$pydir/include"
export LDFLAGS="-L$pydir/lib"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$pydir/lib

执行如下命令:

source /root/py39env/env.sh

2、导入测试

导入测试成功:

CentOS7环境编译python3.9版本pjsua

3、注册测试

示例代码路径:

pjproject-2.13/pjsip-apps/src/python/samples

示例文件:registration.py

修改端口及注册信息:

CentOS7环境编译python3.9版本pjsua

 完整源码获取途径:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

注册测试:

CentOS7环境编译python3.9版本pjsua

四、资源下载

本文涉及源码和文件,可以从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

CentOS7环境编译python3.9版本pjsua

延伸 · 阅读

精彩推荐
  • CentosCentOS下Uptime命令详解

    CentOS下Uptime命令详解

    在Linux下,我们可以使用uptime命令,而且此命令不必使用root权限。uptime命令在系统中已经默认安装了。今天小编为大家带来的是CentOS下Uptime命令详解;希望...

    CentOS之家11482019-06-19
  • CentosCentos 7开启网卡自动获取IP的详细方法

    Centos 7开启网卡自动获取IP的详细方法

    本篇文章主要介绍了Centos 7开启网卡自动获取IP的详细方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    凌锋8972021-12-29
  • Centoscentos不小心删除/root目录该如何解决?

    centos不小心删除/root目录该如何解决?

    一些朋友最近在问小编centos不小心删除/root目录该如何解决?今天小编就为大家分享centos不小心删除/root目录解决办法;希望对大家会有帮助,有需要的朋友...

    脚本之家8022019-05-29
  • CentosCentOS6.5下Redis安装与配置详细步骤

    CentOS6.5下Redis安装与配置详细步骤

    本篇文章主要介绍了CentOS6.5下Redis安装与配置详细步骤,详细介绍redis单机单实例安装与配置,服务及开机自启动。有兴趣的可以了解一下。...

    飞流11452021-12-24
  • CentosCentOS 6.6实现永久修改DNS地址的方法

    CentOS 6.6实现永久修改DNS地址的方法

    这篇文章主要介绍了CentOS 6.6实现永久修改DNS地址的方法,涉及针对CentOS配置文件的相关设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    Linux社区4472020-08-21
  • Centoscentos 安装与操作方法

    centos 安装与操作方法

    这篇文章主要介绍了centos 安装与操作方法,需要的朋友可以参考下...

    centos之家5272019-07-11
  • CentosCentos7运用/dev/shm进行网站优化

    Centos7运用/dev/shm进行网站优化

    这篇文章主要介绍了LINUX中Centos7运用/dev/shm进行网站优化相关知识点,对此有兴趣的朋友参考学习下。...

    彬菌9912022-03-02
  • CentosCentOS7设置日期和时间方法以及基本概念介绍

    CentOS7设置日期和时间方法以及基本概念介绍

    这篇文章主要介绍了CentOS7设置日期和时间方法以及基本概念介绍,本文讲解使用CentOS7中的新命令timedatectl设置日期时间方法,需要的朋友可以参考下 ...

    CentOS之家6522019-09-19