Some More Informations
To create an interactive UI that can show all relevant information one may need to use the following Items.
- CallStates : CallStates as it's name suggests signifies the current state of the calling framework. Call States can be any among the following
CallState.INITIATING
CallState.READY
CallState.TRYING
CallState.INVITE
CallState._180_RING
CallState._183_PROGRESS
CallState._181_CALL_BEING_FORWARDED
CallState._200_OK
CallState.BAD_REQUEST
CallState.INCOMING
CallState.ON_HOLD
CallState.BYE
We get these call states in updateCallstate() function in SDKSIPListener interface. Every state has it's own Meaning and the UI should be designed according to the current Updated state. For example CallState._200_OK means that a call is currently going on. You can also get the current state from SIPProvider.getcallState too but that is not recommended
-
Error Codes: You can get any error code integer value. You can use those errorcodes' meaning to show to the UI why their calls failed if necessary. eg. 403, 404, 486 etc.
-
Display Status: SDKSIPListener can update the Display Status. The Display status is shown in the UI. Available DIsplay Statuses are:
DisplayStatus.InvalidLogin
DisplayStatus.Empty
DisplayStatus.InvalidCode
DisplayStatus.Registered
DisplayStatus.Registering
DisplayStatus.Unregistered
You can control what to show in the main UI according to the display status.
- Multiple Concurrent Calls: This SDK does not allow group calls. It is to be noted that this SDK works with only one single App to GSM VOIP call or only one Peer to Peer call. Hence, the server will return _486_BUSY error if you try to call any user that is already in another call.