src/net/java/sip/communicator/impl/protocol/jabber/TransportManagerJabberImpl.java
/**
     * Starts transport candidate harvest. This method should complete rapidly
     * and, in case of lengthy procedures like STUN/TURN/UPnP candidate harvests
     * are necessary, they should be executed in a separate thread. Candidate
     * harvest would then need to be concluded in the
     * {@link #wrapupCandidateHarvest()} method which would be called once we
     * absolutely need the candidates.
     *
     * @param ourOffer the content descriptions that we should be adding our
     * transport lists to (although not necessarily in this very instance).
     * @param transportInfoSender the <tt>TransportInfoSender</tt> to be used by
     * this <tt>TransportManagerJabberImpl</tt> to send <tt>transport-info</tt>
     * <tt>JingleIQ</tt>s from the local peer to the remote peer if this
     * <tt>TransportManagerJabberImpl</tt> wishes to utilize
     * <tt>transport-info</tt>. Local candidate addresses sent by this
     * <tt>TransportManagerJabberImpl</tt> in <tt>transport-info</tt> are
     * expected to not be included in the result of
     * {@link #wrapupCandidateHarvest()}.
     * @throws OperationFailedException if we fail to allocate a port number.
     */
Starts transport candidate harvest. This method should complete rapidly
and, in case of lengthy procedures like STUN/TURN/UPnP candidate harvests
are necessary, they should be executed in a separate thread. Candidate
harvest would then need to be concluded in the
#wrapupCandidateHarvest() method which would be called once we
absolutely need the candidates.

@param ourOffer the content descriptions that we should be adding our
transport lists to (although not necessarily in this very instance).
@param transportInfoSender the TransportInfoSender to be used by
this TransportManagerJabberImpl to send transport-info
JingleIQs from the local peer to the remote peer if this
TransportManagerJabberImpl wishes to utilize
transport-info. Local candidate addresses sent by this
TransportManagerJabberImpl in transport-info are
expected to not be included in the result of
#wrapupCandidateHarvest().
@throws OperationFailedException if we fail to allocate a port number.
Starts transport candidate harvest . This method should complete rapidly and in case of lengthy procedures like STUN / TURN / UPnP candidate harvests are necessary they should be executed in a separate thread . Candidate harvest would then need to be concluded in the #wrapupCandidateHarvest () method which would be called once we absolutely need the candidates . @param ourOffer the content descriptions that we should be adding our transport lists to ( although not necessarily in this very instance ) . @param transportInfoSender the TransportInfoSender to be used by this TransportManagerJabberImpl to send transport - info JingleIQs from the local peer to the remote peer if this TransportManagerJabberImpl wishes to utilize transport - info . Local candidate addresses sent by this TransportManagerJabberImpl in transport - info are expected to not be included in the result of #wrapupCandidateHarvest () . @throws OperationFailedException if we fail to allocate a port number .
public void startCandidateHarvest(
            List<ContentPacketExtension> ourOffer,
            TransportInfoSender transportInfoSender)
        throws OperationFailedException
    {
        startCandidateHarvest(
                /* theirOffer */ null,
                ourOffer,
                transportInfoSender);
    }
public void startCandidateHarvest ( List < ContentPacketExtension > ourOffer , TransportInfoSender transportInfoSender ) throws OperationFailedException { startCandidateHarvest ( /* theirOffer */ null , ourOffer , transportInfoSender ) ; }
Starts transport candidate harvest.
Starts transport candidate harvest .