經過對sip協議和開源協議棧快半年的研究,我現在終於有點入門了。還記得當時剛剛接觸這個敬仰已久的東東的時候,那個頭大啊,畢竟它的協議族太大了,每個知識點都可以無限延伸,光是鑑權機制就讓我花了不少精力。面對我的是大堆大堆的英文協議和**,看得我是應接不暇啊~~ 還好挺過來了,下面分享下我的經驗吧。
(1)深圳一位好心的大牛翻譯的sip協議中文版,對於和我一樣看英文頭暈的人絕對是個好東西啊,網上很多論壇都能下到,找不到的朋友給我發郵件吧,我這資料還是比較全的,呵呵~~;
(3)當然遇到模糊的概念的時候,rfc才是王道,可以到ietf的**去找了(
(4)強力推薦新力工作室的部落格(上面有大量很讚的文章,去看看絕對有意想不到的驚喜;
(5)還有一些開源**也會對sip進行很有針對性的介紹,可以花很少的時間去了解一些開發中需要注意的關鍵點,例如's_guide_to_sip和
此外,還有乙個幫助學習sip很好的方法那就是抓包了(抓包軟體例如sniffer等等,甚多),雖然現在很多協議棧都把組合訊息的工作替我們做了,但是閱讀sip訊息可以加深對協議的理解,而且可以幫助我們寫出相容性更強的軟體,畢竟有些頭域在一些協議棧中是不支援的。
對於sip協議棧的選擇我還是著實下了翻苦工,查閱無數開源**啊!(估計也就10幾個吧,呵呵),在ua開發中我因為要考慮往dsp平台的移植,只能選擇純c開發的棧,一開始看大家都推薦osip/exosip,於是也用了很長一段時間,但是現在改用pjsip了,哈哈,不得不要向大家隆重推薦一下了。不是因為osip不好,是因為pjsip太好了(說到這有點激動,畢竟花了快半個月時間找乙個適合我自己的開源庫還是很值得啊),osip/exosip的體積比較小,很適合做嵌入式開發,也並不像網上有的人說的有很多bug。
pjsip的官網如下(說說它的幾大好處吧!
(1)支援太多的平台了,甚至有symbian,牛!
(2)**層次非常清晰,從低階到高階都提供了很方便的介面供開發;
(3)提供相當多的測試用例和乙個基於pjsip開發的命令列ua程式供開發人員參考;
(4)文件相當完善,幾乎無所不包,這對於開發者來說是很強大的支援;
(5)經過我的大量測試驗證它十分穩定(這個似乎不太權威,呵呵)。
對於sip proxy的開發一開始選擇的是openser,這個功能非常強大的庫**也很龐大,基於c開發,加上是在linux上開發的,讓我對它望而卻步(本人的linux開發很菜)。最終選擇了resiprocate(這個是基於c++開發的庫,物件導向的思想還是能減少我們不少的開發工作量。resiprocate受到了很多商業專案的青睞,比較穩定。repro是resiprocate專案的sip proxy,它內建了資料庫和web administrator,這一點是我比較看重的。resiprocate的網上資料和官方文件都不是很多,還好它的結構還是很清晰的,多多研究**了。
我的開發之路
我的開發之路 我最早是在2008的時候接觸c 開發的,當時我還在大學上大三,暑假的時候學校組織和微軟中心的培訓活動,於是就報名參加了培訓,這是我首次系統的進行c net知識學習。培訓剛開始是基礎知識學習,平時進行簡單專案練習,包括基本語法 ado學習等,最後進行專案實戰。和同學4人組成一組,選擇專案...
我的c 開發之路
今天細算下來應該屬於我工作的第四天了,還是屬於乙個菜鳥的級別,來到公司這些天,除去前兩天熟悉業務,只是看看公司現在執行的專案,了解編碼規則,和編碼習慣,其他基本上什麼都沒有幹,到第三天下午才算是接到了乙個編寫頁面的活。好歹脫離了那種沒有目標,盲目亂看的階段了。說起來這個頁面也屬於簡單的,公司裡人也是...
我的iOS開發之路 前言
今天,我正式加入了csdn大家庭.如果算上培訓的日子,那我進入程式猿這一苦逼行業的時間是2014年7月21日,那一年我大三,總也想不出畢業以後自己幹些什麼,可以幹些什麼,畢竟沒有一技之長,畢竟大學時光沒怎麼珍惜,再加上專業 應用物理學 限制,就業基本無望,考驗才是正途.但是實在是不想考研了,於是順勢...