Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.protocol.sip
Class OperationSetTelephonyConferencingSipImpl

java.lang.Object
  extended by net.java.sip.communicator.service.protocol.media.AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
      extended by net.java.sip.communicator.impl.protocol.sip.OperationSetTelephonyConferencingSipImpl
All Implemented Interfaces:
PropertyChangeListener, EventListener, MethodProcessorListener, CallChangeListener, CallListener, RegistrationStateChangeListener, OperationSet, OperationSetTelephonyConferencing

public class OperationSetTelephonyConferencingSipImpl
extends AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
implements MethodProcessorListener

Implements OperationSetTelephonyConferencing for SIP.

Author:
Lyubomir Marinov

Field Summary
 
Fields inherited from class net.java.sip.communicator.service.protocol.media.AbstractOperationSetTelephonyConferencing
parentProvider
 
Constructor Summary
OperationSetTelephonyConferencingSipImpl(ProtocolProviderServiceSipImpl parentProvider)
          Initializes a new OperationSetTelephonyConferencingSipImpl instance which is to provide telephony conferencing services for the specified SIP ProtocolProviderService implementation.
 
Method Summary
protected  void basicTelephonyChanged(OperationSetBasicTelephonySipImpl oldValue, OperationSetBasicTelephonySipImpl newValue)
          Notifies this OperationSetTelephonyConferencing that its basicTelephony property has changed its value from a specific oldValue to a specific newValue
 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.
protected  CallSipImpl createOutgoingCall()
          Creates a new outgoing Call into which conference callees are to be invited by this OperationSetTelephonyConferencing.
protected  CallPeerSipImpl inviteCalleeToCall(javax.sip.address.Address calleeAddress, CallSipImpl call, boolean wasConferenceFocus)
          Invites a callee with a specific SIP Address to be joined in a specific Call in the sense of SIP conferencing.
protected  void notifyAll(Call call)
          Notifies all Subscriptions associated with and established in a specific Call about an ACTIVE subscription state without a reason for that subscription state.
protected  javax.sip.address.Address parseAddressString(String calleeAddressString)
          Parses a String value which represents a SIP address into a SIP Address value.
 void requestProcessed(CallPeerSipImpl sourceCallPeer, javax.sip.message.Request request, javax.sip.message.Response response)
          Notifies this MethodProcessorListener that a specific CallPeer has processed a specific SIP Request and has replied to it with a specific SIP Response.
 void responseProcessed(CallPeerSipImpl sourceCallPeer, javax.sip.message.Response response, javax.sip.message.Request request)
          Notifies this MethodProcessorListener that a specific CallPeer has processed a specific SIP Response and has replied to it with a specific SIP Request.
 
Methods inherited from class net.java.sip.communicator.service.protocol.media.AbstractOperationSetTelephonyConferencing
callBegun, callEnded, callStateChanged, createConfCall, createConfCall, getBasicTelephony, incomingCallReceived, inviteCalleeToCall, outgoingCallCreated, propertyChange, registrationStateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OperationSetTelephonyConferencingSipImpl

public OperationSetTelephonyConferencingSipImpl(ProtocolProviderServiceSipImpl parentProvider)
Initializes a new OperationSetTelephonyConferencingSipImpl instance which is to provide telephony conferencing services for the specified SIP ProtocolProviderService implementation.

Parameters:
parentProvider - the SIP ProtocolProviderService implementation which has requested the creation of the new instance and for which the new instance is to provide telephony conferencing services
Method Detail

basicTelephonyChanged

protected void basicTelephonyChanged(OperationSetBasicTelephonySipImpl oldValue,
                                     OperationSetBasicTelephonySipImpl newValue)
Notifies this OperationSetTelephonyConferencing that its basicTelephony property has changed its value from a specific oldValue to a specific newValue

Overrides:
basicTelephonyChanged in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
oldValue - the old value of the basicTelephony property
newValue - the new value of the basicTelephony property

callPeerAdded

public void callPeerAdded(CallPeerEvent event)
Notifies this CallChangeListener that a specific CallPeer has been added to a specific Call.

