環(huán)境: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協(xié)議棧和媒體處理庫,MicroSIP軟電話就是基于pjsip實現(xiàn)的,功能很強大。
其中的pjsua可以實現(xiàn)軟電話的基礎(chǔ)功能,在日常開發(fā)中可以作為uas或uac輔助開發(fā),但pjsua默認綁定的python版本是python 2.4,使用起來有諸多限制,希望可以使用python3調(diào)用pjsua庫。
之前寫過在windows10環(huán)境下編譯python3版本的pjsua:
windos10環(huán)境下編譯python3版pjsua庫
這里記錄下centos7環(huán)境編譯pjsua的過程及注意事項,并提供預(yù)編譯二進制文件下載,可通過如下途徑獲取:
關(guān)注微信公眾號(聊聊博文,文末可掃碼)后回復(fù) 20230608 獲取。?文章來源:http://www.zghlxwxcb.cn/news/detail-476214.html
這里使用 Python 3.9.12 版本,具體編譯過程可參考這篇文章:
CentOS7環(huán)境源碼安裝python3.9
二、具體實現(xiàn)
?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
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
?執(zhí)行如下命令:
chmod a+x doBuild.sh
./doBulild.sh
ls build/lib.linux-x86_64-cpython-39/
?編譯過程視頻獲取途徑:
關(guān)注微信公眾號(聊聊博文,文末可掃碼)后回復(fù) 2023060801 獲取。?
三、運行效果
1、環(huán)境準(zhǔn)備
python3.9的env.sh文件,位置:/root/py39env/env.sh
內(nèi)容:
#! /bin/bash pydir=/root/py39env export CFLAGS="-I$pydir/include" export LDFLAGS="-L$pydir/lib" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$pydir/lib
執(zhí)行如下命令:
source?/root/py39env/env.sh
2、導(dǎo)入測試
導(dǎo)入測試成功:
3、注冊測試
示例代碼路徑:
pjproject-2.13/pjsip-apps/src/python/samples
示例文件:registration.py
修改端口及注冊信息:
?完整源碼獲取途徑:
關(guān)注微信公眾號(聊聊博文,文末可掃碼)后回復(fù) 20230608 獲取。?
注冊測試:
四、資源下載
本文涉及源碼和文件,可以從如下途徑獲取:
關(guān)注微信公眾號(聊聊博文,文末可掃碼)后回復(fù) 20230608 獲取。?
文章來源地址http://www.zghlxwxcb.cn/news/detail-476214.html
到了這里,關(guān)于CentOS7環(huán)境編譯python3.9版本pjsua的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!