linphone-sdk
linphone-sdk copied to clipboard
linphone not send header Authorization, ims - server
First of all, please say "Hi" or "Hello", it doesn't cost much.
- Describe the bug (mandatory)
I compile the latest version of the library from github
- To Reproduce (mandatory)
When authorizing the login password, domain and proxy address, everything goes well, our server in this case returns the MD5 algorithm. But now I have a task to log in to the Ims server. I have an ims identifier, in this authorization method the password is set to null. That is, unlike the first authorization method, I change the domain, set the ims identifier as a login. I try to log in, but the Authorization header is not sent and the server returns a 403 error instead of the expected 401.
-
Expected behavior (mandatory) waiting for this header to be sent: Authorization: Digest username="[email protected]",realm="ims.mnc099.mcc250.3gppnetwork.org",nonce="",uri="sip:ims.mnc099.mcc250.3gppnetwork.org",response="",algorithm=AKAv1-MD5,integrity-protected=no
-
Please complete the following information (mandatory)
developing an application for one android from cellular operations, collecting the execution fee if everything works
- SDK logs (mandatory)
private fun login(
username: String,
password: String,
domain: String,
coreListener: CoreListener
) {
val authInfo = factory.createAuthInfo(username, "$username@$domain", null, null, null, domain, "AKAv1-MD5")
val accountParams = core.createAccountParams()
// A SIP account is identified by an identity address that we can construct from the username and domain
val identity = factory.createAddress("sip:$username@$domain")
accountParams.identityAddress = identity
// We also need to configure where the proxy server is located
val address = factory.createAddress("sip:62.205.172.124")
address?.transport = TransportType.Udp
accountParams.serverAddress = address
// And we ensure the account will start the registration process
accountParams.isRegisterEnabled = true
accountParams.isOutboundProxyEnabled = true
// Now that our AccountParams is configured, we can create the Account object
val account = core.createAccount(accountParams)
// Now let's add our objects to the Core
core.addAuthInfo(authInfo)
core.addAccount(account)
// Also set the newly added account as default
core.defaultAccount = account
core.addListener(coreListener)
// Finally we need the Core to be started for the registration to happen (it could have been started before)
core.start()
}
I hope I have provided enough information.
Hi @Viish, Do you know if liblinphone supports IMS-specific headers and methods? We are planning to implement an IMS SIP-compliant Android application.
Hi @alishir,
I don't know what specific headers you are reffering to, but you should be able to find your answer on our website: https://linphone.org/technical-corner/liblinphone?qt-technical_corner=1#qt-technical_corner
Cheers,