導航:首頁 > 操作系統 > linuxpjsip

linuxpjsip

發布時間:2022-06-19 22:34:02

⑴ pjsip 嵌入式 必須有系統嗎

想把pjsip移植到嵌入式linux下,該設備有多個fxs/fxo埠,每個埠對應一個dsp通道。pjsip目前只是對音效卡類設備進行支持,實現的pjsua也僅僅對一個音效卡設備支持,並不支持多埠。

在移植中,可以考慮如下方法:

1、把每個fxs/fxo埠對應的dsp通道適配成一個音效卡設備,對pjsua改造,呼叫的時候,指定使用哪一個音頻設備

方法好處就是完全支持pjmedia現有的媒體框架,基本不改動原有流程和代碼。

pjsip庫升級時,原有自己實現的設備不受影響

2、在pjsip代碼中進行攔截,攔截收發報文時決定使用的那個通道

該方法修改了pjsip流程,在以後pjsip庫需要升級時,需要同步修改

3、把整個dsp適配成一個音效卡設備,擴展參數,來通知dsp使用哪個通道

該方法同樣要修改pjsip代碼,對以後升級不利

因此,最好的方法,就是把dsp的每個通道適配成一個音頻設備,混音功能同樣適配成mix設備。

pjsip目前還不支持特性 收藏

1、sip info方式dtmf接收

2、call waiting

3、t38傳真

4、t30傳真

5、digitmap

6、call parking

這些在pjsip的簡單的uaapp中都沒有,需要自己實現。可以使用pjsip-ua,pjsip lib自己實現ua或者在現有ua上進行擴充。

⑵ 求教linux下使用pjsip,怎麼編譯c程序鏈接該庫

【希望對你有幫助】 建議你看看編程的一些基礎知識 - 經典hello word 程序 #include int mian() { printf("hello world!\n"); return 0; } - 編譯 -進入終端 -進入源文件所在的目錄 $ gcc hello.c -o hello - 運行 $ ./hello

⑶ linux 中pjsip中怎麼增加音頻編碼方式g729

