PepperDash.Essentials.Plugin.CiscoRoomOsCodec 1.1.3-hotfix-48

This is a prerelease version of PepperDash.Essentials.Plugin.CiscoRoomOsCodec.
There is a newer version of this package available.
See the version list below for details.
dotnet add package PepperDash.Essentials.Plugin.CiscoRoomOsCodec --version 1.1.3-hotfix-48
NuGet\Install-Package PepperDash.Essentials.Plugin.CiscoRoomOsCodec -Version 1.1.3-hotfix-48
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PepperDash.Essentials.Plugin.CiscoRoomOsCodec" Version="1.1.3-hotfix-48" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PepperDash.Essentials.Plugin.CiscoRoomOsCodec --version 1.1.3-hotfix-48
#r "nuget: PepperDash.Essentials.Plugin.CiscoRoomOsCodec, 1.1.3-hotfix-48"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PepperDash.Essentials.Plugin.CiscoRoomOsCodec as a Cake Addin
#addin nuget:?package=PepperDash.Essentials.Plugin.CiscoRoomOsCodec&version=1.1.3-hotfix-48&prerelease

// Install PepperDash.Essentials.Plugin.CiscoRoomOsCodec as a Cake Tool
#tool nuget:?package=PepperDash.Essentials.Plugin.CiscoRoomOsCodec&version=1.1.3-hotfix-48&prerelease

Cisco RoomOS Video Codec Plugin

License

Provided under MIT license

Overview

The Cisco RoomOS plugin provides device control over the Cisco Webex family of video conference codecs with regards to the most commonly used and requested attriute and control types.

It implements all available essentials interfaces relevant to a device of this type, including but not limited to VideoCodecBase. Interfaces supported can be found by viewing the declaration of the CiscoCodec class in CiscoRoomOsCodec.cs.

Additionally, every component implements IKeyed and all devices are added to the DeviceManager unpon instantiation.

Cloning Instructions

After forking this repository into your own GitHub space, you can create a new repository using this one as the template. Then you must install the necessary dependencies as indicated below.

Dependencies

The Essentials libraries are required. They referenced via nuget. You must have nuget.exe installed and in the PATH environment variable to use the following command. Nuget.exe is available at nuget.org.

Installing Dependencies

To install dependencies once nuget.exe is installed, run the following command from the root directory of your repository: nuget install .\packages.config -OutputDirectory .\packages -excludeVersion. To verify that the packages installed correctly, open the plugin solution in your repo and make sure that all references are found, then try and build it.

Installing Different versions of PepperDash Core

If you need a different version of PepperDash Core, use the command nuget install .\packages.config -OutputDirectory .\packages -excludeVersion -Version {versionToGet}. Omitting the -Version option will pull the version indicated in the packages.config file.

Instructions for Renaming Solution and Files

See the Task List in Visual Studio for a guide on how to start using the templage. There is extensive inline documentation and examples as well.

For renaming instructions in particular, see the XML remarks tags on class definitions

CiscoCodecJoinMap

Digitals

