linphone::CallParams Class Reference

An object containing various parameters of a Call. More...

`#include <call_params.hh>`

Inheritance diagram for linphone::CallParams:

## Public Member Functions

LINPHONECXX_PUBLIC | CallParams (void *ptr, bool takeRef=true)
LINPHONECXX_PUBLIC _LinphoneCallParams * | cPtr ()
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > | getAccount () const
| Get the Account that is used for the call.
LINPHONECXX_PUBLIC void | setAccount (const std::shared_ptr< linphone::Account > &account)
| Set the Account to use for the call.
LINPHONECXX_PUBLIC void | setAudioBandwidthLimit (int bandwidth)
| Refine bandwidth settings for this call by setting a bandwidth limit for audio streams.
LINPHONECXX_PUBLIC linphone::MediaDirection | getAudioDirection () const
| Get the audio stream direction.
LINPHONECXX_PUBLIC void | setAudioDirection (linphone::MediaDirection direction)
| Set the audio stream direction.
LINPHONECXX_PUBLIC bool | audioEnabled () const
| Tell whether audio is enabled or not.
LINPHONECXX_PUBLIC void | enableAudio (bool enabled)
| Enable audio stream.
LINPHONECXX_PUBLIC bool | audioMulticastEnabled () const
| Use to get multicast state of audio stream.
LINPHONECXX_PUBLIC void | enableAudioMulticast (bool yesno)
| Use to enable multicast rtp for audio stream.
LINPHONECXX_PUBLIC bool | avpfEnabled () const
| Whether or not the feedback extension will be used for AVP.
LINPHONECXX_PUBLIC void | enableAvpf (bool enable)
| Toggle feedback extension for AVP.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | capabilityNegotiationReinviteEnabled () const
| Check if the capability negotiation (RFC5939) reINVITE is enabled or not.
LINPHONECXX_PUBLIC void | enableCapabilityNegotiationReinvite (bool enable)
| Define whether capability negotiation (RFC5939) reINVITE is enabled.
LINPHONECXX_PUBLIC bool | capabilityNegotiationsEnabled () const
| Indicates whether capability negotiations (RFC5939) is enabled.
LINPHONECXX_PUBLIC void | enableCapabilityNegotiations (bool enabled)
| Enable capability negotiations (RFC5939).
LINPHONECXX_PUBLIC void | enableCfgLinesMerging (bool enabled)
| Enable merging of cfg lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
LINPHONECXX_PUBLIC linphone::Conference::Layout | getConferenceVideoLayout () const
| Set video layout for conference.
LINPHONECXX_PUBLIC void | setConferenceVideoLayout (linphone::Conference::Layout layout)
| Set video layout for conference.
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Content > > | getCustomContents () const
| Gets a list of Content set if exists.
LINPHONECXX_PUBLIC bool | earlyMediaSendingEnabled () const
| Indicate whether sending of early media was enabled.
LINPHONECXX_PUBLIC void | enableEarlyMediaSending (bool enabled)
| Enable sending of real early media (during outgoing calls).
LINPHONECXX_PUBLIC std::string | getFromHeader () const
| Get the from header in the CallParams.
LINPHONECXX_PUBLIC void | setFromHeader (const std::string &fromValue)
| Force the from header of a call when instanciating it (if set, it precludes the search in proxy and primary contact).
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getInputAudioDevice () const
| Gets the default input audio device for a call that will be created using this call params.
LINPHONECXX_PUBLIC void | setInputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as default input for a call to be created later.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool | isCapabilityNegotiationReinviteEnabled () const
| Check if the capability negotiation (RFC5939) reINVITE is enabled or not.
LINPHONECXX_PUBLIC bool | isRecording () const
| Indicates whether the call is being recorded.
LINPHONECXX_PUBLIC bool | getLocalConferenceMode () const
| Tell whether the call is part of the locally managed conference.
LINPHONECXX_PUBLIC bool | lowBandwidthEnabled () const
| Tell whether the call has been configured in low bandwidth mode or not.
LINPHONECXX_PUBLIC void | enableLowBandwidth (bool enabled)
| Indicate low bandwith mode.
LINPHONECXX_PUBLIC linphone::MediaEncryption | getMediaEncryption () const
| Get the kind of media encryption selected for the call.
LINPHONECXX_PUBLIC void | setMediaEncryption (linphone::MediaEncryption encryption)
| Set requested media encryption for a call.
LINPHONECXX_PUBLIC bool | micEnabled () const
| Tells whether the microphone will be enabled when the call will be created.
LINPHONECXX_PUBLIC void | enableMic (bool enable)
| Enable or disable the microphone at the call creation.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getOutputAudioDevice () const
| Gets the default output audio device for a call that will be created using this call params.
LINPHONECXX_PUBLIC void | setOutputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice)
| Sets the given AudioDevice as default output for a call to be created later.
LINPHONECXX_PUBLIC unsigned int | getPrivacy () const
| Get requested level of privacy for the call.
LINPHONECXX_PUBLIC void | setPrivacy (unsigned int privacy)
| Set requested level of privacy for the call.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ProxyConfig > | getProxyConfig () const
| Get the ProxyConfig that is used for the call.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | setProxyConfig (const std::shared_ptr< linphone::ProxyConfig > &proxyConfig)
| Set the ProxyConfig to use for the call.
LINPHONECXX_PUBLIC bool | realtimeTextEnabled () const
| Use to get real time text following rfc4103.
LINPHONECXX_PUBLIC linphone::Status | enableRealtimeText (bool yesno)
| Use to enable real time text following rfc4103.
LINPHONECXX_PUBLIC unsigned int | getRealtimeTextKeepaliveInterval () const
| Use to get keep alive interval of real time text following rfc4103.
LINPHONECXX_PUBLIC void | setRealtimeTextKeepaliveInterval (unsigned int interval)
| Use to set keep alive interval for real time text following rfc4103.
LINPHONECXX_PUBLIC float | getReceivedFramerate () const
| Get the framerate of the video that is received.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > | getReceivedVideoDefinition () const
| Get the definition of the received video.
LINPHONECXX_PUBLIC std::string | getRecordFile () const
| Get the path for the audio recording of the call.
LINPHONECXX_PUBLIC void | setRecordFile (const std::string &path)
| Enable recording of the call.
LINPHONECXX_PUBLIC bool | rtpBundleEnabled () const
| Indicates whether RTP bundle mode (also known as Media Multiplexing) is enabled.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | enableRtpBundle (bool value)
| Enables or disables RTP bundle mode (Media Multiplexing).
LINPHONECXX_PUBLIC std::string | getRtpProfile () const
| Get the RTP profile being used.
LINPHONECXX_PUBLIC float | getSentFramerate () const
| Get the framerate of the video that is sent.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > | getSentVideoDefinition () const
| Get the definition of the sent video.
LINPHONECXX_PUBLIC std::string | getSessionName () const
| Get the session name of the media session (ie in SDP).
LINPHONECXX_PUBLIC void | setSessionName (const std::string &name)
| Set the session name of the media session (ie in SDP).
LINPHONECXX_PUBLIC std::list< linphone::SrtpSuite > | getSrtpSuites () const
| Returns the list of enable srtp suite in the call (enforced only if SDES is the selected encryption mode).
LINPHONECXX_PUBLIC void | setSrtpSuites (const std::list< linphone::SrtpSuite > &srtpSuites)
| Sets the list of srtp suite enabled(enforced only when SDES is the encryption mode).
LINPHONECXX_PUBLIC void | enableTcapLineMerging (bool enabled)
| Enable merging of tcap lines with consecutive indexes if capability negotiations (RFC5939) is enabled.
LINPHONECXX_PUBLIC bool | toneIndicationsEnabled () const
| Check if tone indications are enabled.
LINPHONECXX_PUBLIC void | enableToneIndications (bool enable)
| Define whether tone indications are enabled.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > | getUsedAudioPayloadType () const
| Get the audio payload type that has been selected by a call.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > | getUsedTextPayloadType () const
| Get the text payload type that has been selected by a call.
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > | getUsedVideoPayloadType () const
| Get the video payload type that has been selected by a call.
LINPHONECXX_PUBLIC linphone::MediaDirection | getVideoDirection () const
| Get the video stream direction.
LINPHONECXX_PUBLIC void | setVideoDirection (linphone::MediaDirection direction)
| Set the video stream direction.
LINPHONECXX_PUBLIC bool | videoEnabled () const
| Tell whether video is enabled or not.
LINPHONECXX_PUBLIC void | enableVideo (bool enabled)
| Enable video stream.
LINPHONECXX_PUBLIC bool | videoMulticastEnabled () const
| Use to get multicast state of video stream.
LINPHONECXX_PUBLIC void | enableVideoMulticast (bool yesno)
| Use to enable multicast rtp for video stream.
LINPHONECXX_PUBLIC void | addCustomContent (const std::shared_ptr< linphone::Content > &content)
| Adds a Content to be added to the INVITE SDP.
LINPHONECXX_PUBLIC void | addCustomHeader (const std::string &headerName, const std::string &headerValue)
| Add a custom SIP header in the INVITE for a call.
LINPHONECXX_PUBLIC void | addCustomSdpAttribute (const std::string &attributeName, const std::string &attributeValue)
| Add a custom attribute related to all the streams in the SDP exchanged within SIP messages during a call.
LINPHONECXX_PUBLIC void | addCustomSdpMediaAttribute (linphone::StreamType type, const std::string &attributeName, const std::string &attributeValue)
| Add a custom attribute related to a specific stream in the SDP exchanged within SIP messages during a call.
LINPHONECXX_PUBLIC bool | cfgLinesMerged () const
| Indicates whether cfg lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.
LINPHONECXX_PUBLIC void | clearCustomSdpAttributes ()
| Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call.
LINPHONECXX_PUBLIC void | clearCustomSdpMediaAttributes (linphone::StreamType type)
| Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::CallParams > | copy () const
| Copy an existing CallParams object to a new CallParams object.
LINPHONECXX_PUBLIC std::string | getCustomHeader (const std::string &headerName) const
| Get a custom SIP header.
LINPHONECXX_PUBLIC std::string | getCustomSdpAttribute (const std::string &attributeName) const
| Get a custom SDP attribute that is related to all the streams.
LINPHONECXX_PUBLIC std::string | getCustomSdpMediaAttribute (linphone::StreamType type, const std::string &attributeName) const
| Get a custom SDP attribute that is related to a specific stream.
LINPHONECXX_PUBLIC bool | hasCustomSdpAttribute (const std::string &attributeName) const
| Returns true if a custom SDP attribute that is related to all the streams is present.
LINPHONECXX_PUBLIC bool | hasCustomSdpMediaAttribute (linphone::StreamType type, const std::string &attributeName) const
| Indicates whether a custom SDP attribute that is related to a specific stream is present or not.
LINPHONECXX_PUBLIC bool | isMediaEncryptionSupported (linphone::MediaEncryption encryption) const
| Returns the encryption is supported.
LINPHONECXX_PUBLIC bool | tcapLinesMerged () const
| Indicates whether tcap lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.

