iOS開發之使用pjsip開發VoIP應用程式

來源:互聯網
上載者:User

轉自:http://www.wuleilei.com/blog/327

最近項目中要用到VoIP,VoIP全稱Voice over Internet Protocol,即網路電話,生活中經常用到,例如Skype。

能用到iPhone上面的VoIP庫不多,最開始準備使用Lipphone,但其編譯實在太慢,編譯了N次也沒有成功,最後放棄啦。後來嘗試使用pjsip,居然成功了,簡單的記錄一下過程,其實是照著官網操作的:)

一、環境需求:

iPhone應用推薦使用SDK 4.x,當然3.x也支援;iPad應用只支援SDK 3.2以上。

二、編譯之前的準備工作:

1、下載pjsip原始碼;

2、在目錄/pjsip/pjlib/include/pj/中建立config_site.h,粘貼如下代碼入內:

#define PJ_CONFIG_IPHONE 1#include <pj/config_site_sample.h>

三、編譯pjsip:

在終端中運行如下命令:

$ cd /path/to/your/pjsip/$ ./configure-iphone$ make dep && make clean && make

四、給模擬器編譯pjsip庫:

在終端中運行如下命令:

export DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developerexport CC=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0CFLAGS="-O2 -m32 -miphoneos-version-min=4.0" LDFLAGS="-O2 -m32" ./configure-iphonemake dep && make clean && make

五、編譯sample:

編譯目錄pjproject/pjsip-apps/src/ipjsua中的項目,如果上面的步驟都成功了,這是你就可以看到app的主介面了。

六、測試通話:

1、搭建VoIP伺服器:

網上有很多免費的SIP伺服器,我使用的是MiniSipServer免費版,安裝很簡單,按介面提示一路下一步就OK了。安裝完後別忘記了建立賬戶(這裡以100和101為例)。

2、安裝VoIP用戶端:

這個也很多,我使用的是3CX Phone Client。登入賬戶100.

3、在iPhone的pjsip介面中登入賬戶101:

+aYour SIP URL: (empty to cancel): sip:101@192.168.1.1URL of the registrar: (empty to cancel): sip:192.168.1.1Auth Realm: (empty to cancel): *Auth Username: (empty to cancel): 101Auth Password: (empty to cancel): 123456

和100打電話:

+bEnter buddy's URI: (empty to cancel): sip:100@192.168.1.1mMake call: 1

打電話操作還可以簡化:

mMake call: sip:sip:100@192.168.1.1

這時,聽到電話響聲的你是不是感到很興奮呢!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.