Skip to content

Commit 93a79aa

Browse files
authored
Add the multi-user web and video calling sample app (#14)
* Add multi-user web and video calling sample app
1 parent 98b9f97 commit 93a79aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+13123
-9
lines changed

README.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,41 @@
11
# Amazon Connect In-App Calling Examples
22

3-
Amazon Connects out of the box communication widget and agent workspace allow you to add in-app, web, and video calling capabilities to your website or mobile application with a few lines of code. This repository contains examples of: 1) how to integrate in-app calling into iOS and Android applications, 2) an example backend that works with these iOS and Android mobile samples, and 3) while web calling works out of the box with custom CCPs for voice call, we show to integrate video calling into an custom CCP.
3+
Amazon Connect's out of the box communication widget and agent workspace allow you to add in-app, web, and video calling capabilities to your website or mobile application with a few lines of code. This repository contains examples of: 1) how to create multi-user web and video calling experiences, 2) how to integrate in-app calling into iOS and Android applications, 3) an example backend that works with these iOS and Android mobile samples, and 4) while web calling works out of the box with custom CCPs for voice call, we show to integrate video calling into an custom CCP.
44

5-
**New to Amazon Connect and looking to onboard with in-app calling capabilities?** Refer to [Set up in-app, web, and video calling capabilities](https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html).
5+
**New to Amazon Connect and looking to onboard with in-app calling capabilities?** Refer to ["Set up in-app, web, and video calling capabilities"](https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html).
66

77

88
## Examples
99

10-
At the moment, there are 4 the examples in this repository:
10+
At the moment, there are 5 examples in this repository:
1111

12-
1. **[iOS Customer Integration Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/iOS/AmazonConnectInAppCallingIOSSample)**
12+
1. **[Multi-User Web Calling Sample](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Web/amazon-connect-multi-user-web-calling-sample)**
13+
This example demonstrates how to create a multi-user web and video calling experience for end customers. It shows how to integrate Amazon Connect [StartWebRTCConnect](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartWebRTCContact.html), [CreateParticipant](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipant.html) and [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html) APIs and [Amazon Connect SDK for Javascript](https://github.com/aws/amazon-chime-sdk-js) to support up to 6 participants in a single call, with features like screen sharing, audio/video controls, and real-time communication. The sample includes both client-side and server-side components with AWS CDK deployment options.
14+
15+
2. **[iOS Customer Integration Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/iOS/AmazonConnectInAppCallingIOSSample)**
1316
This example demonstrates how to interact with Amazon Connect api for placing an inbound in-app, web or video call to a contact, and establishing the underlying audio/video call connection between customer and agent by utilizing [Amazon Chime SDK for iOS](https://github.com/aws/amazon-chime-sdk-ios).
1417

15-
2. **[Android Customer Integration Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Android/AmazonConnectInAppCallingAndroidSample)**
18+
3. **[Android Customer Integration Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Android/AmazonConnectInAppCallingAndroidSample)**
1619
This example demonstrates how to interact with Amazon Connect api for placing an inbound in-app, web or video call to a contact, and establishing the underlying audio/video call connection between customer and agent by utilizing [Amazon Chime SDK for Android](https://github.com/aws/amazon-chime-sdk-android).
1720

18-
3. **[CCP Web Calling Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Web/amazon-connect-ccp-web-calling-example)**
21+
4. **[CCP Web Calling Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Web/amazon-connect-ccp-web-calling-example)**
1922
This example demonstrates how to integrate video calling into your custom agent desktop by leveraging the capabilities of [Amazon Connect Streams](https://github.com/amazon-connect/amazon-connect-streams) and [Amazon Connect SDK for Javascript](https://github.com/aws/amazon-chime-sdk-js). It utilizes the pre-built CCP UI offered by [amazon-connect-streams](https://github.com/amazon-connect/amazon-connect-streams) as an engine, handling the agent and contact events, and integrating the WebRTC video calling using [amazon-chime-sdk-js](https://github.com/aws/amazon-chime-sdk-js).
2023

21-
4. **[StartWebRTCContact Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Backend/AmazonConnectNetraApiSample)**
24+
5. **[StartWebRTCContact Example](https://github.com/amazon-connect/amazon-connect-in-app-calling-examples/tree/main/Backend/AmazonConnectNetraApiSample)**
2225
This example demonstrates how to invoke Amazon Connect [StartWebRTCConnect](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartWebRTCContact.html) API from AWS Lambda, an Amazon API Gateway is also to integrate with the Lambda, in order to serve as the backend for the iOS/Android customer integration examples, for placing inbound in-app, web or video calls to a contact.
2326

2427
## Use Cases
2528
Below are the common use cases can be referenced using those examples:
2629

27-
1. ``I want to enable in-app calling in my mobile applications, so that users can reach out to our customer support while staying in the app, and the app is able to send needed information(such as user info or current page) to customer support along the call.``
30+
1. ``I want to add up to four additional users to an ongoing web and video call, for a total of six participants: the agent, the first user, and four other participants. For example, to help close a mortgage transaction, you can have the agent and the customer, the customer's spouse, a translator, and even a supervisor (another agent) on the call to help resolve any issues quickly.``
31+
32+
The Multi-User Web Calling Sample demonstrates how this can be achieved, supporting up to 6 participants with real-time audio, video, and screen sharing features.
33+
34+
2. ``I want to enable in-app calling in my mobile applications, so that users can reach out to our customer support while staying in the app, and the app is able to send needed information(such as user info or current page) to customer support along the call.``
2835

2936
The iOS/Android integration examples and StartWebRTCContact example are needed to achieve this use case: iOS/Android examples demonstrates the mobile application part including invoke StartWebRTCContact api(through StartWebRTC example), sending contact attributes, start audio/video call session, as well as sending DTMF; StartWebRTCContact example acts as a proxy API, relaying the StartWebRTCContact request from mobile applications to Amazon Connect.
3037

31-
2. ``I have my web application for agents, I would like to enable video capablity on my agent application so that agents can send/receive videos while supporting customers.``
38+
3. ``I have my web application for agents, I would like to enable video capablity on my agent application so that agents can send/receive videos while supporting customers.``
3239

3340
CCP Web Calling Example demonstrates how this can be achieved in 2 ways: embed the pre-built CPP UI or create custom UI based on amazon-connect-streams.
3441

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Amazon Connect Configuration
2+
CONNECT_INSTANCE_ID=your-connect-instance-id
3+
CONNECT_CONTACT_FLOW_ID=your-connect-contact-flow-id
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Dependencies
2+
node_modules/
3+
npm-debug.log
4+
yarn-debug.log
5+
yarn-error.log
6+
7+
# OS files
8+
.DS_Store
9+
Thumbs.db
10+
ehthumbs.db
11+
Desktop.ini
12+
13+
# Build output
14+
dist/
15+
build/
16+
coverage/
17+
.nyc_output/
18+
19+
# IDE files
20+
.idea/
21+
.vscode/
22+
*.sublime-project
23+
*.sublime-workspace
24+
.project
25+
.classpath
26+
.settings/
27+
*.swp
28+
*.swo
29+
30+
# CDK output
31+
cdk.out/
32+
.cdk.staging/

0 commit comments

Comments
 (0)