I recently started getting reports of users getting a ‘trying’ and then eventual ‘error’ message when making an outbound call soon after opening the app. If they hit the retry button, it would normally work. After I did some testing I found that I was able to reproduce this on my device on a totally different FreePBX instance. Both the app and Sangoma Connect are fully up-to-date.
Normally, when opening the app, it sends a sip register to replace the contact in use for the Acrobits SIPIS push notification server. However, about half the time, the app will not send this register for a long time (up to 30 seconds or more). If you click on the somewhat misleading ‘Available’ button in the top left it will say the status is ‘registering’, but the PBX receives no registration attempts. If you make a call during this waiting period, it still doesn’t not trigger any invite or register to be sent to the server. I even ran a sip log in the Sangoma app and, although it was extremely bloated with non-sip debugging info, I don’t believe it’s even attempting to send the register request during this waiting period.
I know that Sangoma Talk is built on the Acrobits software, but I also tested Groundwire on the same device and was not able to reproduce this problem. Without fail it would immediately switch back and forth between the push notification server and the device depending on if the Groundwire app was in the foreground.
I was able to determine that the problem seems to not occur when using UDP as the transport. This is a pretty good workaround. But is still not optimal considering that I’m pretty sure TCP is the default transport for Sangoma Talk and changing this requires reprovisioning the app by resetting the app and sending another invitation link.
This is just a hunch, but the fact that TCP seems to fail makes me think it’s some sort of timeout being waited upon until it sends the registration again, whereas UDP wouldn’t have this same timeout. Is anyone able to reproduce this, or are there any suggestions on what my next step should be? I’m planning on taking this to Sangoma’s support, since it’s a commercial product, but I figured I’d see if the community had any suggestions first.