1

我正在尝试使用 PortSip 在 Android 上创建一个基本调用应用程序,但从 setUser 方法中得到一个错误(错误 -60098:CreateTransportFailure)。我想我已经按照他们的示例应用程序执行了所有步骤,并且我使用了与示例应用程序一起使用的相同凭据。我尝试过使用不同的本地端口(如另一篇文章中所建议的那样),但没有任何成功。这些是我的步骤:

context = this.getApplicationContext();
callingSDK = new PortSipSdk();
callingSDK.setOnPortSIPEvent(this);
callingSDK.CreateCallManager(context);

int initStatus = callingSDK.initialize(PortSipEnumDefine.ENUM_TRANSPORT_UDP, 
      "0.0.0.0", 5771, PortSipEnumDefine.ENUM_LOG_LEVEL_DEBUG, LogPath, 200,
      "PortSIP VoIP Calling App", 0, 0, "", "", false);
// initialize returns ECoreErrorNone

callingSDK.setSrtpPolicy(PortSipEnumDefine.ENUM_SRTPPOLICY_NONE);

int licenseStatus = callingSDK.setLicenseKey("PORTSIP_TEST_LICENSE");
// setLicenseKey return ECoreTrialVersionLicenseKey, as expected

int userStatus = callingSDK.setUser(accountName, displayName, authName, password,
      domain, server, 5060, "", 0, null, 5060);
4

1 回答 1

0

显然,此错误条件的另一个因素是确保应用程序具有适当的权限。将这些添加到清单中可以解决 setUser 的问题。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
于 2017-12-07T04:11:20.650 回答