 +
 +void JingleContent::slotRawUdpDataReady()
 +{
-+	qDebug() << "Data arrived on the socket.";
++	qDebug() << "slotRawUdpDataReady() :: Data arrived on the socket.";
 +	emit dataReceived();
 +	setReceiving(true);
-+	//disconnect(sender(), 0, this, 0);
++	disconnect(sender(), SIGNAL(readyRead()), this, 0);
 +}
 +
 +QUdpSocket *JingleContent::inSocket()

+		content = jingle.firstChildElement();
+		while (!content.isNull())
+		{
+			if (content.tagName() == "content");
+				d->incomingSession->addContent(content);
+			content = content.nextSiblingElement();
+		}

+	JingleSession *sess = d->pjs->takeNextIncomingSession();
+	d->sessions << sess;
+	connect(sess, SIGNAL(terminated()), this, SLOT(slotSessionTerminated()));
+       //QList<QString> incompatibleContents;
+
+       QList<QString> unsupportedPayloads;
+       // This is a list of the names of the contents which have no supported payloads.
+
+       QList<QString> unsupportedTransports;
+       // This is a list of the names of the contents which have no supported transports
+       // We have to remove all contents present in those lists.
+       //
+       // If no content is supported, reject the session because it's not possible to establish a session.
+
+	for (int i = 0; i < sess->contents().count(); i++)
+	{
+		JingleContent *c = sess->contents()[i];
+
+		//Set supported payloads for this content.
+		c->setPayloadTypes(c->type() == JingleContent::Audio ? d->supportedAudioPayloads : d->supportedVideoPayloads);
+
+		// Check payloads for the content c
+		if (!checkSupportedPayloads(c))
+		{
+			//incompatibleContents << c->name();
+			unsupportedPayloads << c->name();
+                       continue;
+		}
+		
+		if (!checkSupportedTransport(c))
+		{
+                       //incompatibleContents << c->name();
+                       unsupportedTransports << c->name();
+		}
+	}
+
+       if (unsupportedPayloads.count() + unsupportedTransports.count() == sess->contents().count())
+       {
+               //Reject the session.
+               JingleReason r(JingleReason::UnsupportedApplications);
+               sess->sessionTerminate(r);
+               //What happens when we receive the ack of the session-terminate ?
+               return;
+       }
+       else if (unsupportedPayloads.count() + unsupportedTransports.count() > 0)
+       {
+               //remove this contents list
+               sess->removeContent(unsupportedPayloads + unsupportedTransports);
+               return;
+       }
+	
+	emit newJingleSession(sess);
+	