## Detailed Description

An object containing various parameters of a Call.

You can specify your params while answering an incoming call using Call::acceptWithParams() or while initiating an outgoing call with Core::inviteAddressWithParams(). This object can be created using Core::createCallParams(), using nullptr for the call pointer if you plan to use it for an outgoing call. For each call, three CallParams are available: yours, your correspondent's and the one that describe the current state of the call that is the result of the negociation between the previous two. For example, you might enable a certain feature in your call param but this feature can be denied in the remote's configuration, hence the difference.

See also
  Call::getCurrentParams(), Call::getRemoteParams() and Call::getParams().

## Member Function Documentation

## addCustomContent()

LINPHONECXX_PUBLIC void linphone::CallParams::addCustomContent | ( | const std::shared_ptr< linphone::Content > & | content | ) |

Adds a Content to be added to the INVITE SDP.

Parameters

  content | The Content to be added.

## addCustomHeader()

LINPHONECXX_PUBLIC void linphone::CallParams::addCustomHeader | ( | const std::string & | headerName,
|  | const std::string & | headerValue )

Add a custom SIP header in the INVITE for a call.

Parameters

  headerName | The name of the header to add.
  headerValue | The content of the header to add.

## addCustomSdpAttribute()

LINPHONECXX_PUBLIC void linphone::CallParams::addCustomSdpAttribute | ( | const std::string & | attributeName,
|  | const std::string & | attributeValue )

