轉自: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,粘貼如下代碼入內:
1
2
|
#define
PJ_CONFIG_IPHONE 1 |
三、編譯pjsip:
在終端中運行如下命令:
1
2
3
|
$
cd /path/to/your/pjsip/ $
./configure-iphone |
四、給模擬器編譯pjsip庫:
在終端中運行如下命令:
1
2
3
4
|
export
DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developer export
CC=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc- 4.0 CFLAGS= "-O2
-m32 -miphoneos-version-min=4.0" LDFLAGS= "-O2
-m32" ./configure-iphone |
五、編譯sample:
編譯目錄pjproject/pjsip-apps/src/ipjsua中的項目,如果上面的步驟都成功了,這是你就可以看到app的主界面了。
六、測試通話:
1、搭建VoIP服務器:
網上有很多免費的SIP服務器,我使用的是MiniSipServer免費版,安裝很簡單,按界面提示一路下一步就OK了。安裝完後別忘記了新建賬戶(這裏以100和101爲例)。
2、安裝VoIP客戶端:
這個也很多,我使用的是3CX Phone Client。登錄賬戶100.
3、在iPhone的pjsip界面中登錄賬戶101:
1
2
3
4
5
6
|
+a Your
SIP URL: (empty to cancel): sip: 101 @ 192.168 . 1.1 URL
of the registrar: (empty to cancel): sip: 192.168 . 1.1 Auth
Realm: (empty to cancel): * Auth
Password: (empty to cancel): 123456 |
和100打電話:
1
2
3
4
|
+b Enter
buddy's URI: (empty to cancel): sip: 100 @ 192.168 . 1.1 m Make
call: 1 |
打電話操作還可以簡化:
1
2
|
m |
好了,完成了