Android NDK 編譯PjSip 2.6 之 測試PjSip apk(四)

NO IMAGE

     其實編譯PjSip和生成example apk都比較快,但是在測試example apk時,碰到了問題。

     我們的開發環境大多都是區域網,而sip如果要跨網段打電話,就需要sip伺服器和stun伺服器。

     其實,如果我們的手機都在同一個網段的區域網,而且只是測試PjSip的功能,是沒有必要使用sip伺服器和stun伺服器的。

    下面說下,不需要sip伺服器和stun伺服器,只在區域網內測試PjSip功能。

1、開啟pjsip-apps\src\swig\java\android\app\src\main\java\org\pjsip\pjsua2\app目錄下的MyApp.java

     註釋掉 public void
init(MyAppObserver obs, String app_dir, boolean
own_worker_thread)介面中的

  
   //ua_cfg.setStunServer(stun_servers); //區域網測試中,不需要設定stun伺服器。


   
   //不需要TCP和TLS transport連線,特別是TLS,在apk執行是報錯,TCP可以參考保留
   //  try {
//     ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TCP,
//              sipTpConfig);
// } catch (Exception e) {
//     System.out.println(e);
// }
// try {
//     sipTpConfig.setPort(SIP_PORT 1);
//     ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TLS,
//              sipTpConfig);
// } catch (Exception e) {
//     System.out.println(e);
// }

2、設定sip賬號
   設定Pjsip中自己的sip賬號地址:sip:IP地址,如:sip:192.168.1.100
   
3、增加一個聯絡人,聯絡人設定成:sip:IP地址:6000,如果:sip:192.168.1.100:6000
   6000是埠號,example指定了埠號為6000.
4、撥打
   A、B在同一個網段的區域網中。
   A的ID設定成sip:192.168.1.100,增加一個聯絡人B,B的地址設定成:sip:192.168.1.106:6000
   B的ID設定成sip:192.168.1.106,增加一個聯絡人A,A的地址設定成:sip:192.168.1.100:6000
   
   可以A撥打B或者B撥打A。
跨網段打電話測試。
   1、需要搭建自己的公網sip伺服器
   2、需要搭建自己的stun伺服器或者使用公網的stun伺服器,我測試的比較好的伺服器是:stun.ideasip.com
   3、設定自己的ID:sip:電話@IP地址,如:sip:[email protected]
   4、設定註冊伺服器地址registrar:sip:192.168.1.1
   5、設定使用者名稱和密碼