<td id="6000o"><rt id="6000o"></rt></td>
  • <sup id="6000o"><button id="6000o"></button></sup>
  • <optgroup id="6000o"></optgroup>
  • <strong id="6000o"></strong>
  • Python知識分享網 - 專業的Python學習網站 學Python,上Python222
    python3使用pjsua進行呼叫測試
    發布于:2023-06-26 12:02:16

    一、關鍵點描述

     1、音頻設備設置

    CentOS7虛擬機沒有音頻設備,可以通過set_null_snd_dev來避免pjsua模塊報錯。

    python3使用pjsua進行呼叫測試 圖1

    2、編碼設置

    可以通過set_codec_priority函數來設置編碼的優先級,避免編碼問題導致呼叫失敗。

    pjsua支持的編碼列表如下:

     

    speex/8000/1
    speex/32000/1
    iLBC/8000/1
    GSM/8000/1
    PCMU/8000/1
    PCMA/8000/1
    G722/16000/1
    opus/48000/2
    G729/8000/1
    L16/44100/1
    L16/44100/2

     

    具體可參考如下文檔:

    https://docs.pjsip.org/en/latest/api/generated/pjsip/group/group__PJSUA__LIB__MEDIA.html#group__PJSUA__LIB__MEDIA

    python3使用pjsua進行呼叫測試 圖2

    3、自動播放聲音文件

    1)通過 create_player 函數創建playerId;

    2)通過player_get_slot函數獲取slot;

    3)通過call對象獲取呼叫的slot;

    4)然后conf_connect進行連接兩個slot連接,進而實現音頻播放。

     

    具體參考這里:

    https://docs.pjsip.org/en/latest/api/generated/pjsip/group/group__PJSUA__LIB__MEDIA.html#group__PJSUA__LIB__MEDIA


    python3使用pjsua進行呼叫測試 圖3

     

    二、具體實現

     1、作為uac進行測試

    需要作為分機注冊到FreeSWITCH,示例如下:

     

    acc = lib.create_account(pj.AccountConfig("192.168.137.32:5060", "1012", "0000"))

     

    代碼如下:

    python3使用pjsua進行呼叫測試 圖4

     完整代碼獲取途徑:關注微信公眾號(聊聊博文,文末可掃碼)后回復 20230622 獲取。 

    2、作為uas進行測試

    1)編寫UAS腳本

    需要指定sip服務端口,示例如下:

     

    tp= lib.create_transport(pj.TransportType.UDP,pj.TransportConfig(55081))
    lib.start()

    代碼如下:

    python3使用pjsua進行呼叫測試  圖5

    2)編寫撥號方案

     

    <extension name="pjsua_uas_test">
        <condition field="destination_number" expression="^123$">
             <action application="set" data="hangup_after_bridge=true"/>
             <action application="bridge" data="sofia/external/123@192.168.137.32:55081"/>
        </condition>
    </extension>

     

    三、運行效果

    1、uac測試效果

    1)啟動FreeSWITCH;

    2)運行uac腳本注冊分機;

    source /root/py39env/env.sh
    /root/py39env/bin/python3.9 uac.py

    3)使用軟電話注冊分機;

    4)使用軟電話撥打uac分機;  

    預期效果:

    軟電話可聽到uac分機播放的音頻。

    python3使用pjsua進行呼叫測試 圖6

    運行效果視頻獲取途徑:

    2、uas測試效果

    1)啟動FreeSWITCH;

    2)編寫撥號方案;

    3)運行uas腳本啟動服務;

    source /root/py39env/env.sh
    /root/py39env/bin/python3.9 uas.py

    4)使用軟電話注冊分機;

    5)使用軟電話撥打接入號驗證;

    預期效果:

    軟電話可聽到uas播放的音頻。

    python3使用pjsua進行呼叫測試 圖7

     

    轉載自:https://www.cnblogs.com/MikeZhang/p/pyPjsuaExample20230623.html
    欧美精品18videosex性欧美,老师的粉嫩小又紧水又多,久久国产高潮流白浆免费观看,国产睡熟迷奷系列网站
    <td id="6000o"><rt id="6000o"></rt></td>
  • <sup id="6000o"><button id="6000o"></button></sup>
  • <optgroup id="6000o"></optgroup>
  • <strong id="6000o"></strong>