Index: /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c
===================================================================
--- /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c	(revision 6114)
+++ /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c	(revision 6115)
@@ -1641,6 +1641,10 @@
 
     /* All keying method failed to process remote SDP? */
-    if (srtp->keying_cnt == 0)
+    if (srtp->keying_cnt == 0) {
+	if (keying_status != PJ_SUCCESS) {
+	    DEACTIVATE_MEDIA(sdp_pool, sdp_local->media[media_index]);
+	}
 	return keying_status;
+    }
 
     /* Bypass SRTP & skip keying as SRTP is disabled and verification on
Index: /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c
===================================================================
--- /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c	(revision 6114)
+++ /pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c	(revision 6115)
@@ -473,5 +473,5 @@
 		for (j=0; j<cr_attr_count; ++j) {
 		    if (tags[j] == tags[cr_attr_count]) {
-			DEACTIVATE_MEDIA(sdp_pool, m_loc);
+			//DEACTIVATE_MEDIA(sdp_pool, m_loc);
 			return PJMEDIA_SRTP_ESDPDUPCRYPTOTAG;
 		    }
@@ -514,5 +514,6 @@
 		     */
 		    if ((!has_crypto_attr || matched_idx == -1) &&
-			rem_proto == PJMEDIA_TP_PROTO_RTP_AVP)
+			!PJMEDIA_TP_PROTO_HAS_FLAG(rem_proto,
+						   PJMEDIA_TP_PROFILE_SRTP))
 		    {
 			return PJ_SUCCESS;
@@ -527,5 +528,5 @@
 	    /* No crypto attr */
 	    if (!has_crypto_attr) {
-		DEACTIVATE_MEDIA(sdp_pool, m_loc);
+		//DEACTIVATE_MEDIA(sdp_pool, m_loc);
 		return PJMEDIA_SRTP_ESDPREQCRYPTO;
 	    }
@@ -533,5 +534,5 @@
 	    /* No crypto match */
 	    if (matched_idx == -1) {
-		DEACTIVATE_MEDIA(sdp_pool, m_loc);
+		//DEACTIVATE_MEDIA(sdp_pool, m_loc);
 		return PJMEDIA_SRTP_ENOTSUPCRYPTO;
 	    }
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.py
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.py	(revision 6115)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.py	(revision 6115)
@@ -0,0 +1,7 @@
+# $Id$
+#
+import inc_const as const
+
+PJSUA = ["--null-audio --max-calls=1 --auto-answer=200 --no-tcp --srtp-secure 0 --use-srtp 1 --srtp-keying=0"]
+
+PJSUA_EXPECTS = [[0, "SRTP uses keying method DTLS-SRTP", ""]]
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.xml	(revision 6115)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-lower-prio.xml	(revision 6115)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<!-- This program is free software; you can redistribute it and/or      -->
+<!-- modify it under the terms of the GNU General Public License as     -->
+<!-- published by the Free Software Foundation; either version 2 of the -->
+<!-- License, or (at your option) any later version.                    -->
+<!--                                                                    -->
+<!-- This program is distributed in the hope that it will be useful,    -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
+<!-- GNU General Public License for more details.                       -->
+<!--                                                                    -->
+<!-- You should have received a copy of the GNU General Public License  -->
+<!-- along with this program; if not, write to the                      -->
+<!-- Free Software Foundation, Inc.,                                    -->
+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
+<!--                                                                    -->
+<!--                                                                    -->
+
+<scenario name="UAC">
+
+  <send>
+    <![CDATA[
+
+      INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=z9hG4bKPj-1
+      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+      To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+      Call-ID: [call_id]
+      CSeq: [cseq] INVITE
+      Contact: sip:sipp@[local_ip]:[local_port]
+      Max-Forwards: 70
+      Subject: Performance Test
+      Content-Type: application/sdp
+      Content-Length: [len]
+
+      v=0
+      o=Tester 234 123 IN IP4 127.0.0.1
+      s=Tester
+      c=IN IP4 127.0.0.1
+      t=0 0
+      m=audio 17424 RTP/SAVP 0 101
+      a=rtpmap:101 telephone-event/8000
+      a=sendrecv
+      a=setup:actpass
+      a=fingerprint:SHA-256 7A:89:37:BC:1E:DF:7A:81:86:71:E7:D9:10:6D:AD:2C:26:12:63:FF:00:31:81:52:82:E0:63:2A:23:47:A4:05
+    ]]>
+  </send>
+
+  <recv response="100"
+        optional="true">
+  </recv>
+
+  <recv response="180" optional="true">
+  </recv>
+
+  <recv response="200" rtd="true">
+  </recv>
+
+  <send>
+    <![CDATA[
+
+      ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=z9hG4bKPj-2
+      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+      To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+      Call-ID: [call_id]
+      CSeq: [cseq] ACK
+      Contact: sip:sipp@[local_ip]:[local_port]
+      Max-Forwards: 70
+      Subject: Performance Test
+      Content-Length: 0
+
+    ]]>
+  </send>
+
+
+  <!-- definition of the response time repartition table (unit is ms)   -->
+  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+  <!-- definition of the call length repartition table (unit is ms)     -->
+  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
