CreateTransportFailure с помощью PortSip
Я пытаюсь создать базовое приложение вызова на Android с помощью PortSip, но получаю сообщение об ошибке из метода 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);
1 ответ
По-видимому, еще одним фактором в этом состоянии ошибки является обеспечение приложения соответствующими разрешениями. Добавление их в манифест устраняет проблему с 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" />