src/net/java/sip/communicator/service/protocol/CallConference.java
/**
     * Notifies this telephony conference that the <tt>CallState</tt> of a
     * <tt>Call</tt> has changed.
     *
     * @param ev a <tt>CallChangeEvent</tt> which specifies the <tt>Call</tt>
     * which had its <tt>CallState</tt> changed and the old and new
     * <tt>CallState</tt>s of that <tt>Call</tt>
     */
Notifies this telephony conference that the CallState of a
Call has changed.

@param ev a CallChangeEvent which specifies the Call
which had its CallState changed and the old and new
CallStates of that Call
Notifies this telephony conference that the CallState of a Call has changed . @param ev a CallChangeEvent which specifies the Call which had its CallState changed and the old and new CallStates of that Call
private void callStateChanged(CallChangeEvent ev)
    {
        Call call = ev.getSourceCall();
        if (containsCall(call))
        {
            try
            {
                for (CallChangeListener l : getCallChangeListeners())
                    l.callStateChanged(ev);
            }
            finally
            {
                if (CallChangeEvent.CALL_STATE_CHANGE
                        .equals(ev.getPropertyName())
                    && CallState.CALL_ENDED.equals(ev.getNewValue()))
                {
                    /*
                     * Should not be vital because Call will remove itself.
                     * Anyway, do it for the sake of completeness.
                     */
                    removeCall(call);
                }
            }
        }
    }
private void callStateChanged ( CallChangeEvent ev ) { Call call = ev . getSourceCall ( ) ; if ( containsCall ( call ) ) { try { for ( CallChangeListener l : getCallChangeListeners ( ) ) l . callStateChanged ( ev ) ; } finally { if ( CallChangeEvent . CALL_STATE_CHANGE . equals ( ev . getPropertyName ( ) ) && CallState . CALL_ENDED . equals ( ev . getNewValue ( ) ) ) { /*
                     * Should not be vital because Call will remove itself.
                     * Anyway, do it for the sake of completeness.
                     */ removeCall ( call ) ; } } } }
Notifies this telephony conference that the <tt>CallState</tt> of a
 <tt>Call</tt> has changed.
Notifies this telephony conference that the <tt > CallState< / tt > of a <tt > Call< / tt > has changed .
// Forward the CallChangeEvent to the callChangeListeners.