我已经成功编译了android的Liblinphone库,并使用它注册到Brekeke SIP服务器,并在android客户端与PC客户端(x-Lite,linphone)之间进行呼叫。但我面临两个问题:
-
客户端用自己的IP地址而不是域名注册到服务器。
例如:如果服务器IP:192.168.10.105,客户端(IP,name): 192.168.10.101,101,用户将注册到Brekeke为sip:101@192.168.10.101而不是sip:101@192.168.10.105,所以当我从linphone客户端呼叫101时,结果是Not Found
try{ from = LinphoneCoreFactory.instance() .createLinphoneAddress("sip:101@192.168.10.105"); proxy_cfg = LinphoneCoreFactory.instance().createProxyConfig ("sip:101@192.168.10.105","sip:"+from.getDomain(),null,true); } catch (LinphoneCoreException e) { FileLog.e("proxy_cfg error",e); } LinphoneAuthInfo info; info = LinphoneCoreFactory.instance().createAuthInfo(from.getUserName(), "password",null,"sip:"+from.getDomain()); mLinphoneCore.addAuthInfo(info); try { mLinphoneCore.addProxyConfig(proxy_cfg); } catch (LinphoneCoreException e) { FileLog.e("reg error",e); } mLinphoneCore.setDefaultProxyConfig(proxy_cfg);
-
我需要通过代码从客户端在SIP服务器上创建用户,这是可能的使用Liblinphone还是我应该自己实现它?
简单地通过使用DNS SRV保持跟踪客户端IP