原创 unimrcp源碼窺探及task異步架構的學習(二)(MRCP Client)

Framework Agent 創建過程中,虛方法表中的方法都實現了。 在啓動task的過程中,會觸發on_start_complete事件。MRCP Client 正是在這個事件中創建的。 所以讓我們來看看這個事件中完成了哪些工作。  

原创 OpenSIPS Dispatcher 模塊 使用指南

便於大夥學習,翻譯了官方文檔。如有不妥之處,請見諒,望聯繫。   目錄表: 1.管理指南 1.1 概況 1.2 依賴 1.3 導出參數( Exported Parameters) 1.4 導出函數(Exported Function) 1

原创 FreeSWITCH源碼分析和分享之ASR解析

asr_interface的工作流程 調用detect_speech這個APP,FreeSWITCH的核心代碼中會註冊ASR的監聽(bugging)處理,並註冊監聽回調函數。 一、監聽回調函數初始化時啓動 創建一個線程A。A線程主

原创 docker容器高效部署FreeSWITCH實踐

一、實踐過程中的發現的問題 1.用commit命令構建鏡像 缺點是反覆構建,多次commit提交以後,導致鏡像越來越大。   2.用dockerfile文件構建鏡像 3.容器與宿主機的通信。 使用firewall的端口轉發或者docker

原创 FreeSWITCH源代碼分析之錄音模塊

record_callback

原创 WebRTC通話INCOMPATIBLE_DESTINATION問題排查、verto與STUN協議

一個功能完整的WebRTC應用需要: 使用GetUserMedia API 控制麥克風和攝像頭 使用一種會話協議和可能的外部輔助服務器定位對方端點並建立會話 使用ICE(和STUN和TURN)確定網絡路徑 使用RTCPee

原创 unimrcp源碼窺探及task異步架構的學習(一)(Framework Agent)

  設置日誌DEBUG級別,對照日誌從main函數進入處理流程。必要時候用gdb工具單步執行調試。   一、task分析 瞭解task 的一切,從task創建開始。先來了解一下,apt_task_t這個結構體中包含了哪些數據。 父ta

原创 APR學習-消息池的設計與使用

一、任務消息的抽象池,用於從中分配任務消息 /** Abstract pool of task messages to allocate task messages from */ struct apt_task_msg_pool_t

原创 uniMRCP編譯時libtool報錯:CURRENT `XXXX' must be a nonnegative integer

在編譯uniMRCP的阿里插件時,使用到了一個自定義封裝的動態庫,libtool鏈接時報瞭如下錯誤: libtool: link: CURRENT `-L/usr/local/lib/aly-speech/lib' must be a n

原创 freeswitch源碼分析之進程調度策略、進程調度優先級設置

sched_setscheduler()函數 sched_setscheduler()函數將pid所指定進程的調度策略和調度參數分別設置爲param指向的sched_param結構中指定的policy和參數。sched_param結構

原创 docker容器部署FreeSWITCH

  1.用commit命令構建鏡像 缺點是反覆構建,多次commit提交以後,導致鏡像越來越大。   2.用dockerfile文件構建鏡像 3.容器與宿主機的通信。 使用firewall的端口轉發或者docker的端口映射,但是dock

原创 C程序員基礎知識總結

前言 作爲一個c程序員,從業四五年了,可能是寫業務代碼寫多了,基礎的東西融入到思維中以後,用一板一眼語言表述不出來。也是當初基礎不紮實。所以總結一下,日後經常回看。 一. static關鍵字 1. 隱藏 2. 影響變量的生存週期 3.

原创 FreeSWITCH中dtmf信號

FreeSWITCH中dtmf信號 DTMF的相關定義 關於DTMF信號的時間間隔,CCITT對DTMF信號規定的指標是,傳送/接收率爲每秒10個數字,即每個數字100ms。代表數字的音頻信號必須持續至少45ms,但不超過55ms。

原创 FreeSWITCH環境日誌優化和管理

概述:FreeSWITCH在大量呼叫的情況下,會產生大量的日誌文件,佔用許多磁盤空間,影響環境運行效率,因此需要進行日誌管理。 以下簡述方法。 以freeswitch的日誌模塊爲基礎,藉助linux自啓動、logrotate和cron

原创 FreeSWITCH通過luasocket發送http請求,導致進程退出

現象 高併發呼叫時FreeSWITCH通過lua發出http請求,發生段錯誤後進程退出。 debug時最深可追蹤到: inet_tryconnect () from /usr/lib64/lua/5.1/socket/core.so