Add a custom attribute related to all the streams in the SDP exchanged within SIP messages during a call.

Parameters

  attributeName | The name of the attribute to add.
  attributeValue | The content value of the attribute to add.

## addCustomSdpMediaAttribute()

LINPHONECXX_PUBLIC void linphone::CallParams::addCustomSdpMediaAttribute | ( | linphone::StreamType | type,
|  | const std::string & | attributeName,
|  | const std::string & | attributeValue )

Add a custom attribute related to a specific stream in the SDP exchanged within SIP messages during a call.

Parameters

  type | The type of the stream to add a custom SDP attribute to.
  attributeName | The name of the attribute to add.
  attributeValue | The content value of the attribute to add.

## audioEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::audioEnabled | ( |  | ) | const

Tell whether audio is enabled or not.

Returns
  A boolean value telling whether audio is enabled or not.

## audioMulticastEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::audioMulticastEnabled | ( |  | ) | const

Use to get multicast state of audio stream.

Returns
  true if subsequent calls will propose multicast ip set by Core::setAudioMulticastAddr()

## avpfEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::avpfEnabled | ( |  | ) | const

Whether or not the feedback extension will be used for AVP.

Returns
  true if AVPF is enabled, false otherwise

## capabilityNegotiationReinviteEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::CallParams::capabilityNegotiationReinviteEnabled | ( |  | ) | const

