CallParams

public class CallParams : LinphoneObject

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

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

    Declaration

    Swift

    public static func getSwiftObject(cObject: OpaquePointer) -> CallParams
  • Undocumented

    Declaration

    Swift

    public var getCobject: OpaquePointer? { get }
  • 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

    Swift

    public var audioBandwidthLimit: Int { get set }

    Parameters

    bandwidth

    The audio bandwidth limit to set in kbit/s.

  • Get the audio stream direction.

    Declaration

    Swift

    public var audioDirection: MediaDirection { get set }

    Return Value

    The audio stream MediaDirection associated with the call params.

  • Tell whether audio is enabled or not.

    Declaration

    Swift

    public var audioEnabled: Bool { get set }

    Return Value

    A boolean value telling whether audio is enabled or not.

  • Use to get multicast state of audio stream.

    Declaration

    Swift

    public var audioMulticastEnabled: Bool { get set }

    Return Value

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

  • Set the video stream direction.

    Declaration

    Swift

    public var avpfEnabled: Bool? { get set }

    Parameters

    enable

    wether or not AVPF should be enabled for this call

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

    Declaration

    Swift

    public var capabilityNegotiationReinviteEnabled: Bool { get set }

    Return Value

    true if capability negotiation reINVITE is enabled; false otherwise.

  • Indicates whether capability negotiations (RFC5939) is enabled.

    Declaration

    Swift

    public var capabilityNegotiationsEnabled: Bool { get set }

    Return Value

    a boolean indicating the enablement of capability negotiations.

  • Gets a list of Content set if exists.

    Declaration

    Swift

    public var customContents: [Content] { get }

    Return Value

    A list of Content set if exists, nil otherwise.

  • Indicate whether sending of early media was enabled.

    Declaration

    Swift

    public var earlyMediaSendingEnabled: Bool { get set }

    Return Value

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

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

    • deprecated: 16/12/2021 Use capabilityNegotiationReinviteEnabled() instead.

    Declaration

    Swift

    @available(*, deprecated)
    public var isCapabilityNegotiationReinviteEnabled: Bool { get }

    Return Value

    true if capability negotiation reINVITE is enabled; false otherwise.

  • Indicates whether the call is being recorded.

    Declaration

    Swift

    public var isRecording: Bool { get }

    Return Value

    true if the call is being recorded, false otherwise.

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

    Declaration

    Swift

    public var localConferenceMode: Bool { get }

    Return Value

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

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

    Declaration

    Swift

    public var lowBandwidthEnabled: Bool { get set }

    Return Value

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

  • Get the kind of media encryption selected for the call.

    Declaration

    Swift

    public var mediaEncryption: MediaEncryption { get set }

    Return Value

    The kind of MediaEncryption selected for the call.

  • Get requested level of privacy for the call.

    Declaration

    Swift

    public var privacy: UInt { get set }

    Return Value

    The LinphonePrivacyMask used for the call.

  • Get the ProxyConfig that is used for the call.

    Declaration

    Swift

    public var proxyConfig: ProxyConfig? { get set }

    Return Value

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

  • Use to get real time text following rfc4103.

    Declaration

    Swift

    public var realtimeTextEnabled: Bool { get }

    Return Value

    returns true if call rtt is activated.

  • Undocumented

    Declaration

    Swift

    public func setRealtimetextenabled(newValue: Bool) throws
  • Use to get keep alive interval of real time text following rfc4103.

    Declaration

    Swift

    public var realtimeTextKeepaliveInterval: UInt { get set }

    Return Value

    returns keep alive interval of real time text.

  • Get the framerate of the video that is received.

    Declaration

    Swift

    public var receivedFramerate: Float { get }

    Return Value

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

  • Get the definition of the received video.

    Declaration

    Swift

    public var receivedVideoDefinition: VideoDefinition? { get }

    Return Value

    The received VideoDefinition or nil.

  • Get the path for the audio recording of the call.

    Declaration

    Swift

    public var recordFile: String { get set }

    Return Value

    The path to the audio recording of the call or nil.

  • Indicates whether RTP bundle mode (also known as Media Multiplexing) is enabled. See https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-54 for more information.

    Declaration

    Swift

    public var rtpBundleEnabled: Bool { get set }

    Return Value

    a boolean indicating the enablement of rtp bundle mode.

  • Get the RTP profile being used.

    Declaration

    Swift

    public var rtpProfile: String { get }

    Return Value

    The RTP profile.

  • Get the framerate of the video that is sent.

    Declaration

    Swift

    public var sentFramerate: Float { get }

    Return Value

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

  • Get the definition of the sent video.

    Declaration

    Swift

    public var sentVideoDefinition: VideoDefinition? { get }

    Return Value

    The sent VideoDefinition or nil.

  • Get the session name of the media session (ie in SDP). Subject from the SIP message can be retrieved using getCustomHeader() and is different.

    Declaration

    Swift

    public var sessionName: String { get set }

    Return Value

    The session name of the media session or nil.

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

    Declaration

    Swift

    public var tcapLineMergingEnabled: Bool? { get set }

    Parameters

    enabled

    A boolean value telling whether to merge tcap lines

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

    Declaration

    Swift

    public var usedAudioPayloadType: PayloadType? { get }

    Return Value

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

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

    Declaration

    Swift

    public var usedTextPayloadType: PayloadType? { get }

    Return Value

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

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

    Declaration

    Swift

    public var usedVideoPayloadType: PayloadType? { get }

    Return Value

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

  • Get the user data associated with the call params.

    Declaration

    Swift

    public var userData: UnsafeMutableRawPointer? { get set }

    Return Value

    The user data associated with the call params.

  • Get the video stream direction.

    Declaration

    Swift

    public var videoDirection: MediaDirection { get set }

    Return Value

    The video stream MediaDirection associated with the call params.

  • Tell whether video is enabled or not.

    Declaration

    Swift

    public var videoEnabled: Bool { get set }

    Return Value

    A boolean value telling whether video is enabled or not.

  • Use to get multicast state of video stream.

    Declaration

    Swift

    public var videoMulticastEnabled: Bool { get set }

    Return Value

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

  • Adds a Content to be added to the INVITE SDP.

    Declaration

    Swift

    public func addCustomContent(content: Content)

    Parameters

    content

    The Content to be added.

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

    Declaration

    Swift

    public func addCustomHeader(headerName: String, headerValue: String?)

    Parameters

    headerName

    The name of the header to add.

    headerValue

    The content of the header to add.

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

    Declaration

    Swift

    public func addCustomSdpAttribute(attributeName: String, attributeValue: String?)

    Parameters

    attributeName

    The name of the attribute to add.

    attributeValue

    The content value of the attribute to add.

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

    Declaration

    Swift

    public func addCustomSdpMediaAttribute(type: StreamType, attributeName: String, attributeValue: String?)

    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.

  • Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call.

    Declaration

    Swift

    public func clearCustomSdpAttributes()
  • Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call.

    Declaration

    Swift

    public func clearCustomSdpMediaAttributes(type: StreamType)

    Parameters

    type

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

  • Copy an existing CallParams object to a new CallParams object.

    Declaration

    Swift

    public func copy() -> CallParams?

    Return Value

    A copy of the CallParams object.

  • Get a custom SIP header.

    Declaration

    Swift

    public func getCustomHeader(headerName: String) -> String

    Parameters

    headerName

    The name of the header to get.

    Return Value

    The content of the header or nil if not found.

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

    Declaration

    Swift

    public func getCustomSdpAttribute(attributeName: String) -> String

    Parameters

    attributeName

    The name of the attribute to get.

    Return Value

    The content value of the attribute or nil if not found.

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

    Declaration

    Swift

    public func getCustomSdpMediaAttribute(type: StreamType, attributeName: String) -> String

    Parameters

    type

    The type of the stream to add a custom SDP attribute to.

    attributeName

    The name of the attribute to get.

    Return Value

    The content value of the attribute or nil if not found.

  • Returns the encryption is supported.

    Declaration

    Swift

    public func isMediaEncryptionSupported(encryption: MediaEncryption) -> Bool

    Parameters

    encryption

    The MediaEncryption to check whether is supported

    Return Value

    a boolean indicating whether the encryption is supported

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

    Declaration

    Swift

    public func tcapLinesMerged() -> Bool

    Return Value

    a boolean indicating the enablement of tcap line merging