-
Notifications
You must be signed in to change notification settings - Fork 143
Lobby call support sample #228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…onfimration from client app.
@v-kuppu please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
Add the description for this sample |
@@ -0,0 +1,41 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep only one profile here
"Microsoft.AspNetCore": "Warning" | ||
} | ||
}, | ||
"AllowedHosts": "*", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
# Call Automation - Lobby Call Support Sample | ||
|
||
In this sample, we cover how you can use Call Automation SDK to support Lobby Call where we join Lobby call users to a target call upon confirmation of admin in the target call. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use the below description for the call or add more detailed version of this.
This sample demonstrates how to utilize the Call Automation SDK to implement a Lobby Call scenario. In this setup, users initially join a lobby call and remain on hold until an user in the target call confirms their participation. Once approved, the bot automatically connects the lobby users to the designated target call.
|
||
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). | ||
- A deployed Communication Services resource. [Create a Communication Services resource](https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource). | ||
- A [phone number](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/telephony/get-phone-number) in your Azure Communication Services resource that can make outbound calls. NB: phone numbers are not available in free subscriptions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lets not mention this here "NB: phone numbers are not available in free subscriptions." As the phone number availability keeps changing.
"acsGeneratedIdForLobbyCallReceiver": "<acsGeneratedIdForLobbyCallReceiver>", | ||
"acsGeneratedIdForTargetCallReceiver": "<acsGeneratedIdForTargetCallReceiver>", | ||
"acsGeneratedIdForTargetCallSender": "<acsGeneratedIdForTargetCallSender>", | ||
"socketToken": "<socketToken>" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed socketTocken , but other keys are required.
- A [phone number](https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/telephony/get-phone-number) in your Azure Communication Services resource that can make outbound calls. NB: phone numbers are not available in free subscriptions. | ||
- Create Azure AI Multi Service resource. For details, see [Create an Azure AI Multi service](https://learn.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account). | ||
- Create and host a Azure Dev Tunnel. Instructions [here](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started) | ||
- A Client application that can make calls to the Azure Communication Services resource. This can be a web client or a mobile client. You can use the [Web Client Quickstart](https://github.com/Azure-Samples/communication-services-javascript-quickstarts/tree/users/v-kuppu/LobbyCallConfirmSample) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the details in the decription
- Create and host a Azure Dev Tunnel. Instructions [here](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started) | ||
- A Client application that can make calls to the Azure Communication Services resource. This can be a web client or a mobile client. You can use the [Web Client Quickstart](https://github.com/Azure-Samples/communication-services-javascript-quickstarts/tree/users/v-kuppu/LobbyCallConfirmSample) | ||
|
||
## Before running the sample for the first time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are specific to JS, please update the steps for the dotnet
- For more information, see [Create an Azure AI Multi service](https://learn.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account). | ||
3. `callbackUriHost`: Base url of the app. (For local development use dev tunnel url) | ||
4. `confirmMessageToTargetCall`: Notification message to be played to the target call participants when they are moved from lobby call to target call. | ||
- This is used to notify the target call participants that they are being moved from lobby call to target call. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move these values to program.cs. Lets just keep the settings here (the settings which needs to updated by the user)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please confirm for callbackUriHost ? I think we can remove only confirmMessageToTargetCall and textToPlayToLobbyUser keys.
"acsGeneratedIdForTargetCallReceiver": "<acsGeneratedIdForTargetCallReceiver>",(Generate Voice Calling Identity in Azure Portal) | ||
"acsGeneratedIdForTargetCallSender": "<acsGeneratedIdForTargetCallSender>",(Generate Voice Calling Identity in Azure Portal) | ||
"socketToken": "<socketToken>"(Token associated with <acsGeneratedIdForTargetCallSender> in Azure Portal)``` | ||
3. Define a websocket in your application(program.cs) to send and receive messages from and to client application(JS Hero App in this case). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
provide the websocket url format /ws and also add steps to provide them in the JS UI sample with the link
5. Enter and validate user token in client app to send calls. | ||
6. Start call to `<acsGeneratedIdForTargetCallReceiver>`. | ||
7. Expect Call Connected evennt in /callbacks | ||
8. Start a call from ACS Test app(angular) to acsGeneratedIdForLobbyCallReceiver |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which application is this?
11. Once the Target call confirms from client application, Move `<acsGeneratedIdForLobbyCallReceiver>` in the backend sample. | ||
12. If Target user says no, then no MOVE will be performed. | ||
13. Ensure MoveParticipantSucceeded event is received in `/callbacks` endpoint. | ||
14. Check `/Getparticipants` endpoint be called with Target call id, Target call must have the recent lobby user in the call. No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we might not ask the user to verify this, instead once the participant moved to target call, print the total participants and user display name
Purpose
Does this introduce a breaking change?
Pull Request Type
What kind of change does this Pull Request introduce?
How to Test
What to Check
Verify that the following are valid
Other Information