ProtocolProviderServiceT
- OperationSetBasicTelephonyT
- MediaAwareCallT
- MediaAwareCallPeerT
- CalleeAddressT
- public abstract class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceT extends ProtocolProviderService,OperationSetBasicTelephonyT extends OperationSetBasicTelephony<ProtocolProviderServiceT>,MediaAwareCallT extends MediaAwareCall<MediaAwareCallPeerT,OperationSetBasicTelephonyT,ProtocolProviderServiceT>,MediaAwareCallPeerT extends MediaAwareCallPeer<MediaAwareCallT,?,ProtocolProviderServiceT>,CalleeAddressT> extends java.lang.Object implements OperationSetTelephonyConferencing, RegistrationStateChangeListener, java.beans.PropertyChangeListener, CallListener, CallChangeListener
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
ELEMENT_DISPLAY_TEXT
The name of the conference-info XML element display-text.
|
protected static java.lang.String |
ELEMENT_ENDPOINT
The name of the conference-info XML element endpoint.
|
protected static java.lang.String |
ELEMENT_MEDIA
The name of the conference-info XML element media.
|
protected static java.lang.String |
ELEMENT_SRC_ID
The name of the conference-info XML element src-id.
|
protected static java.lang.String |
ELEMENT_STATUS
The name of the conference-info XML element status.
|
protected static java.lang.String |
ELEMENT_TYPE
The name of the conference-info XML element type.
|
protected static java.lang.String |
ELEMENT_USER
The name of the conference-info XML element user.
|
protected static java.lang.String |
ELEMENT_USERS
The name of the conference-info XML element users.
|
protected ProtocolProviderServiceT |
parentProvider
The ProtocolProviderService implementation which created this
instance and for which telephony conferencing services are being provided
by this instance.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractOperationSetTelephonyConferencing(ProtocolProviderServiceT parentProvider)
Initializes a new AbstractOperationSetTelephonyConferencing
instance which is to provide telephony conferencing services for the
specified ProtocolProviderService implementation.
|
Modifier and Type | Method and Description |
---|---|
protected void |
basicTelephonyChanged(OperationSetBasicTelephonyT oldValue,
OperationSetBasicTelephonyT newValue)
Notifies this OperationSetTelephonyConferencing that its
basicTelephony property has changed its value from a specific
oldValue to a specific newValue
|
protected void |
callBegun(CallEvent event)
Notifies this CallListener that a specific Call has
been established.
|
void |
callEnded(CallEvent event)
Notifies this CallListener that a specific Call has
ended.
|
void |
callPeerAdded(CallPeerEvent event)
Notifies this CallChangeListener that a specific
CallPeer has been added to a specific Call.
|
void |
callPeerRemoved(CallPeerEvent event)
Notifies this CallChangeListener that a specific
CallPeer has been remove from a specific Call.
|
void |
callStateChanged(CallChangeEvent event)
Notifies this CallChangeListener that a specific Call
has changed its state.
|
Call |
createConfCall(java.lang.String[] callees)
Creates a conference call with the specified callees as call peers.
|
Call |
createConfCall(java.lang.String[] callees,
CallConference conference)
Creates a conference Call with the specified callees as
CallPeers.
|
protected abstract MediaAwareCallT |
createOutgoingCall()
Creates a new outgoing Call into which conference callees are to
be invited by this OperationSetTelephonyConferencing.
|
protected abstract CallPeer |
doInviteCalleeToCall(CalleeAddressT calleeAddress,
MediaAwareCallT call)
Invites a callee with a specific address to join a specific Call
for the purposes of telephony conferencing.
|
OperationSetBasicTelephonyT |
getBasicTelephony()
Gets the OperationSetBasicTelephony implementation which this
instance uses to carry out tasks such as establishing Calls.
|
protected ConferenceInfoDocument |
getConferenceInfoDiff(ConferenceInfoDocument from,
ConferenceInfoDocument to) |
protected ConferenceInfoDocument |
getCurrentConferenceInfo(MediaAwareCallPeer<?,?,?> callPeer)
Creates a ConferenceInfoDocument which describes the current
state of the conference in which callPeer participates.
|
protected abstract java.lang.String |
getLocalDisplayName()
Returns the display name for the local peer, which is to be used when
we send Conference Information.
|
protected abstract java.lang.String |
getLocalEntity(CallPeer callPeer)
Returns a string to be used for the entity attribute of the
user element for the local peer, in a Conference Information
document to be sent to callPeer
|
protected long |
getRemoteSourceID(MediaAwareCallPeer<?,?,?> callPeer,
org.jitsi.service.neomedia.MediaType mediaType)
Gets the remote SSRC to be reported in the conference-info XML for a
specific CallPeer's media of a specific MediaType.
|
void |
incomingCallReceived(CallEvent event)
Notifies this CallListener that a specific incoming
Call has been received.
|
CallPeer |
inviteCalleeToCall(java.lang.String uri,
Call call)
Invites the callee represented by the specified uri to an already
existing call.
|
protected void |
notifyAll(Call call)
Notifies all CallPeers associated with the telephony conference
in which a specific Call is participating about changes in the
telephony conference-related information.
|
protected abstract void |
notifyCallPeers(Call call)
Notifies all CallPeers associated with a specific Call
about changes in the telephony conference-related information.
|
void |
outgoingCallCreated(CallEvent event)
Notifies this CallListener that a specific outgoing
Call has been created.
|
protected abstract CalleeAddressT |
parseAddressString(java.lang.String calleeAddressString)
Parses a String value which represents a callee address
specified by the user into an object which is to actually represent the
callee during the invitation to a conference Call.
|
void |
propertyChange(java.beans.PropertyChangeEvent ev)
Notifies this PropertyChangeListener that the value of a
specific property of the notifier it is registered with has changed.
|
void |
registrationStateChanged(RegistrationStateChangeEvent event)
Notifies this RegistrationStateChangeListener that the
ProtocolProviderSerivce it is registered with has changed its
registration state.
|
protected int |
setConferenceInfoXML(MediaAwareCallPeerT callPeer,
java.lang.String conferenceInfoXML)
Updates the conference-related properties of a specific CallPeer
such as conferenceFocus and conferenceMembers with
information received from it as a conference focus in the form of a
conference-info XML document.
|
ConferenceDescription |
setupConference(ChatRoom chatRoom)
Sets up a conference with no participants, which members of
chatRoom can join.
|
static java.lang.String |
stripParametersFromAddress(java.lang.String address)
Removes the parameters (specified after a semicolon) from a specific
address String if any are present in it.
|
protected static final java.lang.String ELEMENT_DISPLAY_TEXT
protected static final java.lang.String ELEMENT_ENDPOINT
protected static final java.lang.String ELEMENT_MEDIA
protected static final java.lang.String ELEMENT_SRC_ID
protected static final java.lang.String ELEMENT_STATUS
protected static final java.lang.String ELEMENT_TYPE
protected static final java.lang.String ELEMENT_USER
protected static final java.lang.String ELEMENT_USERS
protected final ProtocolProviderServiceT extends ProtocolProviderService parentProvider
protected AbstractOperationSetTelephonyConferencing(ProtocolProviderServiceT parentProvider)
parentProvider
- the ProtocolProviderService implementation
which has requested the creation of the new instance and for which the
new instance is to provide telephony conferencing servicesprotected void basicTelephonyChanged(OperationSetBasicTelephonyT oldValue, OperationSetBasicTelephonyT newValue)
oldValue
- the old value of the basicTelephony propertynewValue
- the new value of the basicTelephony propertyprotected void callBegun(CallEvent event)
event
- a CallEvent which specified the newly-established
Callpublic void callEnded(CallEvent event)
callEnded
in interface CallListener
event
- a CallEvent which specified the Call which
has just endedpublic void callPeerAdded(CallPeerEvent event)
callPeerAdded
in interface CallChangeListener
event
- a CallPeerEvent which specifies the
CallPeer which has been added to a Callpublic void callPeerRemoved(CallPeerEvent event)
callPeerRemoved
in interface CallChangeListener
event
- a CallPeerEvent which specifies the
CallPeer which has been removed from a Callpublic void callStateChanged(CallChangeEvent event)
callStateChanged
in interface CallChangeListener
event
- a CallChangeEvent which specifies the Call
which has changed its state, the very state which has been changed and
the values of the state before and after the changepublic Call createConfCall(java.lang.String[] callees) throws OperationFailedException
createConfCall
in interface OperationSetTelephonyConferencing
callees
- the list of addresses that we should callOperationFailedException
- if establishing the conference call
failsOperationSetTelephonyConferencing.createConfCall(String[])
public Call createConfCall(java.lang.String[] callees, CallConference conference) throws OperationFailedException
createConfCall
in interface OperationSetTelephonyConferencing
callees
- the list of addresses that we should callconference
- the CallConference which represents the state
of the telephony conference into which the specified callees are to be
invitedOperationFailedException
- if establishing the conference
Call failsprotected abstract MediaAwareCallT createOutgoingCall() throws OperationFailedException
OperationFailedException
- if anything goes wrongprotected abstract CallPeer doInviteCalleeToCall(CalleeAddressT calleeAddress, MediaAwareCallT call) throws OperationFailedException
calleeAddress
- the address of the callee to be invited to the
specified existing Callcall
- the existing Call to invite the callee with the
specified address toOperationFailedException
- if inviting the specified callee to the
specified Call failspublic OperationSetBasicTelephonyT getBasicTelephony()
protected long getRemoteSourceID(MediaAwareCallPeer<?,?,?> callPeer, org.jitsi.service.neomedia.MediaType mediaType)
callPeer
- the CallPeer whose remote SSRC for the media of
the specified mediaType is to be returnedmediaType
- the MediaType of the specified
callPeer's media whose remote SSRC is to be returnedpublic void incomingCallReceived(CallEvent event)
incomingCallReceived
in interface CallListener
event
- a CallEvent which specifies the newly-received
incoming Callpublic CallPeer inviteCalleeToCall(java.lang.String uri, Call call) throws OperationFailedException
inviteCalleeToCall
in interface OperationSetTelephonyConferencing
uri
- the callee to invite to an existing conf call.call
- the call that we should invite the callee to.OperationFailedException
- if inviting the specified callee to the
specified call failsprotected void notifyAll(Call call)
call
- the Call which specifies the telephony conference
the associated CallPeers of which are to be notified about
changes in the telephony conference-related informationprotected abstract void notifyCallPeers(Call call)
Object.notifyAll()
notifies all CallPeers associated
with the telephony conference in which a specific Call is
participating.call
- the Call whose CallPeers are to be notified
about changes in the telephony conference-related informationpublic void outgoingCallCreated(CallEvent event)
outgoingCallCreated
in interface CallListener
event
- a CallEvent which specifies the newly-created
outgoing Callprotected abstract CalleeAddressT parseAddressString(java.lang.String calleeAddressString) throws OperationFailedException
calleeAddressString
- a String value which represents a
callee address to be parsed into an object which is to actually represent
the callee during the invitation to a conference CallOperationFailedException
- if parsing the specified
calleeAddressString failspublic void propertyChange(java.beans.PropertyChangeEvent ev)
propertyChange
in interface java.beans.PropertyChangeListener
ev
- a PropertyChangeEvent which describes the source of
the event, the name of the property which has changed its value and the
old and new values of the propertyPropertyChangeListener.propertyChange(PropertyChangeEvent)
public void registrationStateChanged(RegistrationStateChangeEvent event)
registrationStateChanged
in interface RegistrationStateChangeListener
event
- a RegistrationStateChangeEvent which specifies the
old and the new value of the registration state of the
ProtocolProviderService this
RegistrationStateChangeListener listens toprotected int setConferenceInfoXML(MediaAwareCallPeerT callPeer, java.lang.String conferenceInfoXML) throws org.jitsi.util.xml.XMLException
callPeer
- the CallPeer which is a conference focus and has
sent the specified conference-info XML documentconferenceInfoXML
- the conference-info XML document sent by
callPeer in order to update the conference-related information
of the local peer represented by the associated Callorg.jitsi.util.xml.XMLException
- If conferenceInfoXML couldn't be parsed as
a ConferenceInfoDocumentpublic static java.lang.String stripParametersFromAddress(java.lang.String address)
address
- the String value representing an address from
which any parameters are to be removedprotected ConferenceInfoDocument getCurrentConferenceInfo(MediaAwareCallPeer<?,?,?> callPeer)
protected abstract java.lang.String getLocalEntity(CallPeer callPeer)
callPeer
- The CallPeer for which we are creating a
Conference Information document.protected abstract java.lang.String getLocalDisplayName()
protected ConferenceInfoDocument getConferenceInfoDiff(ConferenceInfoDocument from, ConferenceInfoDocument to) throws java.lang.IllegalArgumentException
from
- A document with state full from which to generate a
"diff".to
- A document with state full to which to generate a
"diff"java.lang.IllegalArgumentException
public ConferenceDescription setupConference(ChatRoom chatRoom)
setupConference
in interface OperationSetTelephonyConferencing
chatRoom
- the ChatRoom for which to set up a conference.
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.