【发布时间】:2014-07-27 11:24:45
【问题描述】:
我想通过 UPD 连接到我的 sip 服务器,我有用户名、服务器的 IP 地址(域)和端口(例如 9990)。
我收到以下错误:
android.net.sip.SipException: SipService.createSession() returns null
在这一行:mSipManager.register(mSipProfile, 300, mSipRegistrationListener);
这是我正在使用的代码,改编自 android 文档:
private void startSip() {
LogUtils.LOGE(TAG, "[startSip]");
if (SipManager.isVoipSupported(this) && SipManager.isApiSupported(this)) {
if (mSipManager == null) {
mSipManager = SipManager.newInstance(this);
}
try {
SipProfile.Builder builder = new SipProfile.Builder("sip:user@domainIP:9990");
builder.setPassword("pass");
builder.setProtocol("UDP");
mSipProfile = builder.build();
mSipManager.open(mSipProfile);
mSipManager.register(mSipProfile, 300, mSipRegistrationListener);
mSipManager.setRegistrationListener(mSipProfile.getUriString(), mSipRegistrationListener);
} catch (ParseException e) {
e.printStackTrace();
} catch (SipException e) {
e.printStackTrace();
}
} else {
Log.d(TAG, "SIP is not supported!");
}
}
如果我尝试这样设置配置文件:
mSipProfile.Builder builder = new SipProfile.Builder("user", "domain:port");
我得到同样的错误。
如果我尝试:
mSipProfile.Builder builder = new SipProfile.Builder("user", "domain");
builder.setPort(9990);
和上面一样的错误。
如果我不指定端口,我会得到以下信息:
注册未运行,错误代码= -4 ,后跟: 注册超时,错误代码= -5
任何想法如何使用 UPD 和自定义端口注册到我的服务器?顺便说一句,我正在 WiFi 上进行测试,我已经在清单中设置了权限和所需的“使用功能”。
【问题讨论】: