src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java
/**
     * Notifies this instance that a specific <tt>ColibriConferenceIQ</tt> has
     * been received.
     *
     * @param conferenceIQ the <tt>ColibriConferenceIQ</tt> which has been
     * received
     * @return <tt>true</tt> if the specified <tt>conferenceIQ</tt> was
     * processed by this instance and no further processing is to be performed
     * by other possible processors of <tt>ColibriConferenceIQ</tt>s; otherwise,
     * <tt>false</tt>. Because a <tt>ColibriConferenceIQ</tt> request sent from
     * the Jitsi Videobridge server to the application as its client concerns a
     * specific <tt>CallJabberImpl</tt> implementation, no further processing by
     * other <tt>CallJabberImpl</tt> instances is necessary once the
     * <tt>ColibriConferenceIQ</tt> is processed by the associated
     * <tt>CallJabberImpl</tt> instance.
     */
Notifies this instance that a specific ColibriConferenceIQ has
been received.

@param conferenceIQ the ColibriConferenceIQ which has been
received
@return true if the specified conferenceIQ was
processed by this instance and no further processing is to be performed
by other possible processors of ColibriConferenceIQs; otherwise,
false. Because a ColibriConferenceIQ request sent from
the Jitsi Videobridge server to the application as its client concerns a
specific CallJabberImpl implementation, no further processing by
other CallJabberImpl instances is necessary once the
ColibriConferenceIQ is processed by the associated
CallJabberImpl instance.
Notifies this instance that a specific ColibriConferenceIQ has been received . @param conferenceIQ the ColibriConferenceIQ which has been received @return true if the specified conferenceIQ was processed by this instance and no further processing is to be performed by other possible processors of ColibriConferenceIQs ; otherwise false . Because a ColibriConferenceIQ request sent from the Jitsi Videobridge server to the application as its client concerns a specific CallJabberImpl implementation no further processing by other CallJabberImpl instances is necessary once the ColibriConferenceIQ is processed by the associated CallJabberImpl instance .
boolean processColibriConferenceIQ(ColibriConferenceIQ conferenceIQ)
    {
        if (colibri == null)
        {
            /*
             * This instance has not set up any conference using the Jitsi
             * Videobridge server-side technology yet so it cannot be bothered
             * with related requests.
             */
            return false;
        }
        else if (conferenceIQ.getID().equals(colibri.getID()))
        {
            /*
             * Remove the local Channels (from the specified conferenceIQ) i.e.
             * the Channels on which the local peer/user is sending to the Jitsi
             * Videobridge server because they concern this Call only and not
             * its CallPeers.
             */
            for (MediaType mediaType : MediaType.values())
            {
                String contentName = mediaType.toString();
                ColibriConferenceIQ.Content content
                    = conferenceIQ.getContent(contentName);
                if (content != null)
                {
                    ColibriConferenceIQ.Content thisContent
                        = colibri.getContent(contentName);
                    if ((thisContent != null)
                            && (thisContent.getChannelCount() > 0))
                    {
                        ColibriConferenceIQ.Channel thisChannel
                            = thisContent.getChannel(0);
                        ColibriConferenceIQ.Channel channel
                            = content.getChannel(thisChannel.getID());
                        if (channel != null)
                            content.removeChannel(channel);
                    }
                }
            }
            for (CallPeerJabberImpl callPeer : getCallPeerList())
                callPeer.processColibriConferenceIQ(conferenceIQ);
            /*
             * We have removed the local Channels from the specified
             * conferenceIQ. Consequently, it is no longer the same and fit for
             * processing by other CallJabberImpl instances.
             */
            return true;
        }
        else
        {
            /*
             * This instance has set up a conference using the Jitsi Videobridge
             * server-side technology but it is not the one referred to by the
             * specified conferenceIQ i.e. the specified conferenceIQ does not
             * concern this instance.
             */
            return false;
        }
    }
boolean processColibriConferenceIQ ( ColibriConferenceIQ conferenceIQ ) { if ( colibri == null ) { /*
             * This instance has not set up any conference using the Jitsi
             * Videobridge server-side technology yet so it cannot be bothered
             * with related requests.
             */ return false ; } else if ( conferenceIQ . getID ( ) . equals ( colibri . getID ( ) ) ) { /*
             * Remove the local Channels (from the specified conferenceIQ) i.e.
             * the Channels on which the local peer/user is sending to the Jitsi
             * Videobridge server because they concern this Call only and not
             * its CallPeers.
             */ for ( MediaType mediaType : MediaType . values ( ) ) { String contentName = mediaType . toString ( ) ; ColibriConferenceIQ . Content content = conferenceIQ . getContent ( contentName ) ; if ( content != null ) { ColibriConferenceIQ . Content thisContent = colibri . getContent ( contentName ) ; if ( ( thisContent != null ) && ( thisContent . getChannelCount ( ) > 0 ) ) { ColibriConferenceIQ . Channel thisChannel = thisContent . getChannel ( 0 ) ; ColibriConferenceIQ . Channel channel = content . getChannel ( thisChannel . getID ( ) ) ; if ( channel != null ) content . removeChannel ( channel ) ; } } } for ( CallPeerJabberImpl callPeer : getCallPeerList ( ) ) callPeer . processColibriConferenceIQ ( conferenceIQ ) ; /*
             * We have removed the local Channels from the specified
             * conferenceIQ. Consequently, it is no longer the same and fit for
             * processing by other CallJabberImpl instances.
             */ return true ; } else { /*
             * This instance has set up a conference using the Jitsi Videobridge
             * server-side technology but it is not the one referred to by the
             * specified conferenceIQ i.e. the specified conferenceIQ does not
             * concern this instance.
             */ return false ; } }
Notifies this instance that a specific <tt>ColibriConferenceIQ</tt> has
 been received.
Notifies this instance that a specific <tt > ColibriConferenceIQ< / tt > has been received .