Join Number Join Span Description Type Capabilities
1 1 Device is Online Digital ToSIMPL
10 1 If High, will send DTMF tones to the call set by SelectCall analog. If low sends DTMF tones to last connected call. Digital FromSIMPL
11 1 DTMF 1 Digital FromSIMPL
12 1 DTMF 2 Digital FromSIMPL
13 1 DTMF 3 Digital FromSIMPL
14 1 DTMF 4 Digital FromSIMPL
15 1 DTMF 5 Digital FromSIMPL
16 1 DTMF 6 Digital FromSIMPL
17 1 DTMF 7 Digital FromSIMPL
18 1 DTMF 8 Digital FromSIMPL
19 1 DTMF 9 Digital FromSIMPL
20 1 DTMF 0 Digital FromSIMPL
21 1 DTMF * Digital FromSIMPL
22 1 DTMF # Digital FromSIMPL
24 1 End All Calls Digital FromSIMPL
31 1 Current Hook State Digital ToSIMPL
41 4 Speed Dial Digital FromSIMPL
50 1 Incoming Call Digital ToSIMPL
51 1 Answer Incoming Call Digital FromSIMPL
52 1 Reject Incoming Call Digital FromSIMPL
71 1 Dial manual string specified by CurrentDialString serial join Digital FromSIMPL
72 1 Dial Phone Digital FromSIMPL
72 1 Dial Phone Digital ToSIMPL
73 1 Hang Up Phone Digital FromSIMPL
81 8 End a specific call by call index. Digital FromSIMPL
90 1 Join all calls Digital FromSIMPL
91 8 Join a specific call by call index. Digital FromSIMPL
100 1 Directory Search Busy FB Digital ToSIMPL
101 1 Directory Selected Entry Is Contact FB Digital ToSIMPL
101 1 Directory Line Selected FB Digital FromSIMPL
102 1 Directory is on Root FB Digital ToSIMPL
103 1 Directory has changed FB Digital ToSIMPL
104 1 Go to Directory Root Digital FromSIMPL
105 1 Go back one directory level Digital FromSIMPL
106 1 Dial selected directory line Digital FromSIMPL
107 1 Set high to disable automatic dialing of a contact when selected Digital FromSIMPL
108 1 Pulse to dial the selected contact method Digital FromSIMPL
110 1 Clear Selected Entry and String from Search Digital FromSIMPL
111 1 Camera Tilt Up Digital FromSIMPL
112 1 Camera Tilt Down Digital FromSIMPL
113 1 Camera Pan Left Digital FromSIMPL
114 1 Camera Pan Right Digital FromSIMPL
115 1 Camera Zoom In Digital FromSIMPL
116 1 Camera Zoom Out Digital FromSIMPL
117 1 Camera Focus Near Digital FromSIMPL
118 1 Camera Focus Far Digital FromSIMPL
119 1 Camera Auto Focus Trigger Digital FromSIMPL
121 1 Pulse to save selected preset spcified by CameraPresetSelect analog join. FB will pulse for 3s when preset saved. Digital ToFromSIMPL
131 1 Camera Mode Auto. Enables camera auto tracking mode, with feedback Digital ToFromSIMPL
132 1 Camera Mode Manual. Disables camera auto tracking mode, with feedback Digital ToFromSIMPL
133 1 Camera Mode Off. Disables camera video, with feedback. Works like video mute. Digital ToFromSIMPL
134 1 Presenter Track Off Get/Set Digital ToFromSIMPL
135 1 Presenter Track Follow Get/Set Digital ToFromSIMPL
136 1 Presenter Track Background Get/Set Digital ToFromSIMPL
137 1 Presenter Track Persistent Get/Set Digital ToFromSIMPL
141 1 Camera Self View Toggle/FB Digital ToFromSIMPL
142 1 Camera Layout Toggle Digital FromSIMPL
143 1 Camera Supports Auto Mode FB Digital ToSIMPL
144 1 Camera Supports Off Mode FB Digital ToSIMPL
145 1 Speaker Track Available Digital ToSIMPL
146 1 Presenter Track Availble Digital ToSIMPL
159 1 Presenter Track Availble Digital FromSIMPL
160 1 Update Meetings Digital FromSIMPL
161 10 Join meeting Digital FromSIMPL
171 1 Mic Mute On Digital ToFromSIMPL
172 1 Mic Mute Off Digital ToFromSIMPL
173 1 Mic Mute Toggle Digital ToFromSIMPL
174 1 Volume Up Digital FromSIMPL
175 1 Volume Down Digital FromSIMPL
176 1 Volume Mute On Digital ToFromSIMPL
177 1 Volume Mute Off Digital ToFromSIMPL
178 1 Volume Mute Toggle Digital ToFromSIMPL
181 1 Pulse to remove the selected recent call item specified by the SelectRecentCallItem analog join Digital FromSIMPL
182 1 Pulse to dial the selected recent call item specified by the SelectRecentCallItem analog join Digital FromSIMPL
200 1 Presentation Active Digital ToSIMPL
201 1 Start Sharing & Feedback Digital ToFromSIMPL
202 1 Stop Sharing & Feedback Digital ToFromSIMPL
203 1 When high, will autostart sharing when a call is joined Digital FromSIMPL
204 1 Recieving content from the far end Digital ToSIMPL
205 1 Presentation Local Only Feedback Digital ToFromSIMPL
206 1 Presentation Local and Remote Feedback Digital ToFromSIMPL
207 1 Presentation Local and Remote Feedback Digital FromSIMPL
211 1 Toggles selfview position Digital FromSIMPL
220 1 Holds all calls Digital FromSIMPL
221 8 Holds Call at specified index. FB reported on Call Status XSIG Digital FromSIMPL
230 1 Resume all held calls Digital FromSIMPL
231 8 Resume Call at specified index Digital FromSIMPL
241 1 Activates Do Not Disturb Mode. FB High if active. Digital ToFromSIMPL
242 1 Deactivates Do Not Disturb Mode. FB High if deactivated. Digital ToFromSIMPL
243 1 Toggles Do Not Disturb Mode. Digital ToSIMPL
246 1 Activates Standby Mode. FB High if active. Digital ToFromSIMPL
247 1 Deactivates Standby Mode. FB High if deactivated. Digital ToFromSIMPL
248 1 Activates Half Wake Mode. FB High if active. Digital ToFromSIMPL
249 1 High to indicate that the codec is entering standby mode Digital ToSIMPL
251 1 High to indicate that the codec does not have any meetings currently active Digital ToSIMPL
252 1 High to indicate that the codec has currently active meetings Digital ToSIMPL
253 1 High to indicate that the codec has an impending meeting Digital ToSIMPL
261 1 Set / Get PresentationView Default mode Digital ToFromSIMPL
262 1 Set / Get PresentationView Maximized mode Digital ToFromSIMPL
263 1 Set / Get PresentationView Minimized mode Digital ToFromSIMPL
301 1 Multi site option is enabled FB Digital ToSIMPL
302 1 Auto Answer is enabled FB Digital ToSIMPL
311 1 Webex Pin Requested Digital ToSIMPL
311 1 WebexSendPin DigitalSerial FromSIMPL
312 1 WebexJoinAsGuest Digital FromSIMPL
312 1 WebexJoinedAsHost Digital ToSIMPL
313 1 WebexJoinedAsGuest Digital ToSIMPL
313 1 WebexPinClear Digital FromSIMPL
314 1 WebexPinError Digital ToSIMPL
501 50 Toggles the participant's audio mute status Digital ToSIMPL
801 50 Toggles the participant's video mute status Digital ToSIMPL
1101 50 Toggles the participant's pin status Digital ToSIMPL

