Engage Engine API  1.243.9083
Loading...
Searching...
No Matches
AppConfigurationObjects::Group Class Reference

Group Configuration. More...

#include <ConfigurationObjects.h>

Inherits AppConfigurationObjects::ConfigurationObjectBase.

Public Types

enum  Type_t { gtUnknown = 0 , gtAudio = 1 , gtPresence = 2 , gtRaw = 3 }
 Enum describing the group types. More...
 
enum  BridgingOpMode_t { bomRaw = 0 , bomPayloadTransformation = 1 , bomAnonymousMixing = 2 , bomLanguageTranslation = 3 }
 Enum describing bridging operation mode types where applicable. More...
 
enum  InboundAliasGenerationPolicy_t { iagpAnonymousAlias = 0 , iagpSsrcInHex = 1 }
 Enum describing the alias generation policy. More...
 

Public Member Functions

void clear ()
 
- Public Member Functions inherited from AppConfigurationObjects::ConfigurationObjectBase
virtual void initForDocumenting ()
 
virtual std::string toString ()
 
virtual bool isDocumenting () const
 

Public Attributes

Type_t type
 Specifies the group type (see Type_t).
 
BridgingOpMode_t bom
 Specifies the bridging operation mode if applicable (see BridgingOpMode_t).
 
std::string id
 Unique identity for the group.
 
std::string name
 The human readable name for the group.
 
std::string spokenName
 The group name as spoken - typically by a text-to-speech system

 
std::string interfaceName
 The name of the network interface to use for multicasting for this group. If not provided, the Engine's default multicast NIC is used.
 
NetworkAddress rx
 The network address for receiving network traffic on.
 
NetworkAddress tx
 The network address for transmitting network traffic to.
 
NetworkTxOptions txOptions
 Transmit options for the group (see NetworkTxOptions).
 
TxAudio txAudio
 Audio transmit options such as codec, framing size etc (see TxAudio).
 
Presence presence
 Presence configuration (see Presence).
 
std::string cryptoPassword
 Password to be used for encryption. Note that this is not the encryption key but, rather, the hexidecimal representation of the baseline material to be used in a PBFDK2 algorithm for key derivation.
 
bool lbCrypto
 [Optional, Default: false] Use low-bandwidth crypto
 
std::vector< Rallypointrallypoints
 [DEPRECATED] List of Rallypoint (s) the Group should use to connect to a Rallypoint router. Use RallypointCluster instead.
 
RallypointCluster rallypointCluster
 Cluster of one or more Rallypoints the group may use.
 
Audio audio
 Sets audio properties like which audio device to use, audio gain etc (see Audio).
 
GroupTimeline timeline
 Audio timeline is configuration.
 
std::string alias
 User alias to transmit as part of the realtime audio stream when using the engageBeginGroupTx API.

 
bool blockAdvertising
 [Optional, Default: false] Set this to true if you do not want the Engine to advertise this Group on the Presence group.
 
std::string source
 [Optional, Default: null] Indicates the source of this configuration - e.g. from the application or discovered via Magellan
 
int maxRxSecs
 [Optional, Default: 0] Maximum number of seconds the Engine will receive for on this group.
 
bool enableMulticastFailover
 [Optional, Default: false] Set this to true to enable failover to multicast operation if a Rallypoint connection cannot be established.
 
int multicastFailoverSecs
 [Optional, Default: 10] Specifies the number fo seconds to wait after Rallypoint connection failure to switch to multicast operation.
 
NetworkAddress rtcpPresenceRx
 The network address for receiving RTCP presencing packets.
 
std::vector< std::string > presenceGroupAffinities
 List of presence group IDs with which this group has an affinity.
 
bool disablePacketEvents
 [Optional, Default: false] Disable packet events.
 
int rfc4733RtpPayloadId
 [Optional, Default: 0] The RTP payload ID by which to identify (RX and TX) payloads encoded according to RFC 4733 (RFC 2833).
 
std::vector< RtpPayloadTypeTranslationinboundRtpPayloadTypeTranslations
 [Optional] A vector of translations from external entity RTP payload types to those used by Engage
 
