Other call features

Fetching Participants list#

In order to fetch all the participants in the call, use below method

func getCallUsersList() -> [String]? {
}

[String] returns the list of UserId

Fetching Participants list with Call Status#

To fetch the participants in the call with their call status, use below method

func getCallUsersWithStatus() -> [String:CALLSTATUS] {
}

callStatus value will be anyone of the values of annotation class CallStatus.

callStatus ValueCall event
CallStatus.CALLINGthe initial state of the call
CallStatus.CONNECTINGThe current call is in connecting state
CallStatus.RINGINGthe remote user is having internet and acknowledged the call
CallStatus.ATTENDEDthe user attended call and UI can be presented with the users in the call
CallStatus.CONNECTEDthe call is successfully connected and audio/video tracks transmission is about to start
CallStatus.DISCONNECTEDthe call is disconnected and call UI can be closed
CallStatus.RECONNECTINGthe call is in reconnecting state
CallStatus.RECONNECTEDthe call is connected back after a reconnecting state
CallStatus.ON_HOLDthe remote user has put your call on hold, it will happedn when the remote user attended gsm call
CallStatus.ON_RESUMEthe remote user has resumed your call after a on hold, it will happen when the remote user disconnected gsm call
CallStatus.CALL_TIME_OUTwhen we don't receive ack for the outgoing call from the remote user within 30 seconds, When we don't receive ack for the incoming call from the caller within 30 seconds, When we don't receive ack for the call invite from the invited user within 30 seconds

Fetching Call Connected list#

To fetch the connected users in the call, use below method

func getCallConnectedUsersList() -> [String]? {
}

[String] returns the list of UserId

Fetching Call Users list in Ringing status#

To fetch the users in the ringing state of the call, use below method

func getRingingStatusUserList() -> [String] {
}

[String] returns the list of UserId

Fetching Call connected user#

To fetch the users who are connected in the call, use below method

func getCallConnectedUsersList() -> [String]? {
}

[String] returns the list of UserId

Fetching Timeout Users list#

To fetch the userslist after timeout, use below method

func getTimeOutUsersList() -> [String]? {
}

[String] returns the list of UserId

Fetching Reconnecting Users list#

func getReconnectingUsersList() -> [String]? {
}

[String] returns the list of UserId

Check Audio mute status of the UserId#

In order to check the audio mute status of the given UserId, use below method

func isRemoteAudioMuted(_ userId : String) -> Bool {
}

Bool returns true/false

Check Video mute status of the UserId#

In order to check the video mute status of the given UserId, use below method

func isRemoteVideoMuted(_ userJid : String) -> Bool {
}

Bool returns true/false

Get Call status of the UserId#

In order to get the call status of the given UserId, use below method

func getCallStatus(userId : String) -> CALLSTATUS? {
}

callStatus value will be anyone of the values of annotation class CallStatus.

callStatus ValueCall event
CallStatus.CALLINGthe initial state of the call
CallStatus.CONNECTINGThe current call is in connecting state
CallStatus.RINGINGthe remote user is having internet and acknowledged the call
CallStatus.ATTENDEDthe user attended call and UI can be presented with the users in the call
CallStatus.CONNECTEDthe call is successfully connected and audio/video tracks transmission is about to start
CallStatus.DISCONNECTEDthe call is disconnected and call UI can be closed
CallStatus.RECONNECTINGthe call is in reconnecting state
CallStatus.RECONNECTEDthe call is connected back after a reconnecting state
CallStatus.ON_HOLDthe remote user has put your call on hold, it will happedn when the remote user attended gsm call
CallStatus.ON_RESUMEthe remote user has resumed your call after a on hold, it will happen when the remote user disconnected gsm call
CallStatus.CALL_TIME_OUTwhen we don't receive ack for the outgoing call from the remote user within 30 seconds, When we don't receive ack for the incoming call from the caller within 30 seconds, When we don't receive ack for the call invite from the invited user within 30 seconds

Get Own userId#

In order to get the own userId which is passed to SDk, use below method

public class func getLocalUserId() -> String? {
}

Get Presented root Viewcontroler#

In order to get the viewcontroller from which the call UI is presented, use below method

func getViewControllerThatPresented() -> UIViewController? {
}

Get GroupId of the current call#

In order to get the groupId of the ongoing call, use below method

func getGroupID() -> String? {
}

Get callType of the current call#

In order to get the callType of the ongoing call, use below method

func getCallType() -> CallType {
}

CallType value will be anyone of the values of annotation class CallType

CallType ValueDescription
CallType.Audiothe call is Audio
CallType.Videothe call is Video

Set callType of the current call#

In order to set the callType of the ongoing call, use below method

func setCallType(callType : CallType) {
}

CallType value will be anyone of the values of annotation class CallType

CallType ValueDescription
CallType.Audiothe call is Audio
CallType.Videothe call is Video

Get CallMode of the current call#

In order to get the callMode of the ongoing call, use below method

func getCallMode() -> CallMode {
}

CallMode value will be anyone of the values of annotation class CallMode

CallMode ValueDescription
CallMode.ONE_TO_ONEthe call is between 2 user
CallMode.ONE_TO_MANYthe call is between group of members

Get CallMode of the current call#

In order to get the callDirection of the ongoing call, use below method

func getCallDirection() -> CallDirection {
}

CallDirection value will be anyone of the values of annotation class CallDirection

CallDirection ValueDescription
CallDirection.Incomingthe call is a incoming call
CallDirection.Outgoingthe call is an outgoing call

Check Call is Connected#

In order to check the ongoing call is connected with atleast of one user in the call, use below method

func isCallConnected() -> Bool {
}

Check Call is OneToOne#

In order to check the ongoing call is made between single user, use below method

func isOneToOneCall() -> Bool {
}

CallKit App Icon#

In order to show our app icon in CallKit. An icon file named fly_call_app_icon should be placed in the Assets of our main application.

warning

The file name should be fly_call_app_icon, otherwise the sdk considers it as no asset provided and nothing will be shown in CallKit.