Check if the capability negotiation (RFC5939) reINVITE is enabled or not.

Returns
  true if capability negotiation reINVITE is enabled; false otherwise.

Deprecated
  16/12/2021 Use capabilityNegotiationReinviteEnabled() instead.

## capabilityNegotiationsEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::capabilityNegotiationsEnabled | ( |  | ) | const

Indicates whether capability negotiations (RFC5939) is enabled.

Returns
  a boolean indicating the enablement of capability negotiations.

## cfgLinesMerged()

LINPHONECXX_PUBLIC bool linphone::CallParams::cfgLinesMerged | ( |  | ) | const

Indicates whether cfg lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.

Returns
  a boolean indicating the enablement of pcfg and acfg line merging

## clearCustomSdpMediaAttributes()

LINPHONECXX_PUBLIC void linphone::CallParams::clearCustomSdpMediaAttributes | ( | linphone::StreamType | type | ) |

Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call.

Parameters

  type | The type of the stream to clear the custom SDP attributes from.

## copy()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::CallParams > linphone::CallParams::copy | ( |  | ) | const

Copy an existing CallParams object to a new CallParams object.

copy() is error-prone, leading to inconsistent parameters being passed to Core::inviteAddressWithParams() or Call::acceptWithParams().

Deprecated
  use exclusively Core::createCallParams() to create CallParams object.

Returns
  A copy of the CallParams object.

## earlyMediaSendingEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::earlyMediaSendingEnabled | ( |  | ) | const

Indicate whether sending of early media was enabled.

Returns
  A boolean value telling whether sending of early media was enabled.

## enableAudio()

LINPHONECXX_PUBLIC void linphone::CallParams::enableAudio | ( | bool | enabled | ) |

Enable audio stream.

Parameters

  enabled | A boolean value telling whether to enable audio or not.

## enableAvpf()

LINPHONECXX_PUBLIC void linphone::CallParams::enableAvpf | ( | bool | enable | ) |

Toggle feedback extension for AVP.

Parameters

  enable | wether or not AVPF should be enabled

## enableCapabilityNegotiationReinvite()

LINPHONECXX_PUBLIC void linphone::CallParams::enableCapabilityNegotiationReinvite | ( | bool | enable | ) |

Define whether capability negotiation (RFC5939) reINVITE is enabled.

Parameters

  enable | true to enable capability negotiation reINVITE; false otherwise.

## enableCapabilityNegotiations()

LINPHONECXX_PUBLIC void linphone::CallParams::enableCapabilityNegotiations | ( | bool | enabled | ) |

Enable capability negotiations (RFC5939).

Parameters

  enabled | A boolean value telling whether to enable capability negotiations or not.

## enableCfgLinesMerging()

LINPHONECXX_PUBLIC void linphone::CallParams::enableCfgLinesMerging | ( | bool | enabled | ) |

Enable merging of cfg lines with consecutive indexes if capability negotiations (RFC5939) is enabled.

Parameters

  enabled | A boolean value telling whether to merge pcfg and acfg lines

## enableEarlyMediaSending()

LINPHONECXX_PUBLIC void linphone::CallParams::enableEarlyMediaSending | ( | bool | enabled | ) |

Enable sending of real early media (during outgoing calls).

Parameters

  enabled | A boolean value telling whether to enable early media sending or not.

## enableLowBandwidth()

LINPHONECXX_PUBLIC void linphone::CallParams::enableLowBandwidth | ( | bool | enabled | ) |

Indicate low bandwith mode.

Configuring a call to low bandwidth mode will result in the core to activate several settings for the call in order to ensure that bitrate usage is lowered to the minimum possible. Typically, ptime (packetization time) will be increased, audio codec's output bitrate will be targetted to 20kbit/s provided that it is achievable by the codec selected after SDP handshake. Video is automatically disabled.

Parameters

  enabled | A boolean value telling whether to activate the low bandwidth mode or not.

## enableMic()

LINPHONECXX_PUBLIC void linphone::CallParams::enableMic | ( | bool | enable | ) |

