This is one of the most claimed incidents to occur. This Incident troubleshooting must be confronted only if the incident definition and description hasn't pointed out any operational requirements violation. "User can't call" cause is equally divided into client/server misconfigurations and connection issues. Sometimes a License problem may occur, but it's exposed by a proper error message by the PrivateGSM.
To start we check the connection on the PrivateGSM side is fine: check the connection status declared by the application. After we record the connection status, we perform a App - Force Manual Reconnection to make sure that the connection action is correctly triggered and thus we can collect answer by the client. If the connection has some problem, then we move to the Connection Issues troubleshooting. If the connection proceeds fine or was declared all right then is possible that the User experienced a Temporary Network Problem which could be over. To test the actual Incident status we ask the User to perform a call to the Echo service.
If PrivateGSM reconnects to perform the call to Echo service, then most probably we had a Temporary Network Problem issue. Let's check if now the User can call other PrivateGSMs.
If the call to the Echo service fails then we have to investigate further on the server configuration and services, thus escalate.
If the call goes fine, but still the user can't place calls to other PrivateGSM, then we can drop any connection and license causes, or most of their cases. So we can now focus on misconfigurations either on PrivateGSM and PrivateServer: let's start with the trunks.
Check if the PrivateServer is configured with one or more Outgoing trunks. If no trunk is configured, then the issue can be on the PrivateServer: check if the User has an account and if such account is registered. If it's not either accounted or registered, then this is not an issue: you must create the new user before he/she can call.
If almost one trunk is present, we'd better check if the User is using such trunk to route the call and so check trunk(s) status and configuration. If the trunk(s) are fine, but still the User can't call, then you need to escalate.
We can receive an escalation request either for a User configuration check or for a PrivateServer status check.
In the former case we need to understand if the User's account has been created on the related server. If it's, then we assure it's registered as well and (most important) we must check if his/hers virtual number has a similar entry assigned to another user: is the user duplicated? If all this checks pass fine, then we can only escalate.
In the latter case we need to first perform a Server services' check. If the Services pass the tests, than we can focus on the Check Network Status, to understand if some communication issue are causing the Incident. If nothing arise, then we go for a deeper look using the client logs and, at last, we escalate.