经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python3 » 查看文章
CentOS7环境编译python3.9版本pjsua
来源:cnblogs  作者:Mike_Zhang  时间:2023/6/9 8:42:43  对本文有异议

环境: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,或使用软链接:

  1. cp python3-pjsip.tar.gz pjproject-2.13/pjsip-apps/src/
  2. cd pjproject-2.13/pjsip-apps/src/
  3. mv python python_bak
  4. tar zxvf python3-pjsip.tar.gz
  5. ln python3-pjsip -s python

2、编译pjsip

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

目录:pjproject-2.13

编译pjsip命令:

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

3、编译python3版本pjsua

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

编译脚本:

vim doBulild.sh

 执行如下命令:

chmod a+x doBuild.sh

./doBulild.sh

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

 编译过程视频获取途径:

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

三、运行效果

1、环境准备

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

内容:

  1. #! /bin/bash
  2. pydir=/root/py39env
  3. export CFLAGS="-I$pydir/include"
  4. export LDFLAGS="-L$pydir/lib"
  5. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$pydir/lib

执行如下命令:

source /root/py39env/env.sh

2、导入测试

导入测试成功:

3、注册测试

示例代码路径:

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

示例文件:registration.py

修改端口及注册信息:

 完整源码获取途径:

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

注册测试:

四、资源下载

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

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

原文链接:https://www.cnblogs.com/MikeZhang/p/centos7py39pjsua20230608.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号