src/net/java/sip/communicator/impl/protocol/sip/OperationSetDesktopSharingServerSipImpl.java
/**
         * Indicates that a change has occurred in the status of the source
         * <tt>CallPeer</tt>.
         *
         * @param evt the <tt>CallPeerChangeEvent</tt> instance containing the
         * source event as well as its previous and its new status
         */
Indicates that a change has occurred in the status of the source
CallPeer.

@param evt the CallPeerChangeEvent instance containing the
source event as well as its previous and its new status
Indicates that a change has occurred in the status of the source CallPeer . @param evt the CallPeerChangeEvent instance containing the source event as well as its previous and its new status
@Override
        public void peerStateChanged(CallPeerChangeEvent evt)
        {
            CallPeer peer = evt.getSourceCallPeer();
            CallPeerState state = peer.getState();
            if (remoteControlEnabled && state != null &&
                    (state.equals(CallPeerState.DISCONNECTED) ||
                            state.equals(CallPeerState.FAILED)))
            {
                /* if the peer is disconnected or call has failed the SIP
                 * dialog is terminated and sending a SUBSCRIBE (with 0 as
                 * lifetime) will throw exception
                 */
                remoteControlEnabled = false;
                try
                {
                    subscriber.removeSubscription(parentProvider.
                            parseAddressString(peer.getAddress()));
                }
                catch(ParseException ex)
                {
                }
            }
        }
@ Override public void peerStateChanged ( CallPeerChangeEvent evt ) { CallPeer peer = evt . getSourceCallPeer ( ) ; CallPeerState state = peer . getState ( ) ; if ( remoteControlEnabled && state != null && ( state . equals ( CallPeerState . DISCONNECTED ) || state . equals ( CallPeerState . FAILED ) ) ) { /* if the peer is disconnected or call has failed the SIP
                 * dialog is terminated and sending a SUBSCRIBE (with 0 as
                 * lifetime) will throw exception
                 */ remoteControlEnabled = false ; try { subscriber . removeSubscription ( parentProvider . parseAddressString ( peer . getAddress ( ) ) ) ; } catch ( ParseException ex ) { } } }
Indicates that a change has occurred in the status of the source
 <tt>CallPeer</tt>.
Indicates that a change has occurred in the status of the source <tt > CallPeer< / tt > .