Enable or disable the microphone at the call creation.

Warning
  This method won't have any effect once the call has been created! Instead use Call::setMicrophoneMuted() when call has been created.

Parameters

  enable | true to enable the microphone, false to disable it.

## enableRealtimeText()

LINPHONECXX_PUBLIC linphone::Status linphone::CallParams::enableRealtimeText | ( | bool | yesno | ) |

Use to enable real time text following rfc4103.

If enabled, outgoing calls put a m=text line in SDP offer .

Parameters

  yesno | if yes, subsequent outgoing calls will propose rtt

Returns
  0

## enableRtpBundle()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::CallParams::enableRtpBundle | ( | bool | value | ) |

Enables or disables RTP bundle mode (Media Multiplexing).

See https://datatracker.ietf.org/doc/html/rfc8843 for more information about the feature. When enabled, liblinphone will try to negociate the use of a single port for all streams. It automatically enables rtcp-mux.

Parameters

  value | a boolean to indicate whether the feature is to be enabled.

Deprecated
  This property can no longer be controlled via CallParams. Use AccountParams::enableRtpBundle().

## enableTcapLineMerging()

LINPHONECXX_PUBLIC void linphone::CallParams::enableTcapLineMerging | ( | bool | enabled | ) |

Enable merging of tcap lines with consecutive indexes if capability negotiations (RFC5939) is enabled.

Parameters

  enabled | A boolean value telling whether to merge tcap lines

## enableToneIndications()

LINPHONECXX_PUBLIC void linphone::CallParams::enableToneIndications | ( | bool | enable | ) |

Define whether tone indications are enabled.

Parameters

  enable | true to enable tone indications; false otherwise.

## enableVideo()

LINPHONECXX_PUBLIC void linphone::CallParams::enableVideo | ( | bool | enabled | ) |

Enable video stream.

Parameters

  enabled | A boolean value telling whether to enable video or not.

## enableVideoMulticast()

LINPHONECXX_PUBLIC void linphone::CallParams::enableVideoMulticast | ( | bool | yesno | ) |

Use to enable multicast rtp for video stream.

If enabled, outgoing calls put a multicast address from Core::getVideoMulticastAddr() into video cline. In case of outgoing call video stream is sent to this multicast address. For incoming calls behavior is unchanged.

Parameters

  yesno | if yes, subsequent outgoing calls will propose multicast ip set by Core::setVideoMulticastAddr()

## getAccount()

LINPHONECXX_PUBLIC std::shared_ptr< linphone::Account > linphone::CallParams::getAccount | ( |  | ) | const

Get the Account that is used for the call.

Returns
  The selected Account for the call, or nullptr if none has been selected.

## getAudioDirection()

LINPHONECXX_PUBLIC linphone::MediaDirection linphone::CallParams::getAudioDirection | ( |  | ) | const

Get the audio stream direction.

Returns
  The audio stream MediaDirection associated with the call params.

## getConferenceVideoLayout()

LINPHONECXX_PUBLIC linphone::Conference::Layout linphone::CallParams::getConferenceVideoLayout | ( |  | ) | const

Set video layout for conference.

Returns
  Preferred Conference::Layout to use at the start of a conference

## getCustomContents()

LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Content > > linphone::CallParams::getCustomContents | ( |  | ) | const

Gets a list of Content set if exists.

Returns
  A list of Content set if exists, nullptr otherwise.

## getCustomHeader()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getCustomHeader | ( | const std::string & | headerName | ) | const

Get a custom SIP header.

Parameters

  headerName | The name of the header to get.

Returns
  The content of the header or nullptr if not found.

## getCustomSdpAttribute()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getCustomSdpAttribute | ( | const std::string & | attributeName | ) | const

Get a custom SDP attribute that is related to all the streams.

Parameters

  attributeName | The name of the attribute to get.

Returns
  The content value of the attribute or nullptr if not found.

## getCustomSdpMediaAttribute()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getCustomSdpMediaAttribute | ( | linphone::StreamType | type,
|  | const std::string & | attributeName ) const

Get a custom SDP attribute that is related to a specific stream.

Parameters

  type | The type of the stream to add a custom SDP attribute to.
  attributeName | The name of the attribute to get.

Returns
  The content value of the attribute or nullptr if not found.

## getFromHeader()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getFromHeader | ( |  | ) | const

Get the from header in the CallParams.

Returns
  The content of the from header, may be null.

## getInputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::CallParams::getInputAudioDevice | ( |  | ) | const

