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 |
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. |
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. |
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 |