GroupPriorityTranslation priorityTranslation
 [Optional] Describe how traffic for this group on a different addressing scheme translates to priority for the group
 
int stickyTidHangSecs
 [Optional, Default: 10] The number of seconds after which "sticky" transmission IDs expire.
 
std::string anonymousAlias
 [Optional] Alias to use for inbound streams that do not have an alias component

 
GroupAppTransport appTransport
 [Optional] Settings necessary if the group is transported via an application-supplied custom transport

 
bool allowLoopback
 [Optional, Default: false] Allows for processing of looped back packets - primarily meant for debugging

 
RtpProfile rtpProfile
 [Optional] RTP profile the group

 
RangerPackets rangerPackets
 [Optional] Ranger packet options

 
bool _wasDeserialized_rtpProfile
 [Internal - not serialized

 
TransportImpairment txImpairment
 [Optional] The TX impairment to apply
 
TransportImpairment rxImpairment
 [Optional] The RX impairment to apply
 
std::vector< uint16_t > specializerAffinities
 List of specializer IDs that the local node has an affinity for/member of.
 
uint32_t securityLevel
 [Optional, Default: 0] The security classification level of the group.
 
std::vector< SourceignoreSources
 [Optional] List of sources to ignore for this group
 
std::string languageCode
 ISO 639-2 language code for the group

 
std::string synVoice
 Name of the synthesis voice to use for the group

 
PacketCapturer rxCapture
 Details for capture of received packets

 
PacketCapturer txCapture
 Details for capture of transmitted packets

 
uint16_t blobRtpPayloadType
 [Optional, Default: ENGAGE_DEFAULT_BLOB_RTP_PAYLOAD_TYPE] The RTP payload type to be used for blobs sent over RTP (see BlobInfo)
 
InboundAliasGenerationPolicy_t inboundAliasGenerationPolicy
 [Optional, Default: iagpAnonymousAlias]

 
AudioGate gateIn
 [Optional] Inbound gating of audio - only audio allowed through by the gate will be processed
 
bool ignoreAudioTraffic
 [Optional, Default: false] Indicates that the group should ignore traffic that is audio-related
 
- Public Attributes inherited from AppConfigurationObjects::ConfigurationObjectBase
nlohmann::json _attached
 

Additional Inherited Members

- Protected Attributes inherited from AppConfigurationObjects::ConfigurationObjectBase
bool _documenting
 

Detailed Description

Group Configuration.

This describes all the group properties for all supported group types

Example:

{
"alias": "",
"audio": {
"inputGain": 0,
"inputId": 0,
"outputId": 0,
"outputLevelLeft": 100,
"outputLevelRight": 100
},
"blockAdvertising": false,
"cryptoPassword": "",
"id": "",
"interfaceName": "",
"name": "",
"presence": {
"forceOnAudioTransmit": false,
"format": 0,
"intervalSecs": 30,
"listenOnly": false
},
"rallypoints": [],
"rx": {
"address": "",
"port": 0
},
"timeline": {
"enabled": true,
"maxAudioTimeMs": 30000
},
"tx": {
"address": "",
"port": 0
},
"txAudio": {
"debug": false,
"encoder": 0,
"extensionSendInterval": 10,
"fdx": false,
"framingMs": 60,
"initialHeaderBurst": 5,
"maxTxSecs": 0,
"maxRxSecs": 0,
"noHdrExt": false,
"trailingHeaderBurst": 5,
"userTxFlags": 0,
"userTxPriority": 0
},
"txOptions": {
"priority": 4,
"ttl": 128
},
"type": 0
}
See also
engageCreateGroup

Definition at line 4515 of file ConfigurationObjects.h.

Member Enumeration Documentation

◆ BridgingOpMode_t

Enum describing bridging operation mode types where applicable.

Enumerator
bomRaw 

Raw mode (default) - packet payloads are not accessed or modified and forwarded as raw packets.

bomPayloadTransformation 

Audio payloads are transformed, headers are preserved, multiple parallel output streams are possible/expected.

bomAnonymousMixing 

Audio payloads are mixed - output is anonymous (i.e. no metadata) if if the target group(s) allow header extensions.

bomLanguageTranslation 

The bridge performs language translations between groups.

Definition at line 4539 of file ConfigurationObjects.h.

◆ InboundAliasGenerationPolicy_t

Enum describing the alias generation policy.

Enumerator
iagpAnonymousAlias 

Use the anonymousAlias if present.

iagpSsrcInHex 

Generate hex representation of SSRC.

Definition at line 4555 of file ConfigurationObjects.h.

◆ Type_t

Enum describing the group types.

Enumerator
gtUnknown 

Unknown group type.

gtAudio 

Audio group type. This group is used to transmit Audio.

gtPresence 

Presence group type. This group is use to relay presence data to all nodes that are configured for the same presence group.

gtRaw 

Raw group type. No special processing is performed on raw groups - the payload is siomply seen as a binary object to be typically handled by the application logic.

Definition at line 4522 of file ConfigurationObjects.h.

Constructor & Destructor Documentation

◆ Group()

AppConfigurationObjects::Group::Group ( )
inline

Definition at line 4726 of file ConfigurationObjects.h.

Member Function Documentation

◆ clear()

void AppConfigurationObjects::Group::clear ( )
inline

Definition at line 4731 of file ConfigurationObjects.h.

Member Data Documentation

◆ _wasDeserialized_rtpProfile

bool AppConfigurationObjects::Group::_wasDeserialized_rtpProfile

[Internal - not serialized

Definition at line 4685 of file ConfigurationObjects.h.

◆ alias

std::string AppConfigurationObjects::Group::alias

User alias to transmit as part of the realtime audio stream when using the engageBeginGroupTx API.

Definition at line 4627 of file ConfigurationObjects.h.

◆ allowLoopback

bool AppConfigurationObjects::Group::allowLoopback

[Optional, Default: false] Allows for processing of looped back packets - primarily meant for debugging

Definition at line 4676 of file ConfigurationObjects.h.

◆ anonymousAlias

std::string AppConfigurationObjects::Group::anonymousAlias

[Optional] Alias to use for inbound streams that do not have an alias component

Definition at line 4670 of file ConfigurationObjects.h.

◆ appTransport

GroupAppTransport AppConfigurationObjects::Group::appTransport

[Optional] Settings necessary if the group is transported via an application-supplied custom transport

Definition at line 4673 of file ConfigurationObjects.h.

◆ audio

Audio AppConfigurationObjects::Group::audio

Sets audio properties like which audio device to use, audio gain etc (see Audio).

Definition at line 4615 of file ConfigurationObjects.h.

◆ blobRtpPayloadType

uint16_t AppConfigurationObjects::Group::blobRtpPayloadType

[Optional, Default: ENGAGE_DEFAULT_BLOB_RTP_PAYLOAD_TYPE] The RTP payload type to be used for blobs sent over RTP (see BlobInfo)

Definition at line 4715 of file ConfigurationObjects.h.

◆ blockAdvertising

bool AppConfigurationObjects::Group::blockAdvertising

[Optional, Default: false] Set this to true if you do not want the Engine to advertise this Group on the Presence group.

Definition at line 4630 of file ConfigurationObjects.h.

◆ bom

BridgingOpMode_t AppConfigurationObjects::Group::bom

Specifies the bridging operation mode if applicable (see BridgingOpMode_t).

Definition at line 4568 of file ConfigurationObjects.h.

◆ cryptoPassword

std::string AppConfigurationObjects::Group::cryptoPassword

Password to be used for encryption. Note that this is not the encryption key but, rather, the hexidecimal representation of the baseline material to be used in a PBFDK2 algorithm for key derivation.

Definition at line 4603 of file ConfigurationObjects.h.

◆ disablePacketEvents

bool AppConfigurationObjects::Group::disablePacketEvents

[Optional, Default: false] Disable packet events.

Definition at line 4655 of file ConfigurationObjects.h.

◆ enableMulticastFailover

bool AppConfigurationObjects::Group::enableMulticastFailover

[Optional, Default: false] Set this to true to enable failover to multicast operation if a Rallypoint connection cannot be established.

Definition at line 4643 of file ConfigurationObjects.h.

◆ gateIn

AudioGate AppConfigurationObjects::Group::gateIn

[Optional] Inbound gating of audio - only audio allowed through by the gate will be processed

Definition at line 4721 of file ConfigurationObjects.h.

◆ id

std::string AppConfigurationObjects::Group::id

Unique identity for the group.

NOTE: Groups configured with the same multicast addresses but with different id's will NOT be routed correctly via RallyPoints as they are considered different streams.

Definition at line 4576 of file ConfigurationObjects.h.

◆ ignoreAudioTraffic

bool AppConfigurationObjects::Group::ignoreAudioTraffic

[Optional, Default: false] Indicates that the group should ignore traffic that is audio-related

Definition at line 4724 of file ConfigurationObjects.h.

◆ ignoreSources

std::vector<Source> AppConfigurationObjects::Group::ignoreSources

[Optional] List of sources to ignore for this group

Definition at line 4700 of file ConfigurationObjects.h.

◆ inboundAliasGenerationPolicy

InboundAliasGenerationPolicy_t AppConfigurationObjects::Group::inboundAliasGenerationPolicy

[Optional, Default: iagpAnonymousAlias]

Definition at line 4718 of file ConfigurationObjects.h.

◆ inboundRtpPayloadTypeTranslations

std::vector<RtpPayloadTypeTranslation> AppConfigurationObjects::Group::inboundRtpPayloadTypeTranslations

[Optional] A vector of translations from external entity RTP payload types to those used by Engage

Definition at line 4661 of file ConfigurationObjects.h.

◆ interfaceName

std::string AppConfigurationObjects::Group::interfaceName

The name of the network interface to use for multicasting for this group. If not provided, the Engine's default multicast NIC is used.

Definition at line 4585 of file ConfigurationObjects.h.

◆ languageCode

std::string AppConfigurationObjects::Group::languageCode

ISO 639-2 language code for the group

Definition at line 4703 of file ConfigurationObjects.h.

◆ lbCrypto

bool AppConfigurationObjects::Group::lbCrypto

[Optional, Default: false] Use low-bandwidth crypto

Definition at line 4606 of file ConfigurationObjects.h.

◆ maxRxSecs

int AppConfigurationObjects::Group::maxRxSecs

[Optional, Default: 0] Maximum number of seconds the Engine will receive for on this group.

When the time limit is exceeded, the Engine will fire a PFN_ENGAGE_GROUP_MAX_RX_TIME_EXCEEDED event.

Definition at line 4640 of file ConfigurationObjects.h.

◆ multicastFailoverSecs

int AppConfigurationObjects::Group::multicastFailoverSecs

[Optional, Default: 10] Specifies the number fo seconds to wait after Rallypoint connection failure to switch to multicast operation.

Definition at line 4646 of file ConfigurationObjects.h.

◆ name

std::string AppConfigurationObjects::Group::name

The human readable name for the group.

Definition at line 4579 of file ConfigurationObjects.h.

◆ presence

Presence AppConfigurationObjects::Group::presence

Presence configuration (see Presence).

Definition at line 4600 of file ConfigurationObjects.h.

◆ presenceGroupAffinities

std::vector<std::string> AppConfigurationObjects::Group::presenceGroupAffinities

List of presence group IDs with which this group has an affinity.

Definition at line 4652 of file ConfigurationObjects.h.

◆ priorityTranslation

GroupPriorityTranslation AppConfigurationObjects::Group::priorityTranslation

[Optional] Describe how traffic for this group on a different addressing scheme translates to priority for the group

Definition at line 4664 of file ConfigurationObjects.h.

◆ rallypointCluster

RallypointCluster AppConfigurationObjects::Group::rallypointCluster

Cluster of one or more Rallypoints the group may use.

Definition at line 4612 of file ConfigurationObjects.h.

◆ rallypoints

std::vector<Rallypoint> AppConfigurationObjects::Group::rallypoints

[DEPRECATED] List of Rallypoint (s) the Group should use to connect to a Rallypoint router. Use RallypointCluster instead.

Definition at line 4609 of file ConfigurationObjects.h.

◆ rangerPackets

RangerPackets AppConfigurationObjects::Group::rangerPackets

[Optional] Ranger packet options

Definition at line 4682 of file ConfigurationObjects.h.

◆ rfc4733RtpPayloadId

int AppConfigurationObjects::Group::rfc4733RtpPayloadId

[Optional, Default: 0] The RTP payload ID by which to identify (RX and TX) payloads encoded according to RFC 4733 (RFC 2833).

Definition at line 4658 of file ConfigurationObjects.h.

◆ rtcpPresenceRx

NetworkAddress AppConfigurationObjects::Group::rtcpPresenceRx

The network address for receiving RTCP presencing packets.

Definition at line 4649 of file ConfigurationObjects.h.

◆ rtpProfile

RtpProfile AppConfigurationObjects::Group::rtpProfile

[Optional] RTP profile the group

Definition at line 4679 of file ConfigurationObjects.h.

◆ rx

NetworkAddress AppConfigurationObjects::Group::rx

The network address for receiving network traffic on.

Definition at line 4588 of file ConfigurationObjects.h.

◆ rxCapture

PacketCapturer AppConfigurationObjects::Group::rxCapture

Details for capture of received packets

Definition at line 4709 of file ConfigurationObjects.h.

◆ rxImpairment

TransportImpairment AppConfigurationObjects::Group::rxImpairment

[Optional] The RX impairment to apply

Definition at line 4691 of file ConfigurationObjects.h.

◆ securityLevel

uint32_t AppConfigurationObjects::Group::securityLevel

[Optional, Default: 0] The security classification level of the group.

Definition at line 4697 of file ConfigurationObjects.h.

◆ source

std::string AppConfigurationObjects::Group::source

[Optional, Default: null] Indicates the source of this configuration - e.g. from the application or discovered via Magellan

Definition at line 4633 of file ConfigurationObjects.h.

◆ specializerAffinities

std::vector<uint16_t> AppConfigurationObjects::Group::specializerAffinities

List of specializer IDs that the local node has an affinity for/member of.

Definition at line 4694 of file ConfigurationObjects.h.

◆ spokenName

std::string AppConfigurationObjects::Group::spokenName

The group name as spoken - typically by a text-to-speech system

Definition at line 4582 of file ConfigurationObjects.h.

◆ stickyTidHangSecs

int AppConfigurationObjects::Group::stickyTidHangSecs

[Optional, Default: 10] The number of seconds after which "sticky" transmission IDs expire.

Definition at line 4667 of file ConfigurationObjects.h.

◆ synVoice

std::string AppConfigurationObjects::Group::synVoice

Name of the synthesis voice to use for the group

Definition at line 4706 of file ConfigurationObjects.h.

◆ timeline

GroupTimeline AppConfigurationObjects::Group::timeline

Audio timeline is configuration.

Specifies how the Engine should record times lines. Timelines are used for instant replay and audio archival.

See also
engageQueryGroupTimeline, PFN_ENGAGE_GROUP_TIMELINE_EVENT_??? events

Definition at line 4624 of file ConfigurationObjects.h.

◆ tx

NetworkAddress AppConfigurationObjects::Group::tx

The network address for transmitting network traffic to.

Definition at line 4591 of file ConfigurationObjects.h.

◆ txAudio

TxAudio AppConfigurationObjects::Group::txAudio

Audio transmit options such as codec, framing size etc (see TxAudio).

Definition at line 4597 of file ConfigurationObjects.h.

◆ txCapture

PacketCapturer AppConfigurationObjects::Group::txCapture

Details for capture of transmitted packets

Definition at line 4712 of file ConfigurationObjects.h.

◆ txImpairment

TransportImpairment AppConfigurationObjects::Group::txImpairment

[Optional] The TX impairment to apply

Definition at line 4688 of file ConfigurationObjects.h.

◆ txOptions

NetworkTxOptions AppConfigurationObjects::Group::txOptions

Transmit options for the group (see NetworkTxOptions).

Definition at line 4594 of file ConfigurationObjects.h.

◆ type

Type_t AppConfigurationObjects::Group::type

Specifies the group type (see Type_t).

Definition at line 4565 of file ConfigurationObjects.h.


The documentation for this class was generated from the following file: