in AzureCommunicationUI/AzureCommunicationUIDemoApp/Sources/Views/CallingDemoViewController.swift [513:559]
func startCallWithDeprecatedLaunch() async {
if let credential = try? await getTokenCredential(),
let callComposite = try? await createCallComposite() {
let link = getMeetingLink()
var localOptions = getLocalOptions(nil)
switch selectedMeetingType {
case .groupCall:
let uuid = UUID(uuidString: link) ?? UUID()
callComposite.launch(remoteOptions: RemoteOptions(for: .groupCall(groupId: uuid),
credential: credential,
displayName: getDisplayName()),
localOptions: localOptions)
case .teamsMeeting:
if !teamsMeetingTextField.text!.isEmpty {
callComposite.launch(
remoteOptions: RemoteOptions(for: .teamsMeeting(teamsLink: link),
credential: credential,
displayName: getDisplayName()),
localOptions: localOptions
)
} else if !teamsMeetingIdTextField.text!.isEmpty && !teamsMeetingPasscodeTextField.text!.isEmpty {
callComposite.launch(
remoteOptions: RemoteOptions(for: .teamsMeetingId(meetingId: teamsMeetingIdTextField.text!,
meetingPasscode:
teamsMeetingPasscodeTextField.text!),
credential: credential,
displayName: getDisplayName()),
localOptions: localOptions
)
}
case.oneToNCall:
let ids: [String] = link.split(separator: ",").map {
String($0).trimmingCharacters(in: .whitespacesAndNewlines)
}
let communicationIdentifiers: [CommunicationIdentifier] =
ids.map { createCommunicationIdentifier(fromRawId: $0) }
callComposite.launch(participants: communicationIdentifiers,
localOptions: localOptions)
case .roomCall:
callComposite.launch(remoteOptions:
RemoteOptions(for:
.roomCall(roomId: link),
credential: credential, displayName: getDisplayName()),
localOptions: localOptions)
}
}
}