In previous SIP project with android, I was getting problem in unregistered account from sip server and every time I am getting DATA_CONNECTION_LOST. Later I noticed that SIP services registers and Intend listener for updating connection information. Basically, register an SipRegistrationListener too fast (by using setRegistrationListener), as network info hasn't been updated (no intent has been received), it returns SipErrorCode.DATA_CONNECTION_LOST, but, actually, session is finally properly registered. As SipRegistrationListener in unregister method, this process fails. In case of replace unregister call by setRegistrationLister, may get same error.
So I need to use an integer in updateStatus instead of a string and used a helper function, statusToString to translate status codes to strings. It simply add an extra management layer; And this fixes up the issue. Not a newbie with SIP development. Already worked with this;
Let's get introduce myself with few sentences: I am a full time freelancer developer having a very strong hands with native iOS and android development field. working more than 10 years with android and iOS development field. Already worked with Android SDK; OOPS ; XML; JSON ; Java (UI, working with database, Java Applets, multithreading, client-server interaction via TCP/IP), ASM, Html5, Bootstrap4, CSS3, Ajax, XML, JSON, JQuery, WebAPI, Fragments etc and native iOS development like Swift and Objective C as well.
Ping me to discuss further.