Softphone Apps on mobile phones not receiving calls

ferret

New Member
Mar 28, 2022
2
0
1
58
Hi All,

Am new to FreeSwitch and FusionPBX, I believe I have successfully installed the latest version of the both software applications.

I can make and receive internal plus external calls from Handsets and Desktop Softphone Apps, I can make internal and external calls from Softphone Apps on mobile phones and just cannot receive calls, have spent days trying to identify the issue.

SIP server is sitting behind Cisco ASA and is nat'ing correctly to the best of my knowledge.

When viewing active calls I noticed that mobile phon e app is not receiving Codec's;
Screen Shot 2022-03-31 at 6.35.35 am.png

I tried modifying the pre and post codecs stuff but still not change.

I have tried multiple different apps and have the same behaviour....Wave Lite, Linphone, OneTouch & SessionTalk.

Any assistance would be kindly appreciated.

Log below from FusionPBX;
false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[directory] destination_number(102) =~ /^\*411$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->wake-up] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[wake-up] destination_number(102) =~ /^\*(925)$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->valet_park] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[valet_park] destination_number(102) =~ /^(park\+)?\*(59[0-9][0-9])$/ break=never
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[valet_park] ${sip_h_Referred-By}() =~ /sip:(.*)@.*/ break=never
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[valet_park] destination_number(102) =~ /^(park\+)?\*(59[0-9][0-9])$/ break=never
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[valet_park] destination_number(102) =~ /^(park\+)?\*(59[0-9][0-9])$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->operator-forward] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[operator-forward] destination_number(102) =~ /^\*000$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->do-not-disturb] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[do-not-disturb] destination_number(102) =~ /^\*77$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[do-not-disturb] destination_number(102) =~ /^\*78$|\*363$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[do-not-disturb] destination_number(102) =~ /^\*79$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[do-not-disturb] destination_number(102) =~ /^dnd\+103$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->call_screen] continue=true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call_screen] ${call_screen_enabled}(false) =~ /^true$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->ring-group-forward] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[ring-group-forward] destination_number(102) =~ /^\*75$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->follow-me-destinations] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (PASS)[follow-me-destinations] ${user_exists}(true) =~ /^true$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[follow-me-destinations] ${follow_me_enabled}() =~ /^true$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->call-forward] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward] destination_number(102) =~ /^\*72(\d{2,20})$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward] destination_number(102) =~ /^\*72$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward] destination_number(102) =~ /^\*73$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward] destination_number(102) =~ /^\*74$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward] destination_number(102) =~ /^forward\+(\Q103\E)(?:\/(\d+))?$/ break=on-true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->call-forward-all] continue=
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (PASS)[call-forward-all] ${user_exists}(true) =~ /true/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward-all] ${forward_all_enabled}() =~ /true/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->call-forward-not-registered] continue=
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (PASS)[call-forward-not-registered] ${user_exists}(true) =~ /true/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[call-forward-not-registered] ${forward_user_not_registered_enabled}() =~ /true/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->follow-me] continue=false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[follow-me] destination_number(102) =~ /^\*21$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->talking clock date and time] continue=
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[talking clock date and time] destination_number(102) =~ /^\*9172$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->talking clock time] continue=
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[talking clock time] destination_number(102) =~ /^\*9170$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->talking clock date] continue=
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (FAIL)[talking clock date] destination_number(102) =~ /^\*9171$/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com parsing [pbx.vps-australia.com->local_extension] continue=true
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Regex (PASS)[local_extension] ${user_exists}(true) =~ /true/ break=on-false
93165d3d-fe66-40cd-bc32-0f19ae5909fb Dialplan: sofia/internal/103@pbx.vps-australia.com Action export(dialed_extension=${destination_number}) INLINE
93165d3d-fe66-40cd-bc32-0f19ae5909fb EXECUTE [depth=0] sofia/internal/103@pbx.vps-australia.com export(dialed_extension=102)
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,142
273
83
I'm not saying this is your issue but it is worth considering...

The operating system on mobile phones and tablets often put applications to "sleep" in order to conserve battery life. When an application is asleep it will not react to an invite and in many cases will not even remain registered with your server.

In some cases you can prevent the app from sleeping but this kill your battery.

Most Mobile OSs have provision for a push service. With a push service, a third party service, often run by the softphone vendor, will registerer to your VoIP server when the app is asleep. When you get an inbound call the push service will signal your phone to wake up the app, this is done by a call in to OS vendor like Apple etc. Once the app wakes up, it registers and takes the call. There is obviously scope for things going wrong within this chain of command.

When trying to diagnose this, check on registrations and try to get some packet captures, sngrep is a very useful tool.
 
  • Like
Reactions: markjcrane and falk

ferret

New Member
Mar 28, 2022
2
0
1
58
Many thanks Adrian for your response.

I was able to resolve the issue above and have been on a huge learning curve.

I value and now understand your response as a result of the learnings.

What I am now struggling with is finding a valid step by step guide to implement Linphone Flexisip integration with fusionPBX which will enable Push Notifications to the Linphone mobile app or similar. Are you able to point me in the right direction?