Linphone core main object created by function
- Source:
Members
-
adaptiveRateAlgorithm :string
-
Sets adaptive rate algorithm. It will be used for each new calls starting from now. Calls already started will not be updated.
Type:
- string
- Source:
-
adaptiveRateControlEnabled :boolean
-
Enable adaptive rate control.
Type:
- boolean
- Source:
-
audioAdaptiveJittcompEnabled :boolean
-
Enable or disable the audio adaptive jitter compensation.
Type:
- boolean
- Source:
-
audioCodecs :Array.<Object>
-
Sets the list of audio codecs.
Type:
- Array.<Object>
- Source:
-
audioDscp :number
-
Set the DSCP field for outgoing audio streams.
Type:
- number
- Source:
-
audioJittcomp :number
-
Sets the nominal audio jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.
Type:
- number
- Source:
-
audioPort :number
-
Sets the UDP port used for audio streaming. A value if -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings.
Type:
- number
- Source:
-
<readonly> authInfoList :Array.<Object>
-
Returns an unmodifiable list of currently entered LinphoneAuthInfo.
Type:
- Array.<Object>
- Source:
-
avpfMode :linphone.AVPFMode
-
Enable RTCP feedback (also known as RTP/AVPF profile). Setting LinphoneAVPFDefault is equivalent to LinphoneAVPFDisabled. This setting can be overriden per LinphoneProxyConfig with
Type:
- Source:
-
avpfRrInterval :number
-
Set the avpf report interval in seconds. This value can be overriden by the proxy config using
Type:
- number
- Source:
-
<readonly> callLogs :Array.<Object>
-
Get the list of call logs (past calls).
Type:
- Array.<Object>
- Source:
-
<readonly> calls :Array.<Object>
-
Returns the current list of calls.
Type:
- Array.<Object>
- Source:
-
<readonly> callsNb :number
-
Get the number of Call
Type:
- number
- Source:
-
captureDevice :string
-
Sets the sound device used for capture.
Type:
- string
- Source:
-
chatDatabasePath :string
-
Sets the database filename where chat messages will be stored. If the file does not exist, it will be created.
Type:
- string
- Source:
-
<readonly> chatEnabled :boolean
-
Returns whether chat is enabled.
Type:
- boolean
- Source:
-
<readonly> chatRooms :Array.<Object>
-
Returns an list of chat rooms
Type:
- Array.<Object>
- Source:
-
<readonly> conferenceLocalInputVolume :number
-
Returns the sound volume (mic input) of the local participant of the conference.
Type:
- number
- Source:
-
<readonly> conferenceSize :number
-
Returns the number of participants to the conference, including the local participant.
Type:
- number
- Source:
-
<readonly> config :external:LpConfig
-
Returns the LpConfig object used to manage the storage (config) file.
Type:
- Source:
-
<readonly> currentCall :external:LinphoneCall
-
Returns The _LinphoneCall struct of the current call if one is in call
Type:
- Source:
-
<readonly> currentCallRemoteAddress :external:LinphoneAddress
-
Get the remote address of the current call.
Type:
- Source:
-
defaultProxyConfig :external:LinphoneProxyConfig
-
Sets the default proxy.
Type:
- Source:
-
delayedTimeout :number
-
Set the in delayed timeout in seconds.
Type:
- number
- Source:
-
deviceRotation :number
-
Tells the core the device current orientation. This can be used by capture filters on mobile devices to select between portrait/landscape mode and to produce properly oriented images. The exact meaning of the value in rotation if left to each device specific implementations.
Type:
- number
- Source:
-
dnsSrvEnabled :boolean
-
Enable or disable DNS SRV resolution.
Type:
- boolean
- Source:
-
downloadBandwidth :number
-
Sets maximum available download bandwidth This is IP bandwidth, in kbit/s. This information is used signaled to other parties during calls (within SDP messages) so that the remote end can have sufficient knowledge to properly configure its audio & video codec output bitrate to not overflow available bandwidth.
Type:
- number
- Source:
-
downloadPtime :number
-
Set audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified.
Type:
- number
- Source:
-
echoCancellationEnabled :boolean
-
Enables or disable echo cancellation. Value is saved and used for subsequent calls. This actually controls software echo cancellation. If hardware echo cancellation is available, it will be always used and activated for calls, regardless of the value passed to this function. When hardware echo cancellation is available, the software one is of course not activated.
Type:
- boolean
- Source:
-
echoLimiterEnabled :boolean
-
Enables or disable echo limiter.
Type:
- boolean
- Source:
-
fileManager :external:FileManager
-
Get the file manager.
Type:
- Source:
-
firewallPolicy :linphone.FirewallPolicy
-
Set the policy to use to pass through firewalls.
Type:
- Source:
-
<readonly> friendList :Array.<Object>
-
Get Buddy list of LinphoneFriend
Type:
- Array.<Object>
- Source:
-
guessHostname :boolean
-
Tells LinphoneCore to guess local hostname automatically in primary contact.
Type:
- boolean
- Source:
-
<readonly> identity :string
-
Returns the default identity SIP address.
Type:
- string
- Source:
-
inCallTimeout :number
-
Set the in call timeout in seconds.
Type:
- number
- Source:
-
<readonly> incomingInvitePending :boolean
-
Tells whether there is an incoming invite pending.
Type:
- boolean
- Source:
-
<readonly> inConference :boolean
-
Indicates whether the local participant is part of the conference.
Type:
- boolean
- Source:
-
incTimeout :number
-
Set the incoming call timeout in seconds.
Type:
- number
- Source:
-
ipv6Enabled :boolean
-
Turns IPv6 support on or off.
Type:
- boolean
- Source:
-
iterateEnabled :boolean
-
Enable/disable the iteration process of the LinphoneCore.
Type:
- boolean
- Source:
-
iterateInterval :number
-
Set the interval between two iterations of the LinphoneCore process (in milliseconds).
Type:
- number
- Source:
-
keepAliveEnabled :boolean
-
enable signaling keep alive. small udp packet sent periodically to keep udp NAT association
Type:
- boolean
- Source:
-
logCollectionUploadServerUrl :string
-
Set the url of the server where to upload the collected log files.
Type:
- string
- Source:
-
logHandler :object
-
Set the javascript function to be used as the log handler. This function will received the log level as its first parameter and the log message as its second parameter.
Type:
- object
- Source:
-
magic :string
-
Value to be used to identify the instance of the plugin.
Type:
- string
- Source:
-
maxCalls :number
-
Set the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
Type:
- number
- Source:
-
mediaEncryption :linphone.MediaEncryption
-
Choose the media encryption policy to be used for RTP packets.
Type:
- Source:
-
mediaEncryptionMandatory :boolean
-
Define behaviour when encryption parameters negociation fails on outgoing call.
Type:
- boolean
- Source:
-
micEnabled :boolean
-
Enable or disable the microphone.
Type:
- boolean
- Source:
-
micGainDb :number
-
Allow to control microphone level: gain in db
Type:
- number
- Source:
-
<readonly> missedCallsCount :number
-
Get the number of missed calls. Once checked, this counter can be reset with
Type:
- number
- Source:
-
mtu :number
-
Sets the maximum transmission unit size in bytes. This information is useful for sending RTP packets. Default value is 1500.
Type:
- number
- Source:
-
natAddress :string
-
Set the public IP address of NAT when using the firewall policy is set to use NAT.
Type:
- string
- Source:
-
nativePreviewWindowId :external:unsignedlong
-
Set the native window id where the preview video (local camera) is to be displayed. This has to be used in conjonction with
Type:
- external:unsignedlong
- Source:
-
nativeVideoWindowId :external:unsignedlong
-
Set the native video window id where the video is to be displayed. For MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given.
Type:
- external:unsignedlong
- Source:
-
networkReachable :boolean
-
This method is called by the application to notify the linphone core library when network is reachable. Calling this method with true trigger linphone to initiate a registration process for all proxies. Calling this method disables the automatic network detection mode. It means you must call this method after each network state changes.
Type:
- boolean
- Source:
-
nortpTimeout :number
-
Sets the no-rtp timeout value in seconds.
Type:
- number
- Source:
-
playbackDevice :string
-
Sets the sound device used for playback.
Type:
- string
- Source:
-
playbackGainDb :number
-
Allow to control play level before entering sound card: gain in db
Type:
- number
- Source:
-
playFile :string
-
Sets a wav file to be played when putting somebody on hold, or when files are used instead of soundcards (see
Type:
- string
- Source:
-
playLevel :number
-
Set sound playback level in 0-100 scale
Type:
- number
- Source:
-
<readonly> pluginVersion :string
-
Gets the version of the plugin.
Type:
- string
- Source:
-
preferredFramerate :number
-
Set the preferred frame rate for video. Based on the available bandwidth constraints and network conditions, the video encoder remains free to lower the framerate. There is no warranty that the preferred frame rate be the actual framerate. used during a call. Default value is 0, which means "use encoder's default fps value".
Type:
- number
- Source:
-
preferredVideoSize :external:MSVideoSize
-
Sets the preferred video size.
Type:
- external:MSVideoSize
- Source:
-
preferredVideoSizeByName :string
-
Sets the preferred video size by its name.
Type:
- string
- Source:
-
presenceModel :external:LinphonePresenceModel
-
Set my presence model
Type:
- Source:
-
previewVideoSize :external:MSVideoSize
-
Sets the video size for the captured (preview) video. This method is for advanced usage where a video capture must be set independently of the size of the stream actually sent through the call. This allows for example to have the preview window with HD resolution even if due to bandwidth constraint the sent video size is small. Using this feature increases the CPU consumption, since a rescaling will be done internally.
Type:
- external:MSVideoSize
- Source:
-
previewVideoSizeByName :string
-
Sets the preview video size by its name. See
Type:
- string
- Source:
-
primaryContact :string
-
Sets the local "from" identity.
Type:
- string
- Source:
-
<readonly> primaryContactParsed :external:LinphoneAddress
-
Same as
Type:
- Source:
-
provisioningUri :string
-
Set URI where to download xml configuration file at startup. This can also be set from configuration file or factory config file, from [misc] section, item "config-uri". Calling this function does not load the configuration. It will write the value into configuration so that configuration from remote URI will take place at next LinphoneCore start.
Type:
- string
- Source:
-
<readonly> proxyConfigList :Array.<Object>
-
Returns an unmodifiable list of entered proxy configurations.
Type:
- Array.<Object>
- Source:
-
recLevel :number
-
Set sound capture level in 0-100 scale
Type:
- number
- Source:
-
recordFile :string
-
Sets a wav file where incoming stream is to be recorded, when files are used instead of soundcards (see
Type:
- string
- Source:
-
ring :string
-
Sets the path to a wav file used for ringing.
Type:
- string
- Source:
-
ringback :string
-
Sets the path to a wav file used for ringing back.
Type:
- string
- Source:
-
ringerDevice :string
-
Sets the sound device used for ringing.
Type:
- string
- Source:
-
ringLevel :number
-
Set sound ring level in 0-100 scale
Type:
- number
- Source:
-
rootCa :string
-
Sets the path to a file or folder containing trusted root CAs (PEM format)
Type:
- string
- Source:
-
sdp200AckEnabled :boolean
-
Control when media offer is sent in SIP INVITE.
Type:
- boolean
- Source:
-
selfViewEnabled :boolean
-
Enables or disable self view during calls.
Type:
- boolean
- Source:
-
sipDscp :number
-
Set the DSCP field for SIP signaling channel.
Type:
- number
- Source:
-
sipPort :number
-
Sets the UDP port to be used by SIP.
Type:
- number
- Source:
-
sipTransports :external:LCSipTransports
-
Sets the ports to be used for each of transport (UDP or TCP)
Type:
- external:LCSipTransports
- Source:
-
sipTransportTimeout :number
-
Set the SIP transport timeout.
Type:
- number
- Source:
-
<readonly> soundDevices :string
-
Returns an unmodifiable array of available sound devices.
Type:
- string
- Source:
-
staticPicture :string
-
Set the path to the image file to stream when "Static picture" is set as the video device.
Type:
- string
- Source:
-
staticPictureFps :number
-
Set the frame rate for static picture.
Type:
- number
- Source:
-
stunServer :string
-
Set the STUN server address to use when the firewall policy is set to STUN.
Type:
- string
- Source:
-
<readonly> supportedFileFormats :string
-
Returns a null terminated table of strings containing the file format extension supported for call recording.
Type:
- string
- Source:
-
<readonly> supportedVideoSizes :external:MSVideoSizeDef
-
Returns the zero terminated table of supported video resolutions.
Type:
- external:MSVideoSizeDef
- Source:
-
uploadBandwidth :number
-
Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s. This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio & video codec's output bitrate.
Type:
- number
- Source:
-
uploadPtime :number
-
Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.
Type:
- number
- Source:
-
<readonly> upnpExternalIpaddress :string
-
Return the external ip address of router. In some cases the uPnP can have an external ip address but not a usable uPnP (state different of Ok).
Type:
- string
- Source:
-
<readonly> upnpState :linphone.UpnpState
-
Return the internal state of uPnP.
Type:
- Source:
-
useFiles :boolean
-
Ask the core to stream audio from and to files, instead of using the soundcard.
Type:
- boolean
- Source:
-
useInfoForDtmf :boolean
-
Sets whether SIP INFO is to be used for sending digits.
Type:
- boolean
- Source:
-
useRfc2833ForDtmf :boolean
-
Sets whether RFC2833 is to be used for sending digits.
Type:
- boolean
- Source:
-
<readonly> version :string
-
Gets the version of the core.
Type:
- string
- Source:
-
videoAdaptiveJittcompEnabled :boolean
-
Enable or disable the video adaptive jitter compensation.
Type:
- boolean
- Source:
-
videoCaptureEnabled :boolean
-
Enable or disable video capture.
Type:
- boolean
- Source:
-
videoCodecs :Array.<Object>
-
Sets the list of video codecs.
Type:
- Array.<Object>
- Source:
-
videoDevice :string
-
Sets the active video device.
Type:
- string
- Source:
-
<readonly> videoDevices :string
-
Returns an unmodifiable array of available video capture devices.
Type:
- string
- Source:
-
videoDisplayEnabled :boolean
-
Enable or disable video display.
Type:
- boolean
- Source:
-
videoDisplayFilter :string
-
Set the name of the mediastreamer2 filter to be used for rendering video. This is for advanced users of the library, mainly to workaround hardware/driver bugs.
Type:
- string
- Source:
-
videoDscp :number
-
Set the DSCP field for outgoing video streams.
Type:
- number
- Source:
-
videoJittcomp :number
-
Sets the nominal video jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.
Type:
- number
- Source:
-
videoPolicy :external:LinphoneVideoPolicy
-
Sets the default policy for video. This policy defines whether:
Type:
- external:LinphoneVideoPolicy
- Source:
-
videoPort :number
-
Sets the UDP port used for video streaming. A value if -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings.
Type:
- number
- Source:
-
videoPreviewEnabled :boolean
-
Controls video preview enablement.
Type:
- boolean
- Source:
-
videoSourceReuseEnabled :boolean
-
Enable or disable video source reuse when switching from preview to actual video call.
Type:
- boolean
- Source:
-
zrtpSecretsFile :string
-
Set the path to the file storing the zrtp secrets cache.
Type:
- string
- Source:
Methods
-
abortAuthentication(info) → {void}
-
This method is used to abort a user authentication request initiated by LinphoneCore from the auth_info_requested callback of LinphoneCoreVTable.
Parameters:
Name Type Description infoexternal:LinphoneAuthInfo - - Source:
Returns:
- Type
- void
-
acceptCall(call) → {number}
-
Accept an incoming call.
Parameters:
Name Type Description callexternal:LinphoneCall the LinphoneCall object representing the call to be answered. - Source:
Returns:
- Type
- number
-
acceptCallUpdate(call, params) → {number}
-
Accept call modifications initiated by other end.
Parameters:
Name Type Description callexternal:LinphoneCall the LinphoneCall object paramsexternal:LinphoneCallParams a LinphoneCallParams object describing the call parameters to accept. - Source:
Returns:
- Type
- number
-
acceptCallWithParams(call, params) → {number}
-
Accept an incoming call, with parameters.
Parameters:
Name Type Description callexternal:LinphoneCall the LinphoneCall object representing the call to be answered. paramsexternal:LinphoneCallParams the specific parameters for this call, for example whether video is accepted or not. Use NULL to use default parameters. - Source:
Returns:
- Type
- number
-
acceptEarlyMedia(call) → {number}
-
Accept an early media session for an incoming call. This is identical as calling
Parameters:
Name Type Description callexternal:LinphoneCall the incoming call - Source:
Returns:
- Type
- number
-
acceptEarlyMediaWithParams(call, params) → {number}
-
When receiving an incoming, accept to start a media session as early-media. This means the call is not accepted but audio & video streams can be established if the remote party supports early media. However, unlike after call acceptance, mic and camera input are not sent during early-media, though received audio & video are played normally. The call can then later be fully accepted using
Parameters:
Name Type Description callexternal:LinphoneCall the call paramsexternal:LinphoneCallParams the call params, can be NULL. - Source:
Returns:
- Type
- number
-
addAllToConference() → {number}
-
Add all calls into a conference.
- Source:
Returns:
- Type
- number
-
addAuthInfo(info) → {void}
-
Adds authentication information to the LinphoneCore.
Parameters:
Name Type Description infoexternal:LinphoneAuthInfo - - Source:
Returns:
- Type
- void
-
addFriend(fr) → {void}
-
Add a friend to the current buddy list, if
Parameters:
Name Type Description frexternal:LinphoneFriend to add - Source:
Returns:
- Type
- void
-
addListener(vtable) → {void}
-
add a listener to be notified of linphone core events. Once events are received, registered vtable are invoked in order.
Parameters:
Name Type Description vtableexternal:LinphoneCoreVTable object - Source:
Returns:
- Type
- void
-
addProxyConfig(config) → {number}
-
Add a proxy configuration. This will start registration on the proxy, if registration is enabled.
Parameters:
Name Type Description configexternal:LinphoneProxyConfig - - Source:
Returns:
- Type
- number
-
addSupportedTag(tag) → {void}
-
This function controls signaling features supported by the core. They are typically included in a SIP Supported header.
Parameters:
Name Type Description tagstring the feature tag name - Source:
Returns:
- Type
- void
-
addToConference(call) → {number}
-
Merge a call into a conference.
Parameters:
Name Type Description callexternal:LinphoneCall an established call, either in LinphoneCallStreamsRunning or LinphoneCallPaused state. - Source:
Returns:
- Type
- number
-
canWeAddCall() → {boolean}
-
Check if we do not have exceed the number of simultaneous call
- Source:
Returns:
- Type
- boolean
-
clearAllAuthInfo() → {void}
-
Clear all authentication information.
- Source:
Returns:
- Type
- void
-
clearCallLogs() → {void}
-
Erase the call log.
- Source:
Returns:
- Type
- void
-
clearProxyConfig() → {void}
-
Erase all proxies from config.
- Source:
Returns:
- Type
- void
-
declineCall(call, reason) → {number}
-
Decline a pending incoming call, with a reason.
Parameters:
Name Type Description callexternal:LinphoneCall the LinphoneCall, must be in the IncomingReceived state. reasonlinphone.Reason the reason for rejecting the call: LinphoneReasonDeclined or LinphoneReasonBusy - Source:
Returns:
- Type
- number
-
deferCallUpdate(call) → {number}
-
When receiving a
Parameters:
Name Type Description callexternal:LinphoneCall - - Source:
Returns:
- Type
- number
-
disableChat(deny_reason) → {void}
-
Inconditionnaly disable incoming chat messages.
Parameters:
Name Type Description deny_reasonlinphone.Reason the deny reason (LinphoneReasonNone has no effect). - Source:
Returns:
- Type
- void
-
enableChat() → {void}
-
Enable reception of incoming chat messages. By default it is enabled but it can be disabled with
- Source:
Returns:
- Type
- void
-
enablePayloadType(pt, enable) → {number}
-
Enable or disable the use of the specified payload type.
Parameters:
Name Type Description ptexternal:LinphonePayloadType The enableboolean TRUE to enable the payload type, FALSE to disable it. - Source:
Returns:
- Type
- number
-
enterConference() → {number}
-
Moves the local participant inside the conference.
- Source:
Returns:
- Type
- number
-
findAuthInfo(realm, username, sip_domain) → {external:LinphoneAuthInfo}
-
Find authentication info matching realm, username, domain criteria. First of all, (realm,username) pair are searched. If multiple results (which should not happen because realm are supposed to be unique), then domain is added to the search.
Parameters:
Name Type Description realmstring the authentication 'realm' (optional) usernamestring the SIP username to be authenticated (mandatory) sip_domainstring the SIP domain name (optional) - Source:
Returns:
-
findCallFromUri(uri) → {external:LinphoneCall}
-
Search from the list of current calls if a remote address match uri
Parameters:
Name Type Description uristring which should match call remote uri - Source:
Returns:
-
findFriend(addr) → {external:LinphoneFriend}
-
Search a LinphoneFriend by its address.
Parameters:
Name Type Description addrexternal:LinphoneAddress The address to use to search the friend. - Source:
Returns:
-
findPayloadType(type, rate, channels) → {external:LinphonePayloadType}
-
Get payload type from mime type and clock rate
Parameters:
Name Type Description typestring payload mime type (I.E SPEEX, PCMU, VP8) ratenumber can be channelsnumber number of channels, can be - Source:
Returns:
-
getAudioPortRange(min_port, max_port) → {void}
-
Get the audio port range from which is randomly chosen the UDP port used for audio streaming.
Parameters:
Name Type Description min_portnumber - max_portnumber - - Source:
Returns:
- Type
- void
-
getCallByRemoteAddress(remote_address) → {external:LinphoneCall}
-
Get the call with the remote_address specified
Parameters:
Name Type Description remote_addressstring - - Source:
Returns:
-
getChatRoom(addr) → {external:LinphoneChatRoom}
-
Get a chat room whose peer is the supplied address. If it does not exist yet, it will be created.
Parameters:
Name Type Description addrexternal:LinphoneAddress a linphone address. - Source:
Returns:
-
getChatRoomFromUri(to) → {external:LinphoneChatRoom}
-
Get a chat room for messaging from a sip uri like sip:
Parameters:
Name Type Description tostring The destination address for messages. - Source:
Returns:
-
getFriendByRefKey(key) → {external:LinphoneFriend}
-
Search a LinphoneFriend by its reference key.
Parameters:
Name Type Description keystring The reference key to use to search the friend. - Source:
Returns:
-
getPayloadTypeBitrate(pt) → {number}
-
Get the bitrate explicitely set with
Parameters:
Name Type Description ptexternal:LinphonePayloadType the - Source:
Returns:
- Type
- number
-
getSipTransports(transports) → {number}
-
Retrieves the port configuration used for each transport (udp, tcp, tls). A zero value port for a given transport means the transport is not used. A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be choosen randomly by the system.
Parameters:
Name Type Description transportsexternal:LCSipTransports - - Source:
Returns:
- Type
- number
-
getSipTransportsUsed(tr) → {void}
-
Retrieves the real port number assigned for each sip transport (udp, tcp, tls). A zero value means that the transport is not activated. If LC_SIP_TRANSPORT_RANDOM was passed to
Parameters:
Name Type Description trexternal:LCSipTransports a LCSipTransports structure. - Source:
Returns:
- Type
- void
-
getVideoPortRange(min_port, max_port) → {void}
-
Get the video port range from which is randomly chosen the UDP port used for video streaming.
Parameters:
Name Type Description min_portnumber - max_portnumber - - Source:
Returns:
- Type
- void
-
inCall() → {boolean}
-
Returns TRUE if there is a call running.
- Source:
Returns:
- Type
- boolean
-
init(config, factory) → {number}
-
Initializes and launches the execution of the LinphoneCore.
Parameters:
Name Type Description configstring Path to the user config file. If it does not exists it will be created. The config file is used to store all settings, call logs, friends, proxies... so that all these settings become persistent over the life of the LinphoneCore object. It is allowed to set a null config file. In that case LinphoneCore will not store any settings. factorystring Path to the read-only factory config file. It can be used to store hard-coded preference such as proxy settings or internal preferences. The settings in this factory file always override the one in the normal config file. It is OPTIONAL, use null if unneeded. - Source:
Returns:
0 if successful, any other value on error- Type
- number
-
interpretUrl(url) → {external:LinphoneAddress}
-
Interpret a call destination as supplied by the user, and returns a fully qualified LinphoneAddress.
Parameters:
Name Type Description urlstring - - Source:
Returns:
-
invite(url) → {external:LinphoneCall}
-
Initiates an outgoing call
Parameters:
Name Type Description urlstring the destination of the call (sip address, or phone number). - Source:
Returns:
-
inviteAddress(addr) → {external:LinphoneCall}
-
Initiates an outgoing call given a destination LinphoneAddress
Parameters:
Name Type Description addrexternal:LinphoneAddress the destination of the call (sip address). - Source:
Returns:
-
inviteAddressWithParams(addr, params) → {external:LinphoneCall}
-
Initiates an outgoing call given a destination LinphoneAddress
Parameters:
Name Type Description addrexternal:LinphoneAddress the destination of the call (sip address). paramsexternal:LinphoneCallParams call parameters - Source:
Returns:
-
inviteWithParams(url, params) → {external:LinphoneCall}
-
Initiates an outgoing call according to supplied call parameters
Parameters:
Name Type Description urlstring the destination of the call (sip address, or phone number). paramsexternal:LinphoneCallParams call parameters - Source:
Returns:
-
iterate() → {void}
-
Main loop function. It is crucial that your application call it periodically.
- Source:
Returns:
- Type
- void
-
leaveConference() → {number}
-
Moves the local participant out of the conference.
- Source:
Returns:
- Type
- number
-
migrateToMultiTransport() → {number}
-
Migrate configuration so that all SIP transports are enabled. Versions of linphone < 3.7 did not support using multiple SIP transport simultaneously. This function helps application to migrate the configuration so that all transports are enabled. Existing proxy configuration are added a transport parameter so that they continue using the unique transport that was set previously. This function must be used just after creating the core, before any call to
- Source:
Returns:
- Type
- number
-
newAddress(address) → {external:LinphoneAddress}
-
Create a
Parameters:
Name Type Description addressstring String containing the user supplied address - Source:
Returns:
-
newAuthInfo(username, userid, passwd, ha1, realm, domain) → {external:LinphoneAuthInfo}
-
Create an authentication information with default values from Linphone core.
Parameters:
Name Type Description usernamestring String containing the username part of the authentication credentials useridstring String containing the username to use to calculate the authentication digest (optional) passwdstring String containing the password of the authentication credentials (optional, either passwd or ha1 must be set) ha1string String containing a ha1 hash of the password (optional, either passwd or ha1 must be set) realmstring String used to discriminate different SIP authentication domains (optional) domainstring String containing the SIP domain for which this authentication information is valid, if it has to be restricted for a single SIP domain. - Source:
Returns:
-
newCallParams(call) → {external:LinphoneCallParams}
-
Create a LinphoneCallParams suitable for
Parameters:
Name Type Description callexternal:LinphoneCall the call for which the parameters are to be build, or NULL in the case where the parameters are to be used for a new outgoing call. - Source:
Returns:
-
newFriend() → {external:LinphoneFriend}
-
Create a default LinphoneFriend.
- Source:
Returns:
-
newFriendWithAddress(address) → {external:LinphoneFriend}
-
Create a LinphoneFriend from the given address.
Parameters:
Name Type Description addressstring A string containing the address to create the LinphoneFriend from - Source:
Returns:
-
newLpConfig(filename) → {external:LpConfig}
-
Create a LpConfig object from a user config file.
Parameters:
Name Type Description filenamestring The filename of the config file to read to fill the instantiated LpConfig - Source:
Returns:
- Type
- external:LpConfig
-
newPresenceActivity(acttype, description) → {external:LinphonePresenceActivity}
-
Create a LinphonePresenceActivity with the given type and description.
Parameters:
Name Type Description acttypelinphone.PresenceActivityType The descriptionstring An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added. - Source:
Returns:
-
newPresenceModel() → {external:LinphonePresenceModel}
-
Create a default LinphonePresenceModel.
- Source:
Returns:
-
newPresenceModelWithActivity(acttype, description) → {external:LinphonePresenceModel}
-
Create a LinphonePresenceModel with the given activity type and activity description.
Parameters:
Name Type Description acttypelinphone.PresenceActivityType The descriptionstring An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added. - Source:
Returns:
-
newPresenceModelWithActivityAndNote(acttype, description, note, lang) → {external:LinphonePresenceModel}
-
Create a LinphonePresenceModel with the given activity type, activity description, note content and note language.
Parameters:
Name Type Description acttypelinphone.PresenceActivityType The descriptionstring An additional description of the activity to set for the activity. Can be NULL if no additional description is to be added. notestring The content of the note to be added to the created model. langstring The language of the note to be added to the created model. - Source:
Returns:
-
newPresenceNote(content, lang) → {external:LinphonePresenceNote}
-
Create a LinphonePresenceNote with the given content and language.
Parameters:
Name Type Description contentstring The content of the note to be created. langstring The language of the note to be created. - Source:
Returns:
-
newPresencePerson(id) → {external:LinphonePresencePerson}
-
Create a LinphonePresencePerson with the given id.
Parameters:
Name Type Description idstring The id of the person to be created. - Source:
Returns:
-
newPresenceService(id, basic_status, contact) → {external:LinphonePresenceService}
-
Create a LinphonePresenceService with the given id, basic status and contact.
Parameters:
Name Type Description idstring The id of the service to be created. basic_statuslinphone.PresenceBasicStatus The basic status of the service to be created. contactstring A string containing a contact information corresponding to the service to be created. - Source:
Returns:
-
newProxyConfig() → {external:LinphoneProxyConfig}
-
Create a proxy config with default values from Linphone core.
- Source:
Returns:
-
newPublish(resource, event, expires) → {external:LinphoneEvent}
-
Create a publish context for an event state. After being created, the publish must be sent using
Parameters:
Name Type Description resourceexternal:LinphoneAddress the resource uri for the event eventstring the event name expiresnumber the lifetime of event being published, -1 if no associated duration, in which case it will not be refreshed. - Source:
Returns:
-
newSubscribe(resource, event, expires) → {external:LinphoneEvent}
-
Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body. If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before. Unlike
Parameters:
Name Type Description resourceexternal:LinphoneAddress the destination resource eventstring the event name expiresnumber the whished duration of the subscription - Source:
Returns:
-
notifyAllFriends(presence) → {void}
-
Notify all friends that have subscribed
Parameters:
Name Type Description presenceexternal:LinphonePresenceModel to notify - Source:
Returns:
- Type
- void
-
pauseAllCalls() → {number}
-
Pause all currently running calls.
- Source:
Returns:
- Type
- number
-
pauseCall(call) → {number}
-
Pauses the call. If a music file has been setup using
Parameters:
Name Type Description callexternal:LinphoneCall - - Source:
Returns:
- Type
- number
-
payloadTypeEnabled(pt) → {boolean}
-
Tells whether the specified payload type is enabled.
Parameters:
Name Type Description ptexternal:LinphonePayloadType The - Source:
Returns:
- Type
- boolean
-
payloadTypeIsVbr(pt) → {boolean}
-
Tells whether the specified payload type represents a variable bitrate codec.
Parameters:
Name Type Description ptexternal:LinphonePayloadType The - Source:
Returns:
- Type
- boolean
-
playDtmf(dtmf, duration_ms) → {void}
-
Plays a dtmf sound to the local user.
Parameters:
Name Type Description dtmfexternal:char DTMF to play ['0'..'16'] | '#' | '#' duration_msnumber duration in ms, -1 means play until next further call to - Source:
Returns:
- Type
- void
-
playLocal(audiofile) → {number}
-
Plays an audio file to the local user. This function works at any time, during calls, or when no calls are running. It doesn't request the underlying audio system to support multiple playback streams.
Parameters:
Name Type Description audiofilestring path to audio file in wav PCM 16 bit format. - Source:
Returns:
- Type
- number
-
publish(resource, event, expires, body) → {external:LinphoneEvent}
-
Publish an event state. This first create a LinphoneEvent with
Parameters:
Name Type Description resourceexternal:LinphoneAddress the resource uri for the event eventstring the event name expiresnumber the lifetime of event being published, -1 if no associated duration, in which case it will not be refreshed. bodyexternal:LinphoneContent the actual published data - Source:
Returns:
-
redirectCall(call, redirect_uri) → {number}
-
Redirect the specified call to the given redirect URI.
Parameters:
Name Type Description callexternal:LinphoneCall The redirect_uristring The URI to redirect the call to. - Source:
Returns:
- Type
- number
-
refreshRegisters() → {void}
-
force registration refresh to be initiated upon next iterate
- Source:
Returns:
- Type
- void
-
rejectSubscriber(lf) → {void}
-
Black list a friend. same as
Parameters:
Name Type Description lfexternal:LinphoneFriend to add - Source:
Returns:
- Type
- void
-
reloadSoundDevices() → {void}
-
Update detection of sound devices.
- Source:
Returns:
- Type
- void
-
reloadVideoDevices() → {void}
-
Update detection of camera devices.
- Source:
Returns:
- Type
- void
-
removeAuthInfo(info) → {void}
-
Removes an authentication information object.
Parameters:
Name Type Description infoexternal:LinphoneAuthInfo - - Source:
Returns:
- Type
- void
-
removeCallLog(call_log) → {void}
-
Remove a specific call log from call history list. This function destroys the call log object. It must not be accessed anymore by the application after calling this function.
Parameters:
Name Type Description call_logexternal:LinphoneCallLog object to remove. - Source:
Returns:
- Type
- void
-
removeFriend(fr) → {void}
-
remove a friend from the buddy list
Parameters:
Name Type Description frexternal:LinphoneFriend to add - Source:
Returns:
- Type
- void
-
removeFromConference(call) → {number}
-
Remove a call from the conference.
Parameters:
Name Type Description callexternal:LinphoneCall a call that has been previously merged into the conference. - Source:
Returns:
- Type
- number
-
removeListener(vtable) → {void}
-
remove a listener registred by linphone_core_add_listener.
Parameters:
Name Type Description vtableexternal:LinphoneCoreVTable object - Source:
Returns:
- Type
- void
-
removeProxyConfig(config) → {void}
-
Removes a proxy configuration.
Parameters:
Name Type Description configexternal:LinphoneProxyConfig - - Source:
Returns:
- Type
- void
-
removeSupportedTag(tag) → {void}
-
Remove a supported tag.
Parameters:
Name Type Description tagstring the tag to remove - Source:
Returns:
- Type
- void
-
resetMissedCallsCount() → {void}
-
Reset the counter of missed calls.
- Source:
Returns:
- Type
- void
-
resumeCall(call) → {number}
-
Resumes the call.
Parameters:
Name Type Description callexternal:LinphoneCall - - Source:
Returns:
- Type
- number
-
sendDtmf(dtmf) → {void}
-
Send the specified dtmf.
Parameters:
Name Type Description dtmfexternal:char The dtmf name specified as a char, such as '0', '#' etc... - Source:
Returns:
- Type
- void
-
setAudioPortRange(min_port, max_port) → {void}
-
Sets the UDP port range from which to randomly select the port used for audio streaming.
Parameters:
Name Type Description min_portnumber - max_portnumber - - Source:
Returns:
- Type
- void
-
setCallErrorTone(reason, audiofile) → {void}
-
Assign an audio file to be played locally upon call failure, for a given reason.
Parameters:
Name Type Description reasonlinphone.Reason the audiofilestring a wav file to be played when such call failure happens. - Source:
Returns:
- Type
- void
-
setPayloadTypeBitrate(pt, bitrate) → {void}
-
Set an explicit bitrate (IP bitrate, not codec bitrate) for a given codec, in kbit/s.
Parameters:
Name Type Description ptexternal:LinphonePayloadType the bitratenumber the IP bitrate in kbit/s. - Source:
Returns:
- Type
- void
-
setUserAgent(ua_name, version) → {void}
-
Sets the user agent string used in SIP messages.
Parameters:
Name Type Description ua_namestring - versionstring - - Source:
Returns:
- Type
- void
-
setVideoPortRange(min_port, max_port) → {void}
-
Sets the UDP port range from which to randomly select the port used for video streaming.
Parameters:
Name Type Description min_portnumber - max_portnumber - - Source:
Returns:
- Type
- void
-
soundDeviceCanCapture(device) → {boolean}
-
Returns true if the specified sound device can capture sound.
Parameters:
Name Type Description devicestring the device name as returned by - Source:
Returns:
- Type
- boolean
-
soundDeviceCanPlayback(device) → {boolean}
-
Returns true if the specified sound device can play sound.
Parameters:
Name Type Description devicestring the device name as returned by - Source:
Returns:
- Type
- boolean
-
soundResourcesLocked() → {boolean}
-
Check if a call will need the sound resources.
- Source:
Returns:
- Type
- boolean
-
startDtmfStream() → {void}
-
Special function to warm up dtmf feeback stream.
- Source:
Returns:
- Type
- void
-
stopDtmf() → {void}
-
Stops playing a dtmf started by
- Source:
Returns:
- Type
- void
-
stopDtmfStream() → {void}
-
Special function to stop dtmf feed back function. Must be called before entering BG mode
- Source:
Returns:
- Type
- void
-
stopRinging() → {void}
-
Whenever the liblinphone is playing a ring to advertise an incoming call or ringback of an outgoing call, this function stops the ringing. Typical use is to stop ringing when the user requests to ignore the call.
- Source:
Returns:
- Type
- void
-
subscribe(resource, event, expires, body) → {external:LinphoneEvent}
-
Create an outgoing subscription, specifying the destination resource, the event name, and an optional content body. If accepted, the subscription runs for a finite period, but is automatically renewed if not terminated before.
Parameters:
Name Type Description resourceexternal:LinphoneAddress the destination resource eventstring the event name expiresnumber the whished duration of the subscription bodyexternal:LinphoneContent an optional body, may be NULL. - Source:
Returns:
-
terminateAllCalls() → {number}
-
Terminates all the calls.
- Source:
Returns:
- Type
- number
-
terminateCall(call) → {number}
-
Terminates a call.
Parameters:
Name Type Description callexternal:LinphoneCall the LinphoneCall object representing the call to be terminated. - Source:
Returns:
- Type
- number
-
terminateConference() → {number}
-
Terminates the conference and the calls associated with it.
- Source:
Returns:
- Type
- number
-
transferCall(call, refer_to) → {number}
-
Performs a simple call transfer to the specified destination.
Parameters:
Name Type Description callexternal:LinphoneCall - refer_tostring - - Source:
Returns:
- Type
- number
-
transferCallToAnother(call, dest) → {number}
-
Transfer a call to destination of another running call. This is used for "attended transfer" scenarios.
Parameters:
Name Type Description callexternal:LinphoneCall a running call you want to transfer destexternal:LinphoneCall a running call whose remote person will receive the transfer - Source:
Returns:
- Type
- number
-
uninit() → {number}
-
Stops the execution and uninitializes the LinphoneCore.
- Source:
Returns:
0 if successful, any other value on error- Type
- number
-
updateCall(call, params) → {number}
-
Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.
Parameters:
Name Type Description callexternal:LinphoneCall the call to be updated paramsexternal:LinphoneCallParams the new call parameters to use. (may be NULL) - Source:
Returns:
- Type
- number
-
uploadLogCollection() → {void}
-
Upload the log collection to the configured server url.
- Source:
Returns:
- Type
- void
-
usePreviewWindow(yesno) → {void}
-
Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window.
Parameters:
Name Type Description yesnoboolean TRUE to use a separate window, FALSE to insert the preview in the remote video window. - Source:
Returns:
- Type
- void
-
verifyServerCertificates(yesno) → {void}
-
Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server.
Parameters:
Name Type Description yesnoboolean - - Source:
Returns:
- Type
- void
-
verifyServerCn(yesno) → {void}
-
Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.
Parameters:
Name Type Description yesnoboolean - - Source:
Returns:
- Type
- void
Events
-
authInfoRequested
-
event for requesting authentication information to application or user.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore realmstring the realm (domain) on which authentication is required. usernamestring the username that needs to be authenticated. Application shall reply to this callback using domainstring - -
buddyInfoUpdated
-
event prototype
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - lfexternal:LinphoneFriend - -
callEncryptionChanged
-
Call encryption changed event.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore callexternal:LinphoneCall the call on which encryption is changed. onboolean whether encryption is activated. authenticationTokenstring an authentication_token, currently set for ZRTP kind of encryption only. -
callLogUpdated
-
event to notify a new call-log entry has been added. This is done typically when a call terminates.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore newclexternal:LinphoneCallLog the new call log entry added. -
callStateChanged
-
Call state notification event.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore callexternal:LinphoneCall the call object whose state is changed. cstatelinphone.CallState the new state of the call messagestring an informational message about the state. -
callStatsUpdated
-
event for receiving quality statistics for calls.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore callexternal:LinphoneCall the call statsexternal:LinphoneCallStats the call statistics. -
cbFunc
-
event prototype
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - userDatavoid - -
configuringStatus
-
event prototype for configuring status changes notification
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore statuslinphone.ConfiguringState informational message. messagestring - -
dtmfReceived
-
event for being notified of DTMFs received.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the linphone core callexternal:LinphoneCall the call that received the dtmf dtmfnumber the ascii code of the dtmf -
fileTransferProgressIndication
-
File transfer progress indication event prototype.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object messageexternal:LinphoneChatMessage message from which the body is received. contentexternal:LinphoneContent incoming content information offsetnumber The number of bytes sent/received since the beginning of the transfer. totalnumber The total number of bytes to be sent/received. -
fileTransferRecv
-
File transfer receive event prototype. This function is called by the core upon an incoming File transfer is started. This function may be call several time for the same file in case of large file.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object messageexternal:LinphoneChatMessage message from which the body is received. contentexternal:LinphoneContent incoming content information buffstring pointer to the received data sizenumber number of bytes to be read from buff. 0 means end of file. -
fileTransferSend
-
File transfer send event prototype. This function is called by the core upon an outgoing File transfer is started. This function is called until size is set to 0.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object messageexternal:LinphoneChatMessage message from which the body is received. contentexternal:LinphoneContent outgoing content buffstring pointer to the buffer where data chunk shall be written by the app sizenumber as input value, it represents the number of bytes expected by the framework. As output value, it means the number of bytes wrote by the application in the buffer. 0 means end of file. -
globalStateChanged
-
Global state notification event.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - gstatelinphone.GlobalState the global state messagestring informational message. -
infoReceived
-
event prototype for receiving info messages.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore callexternal:LinphoneCall the call whose info message belongs to. msgexternal:LinphoneInfoMessage the info message. -
isComposingReceived
-
Is composing notification event prototype.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object roomexternal:LinphoneChatRoom involved in the conversation. -
logCollectionUploadProgressIndication
-
event prototype for reporting log collection upload progress indication.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore LinphoneCore object offsetnumber Percentage of the file size of the log collection already uploaded. totalnumber - -
logCollectionUploadStateChanged
-
event prototype for reporting log collection upload state change.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore LinphoneCore object statelinphone.CoreLogCollectionUploadState The state of the log collection upload infostring Additional information: error message in case of error state, URL of uploaded file in case of success. -
messageReceived
-
Chat message event prototype
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object roomexternal:LinphoneChatRoom involved in this conversation. Can be be created by the framework in case messageexternal:LinphoneChatMessage incoming message -
networkReachable
-
event prototype for reporting network change either automatically detected or notified by
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore reachableboolean true if network is reachable. -
newSubscriptionRequested
-
Reports that a new subscription request has been received and wait for a decision. Status on this subscription request is notified by
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object lfexternal:LinphoneFriend corresponding to the subscriber urlstring of the subscriber Callback prototype -
notifyPresenceReceived
-
Report status change for a friend previously
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore object . lfexternal:LinphoneFriend Updated -
notifyReceived
-
event prototype for notifying the application about notification received from the network.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - levexternal:LinphoneEvent - notifiedEventstring - bodyexternal:LinphoneContent - -
publishStateChanged
-
event prototype for notifying the application about changes of publish states.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - levexternal:LinphoneEvent - statelinphone.PublishState - -
referReceived
-
event prototype
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - referTostring - -
registrationStateChanged
-
Registration state notification event prototype
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - cfgexternal:LinphoneProxyConfig - cstatelinphone.RegistrationState - messagestring - -
subscriptionStateChanged
-
event prototype for notifying the application about changes of subscription states, including arrival of new subscriptions.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore - levexternal:LinphoneEvent - statelinphone.SubscriptionState - -
transferStateChanged
-
event for notifying progresses of transfers.
Type:
- object
- Source:
Properties:
Name Type Description lcexternal:LinphoneCore the LinphoneCore transferedexternal:LinphoneCall the call that was transfered newCallStatelinphone.CallState the state of the call to transfer target at the far end.