Enable Jingle to provide audio and video call with XMPP.

cusax-fix
Sebastien Vincent 15 years ago
parent d82a4be4b0
commit 02f25e55c0

@ -749,11 +749,6 @@
<!--sysproperty key="net.java.sip.communicator.SC_HOME_DIR_LOCATION"
value="${user.home}/schome"/-->
<!-- this is a temporary option that would need to disappear once
we finalize jingle -->
<sysproperty key="enableJingle"
value="${enableJingle}"/>
<sysproperty key="smack.debugEnabled"
value="${smack.debugEnabled}"/>
<!--sysproperty key="smack.debuggerClass"

@ -28,6 +28,11 @@ public class TransferActiveCallsMenu
extends JPopupMenu
implements Skinnable
{
/**
* Serial version UID.
*/
private static final long serialVersionUID = 0L;
/**
* The invoker component.
*/
@ -173,8 +178,21 @@ private class CallPeerMenuItem
extends JMenuItem
implements Skinnable
{
/**
* Serial version UID.
*/
private static final long serialVersionUID = 0L;
/**
* The <tt>CallPeer</tt> of this instance.
*/
private final CallPeer callPeer;
/**
* Constructor.
*
* @param peer the <tt>CallPeer</tt>
*/
public CallPeerMenuItem(CallPeer peer)
{
this.callPeer = peer;
@ -183,6 +201,11 @@ public CallPeerMenuItem(CallPeer peer)
loadSkin();
}
/**
* Get the <tt>CallPeer</tt> of this instance.
*
* @return <tt>CallPeer</tt>
*/
public CallPeer getCallPeer()
{
return callPeer;

@ -353,7 +353,7 @@ public synchronized void answer()
* and set the new state to DISCONNECTED.
*
* @param reasonText the text, if any, to be set on the
* <tt>ReasonPacketExtension</tt> as the value of its
* <tt>ReasonPacketExtension</tt> as the value of its
* @param reasonOtherExtension the <tt>PacketExtension</tt>, if any, to be
* set on the <tt>ReasonPacketExtension</tt> as the value of its
* <tt>otherExtension</tt> property
@ -983,7 +983,7 @@ public void processTransportInfo(JingleIQ jingleIQ)
* peer to the remote peer using the <tt>transport-info</tt>
* {@link JingleIQ}
*/
void sendTransportInfo(Iterable<ContentPacketExtension> contents)
protected void sendTransportInfo(Iterable<ContentPacketExtension> contents)
{
JingleIQ transportInfo = new JingleIQ();
@ -1013,7 +1013,7 @@ void sendTransportInfo(Iterable<ContentPacketExtension> contents)
* in the case of unattended transfer
* @throws OperationFailedException if something goes wrong
*/
void transfer(String to, String sid)
protected void transfer(String to, String sid)
throws OperationFailedException
{
JingleIQ transferSessionInfo = new JingleIQ();

@ -1093,74 +1093,69 @@ protected void initialize(String screenname,
new InputEvtIQProvider());
//initialize the telephony operation set
//until we actually finish jingle, we'll have a clumsy way of
//enabling it through a system property.
if(Boolean.getBoolean("enableJingle"))
{
OperationSetBasicTelephonyJabberImpl basicTelephony
OperationSetBasicTelephonyJabberImpl basicTelephony
= new OperationSetBasicTelephonyJabberImpl(this);
addSupportedOperationSet(
OperationSetAdvancedTelephony.class,
basicTelephony);
addSupportedOperationSet(
OperationSetBasicTelephony.class,
basicTelephony);
addSupportedOperationSet(
OperationSetSecureTelephony.class,
basicTelephony);
// initialize video telephony OperationSet
addSupportedOperationSet(
OperationSetVideoTelephony.class,
new OperationSetVideoTelephonyJabberImpl(basicTelephony));
addSupportedOperationSet(
OperationSetAdvancedTelephony.class,
basicTelephony);
addSupportedOperationSet(
OperationSetBasicTelephony.class,
basicTelephony);
addSupportedOperationSet(
OperationSetSecureTelephony.class,
basicTelephony);
// initialize video telephony OperationSet
addSupportedOperationSet(
OperationSetVideoTelephony.class,
new OperationSetVideoTelephonyJabberImpl(basicTelephony));
// TODO: Uncomment the following lines when the desktop sharing feature is ready
// to use.
// initialize desktop streaming OperationSet
// addSupportedOperationSet(
// OperationSetDesktopStreaming.class,
// new OperationSetDesktopStreamingJabberImpl(basicTelephony));
// initialize desktop sharing OperationSets
// addSupportedOperationSet(
// OperationSetDesktopSharingServer.class,
// new OperationSetDesktopSharingServerJabberImpl(
// basicTelephony));
// addSupportedOperationSet(
// OperationSetDesktopSharingClient.class,
// new OperationSetDesktopSharingClientJabberImpl(this));
addSupportedOperationSet(
OperationSetTelephonyConferencing.class,
new OperationSetTelephonyConferencingJabberImpl(this));
// Add Jingle features to supported features.
supportedFeatures.add(URN_XMPP_JINGLE);
supportedFeatures.add(URN_XMPP_JINGLE_RTP);
supportedFeatures.add(URN_XMPP_JINGLE_RAW_UDP_0);
// initialize desktop streaming OperationSet
// addSupportedOperationSet(
// OperationSetDesktopStreaming.class,
// new OperationSetDesktopStreamingJabberImpl(basicTelephony));
// initialize desktop sharing OperationSets
// addSupportedOperationSet(
// OperationSetDesktopSharingServer.class,
// new OperationSetDesktopSharingServerJabberImpl(
// basicTelephony));
// addSupportedOperationSet(
// OperationSetDesktopSharingClient.class,
// new OperationSetDesktopSharingClientJabberImpl(this));
/*
* Reflect the preference of the user with respect to the use of
* ICE.
*/
if (accountID.getAccountPropertyBoolean(
ProtocolProviderFactory.IS_USE_ICE,
false))
{
supportedFeatures.add(URN_XMPP_JINGLE_ICE_UDP_1);
}
addSupportedOperationSet(
OperationSetTelephonyConferencing.class,
new OperationSetTelephonyConferencingJabberImpl(this));
// Add Jingle features to supported features.
supportedFeatures.add(URN_XMPP_JINGLE);
supportedFeatures.add(URN_XMPP_JINGLE_RTP);
supportedFeatures.add(URN_XMPP_JINGLE_RAW_UDP_0);
/*
* Reflect the preference of the user with respect to the use of
* ICE.
*/
if (accountID.getAccountPropertyBoolean(
ProtocolProviderFactory.IS_USE_ICE,
false))
{
supportedFeatures.add(URN_XMPP_JINGLE_ICE_UDP_1);
}
supportedFeatures.add(URN_XMPP_JINGLE_RTP_AUDIO);
supportedFeatures.add(URN_XMPP_JINGLE_RTP_VIDEO);
supportedFeatures.add(URN_XMPP_JINGLE_RTP_ZRTP);
supportedFeatures.add(URN_XMPP_JINGLE_RTP_AUDIO);
supportedFeatures.add(URN_XMPP_JINGLE_RTP_VIDEO);
supportedFeatures.add(URN_XMPP_JINGLE_RTP_ZRTP);
/* add extension to support remote control */
supportedFeatures.add(InputEvtIQ.NAMESPACE);
/* add extension to support remote control */
supportedFeatures.add(InputEvtIQ.NAMESPACE);
// XEP-0251: Jingle Session Transfer
supportedFeatures.add(URN_XMPP_JINGLE_TRANSFER_0);
}
// XEP-0251: Jingle Session Transfer
supportedFeatures.add(URN_XMPP_JINGLE_TRANSFER_0);
// OperationSetContactCapabilities
opsetContactCapabilities

@ -131,7 +131,6 @@ public enum JingleAction
*/
TRANSPORT_ACCEPT("transport-accept"),
/**
* The <tt>transport-info</tt> action is used to exchange transport
* candidates; it is mainly used in Jingle ICE-UDP but might be used in

Loading…
Cancel
Save