第一步是生成 pjsip 為 android (步驟為 Ubuntu Linux) 的源代碼:


  1. 設置 ANDROID_NDK_ROOT 環境變數設置為您 NDK 根文件夾

  2. 2.轉到 pjsip 2.x 文件夾並創建 pjlib/include/pj/config_site.h 包括 config_site_sample.h ( #include <pj/config_site_sample.h> )

  3. 3.運行./configure-android

  4. 4.運行make clean make depend make

  5. 之後這些步驟,將有幾個靜態庫中的幾個文件夾。建議將它們分組相同的文件夾 (最好在您的項目中) 中的:

mkdir <your_project_path>/pjsip_libs

find . -name *.a | xargs -I % cp % <your_project_path>/pjsip_libs/

一旦自己的所有庫,您需要將這些庫添加到您的項目 Android.mk 文件,這是由包括一個新的模塊節每個圖書館。此模塊部分應該是一樣的東西:


include $(CLEAR_VARS)

LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi

LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a

include $(PREBUILT_STATIC_LIBRARY)

,其實是一節中構建您的 JNI 項目的源代碼,所有模塊都添加到您的靜態庫的引用:


LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi

這將包括 pjsip 的引用加入您的 JNI 庫。現在,您需要配置 pjsip UA 實例。


有一個關於 init 和開始的解釋 pjsip 的 UA (pjsua) 在 pjsip/include/pjsua-lib/pjsua.h 但要遵循的主要步驟是:


  1. 創建一個具有 UA 實例pjsua_create

  2. 2.創建一個工作線程與pj_thread_create

  3. 3.UA 實例的設置的默認配置:

pjsua_config cfg 樁 ;pjsua_logging_config log_cfg ;pjsua_media_config media_cfg ;


pj_cli_cfg_default(app_config.cli_cfg.cfg) ;pjsua_logging_config_default(log_cfg) ;pjsua_media_config_default(media_cfg) ;


4.初始化堆棧與pjsua_init


5.啟動與堆棧pjsua_start

從這里,有充足的配置選項 (日誌、 媒體、 交通工具等)


您可以找到基本 PJSIP 教程在這里,和裡面 pjsip 的源的根路徑,有一個基本 (但不夠完整,基本的 SIP 使用情況) 在:pjsip-apps/src/samples/simple_pjsua.c


編輯:在生成時在 pjsip 應用程序的 android 項目,可以面臨一個問題,因為 pjsua app 不生成默認情況下,對一般生成 (更具體地說,pjsua: 目標不包括所有上: 在 pjsip-應用程序/生成/生成文件的目標)。若要修復這只是轉到 pjsip-應用程序/創建和運行:


使 pjsua


這將創建在正確的對象文件: pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/ (需要構建 android 樣本時)。


一旦所有相應的對象文件,您可以在 pjsip-應用程序/src/pjsua/android 系統再次運行 ndk 生成

⑷ 如何在 android 設備上使用 pjsip G.729 編解碼的功能

第一步是生成 pjsip 為 Android (步驟為 Ubuntu Linux) 的源代碼:

1.設置 ANDROID_NDK_ROOT 環境變數設置為您 NDK 根文件夾。
2.轉到 pjsip 2.x 文件夾並創建 pjlib/include/pj/config_site.h 包括 config_site_sample.h ( #include <pj/config_site_sample.h> )
3.運行./configure-android
4.運行make clean && make depend && make
之後這些步驟,將有幾個靜態庫中的幾個文件夾。建議將它們分組相同的文件夾 (最好在您的項目中) 中的:

mkdir <your_project_path>/pjsip_libs
find . -name *.a | xargs -I % cp % <your_project_path>/pjsip_libs/
一旦自己的所有庫,您需要將這些庫添加到您的項目 Android.mk 文件,這是由包括一個新的模塊節每個圖書館。此模塊部分應該是一樣的東西:

include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
include $(PREBUILT_STATIC_LIBRARY)
,其實是一節中構建您的 JNI 項目的源代碼,所有模塊都添加到您的靜態庫的引用:

LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi ...
這將包括 pjsip 的引用加入您的 JNI 庫。現在,您需要配置 pjsip UA 實例。

有一個關於 init 和開始的解釋 pjsip 的 UA (pjsua) 在 pjsip/include/pjsua-lib/pjsua.h 但要遵循的主要步驟是:

1.創建一個具有 UA 實例pjsua_create
2.創建一個工作線程與pj_thread_create
3.UA 實例的設置的默認配置:

pjsua_config cfg 樁 ;pjsua_logging_config log_cfg ;pjsua_media_config media_cfg ;

pj_cli_cfg_default(&app_config.cli_cfg.cfg) ;pjsua_logging_config_default(&log_cfg) ;pjsua_media_config_default(&media_cfg) ;

4.初始化堆棧與pjsua_init

5.啟動與堆棧pjsua_start
從這里,有充足的配置選項 (日誌、 媒體、 交通工具等)

您可以找到基本 PJSIP 教程在這里,和裡面 pjsip 的源的根路徑,有一個基本 (但不夠完整,基本的 SIP 使用情況) 在:pjsip-apps/src/samples/simple_pjsua.c

編輯:在生成時在 pjsip 應用程序的 android 項目,可以面臨一個問題,因為 pjsua app 不生成默認情況下,對一般生成 (更具體地說,pjsua: 目標不包括所有上: 在 pjsip-應用程序/生成/生成文件的目標)。若要修復這只是轉到 pjsip-應用程序/創建和運行:

使 pjsua

這將創建在正確的對象文件: pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/ (需要構建 android 樣本時)。

一旦所有相應的對象文件,您可以在 pjsip-應用程序/src/pjsua/android 系統再次運行 ndk 生成

⑸ android 網路電話開發,VOIP/SIP 那麼多開源選哪個好

覺得好用的是linphone 和csipsimple,linphone的最大優勢在於全平台支持,android,ios,winphone,windows,linux,mac osx,web 全都支持,但是質量上還是欠火候,改過他的庫,添加過g.729的支持,他的c 代碼,命名和縮進都覺得亂。
可能是看過pjsip 的代碼,有些情有獨鍾吧,總之咱非常喜歡pjsip的簡潔,高效,代碼的設計非常贊,注釋文檔也很棒,直接用doxygen生成文檔。所以自然特別關注了一些csipsimple。
UI上,csipsimple基本就是提取android原生的撥號程序,然後用swig生成的介面。功能的完整性,還是UI都勝過其他那幾個開源。所以在android開發上,主要基於csipsimple 做了很多改進。

⑹ pjsip庫的sample怎麼用

第一步是生成 pjsip 為 Android (步驟為 Ubuntu Linux) 的源代碼:

1.設置 ANDROID_NDK_ROOT 環境變數設置為您 NDK 根文件夾。
2.轉到 pjsip 2.x 文件夾並創建 pjlib/include/pj/config_site.h 包括 config_site_sample.h ( #include <pj/config_site_sample.h> )
3.運行./configure-android
4.運行make clean && make depend && make
之後這些步驟,你將有幾個靜態庫中的幾個文件夾。我建議將它們分組相同的文件夾 (最好在您的項目中) 中的:

mkdir <your_project_path>/pjsip_libs
find . -name *.a | xargs -I % cp % <your_project_path>/pjsip_libs/
一旦你的所有庫,您需要將這些庫添加到您的項目 Android.mk 文件,這是由包括一個新的模塊節每個圖書館。此模塊部分應該是一樣的東西:

include $(CLEAR_VARS)
LOCAL_MODULE := pjsua-arm-unknown-linux-androideabi
LOCAL_SRC_FILES := $(MY_PJLIB_PATH)/libpjsua-arm-unknown-linux-androideabi.a
include $(PREBUILT_STATIC_LIBRARY)
,你其實是一節中構建您的 JNI 項目的源代碼,所有模塊都添加到您的靜態庫的引用:

LOCAL_STATIC_LIBRARIES := pjsua-arm-unknown-linux-androideabi ...
這將包括 pjsip 的引用加入您的 JNI 庫。現在,您需要配置 pjsip UA 實例。

你有一個關於 init 和開始的解釋 pjsip 的 UA (pjsua) 在 pjsip/include/pjsua-lib/pjsua.h 但要遵循的主要步驟是:

1.創建一個具有 UA 實例pjsua_create
2.創建一個工作線程與pj_thread_create
3.UA 實例的設置的默認配置:

pjsua_config cfg 樁 ;pjsua_logging_config log_cfg ;pjsua_media_config media_cfg ;

pj_cli_cfg_default(&app_config.cli_cfg.cfg) ;pjsua_logging_config_default(&log_cfg) ;pjsua_media_config_default(&media_cfg) ;

4.初始化堆棧與pjsua_init

5.啟動與堆棧pjsua_start
從這里,你有充足的配置選項 (日誌、 媒體、 交通工具等)

您可以找到基本 PJSIP 教程在這里,和裡面 pjsip 的源的根路徑,你有一個基本 (但不夠完整,基本的 SIP 使用情況) 在:pjsip-apps/src/samples/simple_pjsua.c

編輯:在生成時在 pjsip 應用程序的 android 項目,你可以面臨一個問題,因為 pjsua app 不生成默認情況下,對一般生成 (更具體地說,pjsua: 目標不包括所有上: 在 pjsip-應用程序/生成/生成文件的目標)。若要修復這只是轉到 pjsip-應用程序/創建和運行:

使 pjsua

這將創建在正確的對象文件: pjsip-apps/build/output/pjsua-arm-unknown-linux-androideabi/ (需要構建 android 樣本時)。

一旦你所有相應的對象文件,您可以在 pjsip-應用程序/src/pjsua/android 系統再次運行 ndk 生成

⑺ pjsip怎麼打開音效卡

最佳答案想把pjsip移植到嵌入式Linux下,該設備有多個fxs/fxo埠,每個埠對應一個dsp通道。pjsip目前只是對音效卡類設備進行支持,實現的pjsua也僅僅對一個音效卡設備支持,並...

⑻ pjsip g.729 需要ipp嗎

第一步是生成 pjsip 為 Android (步驟為 Ubuntu Linux) 的源代碼: 1.設置 ANDROID_NDK_ROOT 環境變數設置為您 NDK 根文件夾。

閱讀全文

與linuxpjsip相關的資料

熱點內容
程序員開車賣服裝 瀏覽:393
快速記憶法pdf 瀏覽:516
java定義異常類 瀏覽:707
的運行命令 瀏覽:585
24v電動駐車空調壓縮機 瀏覽:840
老程序員編程步驟 瀏覽:305
物理去除加密軟體 瀏覽:227
匯編語言可調試編譯器 瀏覽:447
jpeg如何轉成pdf 瀏覽:841
微機室為什麼有伺服器 瀏覽:657
安卓手機怎麼打語音電話不斷網 瀏覽:458
單片機匯編頭文件 瀏覽:946
juniper命令行 瀏覽:68
程序員咨詢銷售工作怎麼樣 瀏覽:782
蘋果文件伺服器是什麼 瀏覽:180
企業透明加密軟體有監視功能嗎 瀏覽:494
桌面的運行命令 瀏覽:10
主流廠商伺服器維護流程是什麼 瀏覽:807
壓縮棉的被子先洗洗在用 瀏覽:242
批處理bat代碼和文件夾 瀏覽:298