Class CallParams
An object containing various parameters of a Call.
You can specify your params while answering an incoming call using
Inherited Members
Namespace: Linphone
Assembly: cs.temp.dll.dll
Syntax
public class CallParams : LinphoneObject
Remarks
See : CurrentParams, RemoteParams and Params.
Properties
Account
Get the Account that is used for the call.
Declaration
public Account Account { get; set; }
Property Value
Type | Description |
---|---|
Account | The selected Account for the call, or null if none has been selected. |
AudioBandwidthLimit
Refine bandwidth settings for this call by setting a bandwidth limit for audio streams.
As a consequence, codecs whose bitrates are not compatible with this limit won't be used.
Declaration
public int AudioBandwidthLimit { set; }
Property Value
Type | Description |
---|---|
System.Int32 |
AudioDirection
Get the audio stream direction.
Declaration
public MediaDirection AudioDirection { get; set; }
Property Value
Type | Description |
---|---|
MediaDirection | The audio stream MediaDirection associated with the call params. |
AudioEnabled
Tell whether audio is enabled or not.
Declaration
public bool AudioEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether audio is enabled or not. |
AudioMulticastEnabled
Use to get multicast state of audio stream.
Declaration
public bool AudioMulticastEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if subsequent calls will propose multicast ip set by AudioMulticastAddr |
AvpfEnabled
Whether or not the feedback extension will be used for AVP.
Declaration
public bool AvpfEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if AVPF is enabled, false otherwise |
CameraEnabled
Tell whether camera is enabled or not.
The value returned by this function has a different meaning whether it is from local or remote parameters. The former states the will of the user to use the camera of his/her device. On the other hand, the latter is just a guess to know whether the remote party enabled its camera or not. For example, while the call is part of a conference a core will understand that the remote party disabled its camera if the thumbnail stream's direction is inactive.
Declaration
public bool CameraEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether camera is enabled or not. |
CapabilityNegotiationReinviteEnabled
Check if the capability negotiation (RFC5939) reINVITE is enabled or not.
Declaration
public bool CapabilityNegotiationReinviteEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if capability negotiation reINVITE is enabled; false otherwise. |
CapabilityNegotiationsEnabled
Indicates whether capability negotiations (RFC5939) is enabled.
Declaration
public bool CapabilityNegotiationsEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | a boolean indicating the enablement of capability negotiations. |
CfgLinesMergingEnabled
Enable merging of cfg lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
Declaration
public bool CfgLinesMergingEnabled { set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ConferenceVideoLayout
Set video layout for conference.
Declaration
public ConferenceLayout ConferenceVideoLayout { get; set; }
Property Value
Type | Description |
---|---|
ConferenceLayout |
CustomContents
Gets a list of Content set if exists.
Declaration
public IEnumerable<Content> CustomContents { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<Content> | A list of Content set if exists, null otherwise. |
EarlyMediaSendingEnabled
Indicate whether sending of early media was enabled.
Declaration
public bool EarlyMediaSendingEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether sending of early media was enabled. |
FromHeader
Get the from header in the CallParams.
Declaration
public string FromHeader { get; set; }
Property Value
Type | Description |
---|---|
System.String | The content of the from header, may be null. |
InputAudioDevice
Gets the default input audio device for a call that will be created using this call params.
Declaration
public AudioDevice InputAudioDevice { get; set; }
Property Value
Type | Description |
---|---|
AudioDevice | the AudioDevice that will be used by default as input when the call will be created |
Remarks
Warning : This method only concerns the call creation, it doesn't reflect the currently used input audio device of the call. Instead use InputAudioDevice when call has been created.
IsCapabilityNegotiationReinviteEnabled
Check if the capability negotiation (RFC5939) reINVITE is enabled or not.
Declaration
public bool IsCapabilityNegotiationReinviteEnabled { get; }
Property Value
Type | Description |
---|---|
System.Boolean | true if capability negotiation reINVITE is enabled; false otherwise. |
IsRecording
Indicates whether the call is being recorded.
Declaration
public bool IsRecording { get; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the call is being recorded, false otherwise. |
IsValid
Check if call parameters are valid.
Declaration
public bool IsValid { get; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the parameters are valid; false otherwise. |
LocalConferenceMode
Tell whether the call is part of the locally managed conference.
Declaration
public bool LocalConferenceMode { get; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether the call is part of the locally managed conference. |
Remarks
Warning : If a conference server is used to manage conferences, that function does not return true even if the conference is running. If you want to test whether the conference is running, you should test whether Conference return a non-null pointer.
LowBandwidthEnabled
Tell whether the call has been configured in low bandwidth mode or not.
This mode can be automatically discovered thanks to a stun server when
activate_edge_workarounds=1 in section [net] of configuration file. An
application that would have reliable way to know network capacity may not use
activate_edge_workarounds=1 but instead manually configure low bandwidth mode
with
Declaration
public bool LowBandwidthEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether the low bandwidth mode has been configured/detected. |
MediaEncryption
Get the kind of media encryption selected for the call.
Declaration
public MediaEncryption MediaEncryption { get; set; }
Property Value
Type | Description |
---|---|
MediaEncryption | The kind of MediaEncryption selected for the call. |
MicEnabled
Tells whether the microphone will be enabled when the call will be created.
Declaration
public bool MicEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if the microphone will be enabled, false if disabled. |
Remarks
Warning : This method only concerns the call creation, it doesn't reflect the actual microphone status during a call. Instead use MicrophoneMuted when call has been created.
OutputAudioDevice
Gets the default output audio device for a call that will be created using this call params.
Declaration
public AudioDevice OutputAudioDevice { get; set; }
Property Value
Type | Description |
---|---|
AudioDevice | the AudioDevice that will be used by default as output when the call will be created |
Remarks
Warning : This method only concerns the call creation, it doesn't reflect the currently used output audio device of the call. Instead use OutputAudioDevice when call has been created.
Privacy
Get requested level of privacy for the call.
Declaration
public uint Privacy { get; set; }
Property Value
Type | Description |
---|---|
System.UInt32 | The LinphonePrivacyMask used for the call. |
ProxyConfig
Get the ProxyConfig that is used for the call.
Declaration
public ProxyConfig ProxyConfig { get; set; }
Property Value
Type | Description |
---|---|
ProxyConfig | The selected ProxyConfig for the call, or null if none has been selected. |
RealtimeTextEnabled
Use to get real time text following rfc4103.
Declaration
public bool RealtimeTextEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | returns true if call rtt is activated. |
RealtimeTextKeepaliveInterval
Use to get keep alive interval of real time text following rfc4103.
Declaration
public uint RealtimeTextKeepaliveInterval { get; set; }
Property Value
Type | Description |
---|---|
System.UInt32 | returns keep alive interval of real time text. |
ReceivedFramerate
Get the framerate of the video that is received.
Declaration
public float ReceivedFramerate { get; }
Property Value
Type | Description |
---|---|
System.Single | The actual received framerate in frames per seconds, 0 if not available. |
ReceivedVideoDefinition
Get the definition of the received video.
Declaration
public VideoDefinition ReceivedVideoDefinition { get; }
Property Value
Type | Description |
---|---|
VideoDefinition | The received VideoDefinition or null. |
RecordFile
Get the path for the audio recording of the call.
Declaration
public string RecordFile { get; set; }
Property Value
Type | Description |
---|---|
System.String | The path to the audio recording of the call or null. |
RtpBundleEnabled
Indicates whether RTP bundle mode (also known as Media Multiplexing) is enabled.
See https://datatracker.ietf.org/doc/html/rfc8843 for more information.
Declaration
public bool RtpBundleEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | a boolean indicating the enablement of rtp bundle mode. |
RtpProfile
Get the RTP profile being used.
Declaration
public string RtpProfile { get; }
Property Value
Type | Description |
---|---|
System.String | The RTP profile. |
ScreenSharingEnabled
Tell whether screen sharing is enabled or not.
Declaration
public bool ScreenSharingEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether screen sharing is enabled or not. |
SentFramerate
Get the framerate of the video that is sent.
Declaration
public float SentFramerate { get; }
Property Value
Type | Description |
---|---|
System.Single | The actual sent framerate in frames per seconds, 0 if not available. |
SentVideoDefinition
Get the definition of the sent video.
Declaration
public VideoDefinition SentVideoDefinition { get; }
Property Value
Type | Description |
---|---|
VideoDefinition | The sent VideoDefinition or null. |
SessionName
Get the session name of the media session (ie in SDP).
Subject from the SIP message can be retrieved using
Declaration
public string SessionName { get; set; }
Property Value
Type | Description |
---|---|
System.String | The session name of the media session or null. |
TcapLineMergingEnabled
Enable merging of tcap lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
Declaration
public bool TcapLineMergingEnabled { set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ToneIndicationsEnabled
Check if tone indications are enabled.
Declaration
public bool ToneIndicationsEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if tone indications are enabled; false otherwise. |
UsedAudioPayloadType
Get the audio payload type that has been selected by a call.
Declaration
public PayloadType UsedAudioPayloadType { get; }
Property Value
Type | Description |
---|---|
PayloadType | The selected PayloadType. null is returned if no audio payload type has been selected by the call. |
UsedTextPayloadType
Get the text payload type that has been selected by a call.
Declaration
public PayloadType UsedTextPayloadType { get; }
Property Value
Type | Description |
---|---|
PayloadType | The selected PayloadType. null is returned if no text payload type has been selected by the call. |
UsedVideoPayloadType
Get the video payload type that has been selected by a call.
Declaration
public PayloadType UsedVideoPayloadType { get; }
Property Value
Type | Description |
---|---|
PayloadType | The selected PayloadType. null is returned if no video payload type has been selected by the call. |
VideoDirection
Get the video stream direction.
Declaration
public MediaDirection VideoDirection { get; set; }
Property Value
Type | Description |
---|---|
MediaDirection | The video stream MediaDirection associated with the call params. |
VideoEnabled
Tell whether video is enabled or not.
Declaration
public bool VideoEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | A boolean value telling whether video is enabled or not. |
VideoMulticastEnabled
Use to get multicast state of video stream.
Declaration
public bool VideoMulticastEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean | true if subsequent calls will propose multicast ip set by VideoMulticastAddr |
Methods
AddCustomContent(Content)
Adds a Content to be added to the INVITE SDP.
Declaration
public void AddCustomContent(Content content)
Parameters
Type | Name | Description |
---|---|---|
Content | content | The Content to be added. |
AddCustomHeader(String, String)
Add a custom SIP header in the INVITE for a call.
Declaration
public void AddCustomHeader(string headerName, string headerValue)
Parameters
Type | Name | Description |
---|---|---|
System.String | headerName | The name of the header to add. |
System.String | headerValue | The content of the header to add. |
AddCustomSdpAttribute(String, String)
Add a custom attribute related to all the streams in the SDP exchanged within SIP messages during a call.
Declaration
public void AddCustomSdpAttribute(string attributeName, string attributeValue)
Parameters
Type | Name | Description |
---|---|---|
System.String | attributeName | The name of the attribute to add. |
System.String | attributeValue | The content value of the attribute to add. |
AddCustomSdpMediaAttribute(StreamType, String, String)
Add a custom attribute related to a specific stream in the SDP exchanged within SIP messages during a call.
Declaration
public void AddCustomSdpMediaAttribute(StreamType type, string attributeName, string attributeValue)
Parameters
Type | Name | Description |
---|---|---|
StreamType | type | The type of the stream to add a custom SDP attribute to. |
System.String | attributeName | The name of the attribute to add. |
System.String | attributeValue | The content value of the attribute to add. |
CfgLinesMerged()
Indicates whether cfg lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.
Declaration
public bool CfgLinesMerged()
Returns
Type | Description |
---|---|
System.Boolean | a boolean indicating the enablement of pcfg and acfg line merging |
ClearCustomSdpAttributes()
Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call.
Declaration
public void ClearCustomSdpAttributes()
ClearCustomSdpMediaAttributes(StreamType)
Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call.
Declaration
public void ClearCustomSdpMediaAttributes(StreamType type)
Parameters
Type | Name | Description |
---|---|---|
StreamType | type | The type of the stream to clear the custom SDP attributes from. |
Copy()
Copy an existing CallParams object to a new CallParams object.
Copy() is
error-prone, leading to inconsistent parameters being passed to
Declaration
public CallParams Copy()
Returns
Type | Description |
---|---|
CallParams | A copy of the CallParams object. |
GetCustomHeader(String)
Get a custom SIP header.
Declaration
public string GetCustomHeader(string headerName)
Parameters
Type | Name | Description |
---|---|---|
System.String | headerName | The name of the header to get. |
Returns
Type | Description |
---|---|
System.String | The content of the header or null if not found. |
GetCustomSdpAttribute(String)
Get a custom SDP attribute that is related to all the streams.
Declaration
public string GetCustomSdpAttribute(string attributeName)
Parameters
Type | Name | Description |
---|---|---|
System.String | attributeName | The name of the attribute to get. |
Returns
Type | Description |
---|---|
System.String | The content value of the attribute or null if not found. |
GetCustomSdpMediaAttribute(StreamType, String)
Get a custom SDP attribute that is related to a specific stream.
Declaration
public string GetCustomSdpMediaAttribute(StreamType type, string attributeName)
Parameters
Type | Name | Description |
---|---|---|
StreamType | type | The type of the stream to add a custom SDP attribute to. |
System.String | attributeName | The name of the attribute to get. |
Returns
Type | Description |
---|---|
System.String | The content value of the attribute or null if not found. |
HasCustomSdpAttribute(String)
Returns true if a custom SDP attribute that is related to all the streams is present.
Declaration
public bool HasCustomSdpAttribute(string attributeName)
Parameters
Type | Name | Description |
---|---|---|
System.String | attributeName | The name of the attribute to get. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the attribute is present. |
HasCustomSdpMediaAttribute(StreamType, String)
Indicates whether a custom SDP attribute that is related to a specific stream is present or not.
Declaration
public bool HasCustomSdpMediaAttribute(StreamType type, string attributeName)
Parameters
Type | Name | Description |
---|---|---|
StreamType | type | The type of the stream to add a custom SDP attribute to. |
System.String | attributeName | The name of the attribute to get. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the attribute is present. |
IsMediaEncryptionSupported(MediaEncryption)
Returns the encryption is supported.
Declaration
public bool IsMediaEncryptionSupported(MediaEncryption encryption)
Parameters
Type | Name | Description |
---|---|---|
MediaEncryption | encryption | The MediaEncryption to check whether is supported |
Returns
Type | Description |
---|---|
System.Boolean | a boolean indicating whether the encryption is supported |
TcapLinesMerged()
Indicates whether tcap lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.
Declaration
public bool TcapLinesMerged()
Returns
Type | Description |
---|---|
System.Boolean | a boolean indicating the enablement of tcap line merging |