我已经成功编译了用于Android的Liblinphone库并使用它注册到Brekeke SIP服务器并在Android客户端和PC客户端(x-Lite,linphone)之间进行调用。但我面临两个问题:
客户端使用其IP地址而不是域名注册到服务器。
例如:如果服务器IP:192.168.10.105和客户端(IP,名称):( 192.168.10.101,101), 用户将注册到Brekeke sip:101@192.168.10.101而不是sip:101@192.168.10.105所以当我从linphone客户端拨打101时,结果是找不到的
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还是应该由我自己实现?
答案 0 :(得分:0)
只需使用DNS SRV跟踪客户端IP