Gets the default input audio device for a call that will be created using this call params.

Warning
  This method only concerns the call creation, it doesn't reflect the currently used input audio device of the call. Instead use Call::getInputAudioDevice() when call has been created.

Returns
  the AudioDevice that will be used by default as input when the call will be created

## getLocalConferenceMode()

LINPHONECXX_PUBLIC bool linphone::CallParams::getLocalConferenceMode | ( |  | ) | const

Tell whether the call is part of the locally managed conference.

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 Core::getConference() return a non-null pointer.

Returns
  A boolean value telling whether the call is part of the locally managed conference.

## getMediaEncryption()

LINPHONECXX_PUBLIC linphone::MediaEncryption linphone::CallParams::getMediaEncryption | ( |  | ) | const

Get the kind of media encryption selected for the call.

Returns
  The kind of MediaEncryption selected for the call.

## getOutputAudioDevice()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > linphone::CallParams::getOutputAudioDevice | ( |  | ) | const

Gets the default output audio device for a call that will be created using this call params.

Warning
  This method only concerns the call creation, it doesn't reflect the currently used output audio device of the call. Instead use Call::getOutputAudioDevice() when call has been created.

Returns
  the AudioDevice that will be used by default as output when the call will be created

## getPrivacy()

LINPHONECXX_PUBLIC unsigned int linphone::CallParams::getPrivacy | ( |  | ) | const

Get requested level of privacy for the call.

Returns
  The LinphonePrivacyMask used for the call.

## getProxyConfig()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ProxyConfig > linphone::CallParams::getProxyConfig | ( |  | ) | const

Get the ProxyConfig that is used for the call.

Returns
  The selected ProxyConfig for the call, or nullptr if none has been selected.

Deprecated
  28/02/2021 Use getAccount() instead.

## getRealtimeTextKeepaliveInterval()

LINPHONECXX_PUBLIC unsigned int linphone::CallParams::getRealtimeTextKeepaliveInterval | ( |  | ) | const

Use to get keep alive interval of real time text following rfc4103.

Returns
  returns keep alive interval of real time text.

## getReceivedFramerate()

LINPHONECXX_PUBLIC float linphone::CallParams::getReceivedFramerate | ( |  | ) | const

Get the framerate of the video that is received.

Returns
  The actual received framerate in frames per seconds, 0 if not available.

## getReceivedVideoDefinition()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > linphone::CallParams::getReceivedVideoDefinition | ( |  | ) | const

Get the definition of the received video.

Returns
  The received VideoDefinition or nullptr.

## getRecordFile()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getRecordFile | ( |  | ) | const

Get the path for the audio recording of the call.

Returns
  The path to the audio recording of the call or nullptr.

## getRtpProfile()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getRtpProfile | ( |  | ) | const

Get the RTP profile being used.

Returns
  The RTP profile.

## getSentFramerate()

LINPHONECXX_PUBLIC float linphone::CallParams::getSentFramerate | ( |  | ) | const

Get the framerate of the video that is sent.

Returns
  The actual sent framerate in frames per seconds, 0 if not available.

## getSentVideoDefinition()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::VideoDefinition > linphone::CallParams::getSentVideoDefinition | ( |  | ) | const

Get the definition of the sent video.

Returns
  The sent VideoDefinition or nullptr.

## getSessionName()

LINPHONECXX_PUBLIC std::string linphone::CallParams::getSessionName | ( |  | ) | const

Get the session name of the media session (ie in SDP).

Subject from the SIP message can be retrieved using getCustomHeader() and is different.

Returns
  The session name of the media session or nullptr.

## getSrtpSuites()

LINPHONECXX_PUBLIC std::list< linphone::SrtpSuite > linphone::CallParams::getSrtpSuites | ( |  | ) | const

Returns the list of enable srtp suite in the call (enforced only if SDES is the selected encryption mode).

Returns
  a list of srtp suite enabled in a given call

## getUsedAudioPayloadType()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > linphone::CallParams::getUsedAudioPayloadType | ( |  | ) | const

Get the audio payload type that has been selected by a call.

Returns
  The selected PayloadType. nullptr is returned if no audio payload type has been selected by the call.

## getUsedTextPayloadType()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > linphone::CallParams::getUsedTextPayloadType | ( |  | ) | const

Get the text payload type that has been selected by a call.

Returns
  The selected PayloadType. nullptr is returned if no text payload type has been selected by the call.

## getUsedVideoPayloadType()

