# Rejoin a meeting with the Contact Center SDK for iOS When a Contact Center video call gets connected, the Contact Center SDK sends the user a Rejoin link in a text message. The user then opens the link in a browser, sees a webpage displaying the rejoin link, and follows that link to reconnect them to that video call in the your Contact Center-integrated app for iOS. ![Screenshot of a chat bubble displaying a Rejoin meeting link text message.](/img/cc-rejoin-link-example.png) ## Configure the Rejoin video call function To have your users open their rejoin app using a browser, create a web page or site displaying a link with a fixed host address and additional parameters. The Contact Center SDK generates the parameters used in the rejoin link displayed on this site. 1. In the Zoom web portal, select **Contact Center Management > Preferences > Account > Voice and Video Engagements > Rejoin Video Expiration**. 2. Switch on and select **Edit > Edit Rejoin Link**. Enter the link, such as `http://example.com/rejoin`. The link contains `http` or `https`, the host domain, and the path to the file, such as `http://host/path` or `https://host/path`. The configured link must go to a functioning, publicly-visible page. ![Screenshot of the Edit rejoin link modal dialog. It has a large field to enter the URL of the rejoin link, and two buttons: Save and Cancel.](/img/cc-sdk-rejoin-link-edit.png) 3. To configure the scheme in Xcode, select **Target > Info > URL Types > URL Schemes**. URL schemes can be things like `zmcc` or `other`. ![Screenshot of a chat bubble displaying a longer rejoin text link.](/img/cc-rejoin-link-textmsg.png) Call this function when a user selects **Open** on the rejoin page. ```objectivec - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { /** ensure that ZoomCCContext is initialized in advance */ return [self.rootVC handleRejoinVideoOpenURL:url]; } ``` ```swift func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { /** ensure that ZoomCCContext is initialized in advance */ return self.rootVC!.handleRejoinVideoOpenURL(url) } ``` Handle the rejoin URL and rejoin the meeting. ```objectivec - (BOOL)handleRejoinVideoOpenURL:(NSURL *)rejoinURL { __weak typeof(self) wself = self; /** Initialize ZoomCCContext n advance. Then create an instance of ZoomCCItem configured with a video channel and the entry ID registered from Zoom Contact center. */ ZoomCCItem *item = [ZoomCCItem new]; item.sdkType = ZoomCCIInterfaceType_Video; item.entryId = self.sdkInfo.appVideoEntryID;; /** Next, handle the "rejoinURL". When a user is in a video session, pop up an alert when they leave or rejoin. The current video session ends and the user joins a new video session created internally from the "rejoinURL", and the complete block is called. When the user selects the alert's cancel option, they remain in the current video session. When the user isn't in a video session, create a video session user from the "rejoinURL" and call the complete block. See details of method "[ZoomCCVideoService handleRejoinVideoOpenURL]" */ return [[[ZoomCCInterface sharedInstance] videoService] handleRejoinVideoOpenURL:rejoinURL item:item videoDelegate:self complete:^(UIViewController * _Nonnull viewController) { [wself directShow:viewController]; }]; } ``` ```swift func handleRejoinVideoOpenURL(_ rejoinURL : URL) -> Bool { /** Initialize ZoomCCContext in advance.Then create an instance of ZoomCCItem configured with a video channel and the entry ID registered from Zoom Contact center. */ let item = ZoomCCItem() item.sdkType = .video item.entryId = APP_CHAT_ENTRY_ID /** Next, handle the "rejoinURL". When the user is in a video session, pop up an alert when they leave and rejoin. The current video session ends and the user joins a new video session created internally from the "rejoinURL", and the complete block is called. When the user selects the alert's cancel option, they remain in the current video session. When the user isn't in a video session, create a video session user from the "rejoinURL" and call the complete block. See details of method "[ZoomCCVideoService handleRejoinVideoOpenURL]" */ return ZoomCCInterface.sharedInstance().videoService().handleRejoinVideoOpen(rejoinURL ,item : item, videoDelegate: self) { vc in self.navigationController?.pushViewController(vc, animated: true) } } ```