Analogs

Join Number Join Span Description Type Capabilities
21 1 Ringtone volume set/FB. Valid values are 0 - 100 in increments of 5 (5, 10, 15, 20, etc.) Analog ToFromSIMPL
24 1 Sets the selected Call for DTMF commands. Valid values 1-8 Analog FromSIMPL
25 1 Reports the number of currently connected calls Analog ToSIMPL
40 1 Set/FB the number of meetings to display via the bridge xsig; default: 3 meetings. Analog ToFromSIMPL
41 1 Minutes before meeting start that a meeting is joinable Analog FromSIMPL
42 1 Total minutes until next meeting Analog ToSIMPL
43 1 Hours until next meeting Analog ToSIMPL
44 1 Minutes until next meeting Analog ToSIMPL
60 1 Camera Number Select/FB. 1 based index. Valid range is 1 to the value reported by CameraCount. Analog ToFromSIMPL
61 1 Reports the number of cameras Analog ToSIMPL
101 1 Directory Select Row and Feedback Analog FromSIMPL
101 1 Directory Row Count FB Analog ToSIMPL
102 1 Reports the number of contact methods for the selected contact Analog FromSIMPL
103 1 Selects a contact method by index Analog FromSIMPL
104 1 Directory Select Row and Feedback Analog ToSIMPL
121 1 Camera Preset Select Analog ToSIMPL
122 1 Far End Preset Preset Select Analog ToSIMPL
151 1 Current Participant Count Analog ToSIMPL
161 1 Meeting Count Analog ToSIMPL
174 1 Volume Level Analog ToFromSIMPL
180 1 Select/FB for Recent Call Item. Valid values 1 - 10 Analog ToFromSIMPL
181 10 Recent Call Occurrence Type. [0-3] 0 = Unknown, 1 = Placed, 2 = Received, 3 = NoAnswer Analog ToSIMPL
191 1 Recent Call Count Analog ToSIMPL
201 1 Presentation set/FB. Valid values are 0 - 6 depending on the codec model. Analog ToFromSIMPL

Serials

