2013年1月29日 星期二

PJSIP -- compiled and execute in iOS simulator

為了要在 iOS 上實作 NAT Traversal 的功能,因此選擇了 PJSIP 當做參考資料,以下記錄實驗過程。

1. 下載程式
http://www.pjsip.org/download.htm,本次測試使用的版本為 version 2.0.1


2. 設定環境變數
$ export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer 
$ export CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc CFLAGS="-O2 -m32 -miphoneos-version-min=6.0" LDFLAGS="-O2 -m32" 
$ export ARCH="-arch i386"

3. 建立正確的 makefile
執行 "./configure-iphone",完成時會出現下列log
Further customizations can be put in:
- 'user.mak'
- 'pjlib/include/pj/config_site.h'
因此我們需要修改 config_site.h 加入下列兩行
#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>

4. 編譯 PJSIP library
$ make dep && make clean && make

5. 執行測試程式
Open ipjsua.xcodeproj using Xcode in pjproject/pjsip-apps/src/ipjsua and build the project.  



參考資料
  • http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone
  • http://stackoverflow.com/questions/12670902/pjsip-for-ios-6-under-xcode-4-5-armv7-armv7s