OPAL
Version 3.18.8
|
#include <opal.h>
General parameters for the OpalCmdSetGeneralParameters command. This is only passed to and returned from the OpalSendMessage() function.
Example: OpalMessage command; OpalMessage * response;
memset(&command, 0, sizeof(command)); command.m_type = OpalCmdSetGeneralParameters; command.m_param.m_general.m_natServer = "stun.l.google.com:19302"; command.m_param.m_general.m_mediaMask = "RFC4175*"; response = OpalSendMessage(hOPAL, &command);
For m_mediaOrder and m_mediaMask, each '
' seperated sub-string in the array is checked using a simple wildcard matching algorithm.
The '*' character indicates substrings, for example: "G.711*" would remove "G.711-uLaw-64k" and "G.711-ALaw-64k".
The '@' character indicates a type of media format, so say "\@video" would remove all video codecs.
The '!' character indicates a negative test. That is the entres that do NOT match the string are removed. The string after the '!' may contain '*' and '@' characters.
It should be noted that when the ! operator is used, they are combined differently to the usual application of each entry in turn. Thus, the string "!A\n!B" will result in keeping both A and B formats.
unsigned OpalParamGeneral::m_audioBuffers |
Set the number of hardware sound buffers to use. Note the largest of m_audioBuffers and m_audioBufferTime/frametime will be used.
unsigned OpalParamGeneral::m_audioBufferTime |
Set the hardware sound buffers to use in milliseconds. Note the largest of m_audioBuffers and m_audioBufferTime/frametime will be used.
const char* OpalParamGeneral::m_audioPlayerDevice |
Audio playback device name. Note, if OPAL_PREFIX_PCSS is used, then this is the operating system device name. If OPAL_PREFIX_GST is used then this is the gstreamer element for the audio sink.
const char* OpalParamGeneral::m_audioRecordDevice |
Audio recording device name. Note, if OPAL_PREFIX_PCSS is used, then this is the operating system device name. If OPAL_PREFIX_GST is used then this is the gstreamer element for the audio source.
unsigned OpalParamGeneral::m_autoCreateCertificate |
Indicate a self signed certificate should be generated automatically if the certicalte and private key files are not found at the locations indicated (value=1), or that only the file/value indicated in above fields is used exclusively (value=2).
const char* OpalParamGeneral::m_autoRxMedia |
List of media types (e.g. audio, video) separated by spaces which may automatically be received automatically. If NULL no change is made, but if "" then all media is prevented from auto-starting.
const char* OpalParamGeneral::m_autoTxMedia |
List of media types (e.g. audio, video) separated by spaces which may automatically be transmitted automatically. If NULL no change is made, but if "" then all media is prevented from auto-starting.
const char* OpalParamGeneral::m_caFiles |
File or directory containing Certificate Authority root certificates to validate remotes in TLS connections, e.g. sips or h323s. Note, an empty string "" is a valid value, and only NULL can be used for "no change".
const char* OpalParamGeneral::m_certificate |
Certificate to use to identify this endpoint in TLS connections, e.g. sips or h323s. This can either be a filename or a PEM format certificate as a string. Note, an empty string "" is a valid value, and only NULL can be used for "no change".
OpalEchoCancelMode OpalParamGeneral::m_echoCancellation |
Accoustic Echo Cancellation control. 0=no change, 1=disabled, 2=enabled.
unsigned OpalParamGeneral::m_manualAlerting |
Indicate that an "alerting" message is automatically (value=1) or manually (value=2) sent to the remote on receipt of an OpalIndIncomingCall message. If set to manual then it is up to the application to send a OpalCmdAlerting message to indicate to the remote system that we are "ringing". If zero then no change is made.
unsigned OpalParamGeneral::m_maxAudioJitter |
Maximum jitter time in milliseconds. For audio RTP data being received this sets the maximum time of the adaptive jitter buffer which smooths out irregularities in the transmission of audio data over the Internet. If this is less than m_minAudioJitter then m_minAudioJitter is used.
OpalMediaDataType OpalParamGeneral::m_mediaDataHeader |
Indicate that the media read/write callback function
is passed the full RTP header or just the payload. 0=no change, 1=payload only, 2=with RTP header.
const char* OpalParamGeneral::m_mediaMask |
List of media format names to set media to be excluded. This list of names (e.g. "G.723.1") is separated by the '
' character.
const char* OpalParamGeneral::m_mediaOptions |
List of media format options to be set. This is a '
' separated list of entries of the form "codec:option=value". Codec is either a media type (e.g. "Audio" or "Video") or a specific media format, for example: "G.723.1:Tx Frames Per Packet=2\nH.263:Annex T=0\n" "Video:Max Rx Frame Width=176\nVideo:Max Rx Frame Height=144"
const char* OpalParamGeneral::m_mediaOrder |
List of media format names to set the preference order for media. This list of names (e.g. "G.723.1") is separated by the '
' character.
OpalMediaDataFunction OpalParamGeneral::m_mediaReadData |
Callback function for reading raw media data. See OpalMediaDataFunction for more information.
OpalMediaTiming OpalParamGeneral::m_mediaTiming |
Indicate how the media read/write callback function handles the real time aspects of the media flow. 0=no change, 1=synchronous, 2=asynchronous, 3=simulate synchronous.
OpalMediaDataFunction OpalParamGeneral::m_mediaWriteData |
Callback function for writing raw media data. See OpalMediaDataFunction for more information.
OpalMessageAvailableFunction OpalParamGeneral::m_messageAvailable |
If non-null then this function is called before the message is queued for return in the GetMessage(). See the OpalMessageAvailableFunction for more details.
int OpalParamGeneral::m_minAudioJitter |
Minimum jitter time in milliseconds. For audio RTP data being received this sets the minimum time of the adaptive jitter buffer which smooths out irregularities in the transmission of audio data over the Internet. A negative value will disable the JB.
const char* OpalParamGeneral::m_natMethod |
A list of Network Address Translation methods to use, in priority order, separaeted by '
'. For backward compatibility, if this is an empty string and m_natServer is not empty, then only "STUN" is assumed, and if this is a host name or IP address, then a "Fixed" NAT router is used.
const char* OpalParamGeneral::m_natServer |
The host name or IP address of the NAT (e.g. STUN) server which may be used to determine the NAT router characteristics. The local interface used may be optionally set after a '' characters. If m_natMethod has multiple entries, then this must have corresponding '
' separated entries.
unsigned OpalParamGeneral::m_noMediaTimeout |
Time in milliseconds for which, if no media is received, the call is cleared.
const char* OpalParamGeneral::m_pcssMediaOverride |
When the OPAL_PREFIX_PCSS is in use, this provides a mask of which media streams (e.g audio/video rx/tx) is overridden from the internal devices. For example, redirecting only received video to the application, and audio and camera grabbing is handled as normal. The string is a space separated list of values being the direction, dash and the media type, e.g. "rx-video rx-audio tx-audio". When present, the same behaviour as for OPAL_PREFIX_LOCAL is executed for that media stream and m_mediaReadData/m_mediaWriteData is called. See OpalMediaDataFunction for more information.
const char* OpalParamGeneral::m_privateKey |
Private key to use with the above certificate file. This can either be a filename or a PEM format certificate as a string. Note, an empty string "" is a valid value, and only NULL can be used for "no change".
unsigned OpalParamGeneral::m_rtpMaxPayloadSize |
Maximum payload size for RTP packets. This may sometimes need to be set according to the MTU or the underlying network.
unsigned OpalParamGeneral::m_rtpPortBase |
Base of range of ports to use for RTP/UDP communications. This may be required by some firewalls.
unsigned OpalParamGeneral::m_rtpPortMax |
Max of range of ports to use for RTP/UDP communications. This may be required by some firewalls.
unsigned OpalParamGeneral::m_rtpTypeOfService |
Value for the Type Of Service byte with UDP/IP packets which may be used by some routers for simple Quality of Service control.
unsigned OpalParamGeneral::m_signalDeadband |
Time signal is required before audio is transmitted. This is is RTP timestamp units (8000Hz).
unsigned OpalParamGeneral::m_silenceAdaptPeriod |
Window for adapting the silence threashold. This applies if m_silenceDetectMode is adaptive (3). This is is RTP timestamp units (8000Hz).
unsigned OpalParamGeneral::m_silenceDeadband |
Time silence is required before audio is transmission is stopped. This is is RTP timestamp units (8000Hz).
OpalSilenceDetectMode OpalParamGeneral::m_silenceDetectMode |
Silence detection mode. This controls the silence
detection algorithm for audio transmission: 0=no change, 1=disabled, 2=fixed, 3=adaptive.
unsigned OpalParamGeneral::m_silenceThreshold |
Silence detection threshold value. This applies if m_silenceDetectMode is fixed (2) and is a PCM-16 value.
unsigned OpalParamGeneral::m_tcpPortBase |
Base of range of ports to use for TCP communications. This may be required by some firewalls.
unsigned OpalParamGeneral::m_tcpPortMax |
Max of range of ports to use for TCP communications. This may be required by some firewalls.
unsigned OpalParamGeneral::m_udpPortBase |
Base of range of ports to use for UDP communications. This may be required by some firewalls.
unsigned OpalParamGeneral::m_udpPortMax |
Max of range of ports to use for UDP communications. This may be required by some firewalls.
const char* OpalParamGeneral::m_videoInputDevice |
Video input (e.g. camera) device name. Note, if OPAL_PREFIX_PCSS is used, then this is the operating system device name for the camera, or other pseudo-device. If OPAL_PREFIX_GST is used then this is the gstreamer element for the video source.
const char* OpalParamGeneral::m_videoOutputDevice |
Video output (e.g. window) device name. Note, if OPAL_PREFIX_PCSS is used, then this is the operating system dependent name for a window, or other pseudo-device. If OPAL_PREFIX_GST is used then this is the gstreamer element for the video sink.
const char* OpalParamGeneral::m_videoPreviewDevice |
Video preview (e.g. window) device name. Note, if OPAL_PREFIX_PCSS is used, then this is the operating system dependent name for a window. If OPAL_PREFIX_GST is used then this is ignored.
OpalMediaTiming OpalParamGeneral::m_videoSourceTiming |
Indicate that the video read callback function handles the real time aspects of the media flow. This can override the m_mediaTiming.