Join Number Join Span Description Type Capabilities
1 1 Value to dial when ManualDial digital join is pulsed Serial ToSIMPL
2 1 Phone Dial String Serial FromSIMPL
2 1 Current Call Data - XSIG Serial ToSIMPL
5 1 Sends a serial command to the device. Do not include the delimiter, it will be added automatically. Serial FromSIMPL
22 1 Current Call Direction Serial ToSIMPL
51 1 Incoming Call Name Serial ToSIMPL
52 1 Incoming Call Number Serial ToSIMPL
100 1 Directory Search String Serial FromSIMPL
101 1 Directory Entries - XSig, 255 entries Serial ToSIMPL
102 1 Schedule Data - XSIG Serial ToSIMPL
103 1 Contact Methods - XSig, 10 entries Serial ToSIMPL
104 1 XSig Containing Data for Active Meeting Serial ToSIMPL
105 1 Formatted String Showing Time until room no longer available Serial ToSIMPL
106 1 Formatted String Showing Time to next meeting Serial ToSIMPL
121 1 Camera Preset Names - XSIG, max of 15 Serial ToSIMPL
141 1 Current Layout Fb Serial ToSIMPL
142 1 Select Layout by string Serial FromSIMPL
142 1 xSig of all available layouts Serial ToSIMPL
151 1 Current Participants XSig Serial ToSIMPL
161 10 Camera Name Fb Serial ToSIMPL
171 1 Selected Recent Call Name Serial ToSIMPL
172 1 Selected Recent Call Number Serial ToSIMPL
181 10 Recent Call Names Serial ToSIMPL
191 10 Recent Calls Times Serial ToSIMPL
201 1 Current Source Serial ToSIMPL
211 1 advance selfview position Serial ToSIMPL
301 1 IP Address of device Serial ToSIMPL
302 1 SIP phone number of device Serial ToSIMPL
303 1 E164 alias of device Serial ToSIMPL
304 1 H323 ID of device Serial ToSIMPL
305 1 SIP URI of device Serial ToSIMPL
311 1 WebexSendPin DigitalSerial FromSIMPL
321 1 WidgetEventData Serial ToSIMPL
356 1 Selected Directory Entry Name Serial ToSIMPL
357 1 Selected Directory Entry Number Serial ToSIMPL
358 1 Selected Directory Folder Name Serial ToSIMPL
Config Notes

This configuration matches a standard essentials device configuration at the base level, with only the type being different. This may have the type ciscoRoomOS, as defined in CiscoCodecFactory.

"key": "Codec-1",
    "name": "Video Codec 1",
    "type": "ciscoRoomOS",
    "group": "videoCodec",
    "properties": {
        "control": {
            "endOfLineString": "\n",
            "deviceReadyResponsePattern": "",
            "method": "Ssh",
            "tcpSshProperties": {
                "address": "10.0.0.1",
                "port": 22,
                "autoReconnect": true,
                "AutoReconnectIntervalMs": 10000,
                "username": "admin",
                "password": "tandberg"
            }
        }
    }
}

An example bridge configuration is as follows

"uid": 20,
    "key": "eisc-vc",
    "type": "eiscApiAdvanced",
    "group":"api",
    "name": "EISC VC Bridge",
    "properties": {
        "control":{
            "tcpSshProperties":{
                "address":"127.0.0.2",
                "port":0
            },
            "ipId":"4F"
        },
        "devices": [
            {
                "deviceKey":"Codec-1",
                "joinStart":1                    
            }
        ] 
    }
}

Helful info

in a terminal you can send a string directly to the device, here is an example command using "Codec-1-ssh" as the device port name

devjson:1 {"deviceKey":"Codec-1-ssh","methodName":"SendText", "params": ["xStatus SystemUnit\n"]}

see what methods you can call on the port by sending the following command

devmethods Codec-1-ssh

To see commands send and received you can turn on debugging for the port (1: Rx, 2:Txm 3:Both)