LINPHONECXX_PUBLIC std::shared_ptr< const linphone::PayloadType > linphone::CallParams::getUsedVideoPayloadType | ( |  | ) | const

Get the video payload type that has been selected by a call.

Returns
  The selected PayloadType. nullptr is returned if no video payload type has been selected by the call.

## getVideoDirection()

LINPHONECXX_PUBLIC linphone::MediaDirection linphone::CallParams::getVideoDirection | ( |  | ) | const

Get the video stream direction.

Returns
  The video stream MediaDirection associated with the call params.

## hasCustomSdpAttribute()

LINPHONECXX_PUBLIC bool linphone::CallParams::hasCustomSdpAttribute | ( | const std::string & | attributeName | ) | const

Returns true if a custom SDP attribute that is related to all the streams is present.

Parameters

  attributeName | The name of the attribute to get.

Returns
  Whether the attribute is present.

## hasCustomSdpMediaAttribute()

LINPHONECXX_PUBLIC bool linphone::CallParams::hasCustomSdpMediaAttribute | ( | linphone::StreamType | type,
|  | const std::string & | attributeName ) const

Indicates whether a custom SDP attribute that is related to a specific stream is present or not.

Parameters

  type | The type of the stream to add a custom SDP attribute to.
  attributeName | The name of the attribute to get.

Returns
  Whether the attribute is present.

## isCapabilityNegotiationReinviteEnabled()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED bool linphone::CallParams::isCapabilityNegotiationReinviteEnabled | ( |  | ) | const

Check if the capability negotiation (RFC5939) reINVITE is enabled or not.

Returns
  true if capability negotiation reINVITE is enabled; false otherwise.

Deprecated
  16/12/2021 Use capabilityNegotiationReinviteEnabled() instead.

## isMediaEncryptionSupported()

LINPHONECXX_PUBLIC bool linphone::CallParams::isMediaEncryptionSupported | ( | linphone::MediaEncryption | encryption | ) | const

Returns the encryption is supported.

Parameters

  encryption | The MediaEncryption to check whether is supported

Returns
  a boolean indicating whether the encryption is supported

## isRecording()

LINPHONECXX_PUBLIC bool linphone::CallParams::isRecording | ( |  | ) | const

Indicates whether the call is being recorded.

Returns
  true if the call is being recorded, false otherwise.

## lowBandwidthEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::lowBandwidthEnabled | ( |  | ) | const

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 enableLowBandwidth(). When enabled, this param may transform a call request with video in audio only mode.

Returns
  A boolean value telling whether the low bandwidth mode has been configured/detected.

## micEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::micEnabled | ( |  | ) | const

Tells whether the microphone will be enabled when the call will be created.

Warning
  This method only concerns the call creation, it doesn't reflect the actual microphone status during a call. Instead use Call::getMicrophoneMuted() when call has been created.

Returns
  true if the microphone will be enabled, false if disabled.

## realtimeTextEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::realtimeTextEnabled | ( |  | ) | const

Use to get real time text following rfc4103.

Returns
  returns true if call rtt is activated.

## rtpBundleEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::rtpBundleEnabled | ( |  | ) | const

Indicates whether RTP bundle mode (also known as Media Multiplexing) is enabled.

See https://datatracker.ietf.org/doc/html/rfc8843 for more information.

Returns
  a boolean indicating the enablement of rtp bundle mode.

## setAccount()

LINPHONECXX_PUBLIC void linphone::CallParams::setAccount | ( | const std::shared_ptr< linphone::Account > & | account | ) |

Set the Account to use for the call.

Parameters

  account | The Account to use, or nullptr if none has been selected. The CallParams keeps a reference to it and removes the previous one, if any.

## setAudioBandwidthLimit()

LINPHONECXX_PUBLIC void linphone::CallParams::setAudioBandwidthLimit | ( | int | bandwidth | ) |

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.

Parameters

  bandwidth | The audio bandwidth limit to set in kbit/s.

## setAudioDirection()

LINPHONECXX_PUBLIC void linphone::CallParams::setAudioDirection | ( | linphone::MediaDirection | direction | ) |

Set the audio stream direction.

Parameters

  direction | The audio stream MediaDirection associated with this call params.

## setConferenceVideoLayout()

LINPHONECXX_PUBLIC void linphone::CallParams::setConferenceVideoLayout | ( | linphone::Conference::Layout | layout | ) |

Set video layout for conference.

Parameters

  layout | Conference::Layout to use as default when creating a conference

## setFromHeader()

LINPHONECXX_PUBLIC void linphone::CallParams::setFromHeader | ( | const std::string & | fromValue | ) |

