Interface org.sflphone.SFLphone.CallManager

Interface Index (Compact) | Summary | Description | Methods | Signals

Methods

placeCall (s: accountID, s: callID, s: to) nothing
placeCallFirstAccount (s: callID, s: to) nothing
refuse (s: callID) nothing
accept (s: callID) nothing
hangUp (s: callID) nothing
hangUpConference (s: confID) nothing
hold (s: callID) nothing
unhold (s: callID) nothing
transfert (s: callID, s: to) nothing
playDTMF (s: key) nothing
startTone (i: start, i: type) nothing
setVolume (s: device, d: value) nothing
getVolume (s: device) d: value
joinParticipant (s: sel_callID, s: drag_callID) nothing
addParticipant (s: callID, s: confID) nothing
addMainParticipant (s: confID) nothing
detachParticipant (s: callID) nothing
joinConference (s: sel_confID, s: drag_confID) nothing
getConferenceDetails (s: callID) a{ss}: infos
getConferenceList () as: list
setRecording (s: callID) nothing
getIsRecording (s: callID) b: isRecording
getCallDetails (s: callID) a{ss}: infos
getCallList () as: list
getCurrentCallID () s: callID
getCurrentCodecName (s: callID) s: codecName
getParticipantList (s: confID) as: list
holdConference (s: confID) nothing
unholdConference (s: confID) nothing
setSASVerified (s: callID) nothing
resetSASVerified (s: callID) nothing
setConfirmGoClear (s: callID) nothing
requestGoClear (s: callID) nothing
acceptEnrollment (s: callID, b: accepted) nothing
setPBXEnrollment (s: callID, b: yesNo) nothing

Signals

currentSelectedCodec (s: callID, s: codecName)
incomingCall (s: accountID, s: callID, s: from)
incomingMessage (s: accountID, s: message)
callStateChanged (s: callID, s: state)
conferenceChanged (s: confID, s: state)
conferenceCreated (s: confID)
conferenceRemoved (s: confID)
sipCallStateChanged (s: callID, s: state, i: code)
registrationStateChanged (s: accountID, s: state, i: code)
voiceMailNotify (s: accountID, i: count)
volumeChanged (s: device, d: value)
transferSucceded ()
transferFailed ()
secureSdesOn (s: callID)
secureSdesOff (s: callID)
secureZrtpOn (s: callID, s: cipher)
secureZrtpOff (s: callID)
confirmGoClear (s: callID)
zrtpNegotiationFailed (s: callID, s: reason, s: severity)
zrtpNotSuppOther (s: callID)
showSAS (s: callID, s: sas, b: verified)

Description

The CallManager interface is used to manage any call related actions.

Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.

Methods

(Permalink)

placeCall (s: accountID, s: callID, s: to) → nothing

Parameters

  • accountID — s
  • The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface.
  • callID — s
  • The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID.
  • to — s
  • If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified.

This is the main method in order to place a new call. The call is registered to the daemon using this method.

(Permalink)

placeCallFirstAccount (s: callID, s: to) → nothing

Added in 0.9.8.

Parameters

  • callID — s
  • The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID.
  • to — s
  • If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified.
Place a call with the fist registered account, regarding to the account list order.
Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension)
(Permalink)

refuse (s: callID) → nothing

Parameters

  • callID — s
  • The callID.
Refuse an incoming call.
(Permalink)

accept (s: callID) → nothing

Parameters

  • callID — s
  • The callID.
Answer an incoming call. Automatically put the current call on state HOLD.
(Permalink)

hangUp (s: callID) → nothing

Parameters

  • callID — s
  • The callID.
Hangup a call in state "CURRENT" or "HOLD".
(Permalink)

hangUpConference (s: confID) → nothing

Added in 0.9.7.

Parameters

  • confID — s
  • The unique conference ID.
Hangup a conference, and every call participating to the conference.
(Permalink)

hold (s: callID) → nothing

Parameters

  • callID — s
  • The callID.
Place a call on hold.
(Permalink)

unhold (s: callID) → nothing

Parameters

  • callID — s
  • The callID.
Hold off a call, and place this call on state CURRENT.
(Permalink)

transfert (s: callID, s: to) → nothing

