3

I used Linphone sdk to develop an android SIP phone, every thing is good but on some wifi network cant receive call and server return USER_NOT_REGISTERED error. for example :

  • at first after registration: User A and user B can make call to each other successfully.

  • after about ten minute, when user A make outgoing call to user B , server say user B in not registered and wise versa.

  • User A and B is registered because can hear server message.

  • server is asterisk.

I repeat this test with csipsimple and it work without problem.

my app now is complete and port it to csipsimple is not easy.

is there any way to fix it?

Ahmad Dehnavi
  • 1,483
  • 1
  • 17
  • 20

2 Answers2

2

No, there are no even moderate complexity way fix it.

That is internal issues in registration on linphone. It is common and well-known at least 5 years, but linphone dev team not care much.

You can try fix linphone core, or just use sip ping(asterisk qualify= option) in attempt to not loose connection.

arheops
  • 15,544
  • 1
  • 21
  • 27
  • Hi, you say I lost connection but why I can make outgoing call in this case. and why linphone don't say any thing about connection lost . and Please explain more about ping asterisk .Thank – Ahmad Dehnavi Jan 05 '17 at 06:02
  • I am sorry, answer "why" will be too complex to put it here. Check how sip authorization works, especialy what is "nonce" and how it calculated. – arheops Jan 05 '17 at 09:21
  • I'm experiencing some registration loss issues with Linphone as well. Could you elaborate a bit on the underlying problem or how your ping work around would look? Has a bug been filed with the linphone core team that you know of? – Dominic P Mar 16 '18 at 17:25
  • Linphone core team know about and not care much. *SIP ping* is common term for voip. – arheops Mar 16 '18 at 21:15
0

You can try the enableKeepAlive set to true after the creation of the core.

 Core core;
   core = Factory.instance().createCore(......);
   core.enableKeepAlive(true);