① 使用SIP信令測試的三個主要工具測試雲平台Kamailio+RTPengine+媒體伺服器的NAT的連通性
在企業融合通信領域,IP語音平台部署方式的演進顯著。雲平台相比本地網路呼叫,提供諸多優勢。企業往往根據用戶需求靈活調整SIP軟交換與媒體伺服器,利用雲技術的資源,包括交換機、不同可用區域的訪問策略、防火牆、IPv4-IPv6網關、彈性公網IP、ACL等。部署測試確保SIP軟交換和媒體伺服器之間的信令與媒體通信正常。
雲平台部署時,配置不當可能導致NAT問題,影響伺服器間的連接。通過專業的測試工具,大部分問題能通過實際模擬測試定位。SIPp、SIPSak、sngrep是常用的SIP信令測試工具,特別是SIPsak與sngrep結合Kamailio和媒體伺服器進行測試,極為有效。
測試前,安裝SIPsak作為SIP呼叫客戶端,用於模擬呼叫與壓力測試;sngrep作為抓包工具,用於分析SIP、RTP流,支持圖形界面,功能強大。Kamailio作為SIP軟交換與RTP引擎控制伺服器,實現呼叫管理。
測試環境需安裝kamailio、sngrep與sipsak,並確保防火牆開放所需埠。使用阿里雲安裝的FreePBX媒體伺服器,實現外網終端的測試,模擬完整NAT解決方案。此測試環境也支持媒體流錄音、編碼轉換等應用。
測試需配置kamailio的cfg文件,確保RTPengine模塊載入、IP地址與埠設定,同時載入NAT模塊,配置檢查設置。完成環境搭建後,可進行NAT方面信令測試。
通過內網與外網發起呼叫,分別測試kamailio到媒體伺服器的信令流程。使用sngrep抓包,確認信令流程正常。外網終端測試確保通過公網地址發起呼叫的信令也正常。
部署時,需增加kamailio的xlog配置,列印呼叫路由規則,幫助排查問題。登錄freepbx後台開啟高日誌級別,觀察呼叫記錄。若未配置路由,呼叫將被拒絕。
使用SIPsak進行呼叫測試,SIPsak功能強大,可執行批量化呼叫、發送預設文件進行呼叫、測試伺服器韌性、執行SIP洪水攻擊測試。SIPsak還可以用於發送解析錯誤文件,測試伺服器響應。RTPengine測試與請求響應格式驗證將在後續章節深入探討。
rtpengine請求響應命令格式與sngrep RTP流抓包結果顯示的處理流程,均能有效驗證語音通信的正常運行。Kamailio結合RTPengine與媒體伺服器測試框架,提供了一套全面的語音RTP測試與排查方法。
總結,本文介紹了雲平台環境下SIP軟交換與媒體伺服器實現外網SIP終端NAT問題的測試框架,重點介紹了SIP終端測試工具集的使用,包括kamailio、sngrep與sipsak的安裝與應用。用戶可通過這三個工具便捷地測試雲平台SIP伺服器與媒體伺服器的SIP信令通信。
② 搭建智能語音交互系統重要點那些
序言
隨著人工智慧命題的提出,近年來涌現出一大批基於人工智慧的呼叫中心業務服務商和集成商,僅智能外呼這一模塊兒就將近百家公司在推廣和運營。可以說整個基於人工智慧技術的市場開始蓬勃的發展起來了。
簡單介紹一下什麼叫做智能語音交互平台。其實大實話就是在呼叫中心基礎上,集成 ASR、 TTS、的呼叫服務平台。
那麼如何我們自己去搭建智能語音系統呢?
我們先列出搭建智能外呼系統的搭建需要那些技術和服務:
個人認為:
[if !supportLists]· [endif] 首先最重要的是交換機:
[if !supportLists]1. [endif]PBX也就是交換機,商用設備原廠包括像華為、Avaya、思科、東匯等這些生產硬體交換機,
[if !supportLists]2. [endif]還有就是目前FreeSitch、asterrisk、OpenPBX這些軟體交換機。
[if !supportLists]· [endif] 其次是AI技術: 及包含語音識別、語義理解、語音合成這三種技術是核心組成部分。語音識別相當於人的「耳朵」,接進電話後,對人的話語進行處理轉義成系統能夠識別的數據交由系統處理去識別。在進一步的話,可以轉義為文字。語義理解相當於人的"大腦",根據話語識別人的意圖。語音合成,相當於人的」嘴巴「,識別人的意圖之後,依照特定的回答方式,去回復和引導對話。
[if !supportLists]· [endif] 再者是前端服務平台:即用戶登錄、配置呼叫流程,建立呼叫任務、統計呼叫數據、導出呼叫報表的網站,這個是終端用戶唯一可以看到並且操作的界面。
[if !supportLists]· [endif] 最後是外呼線路:其中包括三大運營商以及其他小型的集成線路供應商,主要目的是外呼電話或者是接入電話。
也有人可能有疑問:」智能語音交互系統最重要的不是人工智慧么,和交換機有啥關系?」為什麼說最重要的是交換機呢,原因是不管我們是外呼還是接入電話、都需要前端服務平台把外呼請求發送給交換機,通過外呼線路而撥出去。換句話說交換機是控制整體的外呼情況。硬體的交換機,比如說像華為的交換機,價格在大約幾萬到幾百萬不等的價格。對於想要建立自己的智能語音交互系統來說,價格對於一些小型公司來說承受不起,而FreeSitch這種軟交換則大大方便了小型公司建立自己的智能語音交互系統。
什麼是FreeSwitch?
FreeSitch是一個電話的軟交換解決方案,包括一個軟電話和軟交換機用以提供語音和聊天的產品驅動。FreeSitch 可以用作交換機引擎、PBX、多媒體網關以及多媒體伺服器等。支持多種通訊技術標准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,同時也可以方便的與其他開源的PBX系統進行對接。而且具有很強的伸縮性。旨在為音頻、視頻、文字或任何其他形式的媒體,提供路由和互連 通信協議 。
FreeSwitch 的典型功能
[if !supportLists]· [endif]在線計費、預付費功能。
[if !supportLists]· [endif]電話路由伺服器。
[if !supportLists]· [endif]語音轉碼伺服器。
[if !supportLists]· [endif]支持資源優先權和QoS的伺服器。
[if !supportLists]· [endif]多點會議伺服器。
[if !supportLists]· [endif]IVR、語音通知伺服器。
[if !supportLists]· [endif]VoiceMail伺服器。
[if !supportLists]· [endif]PBX應用和軟交換。
[if !supportLists]· [endif]應用層網關。
[if !supportLists]· [endif]防火牆/NAT穿越應用。
[if !supportLists]· [endif]私有伺服器。
[if !supportLists]· [endif]SIP網間互聯網關。
[if !supportLists]· [endif]SBC及安全網關。
FreeSwitch最典型的功能是作為一個伺服器,並用電話客戶端軟體連接到它。雖然FreeSwitch支持眾多的通信協議,但其最主要的協議還是SIP,通過SIP中繼發起會話協議。
使用FreeSwitch這種軟交換的好處在於,你只需要一台伺服器就可以隨時搭建自己的外呼中心,而且FreeSwitch支持跨平台運行。能夠原生運行Windows、Linux、BSD等諸多32/64位平台。
FreeSwitch內部使用線程模型來處理並發請求,每個連接都在單獨的線程中進行處理,不同的線程間通過Mutex互斥訪問共享資源,並通過消息和非同步事件等方式進行通信。FreeSwitch本身是比較穩定的,它是比較優秀的開源軟體。另一方面來講,FreeSwitch又是比較激進的,它的開發分支里會有大量的新特性加入,因此在測試不全面的情況下,很容易出現不穩定的情況。而在用於生產環境的情況下,系統的穩定性是系統能否正常被使用的關鍵。之前我們在做項目的過程中,就遇到一些FreeSwitch不穩定的情況,導致外呼情況不理想。舉一個例子:我們在進行測試外呼的時候,語音通話斷斷續續,雖然前端服務平台可以很好的接受到數據的傳輸,但是,真正在與人工進行溝通的時候,會出現各種各樣的溝通障礙,為了解決這一個問題,我們花費了幾個月的時間,去研究FreeSwitch的結構特性。終於把這個問題解決掉。我們的項目才得以繼續推動,最終得以真正落地部署實施。
也有人可能有疑問:」FreeSwitch軟交換雖然重要,但是既然是智能語音交互系統人工智慧不重要嗎?」,重要,當然重要!容我慢慢道來~
AI 技術
1. 通信原理
先簡單解釋一下正常打電話這個流程
流程:A→PSTN→B
解釋:PSTN是Public
Switched Telephone Network,意思為公共交換電話網路,也就是我們的運營商的網路電話,
那我們平時如何給呼叫中心比如打電話是如何打的?:個人A打電話給呼叫中心1***6 打電話,撥通後聽到錄音,您好,撥打人工台,請按0鍵,按鍵之後,出現盲音,真正接通之後,客服接通了電話。
流程:A→PSTN→PBX→IVR→客服
解釋:PBX也叫交換機、相當於整個呼叫中心的出入口
IVR也叫互動/互動式語音應答,語音導航,也就是相當於咨詢業務請按鍵,這一環節,根據業務去分流到客服。
智能語音交互平台(智能機器人)落實到具體具體業務場景是如何實現的:
如:」個人A要在某一個大型酒店預訂位子「,
A撥通後先聽到了聲音,「您好,我是機器人小岳,需要我幫您訂位子是嗎?
個人A說,「我不要和機器人說話,找個真人來」。
然後聽到錄音,「為您轉接很貴的真人客服,排隊中,請稍後」。
幾分鍾後接通,真人客服接了電話。
流程:A→PSTN→PBX→IVR(TTS→ASR→NLP→TTS)→ACD→客服
解釋:在IVR部分:不再需要提示按鍵,而是直接問來電方需要辦理什麼業務,然後識別語音、理解意圖後,根據用戶的需求,回答後轉入對應的業務隊列排隊。
上邊是接通的流程,呼出的流程與之相反,就不在贅述了。
2. 現在市場上的AI技術的運用
目前市場上的不管是ASR、TTS、NLP都被阿里網路科大訊飛等巨頭公司所佔據,這些技術在國內基本已經成為定局。像ASR這類引擎市場上大部分都是用的阿里雲和訊飛雲的,要不就是網路雲。阿里雲和訊飛雲的識別率高一些,可以達到97%左右、網路的差一些,識別率在80%左右,我們當初在做項目的時候選擇ASR做過測試,事實證明阿里雲識別率更高同時也可以識別方言。因此,我們在做項目的時候,當仁不讓的選擇了阿里雲的
TTS我們選擇的是訊飛的,選擇的理由很簡單,畢竟科大訊飛是人工智慧領域巨頭級的公司,質量當然有的保證。
3. AI 能力對接
在具體落地中,這個領域的常規參與者通常具備呼叫中心能力或者AI能力其中一種,而主要的對接點也就在於AI能力與呼叫中心設備去對接,而ASR/TTS與呼叫中心設備對接的常規協議主要是mrcp/sip。
媒體資源控制協議(Media Resource Control
Protocol, MRCP)是一種通訊協議,用於語音伺服器向客戶端提供各種語音服務(如語音識別和語音合成)。有兩個版本的MRCP協議,版本2使用SIP作為控制協議,版本1使用RTSP。
實際對接的時候,會遇到不少技術問題,當我們ASR/TTS引擎做私有雲部署,為了避免了內外網穿透時防火牆的諸多設置和語音流的時延。這在我們當時對接的時候也花費了好大一番功夫。
前端服務平台:
其中最重要的就是配置呼叫流程這一塊兒了,
這一塊兒很容易被忽視,但是這反而是可以出成績的地方。一般來說一套最佳話術模板,可以以一敵萬。心理學基礎必須要有,一句話怎麼說能讓接電話的人最大概率的順著自己的思路走,達成目的,從而形成特定細分領域機器人話術模板,得到最佳的外呼效果(接通率、通話時長、電銷意願、催收意願)或者是接通效果(滿意度)
其餘的基本就是web端的東西了,具體功能點呢,即用戶登錄、配置呼叫流程,建立呼叫任務、統計呼叫數據、導出呼叫報表,這些功能點基本實現就可以,因為站在產品角度,產品最重要的價值就是可以呼通或者接通用戶的電話,並且能夠准確的識別用戶的意圖,並且准確的回答用戶。這就是智能語音交互系統的最終目標,也一直是我們的最終目標。
外呼線路廠商:
一般如果是購買系統的話,是給提供線路的,只需交一些線路費用。如果是自己做項目的話,網上、淘寶上一大堆,費用可以談,也給提供線路對接的介面。
結語
雖然現在市場上做智能語音交互系統的比較多,但一般只限於各個行業的電話銷售,真正意義上的智能語音交互還是很少的。原因很簡單,雖然原理不是很難但是真正落地實施的時候,遇到的困難非常的多,幾乎是一步一個坑。好在現在已經真正的落地實施了,方方面面的效果都還是很不錯的。一年多的辛苦沒有白費。哈哈~
寫這篇文章嘗試給大家簡單介紹一下智能語音交互系統,然才疏學淺,疏漏和不當之處在所難免,權當給大家拋磚引玉。
諸多細節限於主題和篇幅的要求不做詳細記述,如有問題,歡迎隨時交流。
③ 程序員用Mac都有哪些必備的app
Mac上程序員必備的10大軟體
1、IDEA
作為一個開發者,必須使用IDEA的,以前的elipse基本很少有用了,除非那些10多年的老員工對它有太大的感情了。
2、安裝JDK11或者JDK8
我覺得應該安裝JDK11吧,畢竟JDK14都出來這么久了。
3、Pycharm
Python開發工具,作為程序員也許你不是做Python開發的,但是偶爾還是用Python的。
4、Git
不用多說,當你在公司開發時候,一個項目是由很多人完成的,Git就是用來版本控制的,不僅要安裝還要熟悉使用。
5、VMware Fusion和Navicat
Navicat是一個資料庫管理工具,值得擁有,VMware是虛擬機軟體。我現在還是學生,電腦配置也不太好,我一般使用阿里雲伺服器,然後連接IDEA工具,感覺太方便了,寫完代碼可以直接操作虛擬機。
6、Visual Studio for Mac
這是一款微軟推出的跨平台開發工具,我一般用來寫前端的。
7、Xcode
Xcode是蘋果產品的,適用於ios開發工具,同時支持c++,對於學習c的同學來說值得擁有,就算做c開發,也值得安裝,因為真的太強大了。
8、Google瀏覽器
9、ClenMyMacX
系統殺毒軟體及清理垃圾等等。
10、Typora
作為一個程序員,不管學習也好總是做筆記叭,它就是一款最好的Markown,非常方便,它的語法我之前也寫過一篇文章,可以抽30分鍾學習即可熟練基本用法。
11、MindNode
我個人比較喜歡使用這塊來做思維導圖
12、Processon
在線畫圖工具,也可以做思維導圖等,非常不錯。
13、Rdm
學習Redis使用可視化工具
14、PDF Expert
Mac最好用的一款PDF
15、Xnip
個人覺得挺好用的截圖工具
16、Be Focused
類似番茄土豆,時間管理工具
17、eZip
壓縮解壓工具
18、網路網盤
19、uPic
圖床,當你發表博客時候,每次粘貼有點太耗時間了,所以使用uPic配置Typora就完美了。
20、其他工具
qq、微信、OmniFocus項目管理工具、AE、PR視頻剪輯等工具,看個人愛好下載使用,還有一些工具,暫時想不出了,但是上面所提到的我基本使用。
我的回答希望對你有幫助。
用了8年的Mac電腦,個人介紹下一些常用的APP,僅供參考。
1.終端iterm2
作為一名程序員,少不了需要用命令行處理事情。
通過它可以處理本地電腦的事情,也可以連接遠程伺服器操作。
補充:當然有些朋友喜歡zshell環境,也可以使用ohmyzsh,看個人實際需求吧,我還是喜歡bash環境。
2.Alfred
Alfred 是一個用鍵盤通過熱鍵、關鍵字、自定義插件來加快操作效率的工具,它不但是搜索工具,還是快速啟動工具,甚至能夠操作許多系統功能,擴充性極強。
比如程序員經常需要查看unix時間,用這個搜索框就能快速得到答案,按下回車鍵即可復制結果。
3.DBeaver免費開源資料庫
一個免費開源的軟體,支持Oracle、MySQL等資料庫,但是速度相比Navicat Premium慢,但是勝在免費。
4.IntelliJ IDEA 開發工具IDE
寫java代碼,怎麼可能少了這個軟體,吃飯幹活的工具。
當然有些人也會用Visual Studio,用得人也不少,只要適合自己需求就可以了。
5.Android Studio安卓開發
Android Studio是一個Android開發環境,基於IntelliJ IDEA。通過這個開發工具,可以開發手機APP。
6.PyCharm
人生苦短,我學Python,通過這個工具,可以快速開發,但是唯一缺點就是耗內存。
7.Sourcetree管理代碼工具
Sourcetree是個免費的Git客戶端工具,通過它可以進行可視化操作,適合對Git有基礎需求的人。但是有時候一些復雜的操作,個人還是喜歡命令行處理。
8.Markdown文檔編寫工具Typora
Typora支持跨平台,配合快捷鍵,輕松的寫介面文檔、資料庫表結構等文檔,圖片也可以復制粘貼進來,十分便利。
同時支持導出PDF,Word多種格式。
9.Sublime Text跨平台的文本編輯器
Sublime Text 是一款流行的代碼編輯器軟體,支持各類插件,可運行在Linux,Windows和Mac OS X。
我經常用它來編寫一些簡單的Python腳本,或者看Java代碼進行Review。
10.WireShark抓包軟體
作為程序員,有時候要分析別人提供的網路數據包文件,安裝這個跨平台軟體,可以直觀的分析網路數據包。
其他還有很多軟體,這里就寫前10個常用的軟體推薦給你,希望能解答到你的問題。
作為一名前端,來推薦幾個自己一直用的軟體。
Visual Studio Code
vs code 是微軟開發的良心編輯器,功能強大而且插件多,主要是啟動速度還挺快,是原來的Eclipse開發團隊的大佬來開發的,就是好用。
鏈接 https://code.visualstudio.com/
Sip: Mac 上最好的色彩管理工具
一款高效實用的Mac屏幕取色軟體,可以便捷地對屏幕上的顏色進行采樣和編碼,從而高效地輔助用戶對色彩的調整程度。支持 CSS、UIColor 等多種格式,適用於 Swift、Android、Java、.NET 等多種開發環境。
mac store 搜索 : sip
Moom: Mac窗口管理工具
一款實用的系統增強軟體,操作極其方便簡單,它可以通過拖拽的操作方式實現對窗口的任意操作,大小、位置、左右上下全方位移動以及最大最小化,這款Mac窗口管理器能夠快速修改當前窗口大小並放置在指定位置,操作簡單易上手。
mac store 搜索 : moom
Irvue Unsplash 壁紙工具
每天一張新壁紙,換來好的心情。
mac store 搜索 : Irvue。
1.vscode,美觀,融合性強,插件多。
2.termius,完美替代xshell,用著舒服。
3.navicat16,相較於之前版本,ui是真漂亮,加上mac字體,簡直是好用又藝術。
4.有道雲筆記,多客戶端同步,加上有代碼塊功能,代碼筆記存儲和查找就很方便了。
5.chrome,好處不用多說。
6.pd runner,偶爾用windows且不用花錢使用虛擬機pd的好工具。
Mac自帶的工具大部分人都沒發揮極致。
推薦一:PD,虛擬機利器。
推薦二:XmindZen 整理你的思維筆記,開個腦洞啥的。
推薦三:HomeBrew
推薦四:QuickTime 自帶的錄屏工具,錄點視頻很輕松。
從brew開始,剩下的就是一鍵安裝了。必備!
1、xcode
mac自帶的開發工具,好用舒服。
2、IDEA
java開發的首選工具,對比eclipse那就是質的提升。
3、Visual Studio Code
微軟的花大力氣做的開發工具。全平台都可以使用。
4、iStat Menus
可以讓你詳細掌握系統狀態,特別是流量現實,非常精準。
5、vMware Fusion
虛擬機選擇vMware Fusion確實是最省心的。超過其他虛擬機的太多。誰用誰知道。
6、CleanMyMac X
CleanMyMac X是被查詢最多的Mac電腦優化軟體。
7、Sublime Text
這個軟體應該是前端和好多輕度開發者的必愛了。
8、iTerm2
iTerm2可以肩負起打造終極版Mac的終端。更改為Oh my zsh的shell,安裝powerlevel9k插件。你的終端就可以飛起來了。
9、Homebrew
作為Mac電腦的軟體管家,Homebrew一直沒有讓我們失望。
10、docker
程序員經常要做一些環境的調整,docker是一個很好的生產工具,調整好了就留下,不好就刪除,對本機環境沒有任何影響。而且可以快速部署到生產環境中。
我說的對不對呢,請大家拍磚。
我們程序員在Mac上的工具大致分為三類1)編程類 2)筆記類 3)任務管理類
一、編程類
1.1 首當其沖,當然是神之編輯器Emacs,而Emacs本身又是瑞士軍刀包含編程,筆記,任務管理等,尤其是org,乃是許多人對Emacs欲罷不能的理由;
1.2 既然提到了emacs,自然少不了vim,相比emacs更加靈活輕便,適合於對配置作快速而簡單的修改。
1.3 vscode,對編程新手而言,emacs與vim上手難度較高,因此推薦從vscode入手編程。
當然還有jetbrain等,但是筆者不喜歡,因此不做推薦。
二、筆記類
程序員首先是辦公室白領,日常文檔總結,工作復盤等,Mac上最為推薦的筆記工具,
2.1 BearNote極為精美且便捷,令人愛不釋手,當然既然用macbook,缺點就是要fufei;
2.2 印象筆記,在macbook出人意料之外的好用,13年末的時候,筆者就是因為看到同事在macbook上精美的印象筆記,而種草買了第一台MBP。
2.3 Typora 是最優秀的所見即所得的markdown標記語言工具,是程序員寫文章之必備。
三、任務與時間管理
3.1 任務管理當然要用omnifocus,只有在macbook上才能享用這款效率工具。
3.2 項目管理工具Omniplan,編程是青春飯,我們最終都要往產品經理,往管理崗位上邁進。因此項目管理工具必不可少。同樣的,Omni系列的工具,只有MBP上才有。
3.3 花時間學學Emads的org-mode,用其作任務管理等。
作為一名大數據開發工程師,M1的Mac安裝軟體如下
1、IDEA 主力開發工具
2、VS Code 主力開發工具
3、Sublime 文本編輯工具
4、Item2 終端工具
5、Termius SSH工具
6、Postman 介面測試
7、Chrome 瀏覽器
8、SourceTree git管理工具
9、Typora 筆記管理
這個因人而異,我主要裝了這些
基本上主要就這些了