2013-04-04 43 views
7

我正在寫一個自定義Android應用程序,允許用戶使用SIP進行VOIP呼叫。當用戶按下按鈕時,與另一個SIP用戶發起語音通話。而已。唯一的其他要求是它必須在2.3以上的Android設備上工作,並且不能僅限於WiFi。Android SIP與CSipSimple和pjsip

Android已經包含一個SIP堆棧(從2.3開始),並且我能夠修改Walkie-Talkie示例項目以使其完全符合我的需求。不幸的是,我無法使用這個應用程序與某些設備(卡西歐突擊隊是其中之一),更糟糕的是,該應用程序只能在無線網絡上工作(正如我所提到的,我的項目無法接受)。

我開始搜索另一個具有易於使用的API的SIP堆棧,並且遇到了CSimpleSip。我編譯並運行了他們的演示項目(SipHome),它在我的不支持的手機(包括突擊隊)上完美運行,並且它還通過無線網絡工作,滿足了我的要求。我很興奮......直到我看了CSipSimple的源代碼。我不知道如何開始提取實際的對基礎pjsip API的調用,也不能讓pjsip演示應用程序在超過10個小時後工作。

有沒有人解構CSipSimple,並從他們令人難以置信的複雜UI中分離出SIP部分,還是有人知道更簡單的使用SIP庫?通過本地SIP API,我能夠完成一個200行的Android活動,完美地完成了呼叫......如何使用支持非WiFi的第三方SIP堆棧來實現這一目標?

感謝您的任何意見,我知道很多人都陷入了這個同一階段。

+1

我在庫模式下使用CSipSimple,實際上比解構整個包要容易得多。對OP來說可能太晚了,但其他任何尋找指針的人都可以在這裏找到我。 – andreimarinescu 2014-08-21 12:47:18

+1

@andreimarinescu我正在調查CSipSimple(或任何其他庫),這將允許我進行語音/視頻通話和即時消息。 :) – 2014-11-16 17:39:06

+1

那麼,你應該看看Github上的SampleCSipSimpleApp,它是在庫模式下使用CsipSimple的一個起點。這裏記錄API:http://r3gis3r.github.io/SampleCSipSimpleApp/javadoc/。另外請記住許可模式。據我所知,除非你已經購買了PJSIP許可證,否則你將不得不提供你正在開發的應用程序的源代碼。 – andreimarinescu 2014-11-17 11:38:16

回答

1

我完全同意Balint,apjsua是幫助你更好理解的應用程序,但是當你不熟悉C時(比如我),它可能並不明顯,但它更有效率這條路。

你可以看看www.pjsip.org,只關心你將要下載的軟件包,因爲這個教程不太清楚:例如,他們會談論你很多關於apjsua(pjsua的android實現)和這個應用程序是不包含在他們提供的下載鏈接中,你可以在這裏看到我的問題: where's apjsua?

當然,你必須在pjsip網站上觀看android教程。

希望這會有所幫助。

1

使用csipsimple作爲庫項目。csipsimple項目中有一個API用於庫。您可以綁定到csipsimple服務並進行調用。

註冊broadcastrecievers和intent過濾器以獲取從csipsimple回撥。有關更多詳細信息,請以csipsimple分析Incall活動。