由于網上的有關于Sip相關的視頻通訊、即時通訊比較少,成型的Sip項目也相對較少,就算找到,打開一個源碼也會看的頭暈目眩,對于我這種android小白來說無與語是一種痛苦,先分享一下我學習Sip心得,旨在好腦袋不如爛筆頭
Sip協議(會話初始協議):它是一個基于文本的應用層控制協議,用于創建、修改和釋放一個或多個參與者的會話,(可參考:Sip協議)
如果初期沒有Sip服務器,可以下載MiniSipServer,使用教程
1.開發條件:
如果你開發一個用到SIP API的應用程序,記住它需要Android2.3(API9)或者更高版本的平臺的支持。所以在你的設備上要運行Android2.3(API9)或者更高的版本,并不是所有的設備都提供SIP的支持。
為了使用SIP,需要添加以下權限到你的manifest文件:android.permission.USE_SIP/android.permission.INTERNET
為了確保你的應用程序能夠安裝到支持SIP的設備上,你需要添加以下內容到你應用程序的manifest文件里:<uses-sdk android:minSdkVersion="9"/>
. 這個設置表明你的應用程序需要Android2.3或者更高版本的平臺。詳情請參考API Levels和元素相關的文檔。為了控制你的應用程序被那些不支持SIP的設備過濾掉(比如:在Google Play),你需要添加以下內容到你應用程序的manifest文件里:
<uses-feature android:name="android.hardware.sip.voip"/>
. 這個設置聲明了你的應用程序用到了SIP API。這個聲明還應該包含一個android:required 屬性來表明你是否想讓你的應用程序被那些不提供SIP支持的設備過濾掉。其他聲明你也可能需要,具體取決于你的實現,詳情請參考 元素相關的文檔。
如果你的應用程序設計用來接受呼叫,那么你還必須在應用程序的manifest文件里定義一個接收器(BroadcastReceiver 的子類):
<receiver android:name=".IncomingCallReceiver" android:label="Call Receiver"/>
2.網上相對于Sip進行呼叫的代碼較多,也就是使用Google原生的Sip,然后向服務器,利用廣播進行呼叫監聽,可以參考一下連接:SipDemo學習,可能我對源碼并沒有進行更多的了解以至于,我放棄了使用Google提供的原生的Sip庫,轉向現成的項目來SipUA,有興趣的可以學習一下