From 80860c7761faaecd73bc976019b824f3d500e2ef Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Thu, 13 Dec 2012 22:46:11 +0000 Subject: [PATCH] Fixes issues with Jitsi VideoBridge conferencing. --- lib/installer-exclude/libjitsi.jar | Bin 1311037 -> 1311062 bytes .../impl/gui/main/call/CallManager.java | 30 +- .../impl/gui/main/call/ZrtpSecurityPanel.java | 130 +- .../call/conference/ConferencePeerPanel.java | 2 +- .../conference/VideoConferenceCallPanel.java | 28 +- .../CallPeerMediaHandlerJabberImpl.java | 2560 +++++++++-------- .../AbstractOperationSetVideoTelephony.java | 25 +- 7 files changed, 1450 insertions(+), 1325 deletions(-) diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index cee1f5f46826d7ac77f104b7272fef97d222b33e..18f0e6c637e4131f3f32e3091d9ac9fbac2deef3 100644 GIT binary patch delta 204530 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

+ * Warning: The method may return only one of the many possible + * remote SSRCs in the case of no utilization of the Jitsi VideoBridge + * server-side technology because the super implementation does not + * currently provide support for keeping track of multiple remote SSRCs. + *

* - * @throws OperationFailedException if we fail to create the descriptions - * for reasons like problems with device interaction, allocating ports, etc. + * @param mediaType the MediaType of the RTP streams the SSRCs of + * which are to be returned + * @return an array of long values which represent the SSRCs of RTP + * streams with the specified mediaType known to be received by a + * MediaStream associated with this instance */ - public List createContentList() - throws OperationFailedException + public long[] getRemoteSSRCs(MediaType mediaType) { - // Describe the media. - List mediaDescs - = new ArrayList(); + /* + * If the Jitsi VideoBridge server-side technology is utilized, a single + * MediaStream (per MediaType) is shared among the participating + * CallPeers and, consequently, the remote SSRCs cannot be associated + * with the CallPeers from which they are actually being sent. That's + * why the server will report them to the conference focus. + */ + TransportManagerJabberImpl transportManager = this.transportManager; - for (MediaType mediaType : MediaType.values()) + if (transportManager instanceof RawUdpTransportManager) { - MediaDevice dev = getDefaultDevice(mediaType); - - if (isDeviceActive(dev)) - { - MediaDirection direction = dev.getDirection(); - - /* - * In the case of RTP translation performed by the conference - * focus, the conference focus is not required to capture media. - */ - if (!(MediaType.VIDEO.equals(mediaType) - && isRTPTranslationEnabled(mediaType))) - { - direction - = direction.and(getDirectionUserPreference(mediaType)); - } - if (isLocallyOnHold()) - direction = direction.and(MediaDirection.SENDONLY); - - /* - * If we're only able to receive, we don't have to offer it at - * all. For example, we have to offer audio and no video when we - * start an audio call. - */ - if (MediaDirection.RECVONLY.equals(direction)) - direction = MediaDirection.INACTIVE; - - if (direction != MediaDirection.INACTIVE) - { - ContentPacketExtension content - = createContentForOffer( - getLocallySupportedFormats(dev), - direction, - dev.getSupportedExtensions()); - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); - - //SDES - // It is important to set SDES before ZRTP in order to make - // GTALK application able to work with SDES. - setSDesEncryptionToDescription( - mediaType, - description, - null); - //ZRTP - setZrtpEncryptionToDescription( - mediaType, - description, - null); - - // we request a desktop sharing session so add the inputevt - // extension in the "video" content - if (description.getMedia().equals( - MediaType.VIDEO.toString()) - && getLocalInputEvtAware()) - { - content.addChildExtension( - new InputEvtPacketExtension()); - } - - mediaDescs.add(content); - } - } - } + RawUdpTransportManager rawUdpTransportManager + = (RawUdpTransportManager) transportManager; + CobriConferenceIQ.Channel channel + = rawUdpTransportManager.getCobriChannel( + mediaType, + false /* remote */); - // Fail if no media is described (e.g. all devices are inactive). - if (mediaDescs.isEmpty()) - { - ProtocolProviderServiceJabberImpl.throwOperationFailedException( - "We couldn't find any active Audio/Video devices" - + " and couldn't create a call", - OperationFailedException.GENERAL_ERROR, - null, - logger); + if (channel != null) + return channel.getSSRCs(); } - // Describe the transport(s). - TransportInfoSender transportInfoSender - = getTransportManager().getXmlNamespace().equals( - ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P) - ? new TransportInfoSender() - { - public void sendTransportInfo( - Iterable contents) - { - getPeer().sendTransportInfo(contents); - } - } - : null; - - return harvestCandidates(null, mediaDescs, transportInfoSender); - } - - /** - * Generates an Jingle {@link ContentPacketExtension} for the specified - * {@link MediaFormat} list, direction and RTP extensions taking account - * the local streaming preference for the corresponding media type. - * - * @param supportedFormats the list of MediaFormats that we'd - * like to advertise. - * @param direction the MediaDirection that we'd like to establish - * the stream in. - * @param supportedExtensions the list of RTPExtensions that we'd - * like to advertise in the MediaDescription. - * - * @return a newly created {@link ContentPacketExtension} representing - * streams that we'd be able to handle. - */ - private ContentPacketExtension createContentForOffer( - List supportedFormats, - MediaDirection direction, - List supportedExtensions) - { - ContentPacketExtension content - = JingleUtils.createDescription( - ContentPacketExtension.CreatorEnum.initiator, - supportedFormats.get(0).getMediaType().toString(), - JingleUtils.getSenders(direction, !getPeer().isInitiator()), - supportedFormats, - supportedExtensions, - getDynamicPayloadTypes(), - getRtpExtensionsRegistry()); + /* + * XXX The fallback to the super implementation that follows may lead to + * unexpected behavior due to the lack of ability to keep track of + * multiple remote SSRCs. + */ + long ssrc = super.getRemoteSSRC(mediaType); - this.localContentMap.put(content.getName(), content); - return content; + return (ssrc == -1) ? CobriConferenceIQ.NO_SSRCS : new long[] { ssrc }; } /** - * Reinitialize all media contents. + * Gets the TransportManager implementation handling our address + * management. * - * @throws OperationFailedException if we fail to handle content - * for reasons like failing to initialize media devices or streams. - * @throws IllegalArgumentException if there's a problem with the syntax or - * the semantics of content. Method is synchronized in order to - * avoid closing mediaHandler when we are currently in process of - * initializing, configuring and starting streams and anybody interested - * in this operation can synchronize to the mediaHandler instance to wait - * processing to stop (method setState in CallPeer). + * @return the TransportManager implementation handling our address + * management + * @see CallPeerMediaHandler#getTransportManager() */ - public void reinitAllContents() - throws OperationFailedException, - IllegalArgumentException + protected synchronized TransportManagerJabberImpl getTransportManager() { - boolean masterStreamSet = false; - for(String key : remoteContentMap.keySet()) + if (transportManager == null) { - ContentPacketExtension ext = remoteContentMap.get(key); + CallPeerJabberImpl peer = getPeer(); - boolean masterStream = false; - // if we have more than one stream, lets the audio be the master - if(!masterStreamSet) + if (peer.isInitiator()) { - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(ext); - MediaType mediaType - = MediaType.parseString( description.getMedia() ); - - if(remoteContentMap.size() > 1) + synchronized(transportManagerSyncRoot) { - if(mediaType.equals(MediaType.AUDIO)) + try + { + transportManagerSyncRoot.wait(5000); + } + catch(InterruptedException e) { - masterStream = true; - masterStreamSet = true; } } + + if(transportManager == null) + throw new IllegalStateException( + "The initiator is expected to specify the transport" + + " in their offer."); else - { - masterStream = true; - masterStreamSet = true; - } + return transportManager; } + else + { + ProtocolProviderServiceJabberImpl protocolProvider + = peer.getProtocolProvider(); + ScServiceDiscoveryManager discoveryManager + = protocolProvider.getDiscoveryManager(); + DiscoverInfo peerDiscoverInfo = peer.getDiscoverInfo(); - if(ext != null) - processContent(ext, false, masterStream); - } - } + // We use Google P2P transport if both conditions are satisfied: + // - both peers have Google P2P transport in their features; + // - at least one peer is a Gmail or Google Apps account. + // + // Otherwise we go for an ICE-UDP transport + boolean google + = protocolProvider.isGmailOrGoogleAppsAccount() + || ProtocolProviderServiceJabberImpl + .isGmailOrGoogleAppsAccount( + StringUtils.parseServer(peer.getAddress())); - /** - * Reinitialize a media content such as video. - * - * @param name name of the Jingle content - * @param content media content - * @param modify if it correspond to a content-modify for resolution change - * @throws OperationFailedException if we fail to handle content - * for reasons like failing to initialize media devices or streams. - * @throws IllegalArgumentException if there's a problem with the syntax or - * the semantics of content. Method is synchronized in order to - * avoid closing mediaHandler when we are currently in process of - * initializing, configuring and starting streams and anybody interested - * in this operation can synchronize to the mediaHandler instance to wait - * processing to stop (method setState in CallPeer). - */ - public void reinitContent( - String name, - ContentPacketExtension content, - boolean modify) - throws OperationFailedException, - IllegalArgumentException - { - ContentPacketExtension ext = remoteContentMap.get(name); + // Put Google P2P transport first. We will take it + // for a node that support both ICE-UDP and Google P2P to use + // Google relay. + if (google + && isFeatureSupported( + discoveryManager, + peerDiscoverInfo, + ProtocolProviderServiceJabberImpl + .URN_GOOGLE_TRANSPORT_P2P)) + { + transportManager = new P2PTransportManager(peer); + } + else + { + /* + * The list of possible transports ordered by decreasing + * preference. + */ + String[] transports + = new String[] + { + ProtocolProviderServiceJabberImpl + .URN_XMPP_JINGLE_ICE_UDP_1, + ProtocolProviderServiceJabberImpl + .URN_XMPP_JINGLE_RAW_UDP_0 + }; - if(ext != null) - { - if(modify) - { - processContent(content, modify, false); - remoteContentMap.put(name, content); - } - else - { - ext.setSenders(content.getSenders()); - processContent(ext, modify, false); - remoteContentMap.put(name, ext); - } - } - } + /* + * If the local peer is a conference focus and there is a + * Jitsi VideoBridge working on the server, prefer a + * transport which will route the conference through there. + */ + CallJabberImpl call = peer.getCall(); - /** - * Removes a media content with a specific name from the session represented - * by this CallPeerMediaHandlerJabberImpl and closes its associated - * media stream. - * - * @param name the name of the media content to be removed from this session - */ - public void removeContent(String name) - { - removeContent(localContentMap, name); - removeContent(remoteContentMap, name); - getTransportManager().removeContent(name); - } + if (call.getConference().isJitsiVideoBridge()) + { + String jitsiVideoBridge + = protocolProvider.getJitsiVideoBridge(); - /** - * Removes a media content with a specific name from the session represented - * by this CallPeerMediaHandlerJabberImpl and closes its associated - * media stream. - * - * @param contentMap the Map in which the specified name - * has an association with the media content to be removed - * @param name the name of the media content to be removed from this session - */ - private void removeContent( - Map contentMap, - String name) - { - ContentPacketExtension content = contentMap.remove(name); + if ((jitsiVideoBridge != null) + && (jitsiVideoBridge.length() != 0)) + { + /* + * Make the transport of the Jitsi VideoBridge the + * most preferred. + */ + String jitsiVideoBridgeTransport + = ProtocolProviderServiceJabberImpl + .URN_XMPP_JINGLE_RAW_UDP_0; - if (content != null) - { - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); - String media = description.getMedia(); + for (int i = 1; i < transports.length; i++) + { + if (jitsiVideoBridgeTransport.equals( + transports[i])) + { + transports[i] = transports[0]; + transports[0] = jitsiVideoBridgeTransport; + } + } - if (media != null) - closeStream(MediaType.parseString(media)); + /* + * XXX If a telephony conference utilizing the Jitsi + * VideoBridge server-side telephony conferencing + * technology is to work, its only chance of working + * is to use RAW UDP at the time of this writing. + */ + transports + = new String[] { jitsiVideoBridgeTransport }; + } + } + + /* + * Select the first transport from the list of possible + * transports ordered by decreasing preference which is + * supported by the local and the remote peers. + */ + for (String transport : transports) + { + if (isFeatureSupported( + discoveryManager, + peerDiscoverInfo, + transport)) + { + if (ProtocolProviderServiceJabberImpl + .URN_XMPP_JINGLE_ICE_UDP_1 + .equals(transport)) + { + transportManager + = new IceUdpTransportManager(peer); + } + else if (ProtocolProviderServiceJabberImpl + .URN_XMPP_JINGLE_RAW_UDP_0 + .equals(transport)) + { + transportManager + = new RawUdpTransportManager(peer); + } + + if (transportManager != null) + break; + } + } + + if ((transportManager == null) && logger.isDebugEnabled()) + { + logger.debug( + "No known Jingle transport supported" + + " by Jabber call peer " + + peer); + } + } + } } + return transportManager; } /** - * Notifies this instance that a specific CobriConferenceIQ has - * been received. This CallPeerMediaHandler uses the part of the - * information provided in the specified conferenceIQ which - * concerns it only. + * {@inheritDoc} * - * @param conferenceIQ the CobriConferenceIQ which has been - * received + * In the case of utilization of the Jitsi VideoBridge server-side + * technology, returns the visual Components which display RTP + * video streams reported by the server to be sent by the remote peer + * represented by this instance. */ - void processCobriConferenceIQ(CobriConferenceIQ conferenceIQ) + @Override + public List getVisualComponents() { /* - * This CallPeerMediaHandler stores the media information but it does - * not store the cobri Channels (which contain both media and transport - * information). The TransportManager associated with this instance - * stores the cobri Channels but does not store media information (such - * as the remote SSRCs). An design/implementation choice has to be made - * though and the present one is to have this CallPeerMediaHandler - * transparently (with respect to the TransportManager) store the media - * information inside the TransportManager. + * TODO The super is currently unable to provide the complete set of + * remote SSRCs (i.e. in the case of no utilization of the Jitsi + * VideoBridge server-side technology) so we have to explicitly check + * for Jitsi VideoBridge instead of just relying on the implementation + * of the getRemoteSSRCs(MediaType) method to abstract away that detail. */ - TransportManagerJabberImpl transportManager = this.transportManager; + CallJabberImpl call; + MediaAwareCallConference conference; - if (transportManager instanceof RawUdpTransportManager) + if (((call = getPeer().getCall()) != null) + && ((conference = call.getConference()) != null) + && conference.isJitsiVideoBridge()) { - RawUdpTransportManager rawUdpTransportManager - = (RawUdpTransportManager) transportManager; - long oldAudioRemoteSSRC = getRemoteSSRC(MediaType.AUDIO); - long oldVideoRemoteSSRC = getRemoteSSRC(MediaType.VIDEO); + MediaStream stream = getStream(MediaType.VIDEO); - for (MediaType mediaType : MediaType.values()) + if (stream == null) + return Collections.emptyList(); + else { - CobriConferenceIQ.Channel dst - = rawUdpTransportManager.getCobriChannel( - mediaType, - false /* remote */); + long[] remoteSSRCs = getRemoteSSRCs(MediaType.VIDEO); - if (dst != null) + if (remoteSSRCs.length == 0) + return Collections.emptyList(); + else { - CobriConferenceIQ.Content content - = conferenceIQ.getContent(mediaType.toString()); + VideoMediaStream videoStream = (VideoMediaStream) stream; + List visualComponents + = new LinkedList(); - if (content != null) + for (long remoteSSRC : remoteSSRCs) { - CobriConferenceIQ.Channel src - = content.getChannel(dst.getID()); - - if (src != null) + if (remoteSSRC != -1) { - long[] ssrcs = src.getSSRCs(); + Component visualComponent + = videoStream.getVisualComponent(remoteSSRC); - if (!Arrays.equals(dst.getSSRCs(), ssrcs)) - dst.setSSRCs(src.getSSRCs()); + if (visualComponent != null) + visualComponents.add(visualComponent); } } + return visualComponents; } } - - /* - * Do fire new PropertyChangeEvents for the properties - * AUDIO_REMOTE_SSRC and VIDEO_REMOTE_SSRC if necessary. - */ - long newAudioRemoteSSRC = getRemoteSSRC(MediaType.AUDIO); - long newVideoRemoteSSRC = getRemoteSSRC(MediaType.VIDEO); - - if (oldAudioRemoteSSRC != newAudioRemoteSSRC) - { - firePropertyChange( - AUDIO_REMOTE_SSRC, - oldAudioRemoteSSRC, newAudioRemoteSSRC); - } - if (oldVideoRemoteSSRC != newVideoRemoteSSRC) - { - firePropertyChange( - VIDEO_REMOTE_SSRC, - oldVideoRemoteSSRC, newVideoRemoteSSRC); - } } + + return super.getVisualComponents(); } /** - * Process a ContentPacketExtension and initialize its - * corresponding MediaStream. + * Gathers local candidate addresses. * - * @param content a ContentPacketExtension - * @param modify if it correspond to a content-modify for resolution change - * @param masterStream whether the stream to be used as master - * @throws OperationFailedException if we fail to handle content - * for reasons like failing to initialize media devices or streams. - * @throws IllegalArgumentException if there's a problem with the syntax or - * the semantics of content. The method is synchronized in order to - * avoid closing mediaHandler when we are currently in process of - * initializing, configuring and starting streams and anybody interested - * in this operation can synchronize to the mediaHandler instance to wait - * processing to stop (method setState in CallPeer). - */ - private void processContent( - ContentPacketExtension content, - boolean modify, - boolean masterStream) - throws OperationFailedException, - IllegalArgumentException - { - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); - MediaType mediaType - = MediaType.parseString(description.getMedia()); + * @param remote the media descriptions received from the remote peer if any + * or null if local represents an offer from the local + * peer to be sent to the remote peer + * @param local the media descriptions sent or to be sent from the local + * peer to the remote peer. If remote is null, + * local represents an offer from the local peer to be sent to the + * remote peer + * @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 + * @return the media descriptions of the local peer after the local + * candidate addresses have been gathered as returned by + * {@link TransportManagerJabberImpl#wrapupCandidateHarvest()} + * @throws OperationFailedException if anything goes wrong while starting or + * wrapping up the gathering of local candidate addresses + */ + private List harvestCandidates( + List remote, + List local, + TransportInfoSender transportInfoSender) + throws OperationFailedException + { + long startCandidateHarvestTime = System.currentTimeMillis(); - //stream target TransportManagerJabberImpl transportManager = getTransportManager(); - MediaStreamTarget target = transportManager.getStreamTarget(mediaType); - - if (target == null) - target = JingleUtils.extractDefaultTarget(content); - - // no target port - try next media description - if((target == null) || (target.getDataAddress().getPort() == 0)) - { - closeStream(mediaType); - return; - } - - List supportedFormats = JingleUtils.extractFormats( - description, getDynamicPayloadTypes()); - - MediaDevice dev = getDefaultDevice(mediaType); - if(!isDeviceActive(dev)) + if (remote == null) { - closeStream(mediaType); - return; - } - - MediaDirection devDirection - = (dev == null) ? MediaDirection.INACTIVE : dev.getDirection(); - - // Take the preference of the user with respect to streaming - // mediaType into account. - devDirection - = devDirection.and(getDirectionUserPreference(mediaType)); + /* + * We'll be harvesting candidates in order to make an offer so it + * doesn't make sense to send them in transport-info. + */ + if (!ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P + .equals(transportManager.getXmlNamespace()) + && (transportInfoSender != null)) + throw new IllegalArgumentException("transportInfoSender"); - if (supportedFormats.isEmpty()) - { - //remote party must have messed up our Jingle description. - //throw an exception. - ProtocolProviderServiceJabberImpl.throwOperationFailedException( - "Remote party sent an invalid Jingle answer.", - OperationFailedException.ILLEGAL_ARGUMENT, - null, - logger); + transportManager.startCandidateHarvest(local, transportInfoSender); } - - addZRTPAdvertisedEncryptions(true, description, mediaType); - addSDESAdvertisedEncryptions(true, description, mediaType); - - StreamConnector connector - = transportManager.getStreamConnector(mediaType); - - //determine the direction that we need to announce. - MediaDirection remoteDirection - = JingleUtils.getDirection(content, getPeer().isInitiator()); - MediaDirection direction - = devDirection.getDirectionForAnswer(remoteDirection); - - // update the RTP extensions that we will be exchanging. - List remoteRTPExtensions - = JingleUtils.extractRTPExtensions( - description, getRtpExtensionsRegistry()); - List supportedExtensions - = getExtensionsForType(mediaType); - List rtpExtensions - = intersectRTPExtensions(remoteRTPExtensions, supportedExtensions); - - Map adv - = supportedFormats.get(0).getAdvancedAttributes(); - - if(adv != null) + else { - for(Map.Entry f : adv.entrySet()) - { - if(f.getKey().equals("imageattr")) - supportQualityControls = true; - } + transportManager.startCandidateHarvest( + remote, + local, + transportInfoSender); } - // check for options from remote party and set them locally - if(mediaType.equals(MediaType.VIDEO) && modify) - { - QualityPreset sendQualityPreset = null; - QualityPreset receiveQualityPreset = null; - - // update stream - MediaStream stream = getStream(MediaType.VIDEO); - - if(stream != null && dev != null) - { - List fmts = supportedFormats; - - if(fmts.size() > 0) - { - MediaFormat fmt = fmts.get(0); - - ((VideoMediaStream)stream).updateQualityControl( - fmt.getAdvancedAttributes()); - } - } + long stopCandidateHarvestTime = System.currentTimeMillis(); + long candidateHarvestTime + = stopCandidateHarvestTime - startCandidateHarvestTime; + if (logger.isInfoEnabled()) + logger.info("End candidate harvest within " + + candidateHarvestTime + " ms"); + /* + * TODO Ideally, we wouldn't wrap up that quickly. We need to revisit + * this. + */ + return transportManager.wrapupCandidateHarvest(); + } - if(qualityControls != null) - { - receiveQualityPreset = qualityControls.getRemoteReceivePreset(); - sendQualityPreset = qualityControls.getRemoteSendMaxPreset(); + /** + * Creates if necessary, and configures the stream that this + * MediaHandler is using for the MediaType matching the + * one of the MediaDevice. This method extends the one already + * available by adding a stream name, corresponding to a stream's content + * name. + * + * @param streamName the name of the stream as indicated in the XMPP + * content element. + * @param connector the MediaConnector that we'd like to bind the + * newly created stream to. + * @param device the MediaDevice that we'd like to attach the newly + * created MediaStream to. + * @param format the MediaFormat that we'd like the new + * MediaStream to be set to transmit in. + * @param target the MediaStreamTarget containing the RTP and RTCP + * address:port couples that the new stream would be sending packets to. + * @param direction the MediaDirection that we'd like the new + * stream to use (i.e. sendonly, sendrecv, recvonly, or inactive). + * @param rtpExtensions the list of RTPExtensions that should be + * enabled for this stream. + * @param masterStream whether the stream to be used as master if secured + * + * @return the newly created MediaStream. + * + * @throws OperationFailedException if creating the stream fails for any + * reason (like for example accessing the device or setting the format). + */ + protected MediaStream initStream(String streamName, + StreamConnector connector, + MediaDevice device, + MediaFormat format, + MediaStreamTarget target, + MediaDirection direction, + List rtpExtensions, + boolean masterStream) + throws OperationFailedException + { + MediaStream stream + = super.initStream( + connector, + device, + format, + target, + direction, + rtpExtensions, + masterStream); - supportedFormats - = (dev == null) - ? null - : intersectFormats( - supportedFormats, - getLocallySupportedFormats(dev, - sendQualityPreset, - receiveQualityPreset)); - } - } + if (stream != null) + stream.setName(streamName); - // create the corresponding stream... - initStream( - content.getName(), - connector, - dev, - supportedFormats.get(0), - target, - direction, - rtpExtensions, - masterStream); + return stream; } /** @@ -1326,264 +1198,584 @@ public void processAnswer(List answer) } /** - * Gets the TransportManager implementation handling our address - * management. + * Notifies this instance that a specific CobriConferenceIQ has + * been received. This CallPeerMediaHandler uses the part of the + * information provided in the specified conferenceIQ which + * concerns it only. * - * @return the TransportManager implementation handling our address - * management - * @see CallPeerMediaHandler#getTransportManager() + * @param conferenceIQ the CobriConferenceIQ which has been + * received */ - protected synchronized TransportManagerJabberImpl getTransportManager() + void processCobriConferenceIQ(CobriConferenceIQ conferenceIQ) { - if (transportManager == null) + /* + * This CallPeerMediaHandler stores the media information but it does + * not store the cobri Channels (which contain both media and transport + * information). The TransportManager associated with this instance + * stores the cobri Channels but does not store media information (such + * as the remote SSRCs). An design/implementation choice has to be made + * though and the present one is to have this CallPeerMediaHandler + * transparently (with respect to the TransportManager) store the media + * information inside the TransportManager. + */ + TransportManagerJabberImpl transportManager = this.transportManager; + + if (transportManager instanceof RawUdpTransportManager) { - CallPeerJabberImpl peer = getPeer(); + RawUdpTransportManager rawUdpTransportManager + = (RawUdpTransportManager) transportManager; + long oldAudioRemoteSSRC = getRemoteSSRC(MediaType.AUDIO); + long oldVideoRemoteSSRC = getRemoteSSRC(MediaType.VIDEO); - if (peer.isInitiator()) + for (MediaType mediaType : MediaType.values()) { - synchronized(transportManagerSyncRoot) - { - try - { - transportManagerSyncRoot.wait(5000); - } - catch(InterruptedException e) + CobriConferenceIQ.Channel dst + = rawUdpTransportManager.getCobriChannel( + mediaType, + false /* remote */); + + if (dst != null) + { + CobriConferenceIQ.Content content + = conferenceIQ.getContent(mediaType.toString()); + + if (content != null) { + CobriConferenceIQ.Channel src + = content.getChannel(dst.getID()); + + if (src != null) + { + long[] ssrcs = src.getSSRCs(); + + if (!Arrays.equals(dst.getSSRCs(), ssrcs)) + dst.setSSRCs(src.getSSRCs()); + } } } + } - if(transportManager == null) - throw new IllegalStateException( - "The initiator is expected to specify the transport" - + " in their offer."); - else - return transportManager; + /* + * Do fire new PropertyChangeEvents for the properties + * AUDIO_REMOTE_SSRC and VIDEO_REMOTE_SSRC if necessary. + */ + long newAudioRemoteSSRC = getRemoteSSRC(MediaType.AUDIO); + long newVideoRemoteSSRC = getRemoteSSRC(MediaType.VIDEO); + + if (oldAudioRemoteSSRC != newAudioRemoteSSRC) + { + firePropertyChange( + AUDIO_REMOTE_SSRC, + oldAudioRemoteSSRC, newAudioRemoteSSRC); } - else + if (oldVideoRemoteSSRC != newVideoRemoteSSRC) { - ProtocolProviderServiceJabberImpl protocolProvider - = peer.getProtocolProvider(); - ScServiceDiscoveryManager discoveryManager - = protocolProvider.getDiscoveryManager(); - DiscoverInfo peerDiscoverInfo = peer.getDiscoverInfo(); + firePropertyChange( + VIDEO_REMOTE_SSRC, + oldVideoRemoteSSRC, newVideoRemoteSSRC); + } + } + } - // We use Google P2P transport if both conditions are satisfied: - // - both peers have Google P2P transport in their features; - // - at least one peer is a Gmail or Google Apps account. - // - // Otherwise we go for an ICE-UDP transport - boolean google - = protocolProvider.isGmailOrGoogleAppsAccount() - || ProtocolProviderServiceJabberImpl - .isGmailOrGoogleAppsAccount( - StringUtils.parseServer(peer.getAddress())); + /** + * Process a ContentPacketExtension and initialize its + * corresponding MediaStream. + * + * @param content a ContentPacketExtension + * @param modify if it correspond to a content-modify for resolution change + * @param masterStream whether the stream to be used as master + * @throws OperationFailedException if we fail to handle content + * for reasons like failing to initialize media devices or streams. + * @throws IllegalArgumentException if there's a problem with the syntax or + * the semantics of content. The method is synchronized in order to + * avoid closing mediaHandler when we are currently in process of + * initializing, configuring and starting streams and anybody interested + * in this operation can synchronize to the mediaHandler instance to wait + * processing to stop (method setState in CallPeer). + */ + private void processContent( + ContentPacketExtension content, + boolean modify, + boolean masterStream) + throws OperationFailedException, + IllegalArgumentException + { + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); + MediaType mediaType + = MediaType.parseString(description.getMedia()); - // Put Google P2P transport first. We will take it - // for a node that support both ICE-UDP and Google P2P to use - // Google relay. - if (google - && isFeatureSupported( - discoveryManager, - peerDiscoverInfo, - ProtocolProviderServiceJabberImpl - .URN_GOOGLE_TRANSPORT_P2P)) + //stream target + TransportManagerJabberImpl transportManager = getTransportManager(); + MediaStreamTarget target = transportManager.getStreamTarget(mediaType); + + if (target == null) + target = JingleUtils.extractDefaultTarget(content); + + // no target port - try next media description + if((target == null) || (target.getDataAddress().getPort() == 0)) + { + closeStream(mediaType); + return; + } + + List supportedFormats = JingleUtils.extractFormats( + description, getDynamicPayloadTypes()); + + MediaDevice dev = getDefaultDevice(mediaType); + + if(!isDeviceActive(dev)) + { + closeStream(mediaType); + return; + } + + MediaDirection devDirection + = (dev == null) ? MediaDirection.INACTIVE : dev.getDirection(); + + // Take the preference of the user with respect to streaming + // mediaType into account. + devDirection + = devDirection.and(getDirectionUserPreference(mediaType)); + + if (supportedFormats.isEmpty()) + { + //remote party must have messed up our Jingle description. + //throw an exception. + ProtocolProviderServiceJabberImpl.throwOperationFailedException( + "Remote party sent an invalid Jingle answer.", + OperationFailedException.ILLEGAL_ARGUMENT, + null, + logger); + } + + addZRTPAdvertisedEncryptions(true, description, mediaType); + addSDESAdvertisedEncryptions(true, description, mediaType); + + StreamConnector connector + = transportManager.getStreamConnector(mediaType); + + //determine the direction that we need to announce. + MediaDirection remoteDirection + = JingleUtils.getDirection(content, getPeer().isInitiator()); + MediaDirection direction + = devDirection.getDirectionForAnswer(remoteDirection); + + // update the RTP extensions that we will be exchanging. + List remoteRTPExtensions + = JingleUtils.extractRTPExtensions( + description, getRtpExtensionsRegistry()); + List supportedExtensions + = getExtensionsForType(mediaType); + List rtpExtensions + = intersectRTPExtensions(remoteRTPExtensions, supportedExtensions); + + Map adv + = supportedFormats.get(0).getAdvancedAttributes(); + + if(adv != null) + { + for(Map.Entry f : adv.entrySet()) + { + if(f.getKey().equals("imageattr")) + supportQualityControls = true; + } + } + + // check for options from remote party and set them locally + if(mediaType.equals(MediaType.VIDEO) && modify) + { + QualityPreset sendQualityPreset = null; + QualityPreset receiveQualityPreset = null; + + // update stream + MediaStream stream = getStream(MediaType.VIDEO); + + if(stream != null && dev != null) + { + List fmts = supportedFormats; + + if(fmts.size() > 0) { - transportManager = new P2PTransportManager(peer); + MediaFormat fmt = fmts.get(0); + + ((VideoMediaStream)stream).updateQualityControl( + fmt.getAdvancedAttributes()); } - else - { - /* - * The list of possible transports ordered by decreasing - * preference. - */ - String[] transports - = new String[] - { - ProtocolProviderServiceJabberImpl - .URN_XMPP_JINGLE_ICE_UDP_1, - ProtocolProviderServiceJabberImpl - .URN_XMPP_JINGLE_RAW_UDP_0 - }; + } - /* - * If the local peer is a conference focus and there is a - * Jitsi VideoBridge working on the server, prefer a - * transport which will route the conference through there. - */ - CallJabberImpl call = peer.getCall(); + if(qualityControls != null) + { + receiveQualityPreset = qualityControls.getRemoteReceivePreset(); + sendQualityPreset = qualityControls.getRemoteSendMaxPreset(); - if (call.getConference().isJitsiVideoBridge()) - { - String jitsiVideoBridge - = protocolProvider.getJitsiVideoBridge(); + supportedFormats + = (dev == null) + ? null + : intersectFormats( + supportedFormats, + getLocallySupportedFormats(dev, + sendQualityPreset, + receiveQualityPreset)); + } + } - if ((jitsiVideoBridge != null) - && (jitsiVideoBridge.length() != 0)) - { - /* - * Make the transport of the Jitsi VideoBridge the - * most preferred. - */ - String jitsiVideoBridgeTransport - = ProtocolProviderServiceJabberImpl - .URN_XMPP_JINGLE_RAW_UDP_0; + // create the corresponding stream... + initStream( + content.getName(), + connector, + dev, + supportedFormats.get(0), + target, + direction, + rtpExtensions, + masterStream); + } - for (int i = 1; i < transports.length; i++) - { - if (jitsiVideoBridgeTransport.equals( - transports[i])) - { - transports[i] = transports[0]; - transports[0] = jitsiVideoBridgeTransport; - } - } + /** + * Parses and handles the specified offer and returns a content + * extension representing the current state of this media handler. This + * method MUST only be called when offer is the first session + * description that this MediaHandler is seeing. + * + * @param offer the offer that we'd like to parse, handle and get an answer + * for. + * + * @throws OperationFailedException if we have a problem satisfying the + * description received in offer (e.g. failed to open a device or + * initialize a stream ...). + * @throws IllegalArgumentException if there's a problem with + * offer's format or semantics. + */ + public void processOffer(List offer) + throws OperationFailedException, + IllegalArgumentException + { + // prepare to generate answers to all the incoming descriptions + List answer + = new ArrayList(offer.size()); + boolean atLeastOneValidDescription = false; - /* - * XXX If a telephony conference utilizing the Jitsi - * VideoBridge server-side telephony conferencing - * technology is to work, its only chance of working - * is to use RAW UDP at the time of this writing. - */ - transports - = new String[] { jitsiVideoBridgeTransport }; - } - } + for (ContentPacketExtension content : offer) + { + remoteContentMap.put(content.getName(), content); + + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); + MediaType mediaType + = MediaType.parseString( description.getMedia() ); + + List remoteFormats + = JingleUtils.extractFormats( + description, + getDynamicPayloadTypes()); + + MediaDevice dev = getDefaultDevice(mediaType); + + MediaDirection devDirection + = (dev == null) ? MediaDirection.INACTIVE : dev.getDirection(); + + // Take the preference of the user with respect to streaming + // mediaType into account. + devDirection + = devDirection.and(getDirectionUserPreference(mediaType)); + + // determine the direction that we need to announce. + MediaDirection remoteDirection = JingleUtils.getDirection( + content, getPeer().isInitiator()); + MediaDirection direction + = devDirection.getDirectionForAnswer(remoteDirection); + + // intersect the MediaFormats of our device with remote ones + List mutuallySupportedFormats + = intersectFormats(remoteFormats, getLocallySupportedFormats(dev)); + + // check whether we will be exchanging any RTP extensions. + List offeredRTPExtensions + = JingleUtils.extractRTPExtensions( + description, this.getRtpExtensionsRegistry()); + + List supportedExtensions + = getExtensionsForType(mediaType); + + List rtpExtensions = intersectRTPExtensions( + offeredRTPExtensions, supportedExtensions); + + // transport + /* + * RawUdpTransportPacketExtension extends + * IceUdpTransportPacketExtension so getting + * IceUdpTransportPacketExtension should suffice. + */ + IceUdpTransportPacketExtension transport + = content.getFirstChildOfType( + IceUdpTransportPacketExtension.class); + + // stream target + MediaStreamTarget target = null; + + try + { + target = JingleUtils.extractDefaultTarget(content); + } + catch(IllegalArgumentException e) + { + logger.warn("Fail to extract default target", e); + } + + // according to XEP-176, transport element in session-initiate + // "MAY instead be empty (with each candidate to be sent as the + // payload of a transport-info message)". + int targetDataPort + = (target == null && transport != null) + ? -1 + : (target != null) ? target.getDataAddress().getPort() : 0; + + /* + * TODO If the offered transport is not supported, attempt to fall + * back to a supported one using transport-replace. + */ + setTransportManager(transport.getNamespace()); + + if (mutuallySupportedFormats.isEmpty() + || (devDirection == MediaDirection.INACTIVE) + || (targetDataPort == 0)) + { + // skip stream and continue. contrary to sip we don't seem to + // need to send per-stream disabling answer and only one at the + // end. + + //close the stream in case it already exists + closeStream(mediaType); + continue; + } + + // create the answer description + ContentPacketExtension ourContent + = JingleUtils.createDescription( + content.getCreator(), + content.getName(), + JingleUtils.getSenders( + direction, + !getPeer().isInitiator()), + mutuallySupportedFormats, + rtpExtensions, + getDynamicPayloadTypes(), + getRtpExtensionsRegistry()); + + RtpDescriptionPacketExtension localDescription = + JingleUtils.getRtpDescription(ourContent); + + // Sets ZRTP or SDES, depending on the preferences for this account. + setAndAddPreferredEncryptionProtocol( + mediaType, + localDescription, + description); + + // Got a content which has inputevt. It means that the peer requests + // a desktop sharing session so tell it we support inputevt. + if(content.getChildExtensionsOfType(InputEvtPacketExtension.class) + != null) + { + ourContent.addChildExtension(new InputEvtPacketExtension()); + } + + answer.add(ourContent); + localContentMap.put(content.getName(), ourContent); + + atLeastOneValidDescription = true; + } + + if (!atLeastOneValidDescription) + { + ProtocolProviderServiceJabberImpl.throwOperationFailedException( + "Offer contained no media formats" + + " or no valid media descriptions.", + OperationFailedException.ILLEGAL_ARGUMENT, + null, + logger); + } - /* - * Select the first transport from the list of possible - * transports ordered by decreasing preference which is - * supported by the local and the remote peers. - */ - for (String transport : transports) + /* + * In order to minimize post-pickup delay, start establishing the + * connectivity prior to ringing. + */ + harvestCandidates( + offer, + answer, + new TransportInfoSender() { - if (isFeatureSupported( - discoveryManager, - peerDiscoverInfo, - transport)) + public void sendTransportInfo( + Iterable contents) { - if (ProtocolProviderServiceJabberImpl - .URN_XMPP_JINGLE_ICE_UDP_1 - .equals(transport)) - { - transportManager - = new IceUdpTransportManager(peer); - } - else if (ProtocolProviderServiceJabberImpl - .URN_XMPP_JINGLE_RAW_UDP_0 - .equals(transport)) - { - transportManager - = new RawUdpTransportManager(peer); - } - - if (transportManager != null) - break; + getPeer().sendTransportInfo(contents); } - } + }); - if ((transportManager == null) && logger.isDebugEnabled()) - { - logger.debug( - "No known Jingle transport supported" - + " by Jabber call peer " - + peer); - } - } - } - } - return transportManager; + /* + * While it may sound like we can completely eliminate the post-pickup + * delay by waiting for the connectivity establishment to finish, it may + * not be possible in all cases. We are the Jingle session responder so, + * in the case of the ICE UDP transport, we are not the controlling ICE + * Agent and we cannot be sure when the controlling ICE Agent will + * perform the nomination. It could, for example, choose to wait for our + * session-accept to perform the nomination which will deadlock us if we + * have chosen to wait for the connectivity establishment to finish + * before we begin ringing and send session-accept. + */ + getTransportManager().startConnectivityEstablishment(offer); } /** - * Determines whether a specific XMPP feature is supported by both a - * specific ScServiceDiscoveryManager (may be referred to as the - * local peer) and a specific DiscoverInfo (may be thought of as - * the remote peer). + * Processes the transport-related information provided by the remote + * peer in a specific set of ContentPacketExtensions. * - * @param discoveryManager the ScServiceDiscoveryManager to be - * checked whether it includes the specified feature - * @param discoverInfo the DiscoveryInfo which is to be checked - * whether it contains the specified feature. If discoverInfo is - * null, it is considered to contain the specified feature. - * @param feature the feature to be determined whether it is supported by - * both the specified discoveryManager and the specified - * discoverInfo - * @return true if the specified feature is supported by - * both the specified discoveryManager and the specified - * discoverInfo; otherwise, false + * @param contents the ContentPacketExtenions provided by the + * remote peer and containing the transport-related information to + * be processed + * @throws OperationFailedException if anything goes wrong while processing + * the transport-related information provided by the remote peer in + * the specified set of ContentPacketExtensions */ - private static boolean isFeatureSupported( - ScServiceDiscoveryManager discoveryManager, - DiscoverInfo discoverInfo, - String feature) + public void processTransportInfo(Iterable contents) + throws OperationFailedException { - return - discoveryManager.includesFeature(feature) - && ((discoverInfo == null) - || discoverInfo.containsFeature(feature)); + if (getTransportManager().startConnectivityEstablishment(contents)) + { + //wrapupConnectivityEstablishment(); + } } /** - * Sets the TransportManager implementation to handle our address - * management by Jingle transport XML namespace. + * Reinitialize all media contents. * - * @param xmlns the Jingle transport XML namespace specifying the - * TransportManager implementation type to be set on this instance - * to handle our address management - * @throws IllegalArgumentException if the specified xmlns does not - * specify a (supported) TransportManager implementation type + * @throws OperationFailedException if we fail to handle content + * for reasons like failing to initialize media devices or streams. + * @throws IllegalArgumentException if there's a problem with the syntax or + * the semantics of content. Method is synchronized in order to + * avoid closing mediaHandler when we are currently in process of + * initializing, configuring and starting streams and anybody interested + * in this operation can synchronize to the mediaHandler instance to wait + * processing to stop (method setState in CallPeer). */ - private void setTransportManager(String xmlns) - throws IllegalArgumentException + public void reinitAllContents() + throws OperationFailedException, + IllegalArgumentException { - // Is this really going to be an actual change? - if ((transportManager != null) - && transportManager.getXmlNamespace().equals(xmlns)) + boolean masterStreamSet = false; + for(String key : remoteContentMap.keySet()) { - return; - } + ContentPacketExtension ext = remoteContentMap.get(key); - CallPeerJabberImpl peer = getPeer(); + boolean masterStream = false; + // if we have more than one stream, lets the audio be the master + if(!masterStreamSet) + { + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(ext); + MediaType mediaType + = MediaType.parseString( description.getMedia() ); - if (!peer.getProtocolProvider().getDiscoveryManager().includesFeature( - xmlns)) - { - throw new IllegalArgumentException( - "Unsupported Jingle transport " + xmlns); + if(remoteContentMap.size() > 1) + { + if(mediaType.equals(MediaType.AUDIO)) + { + masterStream = true; + masterStreamSet = true; + } + } + else + { + masterStream = true; + masterStreamSet = true; + } + } + + if(ext != null) + processContent(ext, false, masterStream); } + } - /* - * TODO The transportManager is going to be changed so it may need to be - * disposed prior to the change. - */ + /** + * Reinitialize a media content such as video. + * + * @param name name of the Jingle content + * @param content media content + * @param modify if it correspond to a content-modify for resolution change + * @throws OperationFailedException if we fail to handle content + * for reasons like failing to initialize media devices or streams. + * @throws IllegalArgumentException if there's a problem with the syntax or + * the semantics of content. Method is synchronized in order to + * avoid closing mediaHandler when we are currently in process of + * initializing, configuring and starting streams and anybody interested + * in this operation can synchronize to the mediaHandler instance to wait + * processing to stop (method setState in CallPeer). + */ + public void reinitContent( + String name, + ContentPacketExtension content, + boolean modify) + throws OperationFailedException, + IllegalArgumentException + { + ContentPacketExtension ext = remoteContentMap.get(name); - if (xmlns.equals( - ProtocolProviderServiceJabberImpl.URN_XMPP_JINGLE_ICE_UDP_1)) - { - transportManager = new IceUdpTransportManager(peer); - } - else if (xmlns.equals( - ProtocolProviderServiceJabberImpl.URN_XMPP_JINGLE_RAW_UDP_0)) - { - transportManager = new RawUdpTransportManager(peer); - } - else if (xmlns.equals( - ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P)) - { - transportManager = new P2PTransportManager(peer); - } - else + if(ext != null) { - throw new IllegalArgumentException( - "Unsupported Jingle transport " + xmlns); + if(modify) + { + processContent(content, modify, false); + remoteContentMap.put(name, content); + } + else + { + ext.setSenders(content.getSenders()); + processContent(ext, modify, false); + remoteContentMap.put(name, ext); + } } + } - synchronized(transportManagerSyncRoot) + /** + * Removes a media content with a specific name from the session represented + * by this CallPeerMediaHandlerJabberImpl and closes its associated + * media stream. + * + * @param contentMap the Map in which the specified name + * has an association with the media content to be removed + * @param name the name of the media content to be removed from this session + */ + private void removeContent( + Map contentMap, + String name) + { + ContentPacketExtension content = contentMap.remove(name); + + if (content != null) { - transportManagerSyncRoot.notify(); + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); + String media = description.getMedia(); + + if (media != null) + closeStream(MediaType.parseString(media)); } } + /** + * Removes a media content with a specific name from the session represented + * by this CallPeerMediaHandlerJabberImpl and closes its associated + * media stream. + * + * @param name the name of the media content to be removed from this session + */ + public void removeContent(String name) + { + removeContent(localContentMap, name); + removeContent(remoteContentMap, name); + getTransportManager().removeContent(name); + } + /** * Acts upon a notification received from the remote party indicating that * they've put us on/off hold. @@ -1622,138 +1814,74 @@ public void setRemotelyOnHold(boolean onHold) } /** - * Determines and sets the direction that a stream, which has been place on - * hold by the remote party, would need to go back to after being - * re-activated. If the stream is not currently on hold (i.e. it is still - * sending media), this method simply returns its current direction. - * - * @param stream the {@link MediaStreamTarget} whose post-hold direction - * we'd like to determine. + * Sometimes as initing a call with custom preset can set and we force + * that quality controls is supported. * - * @return the {@link MediaDirection} that we need to set on stream - * once it is reactivate. + * @param value whether quality controls is supported.. */ - private MediaDirection calculatePostHoldDirection(MediaStream stream) + public void setSupportQualityControls(boolean value) { - MediaDirection streamDirection = stream.getDirection(); - - if (streamDirection.allowsSending()) - return streamDirection; - - /* - * When calculating a direction we need to take into account 1) what - * direction the remote party had asked for before putting us on hold, - * 2) what the user preference is for the stream's media type, 3) our - * local hold status, 4) the direction supported by the device this - * stream is reading from. - */ - - // 1. what the remote party originally told us (from our perspective) - ContentPacketExtension content = remoteContentMap.get(stream.getName()); - MediaDirection postHoldDir - = JingleUtils.getDirection(content, !getPeer().isInitiator()); - - // 2. the user preference - MediaDevice device = stream.getDevice(); - - postHoldDir - = postHoldDir.and( - getDirectionUserPreference(device.getMediaType())); - - // 3. our local hold status - if (isLocallyOnHold()) - postHoldDir = postHoldDir.and(MediaDirection.SENDONLY); - - // 4. the device direction - postHoldDir = postHoldDir.and(device.getDirection()); - - stream.setDirection(postHoldDir); - - return postHoldDir; + this.supportQualityControls = value; } /** - * Gathers local candidate addresses. + * Sets the TransportManager implementation to handle our address + * management by Jingle transport XML namespace. * - * @param remote the media descriptions received from the remote peer if any - * or null if local represents an offer from the local - * peer to be sent to the remote peer - * @param local the media descriptions sent or to be sent from the local - * peer to the remote peer. If remote is null, - * local represents an offer from the local peer to be sent to the - * remote peer - * @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 - * @return the media descriptions of the local peer after the local - * candidate addresses have been gathered as returned by - * {@link TransportManagerJabberImpl#wrapupCandidateHarvest()} - * @throws OperationFailedException if anything goes wrong while starting or - * wrapping up the gathering of local candidate addresses + * @param xmlns the Jingle transport XML namespace specifying the + * TransportManager implementation type to be set on this instance + * to handle our address management + * @throws IllegalArgumentException if the specified xmlns does not + * specify a (supported) TransportManager implementation type */ - private List harvestCandidates( - List remote, - List local, - TransportInfoSender transportInfoSender) - throws OperationFailedException + private void setTransportManager(String xmlns) + throws IllegalArgumentException { - long startCandidateHarvestTime = System.currentTimeMillis(); + // Is this really going to be an actual change? + if ((transportManager != null) + && transportManager.getXmlNamespace().equals(xmlns)) + { + return; + } - TransportManagerJabberImpl transportManager = getTransportManager(); + CallPeerJabberImpl peer = getPeer(); - if (remote == null) + if (!peer.getProtocolProvider().getDiscoveryManager().includesFeature( + xmlns)) { - /* - * We'll be harvesting candidates in order to make an offer so it - * doesn't make sense to send them in transport-info. - */ - if (!ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P - .equals(transportManager.getXmlNamespace()) - && (transportInfoSender != null)) - throw new IllegalArgumentException("transportInfoSender"); + throw new IllegalArgumentException( + "Unsupported Jingle transport " + xmlns); + } - transportManager.startCandidateHarvest(local, transportInfoSender); + /* + * TODO The transportManager is going to be changed so it may need to be + * disposed prior to the change. + */ + + if (xmlns.equals( + ProtocolProviderServiceJabberImpl.URN_XMPP_JINGLE_ICE_UDP_1)) + { + transportManager = new IceUdpTransportManager(peer); + } + else if (xmlns.equals( + ProtocolProviderServiceJabberImpl.URN_XMPP_JINGLE_RAW_UDP_0)) + { + transportManager = new RawUdpTransportManager(peer); + } + else if (xmlns.equals( + ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P)) + { + transportManager = new P2PTransportManager(peer); } else { - transportManager.startCandidateHarvest( - remote, - local, - transportInfoSender); + throw new IllegalArgumentException( + "Unsupported Jingle transport " + xmlns); } - long stopCandidateHarvestTime = System.currentTimeMillis(); - long candidateHarvestTime - = stopCandidateHarvestTime - startCandidateHarvestTime; - if (logger.isInfoEnabled()) - logger.info("End candidate harvest within " - + candidateHarvestTime + " ms"); - /* - * TODO Ideally, we wouldn't wrap up that quickly. We need to revisit - * this. - */ - return transportManager.wrapupCandidateHarvest(); - } - - /** - * Processes the transport-related information provided by the remote - * peer in a specific set of ContentPacketExtensions. - * - * @param contents the ContentPacketExtenions provided by the - * remote peer and containing the transport-related information to - * be processed - * @throws OperationFailedException if anything goes wrong while processing - * the transport-related information provided by the remote peer in - * the specified set of ContentPacketExtensions - */ - public void processTransportInfo(Iterable contents) - throws OperationFailedException - { - if (getTransportManager().startConnectivityEstablishment(contents)) + synchronized(transportManagerSyncRoot) { - //wrapupConnectivityEstablishment(); + transportManagerSyncRoot.notify(); } } @@ -1781,6 +1909,33 @@ public void start() super.start(); } + /** + * Lets the underlying implementation take note of this error and only + * then throws it to the using bundles. + * + * @param message the message to be logged and then wrapped in a new + * OperationFailedException + * @param errorCode the error code to be assigned to the new + * OperationFailedException + * @param cause the Throwable that has caused the necessity to log + * an error and have a new OperationFailedException thrown + * + * @throws OperationFailedException the exception that we wanted this method + * to throw. + */ + protected void throwOperationFailedException( + String message, + int errorCode, + Throwable cause) + throws OperationFailedException + { + ProtocolProviderServiceJabberImpl.throwOperationFailedException( + message, + errorCode, + cause, + logger); + } + /** * Notifies the associated TransportManagerJabberImpl that it * should conclude any connectivity establishment, waits for it to actually @@ -1809,69 +1964,4 @@ private void wrapupConnectivityEstablishment() } } } - - /** - * Returns the quality control for video calls if any. - * - * @return the implemented quality control. - */ - public QualityControl getQualityControl() - { - if(supportQualityControls) - { - return qualityControls; - } - else - { - // we have detected that its not supported and return null - // and control ui won't be visible - return null; - } - } - - /** - * Sometimes as initing a call with custom preset can set and we force - * that quality controls is supported. - * - * @param value whether quality controls is supported.. - */ - public void setSupportQualityControls(boolean value) - { - this.supportQualityControls = value; - } - - /** - * Closes the CallPeerMediaHandler. - */ - @Override - public synchronized void close() - { - super.close(); - - OperationSetDesktopSharingClientJabberImpl client - = (OperationSetDesktopSharingClientJabberImpl) - getPeer().getProtocolProvider().getOperationSet( - OperationSetDesktopSharingClient.class); - - if (client != null) - client.fireRemoteControlRevoked(getPeer()); - } - - /** - * Overrides to give access to the transport manager to send events - * about ICE state changes. - * - * @param property the name of the property of this - * PropertyChangeNotifier which had its value changed - * @param oldValue the value of the property with the specified name before - * the change - * @param newValue the value of the property with the specified name after - */ - @Override - protected void firePropertyChange( - String property, - Object oldValue, Object newValue) - { - super.firePropertyChange(property, oldValue, newValue); - } } diff --git a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetVideoTelephony.java b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetVideoTelephony.java index 6f012e3e5..7e6e7ed06 100644 --- a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetVideoTelephony.java +++ b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetVideoTelephony.java @@ -142,26 +142,23 @@ public List getVisualComponents(CallPeer peer) * @return the ConferenceMember corresponding to the given * visualComponent. */ - @SuppressWarnings("unchecked") // work with MediaAware* in media package public ConferenceMember getConferenceMember(CallPeer peer, Component visualComponent) { - VideoMediaStream peerVideoStream - = (VideoMediaStream) ((W)peer).getMediaHandler() - .getStream(MediaType.VIDEO); - - if (peerVideoStream == null) - return null; + @SuppressWarnings("unchecked") + W w = (W) peer; + VideoMediaStream videoStream + = (VideoMediaStream) w.getMediaHandler().getStream(MediaType.VIDEO); - for (ConferenceMember member : peer.getConferenceMembers()) + if (videoStream != null) { - Component memberComponent = peerVideoStream - .getVisualComponent(member.getVideoSsrc()); - - if (memberComponent != null - && memberComponent.equals(visualComponent)) + for (ConferenceMember member : peer.getConferenceMembers()) { - return member; + Component memberComponent + = videoStream.getVisualComponent(member.getVideoSsrc()); + + if (visualComponent.equals(memberComponent)) + return member; } } return null;

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 Aw*UYD delta 204059 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 pnF6H5VXP> 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 A5dZ)H diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java index a3ddc4ede..df5f7a1f5 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java @@ -1499,29 +1499,30 @@ public static boolean addressesAreEqual(String a, String b) return true; int aProtocolIndex = a.indexOf(':'); - if(aProtocolIndex > -1) + if(aProtocolIndex != -1) a = a.substring(aProtocolIndex + 1); int bProtocolIndex = b.indexOf(':'); - if(bProtocolIndex > -1) + if(bProtocolIndex != -1) b = b.substring(bProtocolIndex + 1); if (a.equals(b)) return true; - int aServiceBegin = a.indexOf('@'); + int aServiceBegin = a.indexOf('@', aProtocolIndex); String aUserID; String aService; - if (aServiceBegin > -1) + if (aServiceBegin != -1) { aUserID = a.substring(0, aServiceBegin); + ++aServiceBegin; - int slashIndex = a.indexOf("/"); - if (slashIndex > 0) - aService = a.substring(aServiceBegin + 1, slashIndex); + int aResourceBegin = a.indexOf('/', aServiceBegin); + if (aResourceBegin != -1) + aService = a.substring(aServiceBegin, aResourceBegin); else - aService = a.substring(aServiceBegin + 1); + aService = a.substring(aServiceBegin); } else { @@ -1529,19 +1530,20 @@ public static boolean addressesAreEqual(String a, String b) aService = null; } - int bServiceBegin = b.indexOf('@'); + int bServiceBegin = b.indexOf('@', bProtocolIndex); String bUserID; String bService; - if (bServiceBegin > -1) + if (bServiceBegin != -1) { bUserID = b.substring(0, bServiceBegin); - int slashIndex = b.indexOf("/"); + ++bServiceBegin; - if (slashIndex > 0) - bService = b.substring(bServiceBegin + 1, slashIndex); + int bResourceBegin = b.indexOf('/', bServiceBegin); + if (bResourceBegin != -1) + bService = b.substring(bServiceBegin, bResourceBegin); else - bService = b.substring(bServiceBegin + 1); + bService = b.substring(bServiceBegin); } else { diff --git a/src/net/java/sip/communicator/impl/gui/main/call/ZrtpSecurityPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/ZrtpSecurityPanel.java index 02ac19f41..bacc2e3dd 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/ZrtpSecurityPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/ZrtpSecurityPanel.java @@ -9,6 +9,7 @@ import java.awt.*; import java.awt.event.*; import java.beans.*; +import java.util.List; import javax.swing.*; @@ -24,13 +25,14 @@ import org.jitsi.service.configuration.*; import org.jitsi.service.neomedia.*; import org.jitsi.service.protocol.event.*; +import org.jitsi.service.resources.*; import org.jitsi.util.event.*; /** * The panel containing details about ZRTP call security. * * @author Werner Dittman - * @author Lubomir Marinov + * @author Lyubomir Marinov * @author Yana Stamcheva */ public class ZrtpSecurityPanel @@ -273,30 +275,31 @@ private JPanel createSasPanel() { sasVerified = getSecurityControl().isSecurityVerified(); - TransparentPanel sasPanel = new TransparentPanel() - { - @Override - public void paintComponent(Graphics g) + TransparentPanel sasPanel + = new TransparentPanel() { - g = g.create(); - try - { - AntialiasingManager.activateAntialiasing(g); - g.setColor(new Color(1f, 1f, 1f, 0.1f)); - g.fillRoundRect( - 0, 0, this.getWidth(), this.getHeight(), 10, 10); - g.setColor(Color.WHITE); - g.drawRoundRect( - 0, 0, - this.getWidth() - 1, this.getHeight() - 1, - 10, 10); - } - finally + @Override + public void paintComponent(Graphics g) { - g.dispose(); + g = g.create(); + try + { + AntialiasingManager.activateAntialiasing(g); + g.setColor(new Color(1f, 1f, 1f, 0.1f)); + g.fillRoundRect( + 0, 0, this.getWidth(), this.getHeight(), 10, 10); + g.setColor(Color.WHITE); + g.drawRoundRect( + 0, 0, + this.getWidth() - 1, this.getHeight() - 1, + 10, 10); + } + finally + { + g.dispose(); + } } - } - }; + }; sasPanel.setLayout(new BoxLayout(sasPanel, BoxLayout.Y_AXIS)); @@ -592,57 +595,74 @@ private void setVideoSecurityOn(final boolean isVideoSecurityOn) { if (!SwingUtilities.isEventDispatchThread()) { - SwingUtilities.invokeLater(new Runnable() - { - public void run() - { - setVideoSecurityOn(isVideoSecurityOn); - } - }); + SwingUtilities.invokeLater( + new Runnable() + { + public void run() + { + setVideoSecurityOn(isVideoSecurityOn); + } + }); return; } this.isVideoSecurityOn = isVideoSecurityOn; - Icon statusIcon = null; - String statusText = null; + Icon icon = null; + String text = null; + boolean visible = false; - final OperationSetVideoTelephony telephony - = callPeer.getProtocolProvider() - .getOperationSet(OperationSetVideoTelephony.class); + OperationSetVideoTelephony videoTelephony + = callPeer.getProtocolProvider().getOperationSet( + OperationSetVideoTelephony.class); - if (telephony != null - && ((telephony.getVisualComponents(callPeer) != null - && telephony.getVisualComponents(callPeer).size() > 0) - || ((MediaAwareCallPeer) callPeer) - .isLocalVideoStreaming())) + if (videoTelephony != null) { - if (isVideoSecurityOn) + /* + * The invocation of MediaAwareCallPeer.isLocalVideoStreaming() is + * cheaper than the invocation of + * OperationSetVideoTelephony.getVisualComponents(CallPeer). + */ + visible + = ((MediaAwareCallPeer) callPeer) + .isLocalVideoStreaming(); + if (!visible) { - statusIcon = videoSecuredIcon; - statusText = GuiActivator.getResources() - .getI18NString("service.gui.security.SECURE_VIDEO"); + List videos + = videoTelephony.getVisualComponents(callPeer); + + visible = ((videos != null) && (videos.size() != 0)); } - else + + if (visible) { - statusIcon = videoNotSecuredIcon; - statusText = GuiActivator.getResources() - .getI18NString("service.gui.security.VIDEO_NOT_SECURED"); + ResourceManagementService r = GuiActivator.getResources(); + + if (isVideoSecurityOn) + { + icon = videoSecuredIcon; + text = r.getI18NString("service.gui.security.SECURE_VIDEO"); + } + else + { + icon = videoNotSecuredIcon; + text + = r.getI18NString( + "service.gui.security.VIDEO_NOT_SECURED"); + } } } - else - { - videoSecurityLabel.setVisible(false); - } - if (statusIcon != null && statusText != null) + if ((icon != null) && (text != null)) { - videoSecurityLabel.setIcon(statusIcon); - videoSecurityLabel.setText(statusText); + videoSecurityLabel.setIcon(icon); + videoSecurityLabel.setText(text); if (!videoSecurityLabel.isVisible()) videoSecurityLabel.setVisible(true); } + else if (visible) + videoSecurityLabel.setVisible(visible); revalidate(); repaint(); @@ -740,7 +760,7 @@ public void run() configService.setProperty(zidAorKey, callPeer.getAddress()); /* * Reduce length of ZID name to fit the security status label. - * The security status label's tooltip contains the full name + * The security status label's tool tip contains the full name * including an explanatory text. */ String label = zidNameValue; diff --git a/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java index c55b8d250..7866c9793 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java @@ -169,7 +169,7 @@ public ConferencePeerPanel( + "DISABLE_SOUND_LEVEL_INDICATORS", false)) { - call.addLocalUserSoundLevelListener(soundLevelListener); + call.addLocalUserSoundLevelListener(soundLevelListener); } } diff --git a/src/net/java/sip/communicator/impl/gui/main/call/conference/VideoConferenceCallPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/conference/VideoConferenceCallPanel.java index eeb374427..28047d96e 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/conference/VideoConferenceCallPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/conference/VideoConferenceCallPanel.java @@ -40,6 +40,14 @@ public class VideoConferenceCallPanel private static final Logger logger = Logger.getLogger(VideoConferenceCallPanel.class); + /** + * The compile-time flag which indicates whether each video displayed by + * VideoConferenceCallPanel is to be depicted with an associated + * tool bar showing information and controls related to the (local or + * remote) peer sending the respective video. + */ + private static final boolean SHOW_TOOLBARS = true; + /** * The facility which aids this instance with the video-related information. */ @@ -193,6 +201,7 @@ private Component createDefaultPhotoPanel(ImageIcon photoLabelIcon) photoLabel.setIcon(photoLabelIcon); + @SuppressWarnings("serial") JPanel photoPanel = new TransparentPanel(new GridBagLayout()) { @@ -711,17 +720,24 @@ protected ConferenceCallPeerRenderer updateViewFromModel( /** * {@inheritDoc} * - * Temporarily disables the use of ConferenceParticipantContainer - * because the functionality implemented in the model at the time of this - * writing does not fully support mapping of visual Components + * If {@link #SHOW_TOOLBARS} is false, disables the use of + * ConferenceParticipantContainer. A reason for such a value of + * SHOW_TOOLBARS may be that the functionality implemented in the + * model may not fully support mapping of visual Components * displaying video to telephony conference participants (e.g. in telephony - * conferences utilizing the Jitsi VideoBridge server-side technology). - * Instead displays the videos only, does not map videos to participants and - * does not display participants who do not have videos. + * conferences utilizing the Jitsi VideoBridge server-side technology). In + * such a case displays the videos only, does not map videos to participants + * and does not display participants who do not have videos. */ @Override protected void updateViewFromModelInEventDispatchThread() { + if (SHOW_TOOLBARS) + { + super.updateViewFromModelInEventDispatchThread(); + return; + } + /* * Determine the set of visual Components displaying video streaming * between the local peer/user and the remote peers which are to be diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/CallPeerMediaHandlerJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/CallPeerMediaHandlerJabberImpl.java index eaa5563c9..73f0856dc 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/CallPeerMediaHandlerJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/CallPeerMediaHandlerJabberImpl.java @@ -6,8 +6,10 @@ */ package net.java.sip.communicator.impl.protocol.jabber; +import java.awt.*; import java.lang.reflect.*; import java.util.*; +import java.util.List; import net.java.sip.communicator.impl.protocol.jabber.extensions.cobri.*; import net.java.sip.communicator.impl.protocol.jabber.extensions.jingle.*; @@ -39,16 +41,33 @@ public class CallPeerMediaHandlerJabberImpl = Logger.getLogger(CallPeerMediaHandlerJabberImpl.class); /** - * The TransportManager implementation handling our address - * management. - */ - private TransportManagerJabberImpl transportManager; - - /** - * The Object which is used for synchronization (e.g. wait - * and notify) related to {@link #transportManager}. + * Determines whether a specific XMPP feature is supported by both a + * specific ScServiceDiscoveryManager (may be referred to as the + * local peer) and a specific DiscoverInfo (may be thought of as + * the remote peer). + * + * @param discoveryManager the ScServiceDiscoveryManager to be + * checked whether it includes the specified feature + * @param discoverInfo the DiscoveryInfo which is to be checked + * whether it contains the specified feature. If discoverInfo is + * null, it is considered to contain the specified feature. + * @param feature the feature to be determined whether it is supported by + * both the specified discoveryManager and the specified + * discoverInfo + * @return true if the specified feature is supported by + * both the specified discoveryManager and the specified + * discoverInfo; otherwise, false */ - private final Object transportManagerSyncRoot = new Object(); + private static boolean isFeatureSupported( + ScServiceDiscoveryManager discoveryManager, + DiscoverInfo discoverInfo, + String feature) + { + return + discoveryManager.includesFeature(feature) + && ((discoverInfo == null) + || discoverInfo.containsFeature(feature)); + } /** * The current description of the streams that we have going toward the @@ -58,6 +77,11 @@ public class CallPeerMediaHandlerJabberImpl private final Map localContentMap = new LinkedHashMap(); + /** + * The QualityControl of this CallPeerMediaHandler. + */ + private final QualityControlWrapper qualityControls; + /** * The current description of the streams that the remote side has with us. * We use {@link LinkedHashMap}s to make sure that we preserve @@ -78,9 +102,16 @@ public class CallPeerMediaHandlerJabberImpl private boolean supportQualityControls = false; /** - * The QualityControl of this CallPeerMediaHandler. + * The TransportManager implementation handling our address + * management. */ - private final QualityControlWrapper qualityControls; + private TransportManagerJabberImpl transportManager; + + /** + * The Object which is used for synchronization (e.g. wait + * and notify) related to {@link #transportManager}. + */ + private final Object transportManagerSyncRoot = new Object(); /** * Creates a new handler that will be managing media streams for @@ -97,373 +128,374 @@ public CallPeerMediaHandlerJabberImpl(CallPeerJabberImpl peer) } /** - * Lets the underlying implementation take note of this error and only - * then throws it to the using bundles. + * Determines and sets the direction that a stream, which has been place on + * hold by the remote party, would need to go back to after being + * re-activated. If the stream is not currently on hold (i.e. it is still + * sending media), this method simply returns its current direction. * - * @param message the message to be logged and then wrapped in a new - * OperationFailedException - * @param errorCode the error code to be assigned to the new - * OperationFailedException - * @param cause the Throwable that has caused the necessity to log - * an error and have a new OperationFailedException thrown + * @param stream the {@link MediaStreamTarget} whose post-hold direction + * we'd like to determine. * - * @throws OperationFailedException the exception that we wanted this method - * to throw. + * @return the {@link MediaDirection} that we need to set on stream + * once it is reactivate. */ - protected void throwOperationFailedException( - String message, - int errorCode, - Throwable cause) - throws OperationFailedException + private MediaDirection calculatePostHoldDirection(MediaStream stream) { - ProtocolProviderServiceJabberImpl.throwOperationFailedException( - message, - errorCode, - cause, - logger); + MediaDirection streamDirection = stream.getDirection(); + + if (streamDirection.allowsSending()) + return streamDirection; + + /* + * When calculating a direction we need to take into account 1) what + * direction the remote party had asked for before putting us on hold, + * 2) what the user preference is for the stream's media type, 3) our + * local hold status, 4) the direction supported by the device this + * stream is reading from. + */ + + // 1. what the remote party originally told us (from our perspective) + ContentPacketExtension content = remoteContentMap.get(stream.getName()); + MediaDirection postHoldDir + = JingleUtils.getDirection(content, !getPeer().isInitiator()); + + // 2. the user preference + MediaDevice device = stream.getDevice(); + + postHoldDir + = postHoldDir.and( + getDirectionUserPreference(device.getMediaType())); + + // 3. our local hold status + if (isLocallyOnHold()) + postHoldDir = postHoldDir.and(MediaDirection.SENDONLY); + + // 4. the device direction + postHoldDir = postHoldDir.and(device.getDirection()); + + stream.setDirection(postHoldDir); + + return postHoldDir; } /** - * Get the remote content of a specific content type (like audio or video). - * - * @param contentType content type name - * @return remote ContentPacketExtension or null if not found + * Closes the CallPeerMediaHandler. */ - public ContentPacketExtension getRemoteContent(String contentType) + @Override + public synchronized void close() { - for(String key : remoteContentMap.keySet()) - { - ContentPacketExtension content = remoteContentMap.get(key); - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); + super.close(); - if(description.getMedia().equals(contentType)) - return content; - } - return null; + OperationSetDesktopSharingClientJabberImpl client + = (OperationSetDesktopSharingClientJabberImpl) + getPeer().getProtocolProvider().getOperationSet( + OperationSetDesktopSharingClient.class); + + if (client != null) + client.fireRemoteControlRevoked(getPeer()); } /** - * {@inheritDoc} + * Creates a {@link ContentPacketExtension}s of the streams for a + * specific MediaDevice. * - * In the case of a telephony conference organized by the local peer/user - * via the Jitsi VideoBridge server-side technology, returns an SSRC - * reported by the server as received on the channel allocated by the local - * peer/user for the purposes of communicating with the CallPeer - * associated with this instance. + * @param dev MediaDevice + * @return the {@link ContentPacketExtension}s of stream that this + * handler is prepared to initiate. + * @throws OperationFailedException if we fail to create the descriptions + * for reasons like problems with device interaction, allocating ports, etc. */ - @Override - public long getRemoteSSRC(MediaType mediaType) + private ContentPacketExtension createContent(MediaDevice dev) + throws OperationFailedException { + MediaType mediaType = dev.getMediaType(); + MediaDirection direction = dev.getDirection(); + /* - * If the Jitsi VideoBridge server-side technology is utilized, a single - * MediaStream (per MediaType) is shared among the participating - * CallPeers and, consequently, the remote SSRCs cannot be associated - * with the CallPeers from which they are actually being sent. That's - * why the server will report them to the conference focus. + * In the case of RTP translation performed by the conference focus, + * the conference focus is not required to capture media. */ - TransportManagerJabberImpl transportManager = this.transportManager; + if (!(MediaType.VIDEO.equals(mediaType) + && isRTPTranslationEnabled(mediaType))) + direction = direction.and(getDirectionUserPreference(mediaType)); + if (isLocallyOnHold()) + direction = direction.and(MediaDirection.SENDONLY); - if (transportManager instanceof RawUdpTransportManager) - { - RawUdpTransportManager rawUdpTransportManager - = (RawUdpTransportManager) transportManager; - CobriConferenceIQ.Channel channel - = rawUdpTransportManager.getCobriChannel( - mediaType, - false /* remote */); + QualityPreset sendQualityPreset = null; + QualityPreset receiveQualityPreset = null; - if (channel != null) - { - long[] ssrcs = channel.getSSRCs(); + if(qualityControls != null) + { + // the one we will send is the one the remote has announced as + // receive + sendQualityPreset = qualityControls.getRemoteReceivePreset(); + // the one we want to receive is the one the remote can send + receiveQualityPreset = qualityControls.getRemoteSendMaxPreset(); + } + if(direction != MediaDirection.INACTIVE) + { + ContentPacketExtension content + = createContentForOffer( + getLocallySupportedFormats(dev, + sendQualityPreset, + receiveQualityPreset), + direction, + dev.getSupportedExtensions()); + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); - /* - * A peer (regardless of whether it is local or remote) may send - * multiple RTP streams at any time. In such a case, it is not - * clear which one of their SSRCs is to be returned. Anyway, the - * super says that the returned is the last known and we will - * presume that the last known in the list reported by the Jitsi - * VideoBridge server is the last. - */ - for (int i = ssrcs.length - 1; i >= 0; i--) - { - long remoteSSRC = ssrcs[i]; + //SDES + // It is important to set SDES before ZRTP in order to make GTALK + // application able to work with SDES. + setSDesEncryptionToDescription(mediaType, description, null); + //ZRTP + setZrtpEncryptionToDescription(mediaType, description, null); - if (remoteSSRC != -1) - return remoteSSRC; - } - } + return content; } - - return super.getRemoteSSRC(mediaType); + return null; } /** - * Get the local content of a specific content type (like audio or video). + * Creates a {@link ContentPacketExtension} for a particular stream. * - * @param contentType content type name - * @return remote ContentPacketExtension or null if not found + * @param mediaType MediaType of the content + * @return a {@link ContentPacketExtension} + * @throws OperationFailedException if we fail to create the descriptions + * for reasons like - problems with device interaction, allocating ports, + * etc. */ - public ContentPacketExtension getLocalContent(String contentType) + public ContentPacketExtension createContentForMedia(MediaType mediaType) + throws OperationFailedException { - for(String key : localContentMap.keySet()) - { - ContentPacketExtension content = localContentMap.get(key); - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); + MediaDevice dev = getDefaultDevice(mediaType); - if(description.getMedia().equals(contentType)) - return content; - } + if(isDeviceActive(dev)) + return createContent(dev); return null; } /** - * Creates if necessary, and configures the stream that this - * MediaHandler is using for the MediaType matching the - * one of the MediaDevice. This method extends the one already - * available by adding a stream name, corresponding to a stream's content - * name. + * Generates an Jingle {@link ContentPacketExtension} for the specified + * {@link MediaFormat} list, direction and RTP extensions taking account + * the local streaming preference for the corresponding media type. * - * @param streamName the name of the stream as indicated in the XMPP - * content element. - * @param connector the MediaConnector that we'd like to bind the - * newly created stream to. - * @param device the MediaDevice that we'd like to attach the newly - * created MediaStream to. - * @param format the MediaFormat that we'd like the new - * MediaStream to be set to transmit in. - * @param target the MediaStreamTarget containing the RTP and RTCP - * address:port couples that the new stream would be sending packets to. - * @param direction the MediaDirection that we'd like the new - * stream to use (i.e. sendonly, sendrecv, recvonly, or inactive). - * @param rtpExtensions the list of RTPExtensions that should be - * enabled for this stream. - * @param masterStream whether the stream to be used as master if secured - * - * @return the newly created MediaStream. + * @param supportedFormats the list of MediaFormats that we'd + * like to advertise. + * @param direction the MediaDirection that we'd like to establish + * the stream in. + * @param supportedExtensions the list of RTPExtensions that we'd + * like to advertise in the MediaDescription. * - * @throws OperationFailedException if creating the stream fails for any - * reason (like for example accessing the device or setting the format). + * @return a newly created {@link ContentPacketExtension} representing + * streams that we'd be able to handle. */ - protected MediaStream initStream(String streamName, - StreamConnector connector, - MediaDevice device, - MediaFormat format, - MediaStreamTarget target, - MediaDirection direction, - List rtpExtensions, - boolean masterStream) - throws OperationFailedException + private ContentPacketExtension createContentForOffer( + List supportedFormats, + MediaDirection direction, + List supportedExtensions) { - MediaStream stream - = super.initStream( - connector, - device, - format, - target, - direction, - rtpExtensions, - masterStream); - - if (stream != null) - stream.setName(streamName); + ContentPacketExtension content + = JingleUtils.createDescription( + ContentPacketExtension.CreatorEnum.initiator, + supportedFormats.get(0).getMediaType().toString(), + JingleUtils.getSenders(direction, !getPeer().isInitiator()), + supportedFormats, + supportedExtensions, + getDynamicPayloadTypes(), + getRtpExtensionsRegistry()); - return stream; + this.localContentMap.put(content.getName(), content); + return content; } /** - * Parses and handles the specified offer and returns a content - * extension representing the current state of this media handler. This - * method MUST only be called when offer is the first session - * description that this MediaHandler is seeing. + * Creates a List containing the {@link ContentPacketExtension}s of + * the streams that this handler is prepared to initiate depending on + * available MediaDevices and local on-hold and video transmission + * preferences. * - * @param offer the offer that we'd like to parse, handle and get an answer - * for. + * @return a {@link List} containing the {@link ContentPacketExtension}s of + * streams that this handler is prepared to initiate. * - * @throws OperationFailedException if we have a problem satisfying the - * description received in offer (e.g. failed to open a device or - * initialize a stream ...). - * @throws IllegalArgumentException if there's a problem with - * offer's format or semantics. + * @throws OperationFailedException if we fail to create the descriptions + * for reasons like problems with device interaction, allocating ports, etc. */ - public void processOffer(List offer) - throws OperationFailedException, - IllegalArgumentException + public List createContentList() + throws OperationFailedException { - // prepare to generate answers to all the incoming descriptions - List answer - = new ArrayList(offer.size()); - boolean atLeastOneValidDescription = false; + // Describe the media. + List mediaDescs + = new ArrayList(); - for (ContentPacketExtension content : offer) + for (MediaType mediaType : MediaType.values()) { - remoteContentMap.put(content.getName(), content); - - RtpDescriptionPacketExtension description - = JingleUtils.getRtpDescription(content); - MediaType mediaType - = MediaType.parseString( description.getMedia() ); - - List remoteFormats - = JingleUtils.extractFormats( - description, - getDynamicPayloadTypes()); - MediaDevice dev = getDefaultDevice(mediaType); - MediaDirection devDirection - = (dev == null) ? MediaDirection.INACTIVE : dev.getDirection(); - - // Take the preference of the user with respect to streaming - // mediaType into account. - devDirection - = devDirection.and(getDirectionUserPreference(mediaType)); - - // determine the direction that we need to announce. - MediaDirection remoteDirection = JingleUtils.getDirection( - content, getPeer().isInitiator()); - MediaDirection direction - = devDirection.getDirectionForAnswer(remoteDirection); + if (isDeviceActive(dev)) + { + MediaDirection direction = dev.getDirection(); - // intersect the MediaFormats of our device with remote ones - List mutuallySupportedFormats - = intersectFormats(remoteFormats, getLocallySupportedFormats(dev)); - - // check whether we will be exchanging any RTP extensions. - List offeredRTPExtensions - = JingleUtils.extractRTPExtensions( - description, this.getRtpExtensionsRegistry()); + /* + * In the case of RTP translation performed by the conference + * focus, the conference focus is not required to capture media. + */ + if (!(MediaType.VIDEO.equals(mediaType) + && isRTPTranslationEnabled(mediaType))) + { + direction + = direction.and(getDirectionUserPreference(mediaType)); + } + if (isLocallyOnHold()) + direction = direction.and(MediaDirection.SENDONLY); - List supportedExtensions - = getExtensionsForType(mediaType); + /* + * If we're only able to receive, we don't have to offer it at + * all. For example, we have to offer audio and no video when we + * start an audio call. + */ + if (MediaDirection.RECVONLY.equals(direction)) + direction = MediaDirection.INACTIVE; - List rtpExtensions = intersectRTPExtensions( - offeredRTPExtensions, supportedExtensions); + if (direction != MediaDirection.INACTIVE) + { + ContentPacketExtension content + = createContentForOffer( + getLocallySupportedFormats(dev), + direction, + dev.getSupportedExtensions()); + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); - // transport - /* - * RawUdpTransportPacketExtension extends - * IceUdpTransportPacketExtension so getting - * IceUdpTransportPacketExtension should suffice. - */ - IceUdpTransportPacketExtension transport - = content.getFirstChildOfType( - IceUdpTransportPacketExtension.class); + //SDES + // It is important to set SDES before ZRTP in order to make + // GTALK application able to work with SDES. + setSDesEncryptionToDescription( + mediaType, + description, + null); + //ZRTP + setZrtpEncryptionToDescription( + mediaType, + description, + null); - // stream target - MediaStreamTarget target = null; + // we request a desktop sharing session so add the inputevt + // extension in the "video" content + if (description.getMedia().equals( + MediaType.VIDEO.toString()) + && getLocalInputEvtAware()) + { + content.addChildExtension( + new InputEvtPacketExtension()); + } - try - { - target = JingleUtils.extractDefaultTarget(content); - } - catch(IllegalArgumentException e) - { - logger.warn("Fail to extract default target", e); + mediaDescs.add(content); + } } + } - // according to XEP-176, transport element in session-initiate - // "MAY instead be empty (with each candidate to be sent as the - // payload of a transport-info message)". - int targetDataPort - = (target == null && transport != null) - ? -1 - : (target != null) ? target.getDataAddress().getPort() : 0; - - /* - * TODO If the offered transport is not supported, attempt to fall - * back to a supported one using transport-replace. - */ - setTransportManager(transport.getNamespace()); + // Fail if no media is described (e.g. all devices are inactive). + if (mediaDescs.isEmpty()) + { + ProtocolProviderServiceJabberImpl.throwOperationFailedException( + "We couldn't find any active Audio/Video devices" + + " and couldn't create a call", + OperationFailedException.GENERAL_ERROR, + null, + logger); + } - if (mutuallySupportedFormats.isEmpty() - || (devDirection == MediaDirection.INACTIVE) - || (targetDataPort == 0)) - { - // skip stream and continue. contrary to sip we don't seem to - // need to send per-stream disabling answer and only one at the - // end. + // Describe the transport(s). + TransportInfoSender transportInfoSender + = getTransportManager().getXmlNamespace().equals( + ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P) + ? new TransportInfoSender() + { + public void sendTransportInfo( + Iterable contents) + { + getPeer().sendTransportInfo(contents); + } + } + : null; - //close the stream in case it already exists - closeStream(mediaType); - continue; - } + return harvestCandidates(null, mediaDescs, transportInfoSender); + } - // create the answer description - ContentPacketExtension ourContent - = JingleUtils.createDescription( - content.getCreator(), - content.getName(), - JingleUtils.getSenders( - direction, - !getPeer().isInitiator()), - mutuallySupportedFormats, - rtpExtensions, - getDynamicPayloadTypes(), - getRtpExtensionsRegistry()); - - RtpDescriptionPacketExtension localDescription = - JingleUtils.getRtpDescription(ourContent); - - // Sets ZRTP or SDES, depending on the preferences for this account. - setAndAddPreferredEncryptionProtocol( - mediaType, - localDescription, - description); - - // Got a content which has inputevt. It means that the peer requests - // a desktop sharing session so tell it we support inputevt. - if(content.getChildExtensionsOfType(InputEvtPacketExtension.class) - != null) - { - ourContent.addChildExtension(new InputEvtPacketExtension()); - } + /** + * Creates a List containing the {@link ContentPacketExtension}s of + * the streams of a specific MediaType that this handler is + * prepared to initiate depending on available MediaDevices and + * local on-hold and video transmission preferences. + * + * @param mediaType MediaType of the content + * @return a {@link List} containing the {@link ContentPacketExtension}s of + * streams that this handler is prepared to initiate. + * + * @throws OperationFailedException if we fail to create the descriptions + * for reasons like - problems with device interaction, allocating ports, + * etc. + */ + public List createContentList(MediaType mediaType) + throws OperationFailedException + { + MediaDevice dev = getDefaultDevice(mediaType); + List mediaDescs + = new ArrayList(); - answer.add(ourContent); - localContentMap.put(content.getName(), ourContent); + if (isDeviceActive(dev)) + { + ContentPacketExtension content = createContent(dev); - atLeastOneValidDescription = true; + if (content != null) + mediaDescs.add(content); } - if (!atLeastOneValidDescription) + // Fail if no media is described (e.g. all devices are inactive). + if (mediaDescs.isEmpty()) { ProtocolProviderServiceJabberImpl.throwOperationFailedException( - "Offer contained no media formats" - + " or no valid media descriptions.", - OperationFailedException.ILLEGAL_ARGUMENT, + "We couldn't find any active Audio/Video devices and " + + "couldn't create a call", + OperationFailedException.GENERAL_ERROR, null, logger); } - /* - * In order to minimize post-pickup delay, start establishing the - * connectivity prior to ringing. - */ - harvestCandidates( - offer, - answer, - new TransportInfoSender() - { - public void sendTransportInfo( - Iterable contents) + // Describe the transport(s). + TransportInfoSender transportInfoSender + = getTransportManager().getXmlNamespace().equals( + ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P) + ? new TransportInfoSender() { - getPeer().sendTransportInfo(contents); + public void sendTransportInfo( + Iterable contents) + { + getPeer().sendTransportInfo(contents); + } } - }); + : null; - /* - * While it may sound like we can completely eliminate the post-pickup - * delay by waiting for the connectivity establishment to finish, it may - * not be possible in all cases. We are the Jingle session responder so, - * in the case of the ICE UDP transport, we are not the controlling ICE - * Agent and we cannot be sure when the controlling ICE Agent will - * perform the nomination. It could, for example, choose to wait for our - * session-accept to perform the nomination which will deadlock us if we - * have chosen to wait for the connectivity establishment to finish - * before we begin ringing and send session-accept. - */ - getTransportManager().startConnectivityEstablishment(offer); + return harvestCandidates(null, mediaDescs, transportInfoSender); + } + + /** + * Overrides to give access to the transport manager to send events + * about ICE state changes. + * + * @param property the name of the property of this + * PropertyChangeNotifier which had its value changed + * @param oldValue the value of the property with the specified name before + * the change + * @param newValue the value of the property with the specified name after + */ + @Override + protected void firePropertyChange( + String property, + Object oldValue, Object newValue) + { + super.firePropertyChange(property, oldValue, newValue); } /** @@ -618,653 +650,493 @@ public Iterable generateSessionAccept() } /** - * Creates a {@link ContentPacketExtension}s of the streams for a - * specific MediaDevice. + * Get the local content of a specific content type (like audio or video). * - * @param dev MediaDevice - * @return the {@link ContentPacketExtension}s of stream that this - * handler is prepared to initiate. - * @throws OperationFailedException if we fail to create the descriptions - * for reasons like problems with device interaction, allocating ports, etc. + * @param contentType content type name + * @return remote ContentPacketExtension or null if not found */ - private ContentPacketExtension createContent(MediaDevice dev) - throws OperationFailedException + public ContentPacketExtension getLocalContent(String contentType) { - MediaType mediaType = dev.getMediaType(); - MediaDirection direction = dev.getDirection(); - - /* - * In the case of RTP translation performed by the conference focus, - * the conference focus is not required to capture media. - */ - if (!(MediaType.VIDEO.equals(mediaType) - && isRTPTranslationEnabled(mediaType))) - direction = direction.and(getDirectionUserPreference(mediaType)); - if (isLocallyOnHold()) - direction = direction.and(MediaDirection.SENDONLY); - - QualityPreset sendQualityPreset = null; - QualityPreset receiveQualityPreset = null; - - if(qualityControls != null) - { - // the one we will send is the one the remote has announced as - // receive - sendQualityPreset = qualityControls.getRemoteReceivePreset(); - // the one we want to receive is the one the remote can send - receiveQualityPreset = qualityControls.getRemoteSendMaxPreset(); - } - if(direction != MediaDirection.INACTIVE) + for(String key : localContentMap.keySet()) { - ContentPacketExtension content - = createContentForOffer( - getLocallySupportedFormats(dev, - sendQualityPreset, - receiveQualityPreset), - direction, - dev.getSupportedExtensions()); + ContentPacketExtension content = localContentMap.get(key); RtpDescriptionPacketExtension description = JingleUtils.getRtpDescription(content); - //SDES - // It is important to set SDES before ZRTP in order to make GTALK - // application able to work with SDES. - setSDesEncryptionToDescription(mediaType, description, null); - //ZRTP - setZrtpEncryptionToDescription(mediaType, description, null); - - return content; + if(description.getMedia().equals(contentType)) + return content; } return null; } /** - * Creates a {@link ContentPacketExtension} for a particular stream. + * Returns the quality control for video calls if any. * - * @param mediaType MediaType of the content - * @return a {@link ContentPacketExtension} - * @throws OperationFailedException if we fail to create the descriptions - * for reasons like - problems with device interaction, allocating ports, - * etc. + * @return the implemented quality control. */ - public ContentPacketExtension createContentForMedia(MediaType mediaType) - throws OperationFailedException + public QualityControl getQualityControl() { - MediaDevice dev = getDefaultDevice(mediaType); + if(supportQualityControls) + { + return qualityControls; + } + else + { + // we have detected that its not supported and return null + // and control ui won't be visible + return null; + } + } - if(isDeviceActive(dev)) - return createContent(dev); + /** + * Get the remote content of a specific content type (like audio or video). + * + * @param contentType content type name + * @return remote ContentPacketExtension or null if not found + */ + public ContentPacketExtension getRemoteContent(String contentType) + { + for(String key : remoteContentMap.keySet()) + { + ContentPacketExtension content = remoteContentMap.get(key); + RtpDescriptionPacketExtension description + = JingleUtils.getRtpDescription(content); + + if(description.getMedia().equals(contentType)) + return content; + } return null; } /** - * Creates a List containing the {@link ContentPacketExtension}s of - * the streams of a specific MediaType that this handler is - * prepared to initiate depending on available MediaDevices and - * local on-hold and video transmission preferences. - * - * @param mediaType MediaType of the content - * @return a {@link List} containing the {@link ContentPacketExtension}s of - * streams that this handler is prepared to initiate. + * {@inheritDoc} * - * @throws OperationFailedException if we fail to create the descriptions - * for reasons like - problems with device interaction, allocating ports, - * etc. + * In the case of a telephony conference organized by the local peer/user + * via the Jitsi VideoBridge server-side technology, returns an SSRC + * reported by the server as received on the channel allocated by the local + * peer/user for the purposes of communicating with the CallPeer + * associated with this instance. */ - public List createContentList(MediaType mediaType) - throws OperationFailedException + @Override + public long getRemoteSSRC(MediaType mediaType) { - MediaDevice dev = getDefaultDevice(mediaType); - List mediaDescs - = new ArrayList(); + long[] ssrcs = getRemoteSSRCs(mediaType); - if (isDeviceActive(dev)) + /* + * A peer (regardless of whether it is local or remote) may send + * multiple RTP streams at any time. In such a case, it is not clear + * which one of their SSRCs is to be returned. Anyway, the super says + * that the returned is the last known. We will presume that the last + * known in the list reported by the Jitsi VideoBridge server is the + * last. + */ + for (int i = ssrcs.length - 1; i >= 0; i--) { - ContentPacketExtension content = createContent(dev); + long ssrc = ssrcs[i]; - if (content != null) - mediaDescs.add(content); + if (ssrc != -1) + return ssrc; } - // Fail if no media is described (e.g. all devices are inactive). - if (mediaDescs.isEmpty()) - { - ProtocolProviderServiceJabberImpl.throwOperationFailedException( - "We couldn't find any active Audio/Video devices and " - + "couldn't create a call", - OperationFailedException.GENERAL_ERROR, - null, - logger); - } - - // Describe the transport(s). - TransportInfoSender transportInfoSender - = getTransportManager().getXmlNamespace().equals( - ProtocolProviderServiceJabberImpl.URN_GOOGLE_TRANSPORT_P2P) - ? new TransportInfoSender() - { - public void sendTransportInfo( - Iterable contents) - { - getPeer().sendTransportInfo(contents); - } - } - : null; - - return harvestCandidates(null, mediaDescs, transportInfoSender); - } + return super.getRemoteSSRC(mediaType); + } /** - * Creates a List containing the {@link ContentPacketExtension}s of - * the streams that this handler is prepared to initiate depending on - * available MediaDevices and local on-hold and video transmission - * preferences. - * - * @return a {@link List} containing the {@link ContentPacketExtension}s of - * streams that this handler is prepared to initiate. + * Gets the SSRCs of RTP streams with a specific MediaType known to + * be received by a MediaStream associated with this instance. + *