I'm working on a doctor-patient appointment app on native iOS Swift project. Here I want to implement a live video call with chat using WebRTC and PubNub signaling server. I'm totally new to it. I don't know how to implement this. I have seen some of the Objective-C codes but still I didn't understand. Please help if any of you implement the same in swift.
Video call and chat using WebRTC and Pubnub in native iOS Swift
984 Views Asked by Hilaj S L At
2
There are 2 best solutions below
0
Mathew Jenkinson
On
Highly recommend you reach out to a service such as Vonage (https://www.vonage.com) who can provide HIPAA compliant WebRTC video service for you.
Once you have a set of keys on Vonage, you can use PubNub to move the video session details around the channel in question. Traditionally I use a JSON object model that looks like this:
channel: "UUID of medical session"
messageID: "MessageID on your platform"
messageType: "videoInvite"
sender: "Hilaj"
sessionDetails: "session JWT and/or session token"
timestamp: "1597347054"
This means you can send text based messages as well as video invites in the same channel and write the event to logs.
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in SWIFT
- Navigate after logged in with webservice
- URLSession requesting JSON array from server not working
- When using onDrag in SwiftUI on Mac how can I detect when the dragged object has been released anywhere?
- Protect OpenAI key using Firebase function
- How to correct error: "Cannot convert value of type 'MyType.Type' to expected argument type 'Binding<MyType>'"?
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Using @Bindable with a Observable type in SwiftUI
- How to make a scroll view of 9 images in a forEach loop open on image 6 if image 6 is clicked on from a grid?
- Using MTLPixelFormat.rgba16Float results in random round-off errors
- Search and highlight text of current text in PDFKit Swift
- How is passing a function as a parameter related to escaping autoclosure?
- Actionable notification api call not working in background
- Custom layout occupies all horizontal space
- Is it possible to fix slow CKAsset loading on Cloudkit?
- Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value - MapView.isMyLocationEnabled
Related Questions in PUBNUB
- i am getting internal server error while using the message action api in pubnub
- How to associate the last message with the 1-1 channel list in PUBNUB REACT?
- Why PubNub iOS push messages is not working?
- PubNub service stops listening after a few days
- how to use pubnub w/ nodejs in server side as service and connect to this nodejs server from different clients
- In Pubnub how to make two subscribers subscribed to a channel member of a group, to subscribe each other using object listeners in javascript?
- Does Pubnub encrypt messages if the sender and receiver use different Pubnub version?
- Can two platforms with different Pubnub versions talk to each other?
- Pubnub class not working in next.js server
- How can I retrieve a list of join, leave, and timeout events for a channel when the PubNub presence delta payload size exceeds 32kb?
- Not receiving PubNub messages when the user is not actively interacting with any channel
- Unable to use the PubNub access manager for client authorization
- How to view pubnub signal history?
- Pubnub receiving duplicate messages in one channel, but not in another channel
- How to mock/simulate in the jest test PubNub event which added in pubnub.addListener?
Related Questions in WEBRTC-IOS
- WebRTC ICE fails for IOS Browsers
- Mute/UnMute WebRTC stream while playing in Ant Media's WebRTC iOS SDK
- PIP Mode for WebRTC video calls in iOS
- How to establish remote video / audio connectivity in webrtc iOS
- Convert audio from iOS Broadcast Extension to be used with WebRTC
- How to mute microphone and remove orange microphone indicator with WebRTC in iOS
- XCode linker cannot find WebRTC symbols
- Simulcast in iOS WebRTC is sending only 1 track instead of 3
- how to fix black video streaming on ios - kurento
- Xamarin WebRTC in IOS WebView not working
- Record remote video stream with audio using webrtc for Mac
- Why are some .h files missing when compiling wbrtc_ios as a framework?
- Twilio room type not set to GO even after changing room settings in console
- https://appr.tc is down. How to set up own signaling server/ room server URL?
- How many ICE candidates to exchange for video call?
Related Questions in XIRSYS
- How to make Web RTC work behind Symmetric NAT?
- WebRtc video chat: not all users see each other
- How to configure Big Blue Button for Xirsys TURN server?
- How to use turn server?
- Get ip address from stun server
- Is it possible to successfully negotiate a WebRTC connection between peers who are offering different TURN servers that require credentials?
- Video call and chat using WebRTC and Pubnub in native iOS Swift
- WebRTC android implementation not working when one of the device is connected to WiFi
- How do I keep the list of user names on my Xirsys channel from growing with duplicates?
- How to get closest Xirsys STUN/TURN servers for a user's region when proxying the request through our server
- Xirsys WebRTC can't find sdp object
- WebRTC issue - Hololens unable to send video offer
- WebRTC Peer Connection Errors
- How to update webrtc xirsys from v2 to v3?
- Xirsys v3 demo setup
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I have implemented this in Swift (and previously in Objective C) but it is completely proprietary.
You are going to have to download the Google WebRTC framework.
Taking a quick look at PubNub, it looks like it just does signalling. You are still going to need an actual WebRTC server (eg, Janus). There are others and I'm not really sure which ones support PubNub.