當前位置:星座運勢大全官網 - 星座文化 - sip協議如何用C語言實現

sip協議如何用C語言實現

1、開源的sip服務器端,比較好用的是Asterisk,標準C程序實現,代碼清晰。

2、sip的client相對比較多,主要有exosip,pjsip和opal。exosip簡單易用,在PC上用比較方便。但是涉及的相關資源太多,用了osip,srtp,ms2等眾多的開源庫,ms2下面還用到了ffmpeg,別的不說,光編譯就是噩夢。opal功能最強,雖然也用到了ffmpeg ,但是自己封裝的非常好,采用插件方式,調用靈活。opal采用class方式提供封裝,接口非常友好。感覺唯壹不爽的地方,就是低層使用了ptlib,雖然多平臺下都很好用,但放在嵌入式下感覺稍龐大了壹些。pjsip精巧,方便移植,嵌入式下應該是首選。不過視頻頻支持方面擴展起來比opal麻煩。個人感覺,對於windows開發者來說,pjsip最大的好處就是代碼調試方便。整個工程壹次編譯通過,另外兩個庫還要找很多相關的資源

3、其他的壹些協議棧也調試過,比如reSipphone,好象是這個名字,還有Yate,不過從快速開發角度看,都不太合適。現在搞sip開發的,壹開始就是先找好協議棧。linphone,ekiga什麽的,但龐大。對於剛開始做的,最好是壹個精簡的demo。後來找到pjsip下面的幾個例子,慢慢地了解了sip的工作流程,當然少不了抓包工具和tcpdump。

不過,其實,sip沒有想象中的那麽麻煩。現在回頭看,剛開始做項目,使用協議棧絕對不是好想法。如果換個方向,先熟悉SIP基本協議,然後自己改造壹個,或完全寫壹個,可能效果更好。