Android NDK 编译PjSip 2.6 之 测试PjSip apk(四)

来源:互联网 发布:淘宝模板设计教程 编辑:程序博客网 时间:2024/05/22 23:59

     其实编译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 voidinit(MyAppObserver obs, String app_dir, booleanown_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:101@192.168.1.1
   4、设置注册服务器地址registrar:sip:192.168.1.1
   5、设置用户名和密码
   

原创粉丝点击