最近項目中要用到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>
#include <pj/config_site_sample.h>
三、編譯pjsip:
在終端中運行如下命令:
輸入sudo ./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 |
這時,聽到電話響聲的你是不是感到很興奮呢!