Index: pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c
===================================================================
--- pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c	(revision 5854)
+++ pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c	(revision 5855)
@@ -267,4 +267,5 @@
     pjmedia_transport	*member_tp; /**< Underlying transport.       */
     pj_bool_t		 member_tp_attached;
+    pj_bool_t		 started;
 
     /* SRTP usage policy of peer. This field is updated when media is starting.
@@ -1051,4 +1052,10 @@
 	if (status != PJ_SUCCESS)
 	    return status;
+
+	PJ_LOG(4, (srtp->pool->obj_name,
+		   "SRTP started, keying=%s, crypto=%s",
+		   (srtp->keying[0]->type==PJMEDIA_SRTP_KEYING_SDES?
+		    "SDES":"DTLS-SRTP"),
+		   srtp->tx_policy.name.ptr));
     }
 
@@ -1579,4 +1586,12 @@
     srtp->offerer_side = (sdp_remote == NULL);
 
+    if (!srtp->offerer_side && srtp->started) {
+	/* This is may be incoming reoffer that may change keying */
+	srtp->bypass_srtp = PJ_FALSE;
+	srtp->keying_cnt = srtp->all_keying_cnt;
+	for (i = 0; i < srtp->all_keying_cnt; ++i)
+	    srtp->keying[i] = srtp->all_keying[i];
+    }
+
     status = pjmedia_transport_encode_sdp(srtp->member_tp, sdp_pool,
 					  sdp_local, sdp_remote, media_index);
@@ -1611,13 +1626,8 @@
 	    keying_status = st;
 	    continue;
-	}
-
-	if (!srtp_crypto_empty(&srtp->tx_policy_neg) &&
-	    !srtp_crypto_empty(&srtp->rx_policy_neg))
-	{
-	    /* SRTP nego is done */
+	} else if (!srtp->offerer_side) {
+	    /* Answer with one keying only */
+	    srtp->keying[0] = srtp->keying[i];
 	    srtp->keying_cnt = 1;
-	    srtp->keying[0] = srtp->keying[i];
-	    srtp->keying_pending_cnt = 0;
 	    break;
 	}
@@ -1629,4 +1639,20 @@
     if (srtp->keying_cnt == 0)
 	return keying_status;
+
+    /* Bypass SRTP & skip keying as SRTP is disabled and verification on
+     * remote SDP has been done.
+     */
+    if (srtp->setting.use == PJMEDIA_SRTP_DISABLED) {
+	srtp->bypass_srtp = PJ_TRUE;
+	srtp->keying_cnt = 0;
+    }
+
+    if (srtp->keying_cnt != 0) {
+	/* At this point for now, keying count should be 1 */
+	pj_assert(srtp->keying_cnt == 1);
+	PJ_LOG(4, (srtp->pool->obj_name, "SRTP uses keying method %s",
+		   (srtp->keying[0]->type==PJMEDIA_SRTP_KEYING_SDES?
+		    "SDES":"DTLS-SRTP")));
+    }
 
     return PJ_SUCCESS;
@@ -1646,4 +1672,9 @@
 
     PJ_ASSERT_RETURN(tp, PJ_EINVAL);
