我想通过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和自定义端口服务器? 顺便说一句,我测试的无线网络连接,我已经设置了权限,并在清单中要求的“使用特征”。