diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jitsimeet/MediaPresenceExtension.java b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jitsimeet/MediaPresenceExtension.java
new file mode 100644
index 000000000..74d6fd4dd
--- /dev/null
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jitsimeet/MediaPresenceExtension.java
@@ -0,0 +1,163 @@
+/*
+ * Jitsi, the OpenSource Java VoIP and Instant Messaging client.
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package net.java.sip.communicator.impl.protocol.jabber.extensions.jitsimeet;
+
+import net.java.sip.communicator.impl.protocol.jabber.extensions.*;
+import org.jivesoftware.smack.provider.*;
+
+/**
+ * Packet extension used by Jitsi Meet to advertise local media SSRCs in MUC
+ * presence.
+ *
+ * @author Pawel Domas
+ */
+public class MediaPresenceExtension
+ extends AbstractPacketExtension
+{
+ /**
+ * The namespace of this packet extension.
+ */
+ public static final String NAMESPACE = "http://estos.de/ns/mjs";
+
+ /**
+ * XML element name of this packet extension.
+ */
+ public static final String ELEMENT_NAME = "media";
+
+ /**
+ * Creates an MediaPresenceExtension instance.
+ *
+ */
+ public MediaPresenceExtension()
+ {
+ super(NAMESPACE, ELEMENT_NAME);
+ }
+
+ /**
+ * Registers packet Jitsi Meet media presence packet extensions in given
+ * providerManager.
+ *
+ * @param providerManager the ProviderManager to which media
+ * presence extensions will be registered to.
+ */
+ public static void registerExtensions(ProviderManager providerManager)
+ {
+ //
+ providerManager.addExtensionProvider(
+ MediaPresenceExtension.ELEMENT_NAME,
+ MediaPresenceExtension.NAMESPACE,
+ new DefaultPacketExtensionProvider(
+ MediaPresenceExtension.class));
+
+ //
+ providerManager.addExtensionProvider(
+ MediaPresenceExtension.Source.ELEMENT_NAME,
+ MediaPresenceExtension.Source.NAMESPACE,
+ new DefaultPacketExtensionProvider(
+ Source.class));
+ }
+
+ /**
+ * Source extension element that specifies into about media SSRC.
+ */
+ public static class Source
+ extends AbstractPacketExtension
+ {
+ /**
+ * Source XML element name.
+ */
+ public final static String ELEMENT_NAME = "source";
+
+ /**
+ * No namespace attached.
+ */
+ public final static String NAMESPACE = "";
+
+ /**
+ * SSRC media type attribute name. Can be 'audio' or 'video'.
+ */
+ public final static String MEDIA_TYPE_ATTR_NAME = "type";
+
+ /**
+ * SSRC number attribute name.
+ */
+ public final static String SOURCE_ATTR_NAME = "ssrc";
+
+ /**
+ * Media direction as used in SDP('sendrecv', 'recvonly', 'sendonly').
+ */
+ public final static String DIRECTION_ATTR_NAME = "direction";
+
+ /**
+ * Creates new instance of Source packet extension with default
+ * 'sendrecv' direction set.
+ */
+ public Source()
+ {
+ super(NAMESPACE, ELEMENT_NAME);
+
+ // Default direction
+ setDirection("sendrecv");
+ }
+
+ /**
+ * Returns media direction
+ * (values like used in SDP 'sendrecv', 'recvonly'...).
+ */
+ public String getDirection()
+ {
+ return getAttributeAsString(DIRECTION_ATTR_NAME);
+ }
+
+ /**
+ * Returns media synchronization source identifier.
+ */
+ public String getSSRC()
+ {
+ return getAttributeAsString(SOURCE_ATTR_NAME);
+ }
+
+ /**
+ * Sets media type of the media represented by this source packet
+ * extensions.
+ * @param mediaType media type string('audio' or 'video').
+ */
+ public void setMediaType(String mediaType)
+ {
+ setAttribute(MEDIA_TYPE_ATTR_NAME, mediaType);
+ }
+
+ /**
+ * Direction of the media represented by this source packet extension.
+ * @param direction media direction like used in SDP
+ * ('sendrecv, 'recvonly'...).
+ */
+ public void setDirection(String direction)
+ {
+ setAttribute(DIRECTION_ATTR_NAME, direction);
+ }
+
+ /**
+ * Sets synchronization source identifier of the media represented by
+ * this source packet extension.
+ * @param ssrc synchronization source identifier to set.
+ */
+ public void setSSRC(String ssrc)
+ {
+ setAttribute(SOURCE_ATTR_NAME, ssrc);
+ }
+
+ /**
+ * @return type of the media(audio or video) represented by this source
+ * packet extension.
+ */
+ public String getMediaType()
+ {
+ return getAttributeAsString(MEDIA_TYPE_ATTR_NAME);
+ }
+ }
+}