+
+    /* At this point for now, keying count should be 0 or 1 */
+    pj_assert(srtp->keying_cnt <= 1);
+
+    srtp->started = PJ_TRUE;
 
     status = pjmedia_transport_media_start(srtp->member_tp, pool,
@@ -1717,4 +1748,6 @@
     PJ_ASSERT_RETURN(tp, PJ_EINVAL);
 
+    srtp->started = PJ_FALSE;
+
     /* Invoke media_stop() of all keying methods */
     for (i=0; i < srtp->keying_cnt; ++i) {
Index: pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_dtls.c
===================================================================
--- pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_dtls.c	(revision 5854)
+++ pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_dtls.c	(revision 5855)
@@ -190,5 +190,5 @@
 
     pj_ansi_strncpy(ds->base.name, pool->obj_name, PJ_MAX_OBJ_NAME);
-    ds->base.type = PJMEDIA_TRANSPORT_TYPE_SRTP;
+    ds->base.type = PJMEDIA_SRTP_KEYING_DTLS_SRTP;
     ds->base.op = &dtls_op;
     ds->base.user_data = srtp;
@@ -1075,5 +1075,5 @@
 	 */
 	pjmedia_sdp_media *m_rem = sdp_remote->media[media_index];
-	pjmedia_sdp_attr *attr_setup, *attr_fp;
+	pjmedia_sdp_attr *attr_fp;
 	pj_uint32_t rem_proto = 0;
 
@@ -1095,12 +1095,8 @@
 	}
 
-	/* Check for a=setup in remote SDP. */
-	attr_setup = pjmedia_sdp_media_find_attr(m_rem, &ID_SETUP, NULL);
-	if (!attr_setup)
-	    attr_setup = pjmedia_sdp_attr_find(sdp_remote->attr_count,
-				      sdp_remote->attr, &ID_SETUP, NULL);
+	/* Check for a=fingerprint in remote SDP. */
 	switch (ds->srtp->setting.use) {
 	    case PJMEDIA_SRTP_DISABLED:
-		if (attr_setup) {
+		if (attr_fp) {
 		    status = PJMEDIA_SRTP_ESDPINTRANSPORT;
 		    goto on_return;
@@ -1110,5 +1106,6 @@
 		break;
 	    case PJMEDIA_SRTP_MANDATORY:
-		if (!attr_setup) {
+		if (!attr_fp) {
+		    /* Should never reach here, this is already checked */
 		    status = PJMEDIA_SRTP_ESDPINTRANSPORT;
 		    goto on_return;
Index: pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c
===================================================================
--- pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c	(revision 5854)
+++ pjproject/trunk/pjmedia/src/pjmedia/transport_srtp_sdes.c	(revision 5855)
@@ -79,5 +79,5 @@
     pj_ansi_strncpy(sdes->name, srtp->pool->obj_name, PJ_MAX_OBJ_NAME);
     pj_memcpy(sdes->name, "sdes", 4);
-    sdes->type = PJMEDIA_TRANSPORT_TYPE_SRTP;
+    sdes->type = PJMEDIA_SRTP_KEYING_SDES;
     sdes->op = &sdes_op;
     sdes->user_data = srtp;
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.py
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.py	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.py	(revision 5855)
@@ -0,0 +1,9 @@
+# $Id$
+#
+import inc_const as const
+
+PJSUA = ["--null-audio --max-calls=1 --auto-answer=200 --no-tcp --srtp-secure 0 --use-srtp 2 --srtp-keying=1"]
+
+PJSUA_EXPECTS = [[0, "SRTP uses keying method DTLS-SRTP", ""],
+		 [0, "SRTP uses keying method SDES", ""]
+		]
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.xml	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls-reinv-sdes.xml	(revision 5855)
@@ -0,0 +1,141 @@
+<?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 UDP/TLS/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>
+
+  <pause milliseconds="500"/>
+
+  <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=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:LBNmzgnWiJiRYuNsEzUJJDbPhCbv89EFyjJHf9wXIpAiweS3JjEBeDJCDqCbvw==
+      a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:rs43/wcKQvpx/rW7BE+Z3Kw9ctXl8d+uLNv/yVPCwtqhoHS+7bbBiAkx6ZM0Sw==
+      a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:URF7iv+U7XFsqiWMmPYMPOuIqz3qjQjmLW/qP5+x
+      a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:08xQbX6lbROmI6H2wKmrLPi0oAURF0eRftsfzgEv
+    ]]>
+  </send>
+
+  <recv response="100" 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>
+
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.py
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.py	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.py	(revision 5855)
@@ -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 2 --srtp-keying=1"]
+
+PJSUA_EXPECTS = [[0, "SRTP uses keying method DTLS-SRTP", ""]]
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.xml	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-dtls.xml	(revision 5855)
@@ -0,0 +1,90 @@
+<?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
+      a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:LBNmzgnWiJiRYuNsEzUJJDbPhCbv89EFyjJHf9wXIpAiweS3JjEBeDJCDqCbvw==
+      a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:rs43/wcKQvpx/rW7BE+Z3Kw9ctXl8d+uLNv/yVPCwtqhoHS+7bbBiAkx6ZM0Sw==
+      a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:URF7iv+U7XFsqiWMmPYMPOuIqz3qjQjmLW/qP5+x
+      a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:08xQbX6lbROmI6H2wKmrLPi0oAURF0eRftsfzgEv
+    ]]>
+  </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>
+
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.py
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.py	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.py	(revision 5855)
@@ -0,0 +1,9 @@
+# $Id$
+#
+import inc_const as const
+
+PJSUA = ["--null-audio --max-calls=1 --auto-answer=200 --no-tcp --srtp-secure 0 --use-srtp 2 --srtp-keying=0"]
+
+PJSUA_EXPECTS = [[0, "SRTP uses keying method SDES", ""],
+		 [0, "SRTP uses keying method DTLS-SRTP", ""]
+		]
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.xml	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes-reinv-dtls.xml	(revision 5855)
@@ -0,0 +1,141 @@
+<?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=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:LBNmzgnWiJiRYuNsEzUJJDbPhCbv89EFyjJHf9wXIpAiweS3JjEBeDJCDqCbvw==
+      a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:rs43/wcKQvpx/rW7BE+Z3Kw9ctXl8d+uLNv/yVPCwtqhoHS+7bbBiAkx6ZM0Sw==
+      a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:URF7iv+U7XFsqiWMmPYMPOuIqz3qjQjmLW/qP5+x
+      a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:08xQbX6lbROmI6H2wKmrLPi0oAURF0eRftsfzgEv
+    ]]>
+  </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>
+
+  <pause milliseconds="500"/>
+
+  <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 UDP/TLS/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="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>
+
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.py
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.py	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.py	(revision 5855)
@@ -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 2 --srtp-keying=0"]
+
+PJSUA_EXPECTS = [[0, "SRTP uses keying method SDES", ""]]
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.xml	(revision 5855)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uac-srtp-sdes.xml	(revision 5855)
@@ -0,0 +1,90 @@
+<?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
+      a=crypto:1 AES_256_CM_HMAC_SHA1_80 inline:LBNmzgnWiJiRYuNsEzUJJDbPhCbv89EFyjJHf9wXIpAiweS3JjEBeDJCDqCbvw==
+      a=crypto:2 AES_256_CM_HMAC_SHA1_32 inline:rs43/wcKQvpx/rW7BE+Z3Kw9ctXl8d+uLNv/yVPCwtqhoHS+7bbBiAkx6ZM0Sw==
+      a=crypto:3 AES_CM_128_HMAC_SHA1_80 inline:URF7iv+U7XFsqiWMmPYMPOuIqz3qjQjmLW/qP5+x
+      a=crypto:4 AES_CM_128_HMAC_SHA1_32 inline:08xQbX6lbROmI6H2wKmrLPi0oAURF0eRftsfzgEv
+    ]]>
+  </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>
+