Specified by:
callPeerAdded in interface CallChangeListener
Overrides:
callPeerAdded in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
event - a CallPeerEvent which specifies the CallPeer which has been added to a Call

callPeerRemoved

public void callPeerRemoved(CallPeerEvent event)
Notifies this CallChangeListener that a specific CallPeer has been remove from a specific Call.

Specified by:
callPeerRemoved in interface CallChangeListener
Overrides:
callPeerRemoved in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
event - a CallPeerEvent which specifies the CallPeer which has been removed from a Call

createOutgoingCall

protected CallSipImpl createOutgoingCall()
                                  throws OperationFailedException
Creates a new outgoing Call into which conference callees are to be invited by this OperationSetTelephonyConferencing.

Specified by:
createOutgoingCall in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Returns:
a new outgoing Call into which conference callees are to be invited by this OperationSetTelephonyConferencing
Throws:
OperationFailedException - if anything goes wrong

inviteCalleeToCall

protected CallPeerSipImpl inviteCalleeToCall(javax.sip.address.Address calleeAddress,
                                             CallSipImpl call,
                                             boolean wasConferenceFocus)
                                      throws OperationFailedException
Invites a callee with a specific SIP Address to be joined in a specific Call in the sense of SIP conferencing.

Specified by:
inviteCalleeToCall in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
calleeAddress - the SIP Address of the callee to be invited to the specified existing Call
call - the existing Call to invite the callee with the specified SIP calleeAddress to
wasConferenceFocus - the value of the conferenceFocus property of the specified call prior to the request to invite the specified calleeAddress
Returns:
a new SIP CallPeer instance which describes the SIP signaling and the media streaming of the newly-invited callee within the specified Call
Throws:
OperationFailedException - if inviting the specified callee to the specified call fails

notifyAll

protected void notifyAll(Call call)
Notifies all Subscriptions associated with and established in a specific Call about an ACTIVE subscription state without a reason for that subscription state.

Specified by:
notifyAll in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
call - the Call in which the Subscriptions to be notified have been established

parseAddressString

protected javax.sip.address.Address parseAddressString(String calleeAddressString)
                                                throws OperationFailedException
Parses a String value which represents a SIP address into a SIP Address value.

Specified by:
parseAddressString in class AbstractOperationSetTelephonyConferencing<ProtocolProviderServiceSipImpl,OperationSetBasicTelephonySipImpl,CallSipImpl,CallPeerSipImpl,javax.sip.address.Address>
Parameters:
calleeAddressString - a String value which represents a SIP address to be parsed into a SIP Address value
Returns:
a SIP Address value which represents the specified calleeAddressString
Throws:
OperationFailedException - if parsing the specified calleeAddressString fails

requestProcessed

public void requestProcessed(CallPeerSipImpl sourceCallPeer,
                             javax.sip.message.Request request,
                             javax.sip.message.Response response)
Notifies this MethodProcessorListener that a specific CallPeer has processed a specific SIP Request and has replied to it with a specific SIP Response.

Specified by:
requestProcessed in interface MethodProcessorListener
Parameters:
sourceCallPeer - the CallPeer which has processed the specified SIP Request
request - the SIP Request which has been processed by sourceCallPeer
response - the SIP Response sent by sourceCallPeer as a reply to the specified SIP request
See Also:
MethodProcessorListener.requestProcessed(CallPeerSipImpl, Request, Response)

responseProcessed

public void responseProcessed(CallPeerSipImpl sourceCallPeer,
                              javax.sip.message.Response response,
                              javax.sip.message.Request request)
Notifies this MethodProcessorListener that a specific CallPeer has processed a specific SIP Response and has replied to it with a specific SIP Request.

Specified by:
responseProcessed in interface MethodProcessorListener
Parameters:
sourceCallPeer - the CallPeer which has processed the specified SIP Response
response - the SIP Response which has been processed by sourceCallPeer
request - the SIP Request sent by sourceCallPeer as a reply to the specified SIP response
See Also:
MethodProcessorListener.responseProcessed(CallPeerSipImpl, Response, Request)

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.