轉自: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
這時,聽到電話響聲的你是不是感到很興奮呢!