Parlé VBC 2800 Network API Control
The Parlé VBC 2800 supports Network API control starting from firmware version 1.6.0. The document provides an overview of the necessary commands and setup procedures in the Biamp Camera Controller to enable these network command functions.
Note: Currently, only the Parlé VBC 2800 conferencing bar has network connectivity with selected Biamp devices.
Biamp Camera Controller Settings
Biamp Camera Controller will provide users with options for enabling or disabling the Ethernet port on the VBC 2800, and when the port is enabled, users will be able to configure the port for Static or DHCP TCP-IP configuration. In order to fully support the use of the Ethernet port, BCC will also provide the ability to configure date and time-related settings on the bar.
Network:
- Enable
- IP Address
- Netmask
- Gateway
- Primary DNS
- Secondary DNS
Primary and Secondary DNS can still be optionally specified when DHCP is enabled.
NTP – Setting time zone, setting the date/time, and setting NTP servers (2 of them).
- Time-related settings:
- Time Zone (drop-down selection of options)(use TZ Data references)
- Date
- Time
- Enable/disable
- NTP server from DHCP enable or disable
- Server IP or host name (text input)
Additional:
- Troubleshooting information
- Display the device MAC Address
- Useful for IP assignment or registration/reservation
- Connected (Carrier) – is the device connected or not?
- Speed – 10/100/1000 duplicate/full-duplex.
- Display the device MAC Address
Network Control
- SSH Enabled/Disabled - Enabled by default, enables or disables SSH services. If the service is disabled while a control user is logged in, their session should be ended.
- Telnet Enabled/Disabled - Disabled by default, enables or disables Telnet services. If the service is disabled while a control user is logged in, their session should be ended.
- Hostname ("default - ParleVBC2800-serial")
- Control Enabled
- Username ("control")
- Password ("default - device serial")
Note: Username and password is required for both Telnet and SSH sessions. The default password(Serial #) may be changed/updated in Biamp Camera Controller as required.
A factory reset of the Parlé bar will revert this value back to the serial until it is updated in Biamp Camera Controller.
Device Commands
The Parle VBC 2800 will respond to the following device command set if the control interface is enabled.
The following commands are supported:
Command Structure | Function | Example command: | Expected return: |
DEVICE get serialNumber |
To get the serial number of the currently connected device. |
DEVICE get serialNumber |
+OK "value":"31248700049" |
DEVICE get version |
To get the firmware version of the currently connected device. |
DEVICE get version |
+OK "value":"1.5.0" |
DEVICE reboot |
To reboot the device. |
DEVICE reboot |
+OK |
Input Source Control
The Parle VBC 2800 speaker output has the option to select (or mix) between the following sources:
- Input #0 – USB Only – (was default in 1.5.0)
- Input #1 – Analog Only
- Input #2 – USB/Analog Mixed – default (from 1.6.0 onwards)
Note that these settings persist between reboots.
USB audio is stereo through to the speaker/ALS DSP processing blocks.
Analog audio is mono but then duplicated through the router block to the speaker/ALS processing blocks.
The following commands are supported:
Command Structure | Function | Example command: | Expected return: |
InputSource get input |
Gets the currently selected input. The return value will be a single digit, which can be decoded below:
|
InputSource get input |
+OK "value":0 |
InputSource set input <input – 0...2> |
Sets the currently selected input: The <input> uses the same decoding that the GET command uses. The user may only set a value in the range of 0 to 2 for this command. |
InputSource set input 1 |
+OK |
ALS Source Control
The Parlé VBC 2800 ALS output has the option to select (or mix) between the following sources:
- Disabled (no audio is routed to the ALS output)
- Far End Only (i.e. audio from USB Playback path of USB Host and/or Analog Input, depending on inputSource control)
- Near End Only (i.e. audio from the microphone)
- Far and Near End Mixed
Note that these settings persist between reboots.
USB audio is stereo through to the speaker/ALS DSP processing blocks.
Analog audio is mono but then duplicated through the router block to the speaker/ALS processing blocks.
Microphone audio is pre-AI noise reduction to minimize latency.
The following commands are supported:
Command Structure | Function | Example command: | Expected return: |
ALSSource get input |
Gets the currently selected input. The return value will be a single digit, which can be decoded below:
|
ALSSource get input |
+OK "value":0
|
ALSSource set input <input – 0...3> |
Sets the currently selected ALS input: The <input> uses the same decoding that the get command uses. The user may only set a value in the range of 0 to 3 for this command. |
ALSSource set input 1 |
+OK |
Analog Input Level Control
There are two independent ways to manage the overall analog input gain for the VBC 2800:
Gain Settings:
- Gain settings refer to the “pre-gain” added by the Analog Input codec
- Gain settings are defined in dB
- Gain settings range from 0.0 to 24.0dB in 3dB steps
- Default gain is 0dB (i.e. unity gain)
- Increasing gain will decrease input dynamic range
Level Settings:
- Level settings refer to the “digital” gain added by the internal DSP
- Levels settings are defined in dB
- Full level range is from –100.0 to 12.0dB
- Default level is 0.0 dB (i.e. unity gain)
- minLevel default is –100.0dB
- maxLevel default is 0.0dB
- Trying to use the set command to set the level outside of the minLevel and maxLevel commands will result in a bounds error from text processor
- Using the increment and decrement commands to adjust the level when the increment (or decrement) will take it past maxLevel (or minLevel) will cause the set level to ceil (or floor) against the maxLevel (or minLevel)
- Adjusting the minLevel or maxLevel commands will adjust the current level if it becomes outside the new limits
Note that if the InputSource is USB Only, then the following commands will execute successfully, and the gain will be adjusted, but will not take effect until the input switch is changed to analog input or analog/USB mix mode.
The following commands are supported:
Command Structure | Function | Example command: | Expected return: |
Get the analog input gain |
Gets the level of the analog input gain setting. |
AnalogInput get gain |
+OK "value":6.0 |
AnalogInput set gain <float> |
Sets the level of the analog input gain using <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput set gain 3.0 |
+OK |
AnalogInput get level |
Gets the level of the analog input. |
AnalogInput get level |
+OK "value":-6.0 |
AnalogInput set level <float> |
Sets the level of the analog input using <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput set level –3.0 |
+OK |
AnalogInput increment level <float> |
Increments the level of the analog input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput increment level 1.0 |
+OK |
AnalogInput decrement level <float> |
Decrements the level of the analog input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput decrement level 1.0 |
+OK |
AnalogInput get minLevel | Gets the minLevel of the analog input. | AnalogInput get minLevel | +OK "value":-100.0 |
AnalogInput set minLevel <float> |
Sets the minLevel of the analog input using <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput set minLevel –40.0 |
+OK |
AnalogInput increment minLevel <float> |
Increments the level of the analog min input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput increment minLevel 10.0 |
+OK |
AnalogInput decrement minLevel <float> |
Decrements the level of the analog min input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput decrement minlevel 10.0 |
+OK |
AnalogInput get maxLevel | Gets the maxLevel of the analog input. | AnalogInput get maxLevel | +OK "value":0.0 |
AnalogInput set maxLevel <float> |
Sets the maxLevel of the analog input using <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput set maxLevel –6.0 |
+OK |
AnalogInput increment maxLevel <float> |
Increments the level of the analog max input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput increment maxLevel 10.0 |
+OK |
AnalogInput decrement maxLevel <float> |
Decrements the level of the analog max input by <float> - note that these changes only take apparent effect when in analog input or analog/USB mix mode. |
AnalogInput decrement maxlevel 10.0 |
+OK |
AnalogInput get mute | Get the analog mute state | AnalogInput get mute | +OK "value":false |
AnalogInput set mute <true or false> |
Mutes or unmutes the analog input, note that these changes only take apparent affect when in analog input or analog/USB mix mode. |
AnalogInput set mute true |
+OK |
AnalogInput toggle mute | Toggles the mute state of the analog input. | AnalogInput toggle mute | +OK |
Microphone ALS Input Level Control
The level of the microphone input that is fed to the ALS output is controlled via this command, the following notes apply:
- Level settings refer to the “digital” gain added by the internal DSP
- Levels settings are defined in dB
- Full level range is from –100.0 to 12.0dB
- Default level is 0.0 dB (i.e. unity gain)
- minLevel default is –100.0dB
- maxLevel default is 0.0dB
- Trying to use the set command to set the level outside of the minLevel and maxLevel commands will result in a bounds error from the text processor
- Using the increment and decrement commands to adjust the level when the increment (or decrement) will take it past maxLevel (or minLevel) will cause the set level to ceil (or floor) against the maxLevel (or minLevel)
- Adjusting the minLevel or maxLevel commands will adjust the current level if it becomes outside the new limits
Note that if the alsSource is Disabled or Far End Only, then the following commands will execute successfully, and the gain will be adjusted, but will not take effect until the alsSource is switched back to Near End or Far and Near End Mix modes.
The following commands are supported:
Command Structure | Function | Example command: | Expected return: |
MicrophoneALSInput get level | Gets the level of the microphone input. | MicrophoneALSInput get level | +OK "value":-6.0 |
MicrophoneALSInput set level <float> |
Sets the level of the microphone input using <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput set level –3.0 |
+OK |
MicrophoneALSInput increment level <float> |
Increments the level of the microphone input by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput increment level 1.0 |
+OK |
MicrophoneALSInput decrement level <float> |
Decrements the level of the microphone input by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput decrement level 1.0 |
+OK |
MicrophoneALSInput get minLevel |
Gets the min Level of the microphone input. |
MicrophoneALSInput get minLevel |
+OK "value":-100.0 |
MicrophoneALSInput set minLevel <float> |
Sets the min Level of the microphone input using <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput set minLevel –40.0 |
+OK |
MicrophoneALSInput increment minLevel <float> | Increment the level of the microphone's min input by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. | MicrophoneALSInput increment minLevel 10.0 | +OK |
MicrophoneALSInput decrement minlevel <float> | Decrements the level of the microphone's min input by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. | MicrophoneALSInput decrement minlevel 10.0 | +OK |
MicrophoneALSInput get maxLevel | Gets the max Level of the microphone input. | MicrophoneALSInput get maxLevel | +OK "value":0.0 |
MicrophoneALSInput set maxLevel <float> |
Sets the maxLevel of the microphone input using <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput set maxLevel –6.0 |
+OK |
MicrophoneALSInput increment maxLevel <float> |
Increments the level of the microphone maxLnput by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput increment maxLevel 10.0 |
+OK |
MicrophoneALSInput decrement maxlevel <float> |
Decrements the level of the microphone maxLnput by <float> - note that these changes only take apparent effect when in Near End or Far and Near End Mix modes. |
MicrophoneALSInput decrement maxlevel 10.0 |
+OK |
MicrophoneALSInput get mute |
Gets the microphone mute state |
MicrophoneALSInput get mute |
+OK "value":false |
MicrophoneALSInput set mute <true or false> |
Mutes or unmutes the microphone input, note that these changes only take apparent affect when in Near End or Far and Near End Only Mix modes. |
MicrophoneALSInput set mute true |
+OK |
MicrophoneALSInput toggle mute | Toggles the mute state of the microphone input. | MicrophoneALSInput toggle mute | +OK |
Camera Control
The Parlé VBC 2800 camera can be controlled using the following commands:
Command Structure | Function | Example command: | Expected return: |
Camera get streaming |
This command returns whether the camera is currently streaming video. This is a read-only property. |
Camera get streaming |
+OK "value":1 |
Camera get autoframing |
The camera supports an autoframing feature that automatically adjusts pan, tilt, and zoom to keep subjects in frame. |
Camera get autoframing |
+OK "value":1 |
Camera set autoframing <true or false> |
Sets the autoframing state |
Camera set autoframing true |
+OK |
Camera toggle autoframing |
Toggle the autoframing state. Note: If autoframing is set to true, manual pan, tilt, and zoom controls will not take effect. |
Camera toggle autoframing |
+OK |
Pan
The camera supports panning left and right. Pan values range from -100 (full left) to 100 (full right). Note that when the zoom value is 1.0 the pan setting will have no apparent effect.
Command Structure | Function | Example command: | Expected return: |
Camera get pan |
Get the current pan position |
Camera get pan |
+OK "value":0 |
Camera set pan <value> |
Set the pan position |
Camera set pan 50 |
+OK |
Camera increment pan <amount> |
Increment the pan position |
Camera increment pan 10 |
+OK |
Camera decrement pan <amount> |
Decrement the pan position |
Camera decrement pan 10 |
+OK |
Camera get minPan | Get the minimum pan value | Camera get minPan | +OK"value":-100 |
Camera get maxPan | Get the maximum pan value | Camera get maxPan | +OK "value":100 |
Tilt
The camera supports tilting up and down. Tilt values range from -100 (full down) to 100 (full up). Note that when the zoom value is 1.0, the tilt setting will have no apparent effect.
Command Structure | Function | Example command: | Expected return: |
Camera get tilt |
Get the current tile position |
Camera get tilt |
+OK "value":0 |
Camera set tilt <value> |
Set the tilt position |
Camera set tilt 50 |
+OK |
Camera increment tilt <amount> |
Increment the tilt position |
Camera increment tilt 10 |
+OK |
Camera decrement tilt <amount> |
Decrement the tilt position |
Camera decrement tilt 10 |
+OK |
Camera get minTilt | Get the minimum tilt value | Camera get minTilt | +OK"value":-100 |
Camera get maxTilt | Get the maximum tilt value | Camera get maxTilt | +OK "value":100 |
Zoom
The camera supports zoom functionality. Zoom values are represented with one decimal place precision, with 1.0 being the minimum zoom (widest field of view) and the maximum zoom depends on both the lens setting (auto, 12MP or 50MP) and the Max Zoom setting (which is not available to be set via this API as it restarts the device).
Command Structure | Function | Example command: | Expected return: |
Camera get zoom |
Get the current zoom level |
Camera get zoom |
+OK "value":1.0 |
Camera set zoom <value> |
Set the zoom level |
Camera set zoom 2.5 |
+OK |
Camera increment zoom <value> |
Increment the zoom level |
Camera increment zoom 0.5 |
+OK |
Camera decrement zoom <value> |
Decrement the zoom level |
Camera decrement zoom 0.5 |
+OK |
Camera get minZoom | Get the minimum zoom value | Camera get minZoom | +OK "value":1.0 |
Camera get maxZoom | Get the maximum zoom value | Camera get maxZoom | +OK "value":5.0 |
Camera Presets
The camera supports saving and recalling position presets. There are 3 available preset positions (0-2).
Command Structure | Function | Example command: | Expected return: |
Camera set presetSave <position> |
Save a preset |
Camera set presetSave 1 |
+OK |
Camera set presetRecall <position> |
Recall a preset |
Camera set presetRecall 1 |
+OK |
Backlight Compensation
The camera supports backlight compensation to improve image quality in challenging lighting conditions.
Command Structure | Function | Example command: | Expected return: |
Camera get backlightCompensation |
Get the backlight compensation state |
Camera get backlightCompensation |
+OK "value":1 |
Camera set backlightCompensation <true or false> |
Set the backlight compensation state |
Camera set backlightCompensation true |
+OK
|
Camera toggle backlightCompensation |
Toggle the backlight compensation state |
Camera toggle backlightCompensation |
+OK
|
Image Flip and Mirror
The camera supports flipping the image vertically (flip) and horizontally (mirror).
Command Structure | Function | Example command: | Expected return: |
Camera get flip |
Get the flip state |
Camera get flip |
+OK "value":1 |
Camera set flip <true or false> |
Set the flip state |
Camera set flip true |
+OK |
Camera toggle flip |
Toggle the flip state |
Camera toggle flip |
+OK |
Camera get mirror |
Get the mirror state |
Camera get mirror |
+OK "value":1 |
Camera set mirror <true or false> | Set the mirror state | Camera set mirror true | +OK |
Camera toggle mirror | Toggle the mirror state | Camera toggle mirror | +OK |
USB Input Control
The Parle VBC 2800 USB input (Speaker and ALS path when applicable) can be controlled via the following commands.
Connection and Streaming Status
Command Structure | Function | Example command: | Expected return: |
USBIn get connected |
Get the USB input connection status. This is a read-only property. |
USBIn get connected |
+OK "value":1 |
USBIn get streaming |
Get the USB input streaming status. This is a read-only property. |
USBIn get streaming |
+OK "value":1 |
Level
The USB input level can be controlled from 0 to 100, but should follow the Microsoft Windows volume slider. The minLevel and maxLevel are read-only and are fixed at the previously mentioned range.
Command Structure | Function | Example command: | Expected return: |
USBIn get level |
Get the USB input level |
USBIn get level |
+OK "value":75 |
USBIn set level <level> |
Set the USB input level |
USBIn set level 50 |
+OK |
USBIn increment level <level> | Increment the USB input level | USBIn increment level 5 | +OK "value":80 |
USBIn decrement level <level> | Decrement the USB input level | USBIn decrement level 5 | +OK "value":75 |
USBIn get minLevel | Get the minimum USB input level | USBIn get minLevel | +OK "value":0.0 |
USBIn get maxLevel | Get the maximum USB input level | USBIn get maxLevel | +OK "value":100.0 |
Mute
USBIn get mute | USBIn get mute | USBIn get mute | USBIn get mute |
USBIn get mute |
Get the USB input mute state |
USBIn get mute |
+OK "value":0 |
USBIn set mute <true or false> | Set the USB input mute state | USBIn set mute true | +OK |
USBIn toggle mute | Toggle the USB input mute state | USBIn toggle mute | +OK |
USB Output Control
The Parle VBC 2800 USB output (playback) can be controlled via the following commands.
Connection and Streaming Status
Command Structure | Function | Example command: | Expected return: |
USBOut get connected |
Get the USB output connection status. This is a read-only property. |
USBOut get connected |
+OK "value":1 |
USBOut get streaming |
Get the USB output streaming status. This is a read-only property. |
USBOut get streaming |
+OK "value":1 |
Level
The USB output level can be controlled from 0 to 100, but should follow the Microsoft Windows volume slider. The minLevel and maxLevel are read-only and are fixed at the previously mentioned range.
Command Structure | Function | Example command: | Expected return: |
USBOut get level |
Get the USB output level |
USBOut get level |
+OK "value":75 |
USBOut set level <level> |
Set the USB output level |
USBOut set level 50 |
+OK |
USBOut increment level <level> | Increment the USB output level | USBOut increment level 5 | +OK "value":80 |
USBOut decrement level <level> | Decrement the USB output level | USBOut decrement level 5 | +OK "value":75 |
USBOut get minLevel | Get the minimum USB output level | USBOut get minLevel | +OK "value":0.0 |
USBOut get maxLevel | Get the maximum USB output level | USBOut get maxLevel | +OK "value":100.0 |
Mute
USBIn get mute | USBIn get mute | USBIn get mute | USBIn get mute |
USBOut get mute |
Get the USB output mute state |
USBOut get mute |
+OK "value":0 |
USBOut set mute <true or false> | Set the USB output mute state
Note that both this set command and the toggle command will also affect the USB HID Telephony Mute state as well as the USB UAC Volume if in a UC Client call. Note that USB UAC Volume set by the host will only affect the USB UAC Volume and will not set the USB HID Telephony Mute state. |
USBOutset mute true | +OK |
USBOut toggle mute | Toggle the USB output mute state | USBOut toggle mute | +OK |
Hook
This command returns whether the device is currently "off hook" (true) or "on hook" (false) for telephony applications. This is a read-only property.
Command Structure | Function | Example command: | Expected return: |
USBOut get hook
|
Returns whether the device is currently "off hook" (true) or "on hook" (false) for telephony applications. This is a read-only property. |
USBOut get hook |
+OK "value":1 |
Subscription Service Control
The Parlé VBC 2800 supports a subscription mechanism that allows clients to receive notifications when specific parameters change. This enables real-time monitoring without constant polling.
Note that you can only subscribe to attributes that are either read-write OR read-only but can change. For example, the camera minTilt, if fixed at –100 (read-only) and never changes, therefore you would not be able to subscribe to this setting. But the camera streaming setting is read-only but can change depending on the camera streaming state.
Subscriptions are tied to the client's session and are automatically removed when the client disconnects. Clients must reestablish subscriptions after reconnecting.
A maximum of 50 subscriptions per client is allowed. Subscription notifications are sent only when the value actually changes. The minimum notification interval is 100 ms
Subscribe
<subject> subscribe <attribute> <subscription name> <max rate>
Subject can be one of the following:
- ALSSource
- AnalogInput
- Camera
- InputSource
- MicrophoneALSInput
- USBIn
- USBOut
Example command: | Expected return: |
Camera subscribe tilt MyTiltSubscription 500 |
! "publishToken":"MyTiltSubscription" "value":0 +OK |
This command subscribes to changes in the specified component's attribute. When the attribute changes, a notification will be sent to the client. The subscription is identified by the <subscription name> parameter, which must be unique for each subscription.
The optional time parameter (in milliseconds) specifies the minimum interval between notifications and will be rounded up to the nearest 100 ms. If omitted, notifications are sent immediately when changes occur.
Unsubscribe
This command removes the subscription identified by the <subscription name>.
unsubscribe <subscription name>
Example command: | Expected return: |
unsubscribe MyTiltSubscription | +OK |