View Instant Connect Demo · View Controller Demo · Report Bug · Request Feature
This is a Web App which can control Pan/Tilt/Zoom (PTZ) functions of applicable Webex Devices. It works purely through the Cloud xAPI, using the token of a bot that has been added to the shared device's Workspace in Control Hub.
Server Requirements:
- python version >= 3.8
- pip install modules.
- Clone this repository
- Rename
sample.env
to.env
, and edit the values in .env (be sure to keep string values between the quotes) - Navigate inside the cloned directory in your terminal, then run:
pip install python-dotenv
pip install tornado==4.5.2
pip install requests
pip install requests-toolbelt
You can setup this project on Glitch! First, navigate to https://glitch.com, then select New Project.
Click the Import from GitHub
button at the bottom of the list.
Enter https://github.com/wxsd-sales/webex-far-end-camera-control.git
in the text input and click OK.
Once you've cloned the project, you will need to
- Rename the file
sample.env
to simply.env
in the Glitch project. - Create a bot.
a. Save the bot token asMY_BOT_TOKEN
in the .env file in Glitch.
b. In Control Hub, you will need to add this bot to every workspace that contains a device with 1 or more PTZ cameras.
c. As an admin, login to https://admin.webex.com. Navigate to the desired workspaces. Click Edit API Access.
d. Search for the name of the bot you just created and give it Full Admin capabilities. - Create an integration.
a. The redirect URI of the integration must be https://your-glitch-project.glitch.me/webex-oauth, whereyour-glitch-project
is replaced by your Glitch.com project name.
b. The Scopes selected must be:
meeting:schedules_read
meeting:preferences_read
meeting:controls_read
meeting:participants_read
spark:all
c. All other fields, like name, icon and description can be anything you choose.
d. Save the client_id, and client_secret asMY_WEBEX_CLIENT_ID
andMY_WEBEX_SECRET
in the .env file in Glitch respectively.
e. Save the redirect URI that you used in the Webex Integration asMY_WEBEX_REDIRECT_URI
in the .env file. - Retrieve your API Org Id from here and enter the value as
MY_ORG_ID
in the .env file. - Enter one or more user email addresses, separated by commas as
MY_USERS
in the .env file. These users should belong to the same org asMY_ORG_ID
and will be allowed to sign in and use this application. - It is recommended that you change
MY_COOKIE_SECRET
to a random alphabetical character string. - You do not need to change any other variables in the .env file.
- You can test the app by click Preview at the bottom, and selecting Open in New Window.
- For the Instant Connect Demo, you can simply click start.
- Permissions are limited to CEC credentials in the live version.
- Once your meeting has been joined, you can dial a registered device.
- Once the device has answered the call, you can control its PTZ functions.
- For the Controller Demo, you will need to be in an active meeting using your Webex client.
- You will be able to select a meeting you are currently a member of.
- You can dial a device (assuming you have permission).
- You can control the device once it has answered the invite call.
All contents are licensed under the MIT license. Please see license for details.
Everything included is for demo and Proof of Concept purposes only. Use of the site is solely at your own risk. This site may contain links to third party content, which we do not warrant, endorse, or assume liability for. These demos are for Cisco Webex usecases, but are not Official Cisco Webex Branded demos.
Please reach out to the WXSD team at wxsd@external.cisco.com.