Force the from header of a call when instanciating it (if set, it precludes the search in proxy and primary contact).

Parameters

  fromValue | The value of the forced from, null to delete it.

## setInputAudioDevice()

LINPHONECXX_PUBLIC void linphone::CallParams::setInputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as default input for a call to be created later.

Warning
  This method won't have any effect once the call has been created! Instead use Call::setInputAudioDevice() when call has been created.

Parameters

  audioDevice | The AudioDevice. nullptr does nothing.

## setMediaEncryption()

LINPHONECXX_PUBLIC void linphone::CallParams::setMediaEncryption | ( | linphone::MediaEncryption | encryption | ) |

Set requested media encryption for a call.

Parameters

  encryption | The MediaEncryption to use for the call.

## setOutputAudioDevice()

LINPHONECXX_PUBLIC void linphone::CallParams::setOutputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |

Sets the given AudioDevice as default output for a call to be created later.

Warning
  This method won't have any effect once the call has been created! Instead use Call::setOutputAudioDevice() when call has been created.

Parameters

  audioDevice | The AudioDevice. nullptr does nothing.

## setPrivacy()

LINPHONECXX_PUBLIC void linphone::CallParams::setPrivacy | ( | unsigned int | privacy | ) |

Set requested level of privacy for the call.

Parameters

  privacy | The LinphonePrivacyMask to used for the call.

## setProxyConfig()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::CallParams::setProxyConfig | ( | const std::shared_ptr< linphone::ProxyConfig > & | proxyConfig | ) |

Set the ProxyConfig to use for the call.

Parameters

  proxyConfig | The ProxyConfig to use, or nullptr if none has been selected. The CallParams keep a reference on it and remove the older if it exists.

Deprecated
  28/02/2021 Use setAccount() instead.

## setRealtimeTextKeepaliveInterval()

LINPHONECXX_PUBLIC void linphone::CallParams::setRealtimeTextKeepaliveInterval | ( | unsigned int | interval | ) |

Use to set keep alive interval for real time text following rfc4103.

Parameters

  interval | The keep alive interval for real time text, 25000 by default.

## setRecordFile()

LINPHONECXX_PUBLIC void linphone::CallParams::setRecordFile | ( | const std::string & | path | ) |

Enable recording of the call.

This function must be used before the call parameters are assigned to the call. The call recording can be started and paused after the call is established with Call::startRecording() and linphone_call_pause_recording().

Parameters

  path | A string containing the path and filename of the file where audio/video streams are to be written. The filename must have either .mkv or .wav extention. The video stream will be written only if a MKV file is given.

## setSessionName()

LINPHONECXX_PUBLIC void linphone::CallParams::setSessionName | ( | const std::string & | name | ) |

Set the session name of the media session (ie in SDP).

Subject from the SIP message (which is different) can be set using linphone_call_params_set_custom_header().

Parameters

  name | The session name to be used.

## setSrtpSuites()

LINPHONECXX_PUBLIC void linphone::CallParams::setSrtpSuites | ( | const std::list< linphone::SrtpSuite > & | srtpSuites | ) |

Sets the list of srtp suite enabled(enforced only when SDES is the encryption mode).

Parameters

  srtpSuites | list with the list of SRTP encryption suites enabled in a given call

## setVideoDirection()

LINPHONECXX_PUBLIC void linphone::CallParams::setVideoDirection | ( | linphone::MediaDirection | direction | ) |

Set the video stream direction.

Parameters

  direction | The video stream MediaDirection associated with this call params.

## tcapLinesMerged()

LINPHONECXX_PUBLIC bool linphone::CallParams::tcapLinesMerged | ( |  | ) | const

Indicates whether tcap lines with consecutive indexes are going to be merged or not if capability negotiations (RFC5939) is enabled.

Returns
  a boolean indicating the enablement of tcap line merging

## toneIndicationsEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::toneIndicationsEnabled | ( |  | ) | const

Check if tone indications are enabled.

Returns
  true if tone indications are enabled; false otherwise.

## videoEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::videoEnabled | ( |  | ) | const

Tell whether video is enabled or not.

Returns
  A boolean value telling whether video is enabled or not.

## videoMulticastEnabled()

LINPHONECXX_PUBLIC bool linphone::CallParams::videoMulticastEnabled | ( |  | ) | const

Use to get multicast state of video stream.

Returns
  true if subsequent calls will propose multicast ip set by Core::setVideoMulticastAddr()

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

- call_params.hh