Parameters

  • callID — s
  • The callID.
  • to — s
  • The phone number to transfer the call to.
Transfer a call to given phone number.
(Permalink)

playDTMF (s: key) → nothing

Parameters

  • key — s
  • Unicode charter for pressed key
Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server.
(Permalink)

startTone (i: start, i: type) → nothing

Parameters

  • start — i
  • type — i
Start audio stream and play tone..
(Permalink)

setVolume (s: device, d: value) → nothing

Parameters

  • device — s
  • The device: mic or speaker
  • value — d
  • The volume value (between 0 and 100)

Sets the volume using a linear scale [0,100].

Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.
(Permalink)

getVolume (s: device) → d: value

Parameters

  • device — s
  • The device: mic or speaker

Returns

  • value — d
  • The volume value (between 0 and 100)

Return the volume value of the given device on a linear scale [0,100].

Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.
(Permalink)

joinParticipant (s: sel_callID, s: drag_callID) → nothing

Added in 0.9.7.

Parameters

  • sel_callID — s
  • drag_callID — s

Join two participants together to create a 3-way conference including the current client.

The signal conferenceCreated is emitted on success.
(Permalink)

addParticipant (s: callID, s: confID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
  • The ID of the call to add to the conference
  • confID — s
  • An existing conference ID

Join a new particiant to an existing conference.

The signal conferenceChanged is emitted on success.
(Permalink)

addMainParticipant (s: confID) → nothing

Added in 0.9.7.

Parameters

  • confID — s
  • An existing conference ID

As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.

It put the current call on state HOLD or detach SFLphone-client's user from the another conference.

(Permalink)

detachParticipant (s: callID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
  • The call ID
Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal conferenceRemoved is emited.
(Permalink)

joinConference (s: sel_confID, s: drag_confID) → nothing

Added in 0.9.7.

Parameters

  • sel_confID — s
  • drag_confID — s
Join two conferences together.
(Permalink)

getConferenceDetails (s: callID) → a{ss}: infos

Added in 0.9.7.

Parameters

  • callID — s
  • The call ID

Returns

  • infos — a{ss}
  • A map containing the ID of the conferences and their states.
Returns a hashtable containing conference details.
(Permalink)

getConferenceList () → as: list

Added in 0.9.7.

Returns

  • list — as
  • The list of conferences.
Returns a list containing all active conferences.
(Permalink)

setRecording (s: callID) → nothing

Parameters

  • callID — s
  • The ID of the call to record.
Start recording a call.
(Permalink)

getIsRecording (s: callID) → b: isRecording

Parameters

  • callID — s
  • The call ID.

Returns

  • isRecording — b
  • Returns true is the call is being recorded. False otherwise.
Tells whether or not a call is being recorded.
(Permalink)

getCallDetails (s: callID) → a{ss}: infos

Parameters

  • callID — s
  • The call ID.

Returns

  • infos — a{ss} (String_String_Map)
  • A map containing the call details:

    • ACCOUNTID
    • PEER_NUMBER
    • PEER_NAME
    • DISPLAY_NAME
    • CALL_STATE
    • CALL_TYPE
Get all the details about a specific call.
(Permalink)

getCallList () → as: list

Returns

  • list — as
  • A list of call IDs.
Get the list of active calls.
To get the call details, iterate on the return value and call getCallDetails method.
(Permalink)

getCurrentCallID () → s: callID

Returns

  • callID — s
  • The current call ID.
Get the CURRENT call ID.
(Permalink)

getCurrentCodecName (s: callID) → s: codecName

Parameters

  • callID — s

Returns

  • codecName — s
(Permalink)

getParticipantList (s: confID) → as: list

Added in 0.9.7.

Parameters

  • confID — s
  • The conference ID.

Returns

  • list — as
  • The list of the call IDs.
Get the call IDs of every participant to a given conference. The client should keep and update the list of participant.
(Permalink)

holdConference (s: confID) → nothing

Added in 0.9.7.

Parameters

  • confID — s
  • The conference ID.
Hold on every calls participating to this conference.
(Permalink)

unholdConference (s: confID) → nothing

Added in 0.9.7.

Parameters

  • confID — s
  • The conference ID.
Hold off every calls participating to this conference.
(Permalink)

setSASVerified (s: callID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

resetSASVerified (s: callID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

setConfirmGoClear (s: callID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

requestGoClear (s: callID) → nothing

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

acceptEnrollment (s: callID, b: accepted) → nothing

Added in 0.9.7.

Parameters

  • callID — s
  • accepted — b
(Permalink)

setPBXEnrollment (s: callID, b: yesNo) → nothing

Added in 0.9.7.

Parameters

  • callID — s
  • yesNo — b

Signals

(Permalink)

currentSelectedCodec (s: callID, s: codecName)

Parameters

  • callID — s
  • codecName — s
(Permalink)

incomingCall (s: accountID, s: callID, s: from)

Parameters

  • accountID — s
  • The account ID of the callee. Clients must notify the right account when receiving this signal.
  • callID — s
  • A new call ID.
  • from — s
  • The caller phone number.

Notify an incoming call.

The callID generated by the daemon and must be stored by the clients in order to address other action for this call.

The client must subscribe to this signal to handle incoming calls.
(Permalink)

incomingMessage (s: accountID, s: message)

Parameters

  • accountID — s
  • message — s
Unused
(Permalink)

callStateChanged (s: callID, s: state)

Parameters

  • callID — s
  • The call ID.
  • state — s
  • The acceptable states are:
    • INCOMING: Initial state of incoming calls
    • RINGING: Initial state of received outgoing call
    • CURRENT: The normal active state of an answered call
    • HUNGUP: Notify that the call has been hungup by peer
    • BUSY
    • FAILURE: Error when processing a call
    • HOLD
    • UNHOLD_CURRENT
    • UNHOLD_RECORD

Notify of a change in a call state.

The client must subscribe to this signal.

(Permalink)

conferenceChanged (s: confID, s: state)

Added in 0.9.7.

Parameters

  • confID — s
  • The conference ID.
  • state — s
  • The acceptable states are:
    • ACTIVE_ATTACHED
    • ACTIVE_DETACHED
    • HOLD
Notify of a change in the conferences state
(Permalink)

conferenceCreated (s: confID)

Added in 0.9.7.

Parameters

  • confID — s
  • A new conference ID.
Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call getParticipantList to update the display.
(Permalink)

conferenceRemoved (s: confID)

Added in 0.9.7.

Parameters

  • confID — s
  • The conference ID.
Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification.
(Permalink)

sipCallStateChanged (s: callID, s: state, i: code)

Parameters

  • callID — s
  • state — s
  • code — i
(Permalink)

registrationStateChanged (s: accountID, s: state, i: code)

Parameters

  • accountID — s
  • The account ID
  • state — s
  • The new registration state
  • code — i
  • The SIP or IAX2 code

The state of an account has changed.

The clients have to subscribe to this signal to use accounts.

(Permalink)

voiceMailNotify (s: accountID, i: count)

Parameters

  • accountID — s
  • The account ID.
  • count — i
  • The number of waiting messages.
Notify the clients of the voicemail number for a specific account, if applicable.
(Permalink)

volumeChanged (s: device, d: value)

Parameters

  • device — s
  • The device: mic or speaker
  • value — d
  • The new volume value
Notify the clients of a volume level change.
(Permalink)

transferSucceded ()

The transfer has been successfully processed.
(Permalink)

transferFailed ()

The transfer operation has failed.
(Permalink)

secureSdesOn (s: callID)

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

secureSdesOff (s: callID)

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

secureZrtpOn (s: callID, s: cipher)

Added in 0.9.7.

Parameters

  • callID — s
  • cipher — s
(Permalink)

secureZrtpOff (s: callID)

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

confirmGoClear (s: callID)

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

zrtpNegotiationFailed (s: callID, s: reason, s: severity)

Added in 0.9.7.

Parameters

  • callID — s
  • reason — s
  • severity — s
(Permalink)

zrtpNotSuppOther (s: callID)

Added in 0.9.7.

Parameters

  • callID — s
(Permalink)

showSAS (s: callID, s: sas, b: verified)

Added in 0.9.7.

Parameters

  • callID — s
  • sas — s
  • verified — b