setdevicestreamdebug Codec-1-ssh 1
Product Compatible and additional computed target framework versions.
.NET Framework net35 is compatible.  net40 was computed.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 is compatible.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.5.2-hotfix-132 72 4/4/2024
1.5.1 124 2/26/2024
1.5.1-hotfix-131 103 2/26/2024
1.5.1-hotfix-129 68 2/13/2024
1.5.1-alpha-130 63 2/18/2024
1.5.0 240 12/12/2023
1.4.3-hotfix-127 115 12/12/2023
1.4.3-hotfix-126 113 12/12/2023
1.4.3-hotfix-124 119 11/22/2023
1.4.3-hotfix-123 87 11/22/2023
1.4.3-hotfix-122 85 11/21/2023
1.4.3-hotfix-119 146 9/29/2023
1.4.3-beta-120 83 11/9/2023
1.4.3-alpha-125 90 12/1/2023
1.4.3-alpha-121 76 11/15/2023
1.4.2 181 9/21/2023
1.4.2-hotfix-116 91 9/21/2023
1.4.2-hotfix-110 122 9/14/2023
1.4.2-hotfix-109 135 9/14/2023
1.4.2-hotfix-108 129 9/6/2023
1.4.2-hotfix-107 113 9/5/2023
1.4.2-hotfix-106 124 9/1/2023
1.4.2-alpha-118 115 9/21/2023
1.4.2-alpha-117 95 9/21/2023
1.4.2-alpha-115 111 9/20/2023
1.4.2-alpha-114 139 9/14/2023
1.4.2-alpha-113 127 9/14/2023
1.4.1 174 8/29/2023
1.4.1-hotfix-105 119 8/29/2023
1.4.1-hotfix-104 122 8/28/2023
1.4.1-hotfix-103 115 8/25/2023
1.4.0 150 8/25/2023
1.3.5-hotfix-99 132 8/18/2023
1.3.5-hotfix-98 137 8/17/2023
1.3.5-hotfix-101 128 8/25/2023
1.3.5-hotfix-100 115 8/24/2023
1.3.5-alpha-102 119 8/25/2023
1.3.4 182 8/17/2023
1.2.5-hotfix-97 120 8/15/2023
1.2.5-hotfix-96 118 8/15/2023
1.2.5-hotfix-95 121 8/14/2023
1.2.5-hotfix-93 153 8/2/2023
1.2.5-hotfix-92 156 7/29/2023
1.2.5-hotfix-91 141 7/18/2023
1.2.4 179 7/9/2023
1.2.4-alpha-90 149 7/7/2023
1.2.4-alpha-89 139 7/6/2023
1.2.4-alpha-88 144 6/22/2023
1.2.3 176 6/22/2023
1.2.3-hotfix-86 118 6/21/2023
1.2.3-hotfix-85 127 6/21/2023
1.2.3-hotfix-71 169 4/25/2023
1.2.3-alpha-87 127 6/21/2023
1.2.3-alpha-84 127 6/12/2023
1.2.3-alpha-83 126 6/9/2023
1.2.3-alpha-82 120 5/23/2023
1.2.3-alpha-81 118 5/23/2023
1.2.3-alpha-80 112 5/22/2023
1.2.3-alpha-79 151 5/18/2023
1.2.3-alpha-78 130 5/5/2023
1.2.3-alpha-77 131 4/28/2023
1.2.3-alpha-76 126 4/27/2023
1.2.3-alpha-75 136 4/27/2023
1.2.3-alpha-74 126 4/26/2023
1.2.3-alpha-73 143 4/25/2023
1.2.3-alpha-72 140 4/25/2023
1.2.2 264 4/21/2023
1.2.2-hotfix-70 151 4/21/2023
1.2.1 250 4/21/2023
1.2.1-hotfix-69 149 4/20/2023
1.2.1-hotfix-68 157 4/18/2023
1.2.0 317 4/6/2023
1.1.6-alpha-67 186 4/6/2023
1.1.6-alpha-66 183 3/31/2023
1.1.6-alpha-65 166 3/30/2023
1.1.6-alpha-64 166 3/30/2023
1.1.6-alpha-63 169 3/30/2023
1.1.6-alpha-62 194 3/28/2023
1.1.5 319 3/17/2023
1.1.5-hotfix-61 172 3/17/2023
1.1.5-beta-53 144 2/21/2023
1.1.5-beta-50 148 2/21/2023
1.1.5-alpha-60 151 3/12/2023
1.1.5-alpha-59 155 3/3/2023
1.1.5-alpha-58 153 3/2/2023
1.1.5-alpha-57 152 3/2/2023
1.1.5-alpha-56 149 2/23/2023
1.1.5-alpha-55 149 2/23/2023
1.1.5-alpha-54 149 2/22/2023
1.1.5-alpha-52 141 2/21/2023
1.1.4 309 2/21/2023
1.1.4-hotfix-49 144 2/21/2023
1.1.3 346 2/3/2023
1.1.3-hotfix-48 158 2/2/2023
1.1.3-beta-47 165 2/1/2023
1.1.3-beta-46 161 2/1/2023
1.1.2 346 2/1/2023
1.1.2-hotfix-45 205 1/25/2023
1.1.2-hotfix-44 155 12/29/2022
1.1.2-hotfix-42 142 12/6/2022
1.1.2-hotfix-41 147 12/4/2022
1.1.2-hotfix-40 142 12/4/2022
1.1.2-hotfix-39 148 12/4/2022
1.1.2-hotfix-38 146 12/3/2022
1.1.2-alpha-43 137 12/9/2022
1.1.1 414 11/3/2022
0.0.1-beta-7 155 9/6/2022
0.0.1-beta-6 160 8/18/2022
0.0.1-beta-4 209 7/13/2022
0.0.1-beta-3 181 7/13/2022