Author: mjordan Date: Wed Feb 25 15:49:44 2015 New Revision: 6459 URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=6459 Log: Update SDES-SRTP tests for key lifetime
This patch adds nominal and off-nominal tests for SDP negotiation of SDES-SRTP crypto attributes, for both chan_sip and chan_pjsip. Specifically: * Moved the tests/channels/SIP/sip_srtp test to tests/channels/SIP/sip_srtp/srtp_call. This change was done merely to allow for additional SRTP tests for chan_sip. * Added tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer. This covers both nominal and off-nominal SDP offers with SDES-SRTP for chan_sip. Note that the scenarios use injection files to vary the crypto attributes. * Updated tests/channels/PJSIP/srtp_negotiation. - All but two off-nominal scenarios were moved into a single off nominal scenario, decline.xml. This uses the same injection file for off nominal parameter testing as the chan_sip variant. - Updated accept_nominal.xml to use an injection file to test multiple nominal values. - Updated accept_multiple_attrib_first_bad.xml to not use a crypto attribute with lifetime as a 'bad' attribute. Review: https://reviewboard.asterisk.org/r/4420/ ASTERISK-17721 ASTERISK-17899 ASTERISK-22748 ASTERISK-20233 Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_call/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_call/configs/ - copied from r6458, asterisk/trunk/tests/channels/SIP/sip_srtp/configs/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_call/run-test - copied unchanged from r6405, asterisk/trunk/tests/channels/SIP/sip_srtp/run-test asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_call/test-config.yaml - copied unchanged from r6405, asterisk/trunk/tests/channels/SIP/sip_srtp/test-config.yaml asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml (with props) asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml (with props) asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv (with props) asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv (with props) asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml (with props) Removed: asterisk/trunk/tests/channels/SIP/sip_srtp/configs/ asterisk/trunk/tests/channels/SIP/sip_srtp/run-test asterisk/trunk/tests/channels/SIP/sip_srtp/test-config.yaml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline_no_key.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline_no_suite.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline_no_tag.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline_unknown_suite.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline_with_lifetime.xml Modified: asterisk/trunk/tests/channels/SIP/tests.yaml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_multiple_attrib_first_bad.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_nominal.xml asterisk/trunk/tests/channels/pjsip/srtp_negotiation/test-config.yaml Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf Wed Feb 25 15:49:44 2015 @@ -1,0 +1,5 @@ +[default] + +exten => s,1,NoOp() + same => n,Answer() + same => n,Hangup() Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/extensions.conf ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf Wed Feb 25 15:49:44 2015 @@ -1,0 +1,17 @@ +[general] + +udpbindaddr=127.0.0.1:5060 +sipdebug=yes + +[srtp-template](!) +type=peer +encryption=yes +allow=!all,g722,ulaw,alaw +context=default +insecure=invite +nat=no +directmedia=no + +[sipp](srtp-template) +host=127.0.0.1 + Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/configs/ast1/sip.conf ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv Wed Feb 25 15:49:44 2015 @@ -1,0 +1,9 @@ +SEQUENTIAL +1 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2;2 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +1 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2|2^32; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|2:4;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2|2^32|1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2|2^32|2:8; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2|2^32|1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^49;2 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2|2^32; +1 AES_SUPER_AWESOME_CRYPTO inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2;2 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb; Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_double_nominal.csv ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv Wed Feb 25 15:49:44 2015 @@ -1,0 +1,9 @@ +SEQUENTIAL +1 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2; +1 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^48; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1800000; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1900000|1:32; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1:32; + Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_nominal.csv ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv Wed Feb 25 15:49:44 2015 @@ -1,0 +1,21 @@ +SEQUENTIAL +; +1; +0 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +AES_CM_128_HMAC_SHA1_80 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +FOO AES_CM_128_HMAC_SHA1_80 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +100000000000 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +1 AES_SUPER_CRYPTO inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2; +1 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +1 AES_CM_128_HMAC_SHA1_80; +1 AES_CM_128_HMAC_SHA1_80 inline:; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcR; +1 AES_CM_128_HMAC_SHA1_80 Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb +1 AES_CM_128_HMAC_SHA1_80 inlineAr/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^20; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1799999; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|monkeys!; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|2:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb||1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|weasels!:4 +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|2 Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/inject_attrib_single_off_nominal.csv ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml Wed Feb 25 15:49:44 2015 @@ -1,0 +1,97 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic Sipstone UAC"> + <send retrans="500"> + <![CDATA[ + + INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/SAVP 0 + a=rtpmap:0 PCMU/8000 + a=crypto:[field0] + a=crypto:[field1] + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="181" + optional="true"> + </recv> + + <recv response="180" optional="true"> + </recv> + + <recv response="183" optional="true"> + </recv> + + <recv response="200" rtd="true"> + <action> + <ereg regexp="a=crypto:[12] AES_CM_128_HMAC_SHA1_(32|80) .*" + search_in="body" check_it="true" assign_to="1"/> + <strcmp assign_to="1" variable="1" value=""/> + </action> + </recv> + + <send> + <![CDATA[ + + ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Length: 0 + + ]]> + </send> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <timewait milliseconds="4000"/> + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> + Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-double-crypto.xml ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml Wed Feb 25 15:49:44 2015 @@ -1,0 +1,66 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic Sipstone UAC"> + <send retrans="500"> + <![CDATA[ + + INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/SAVP 0 + a=rtpmap:0 PCMU/8000 + a=crypto:[field0] + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="181" + optional="true"> + </recv> + + <recv response="488" rtd="true"/> + + <send> + <![CDATA[ + + ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Length: 0 + + ]]> + </send> + + <timewait milliseconds="4000"/> + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> + Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-off-nominal-crypto.xml ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml Wed Feb 25 15:49:44 2015 @@ -1,0 +1,96 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic Sipstone UAC"> + <send retrans="500"> + <![CDATA[ + + INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/SAVP 0 + a=rtpmap:0 PCMU/8000 + a=crypto:[field0] + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="181" + optional="true"> + </recv> + + <recv response="180" optional="true"> + </recv> + + <recv response="183" optional="true"> + </recv> + + <recv response="200" rtd="true"> + <action> + <ereg regexp="a=crypto:1 AES_CM_128_HMAC_SHA1_.*" + search_in="body" check_it="true" assign_to="1"/> + <strcmp assign_to="1" variable="1" value=""/> + </action> + </recv> + + <send> + <![CDATA[ + + ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number] + To: s <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: SRTP Test + Content-Length: 0 + + ]]> + </send> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <timewait milliseconds="4000"/> + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> + Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/sipp/srtp-invite-single-crypto.xml ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml (added) +++ asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml Wed Feb 25 15:49:44 2015 @@ -1,0 +1,71 @@ +testinfo: + summary: 'Test various inbound SDES-SRTP SDP Offer/Answer scenarios' + description: | + This test covers inbound SDP Offer/Answer scenarios. It uses three + scenarios, each of which have an injection file that varies the + crypto attribute in the SDP. + * srtp-invite-single-crypto: test a single crypto attribute + - verify AES_CM_128_HMAC_SHA1_32 + - verify AES_CM_128_HMAC_SHA1_80 + - verify key lifetime of 2^n, where n is within the allowed range + - verify key lifetime of n, where n is within the allowed range + - verify key lifetime of 2^n w/ MKI, where MKI is 1 + - verify key lifetime of n w/ MKI, where MKI is 1 + - verify no key lifetime with MKI of 1 + * srtp-invite-double-crypto: + - verify two keys, with AES_CM_128_HMAC_SHA1_80 as primary and AES_CM_128_HMAC_SHA1_32 as secondary + - verify two keys, with AES_CM_128_HMAC_SHA1_32 as primary and AES_CM_128_HMAC_SHA1_80 as secondary + - verify two keys with valid lifetimes + - verify two keys, where the first key has an unsupported MKI and the second key has a supported MKI + - verify two keys, where the first key has lifetime w/o MKI and the second key has an unsupported MKI + - verify two keys, where the first key has lifetime w/o MKI and the second key has a supported MKI + - verify two keys, where the first key has an unsupported lifetime and the second key has a supported lifetime + - verify two keys, where the first key has an unsupported crypto suite and the second is valid + * srtp-invite-off-nominal-crypto: + - verify declining an empty crypto attribute + - verify declining only a tag + - verify declining an invalid tag (0) + - verify declining an attribute with no tag + - verify declining a non-integer tag (FOO) + - verify declining an invalid tag (100000000000) + - verify declining an invalid crypto suite + - verify declining missing crypto suite + - verify declining missing key (complete) + - verify declining key with length 0 + - verify declining half a key + - verify declining a key with no 'inline' + - verify declining a key with improperly formatted 'inline' specifier + - verify declining short lifetime (2^n) + - verify declining short lifetime (100) + - verify declining a non-integer lifetime + - verify declining unsupported MKI + - verify declining an empty lifetime w/ MKI + - verify declining an invalid MKI (no key length) + - verify declining an invalid MKI (non-integer) + +test-modules: + test-object: + config-section: test-object-config + typename: 'sipp.SIPpTestCase' + +test-object-config: + fail-on-any: False + test-iterations: + - + scenarios: + - { 'key-args': {'scenario': 'srtp-invite-single-crypto.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 's', '-inf': 'inject_attrib_single_nominal.csv', '-m': '7'} } + - + scenarios: + - { 'key-args': {'scenario': 'srtp-invite-double-crypto.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 's', '-inf': 'inject_attrib_double_nominal.csv', '-m': '8'} } + - + scenarios: + - { 'key-args': {'scenario': 'srtp-invite-off-nominal-crypto.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 's', '-inf': 'inject_attrib_single_off_nominal.csv', '-m': '20'} } + +properties: + minversion: ['11.17.0','13.3.0'] + dependencies: + - sipp : + version : 'v3.0' + - asterisk: 'chan_sip' + tags: + - SIP Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/SIP/sip_srtp/srtp_sdp_offer_answer/test-config.yaml ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: asterisk/trunk/tests/channels/SIP/tests.yaml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/tests.yaml?view=diff&rev=6459&r1=6458&r2=6459 ============================================================================== --- asterisk/trunk/tests/channels/SIP/tests.yaml (original) +++ asterisk/trunk/tests/channels/SIP/tests.yaml Wed Feb 25 15:49:44 2015 @@ -21,7 +21,7 @@ - test: 'sip_channel_params' - test: 'sip_tls_call' - test: 'sip_tls_register' - - test: 'sip_srtp' + - dir: 'sip_srtp' - test: 'noload_res_srtp' - test: 'noload_res_srtp_attempt_srtp' - test: 'secure_bridge_media' Added: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv (added) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv Wed Feb 25 15:49:44 2015 @@ -1,0 +1,8 @@ +SEQUENTIAL +1 AES_CM_128_HMAC_SHA1_32 inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2; +1 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1900000; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1900000|1:32; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1:32; Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept.csv ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_multiple_attrib_first_bad.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_multiple_attrib_first_bad.xml?view=diff&rev=6459&r1=6458&r2=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_multiple_attrib_first_bad.xml (original) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_multiple_attrib_first_bad.xml Wed Feb 25 15:49:44 2015 @@ -24,7 +24,7 @@ c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio 6002 RTP/SAVP 0 - a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN|2^20 + a=crypto:1 AES_AWESOME_CRYPTO inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj a=crypto:3 AES_CM_128_HMAC_SHA1_32 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN a=rtpmap:0 PCMU/8000 Modified: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_nominal.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_nominal.xml?view=diff&rev=6459&r1=6458&r2=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_nominal.xml (original) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/accept_nominal.xml Wed Feb 25 15:49:44 2015 @@ -24,7 +24,7 @@ c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio 6002 RTP/SAVP 0 - a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN + a=crypto:[field0] a=rtpmap:0 PCMU/8000 ]]> Added: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv (added) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv Wed Feb 25 15:49:44 2015 @@ -1,0 +1,21 @@ +SEQUENTIAL +; +1; +0 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +AES_CM_128_HMAC_SHA1_80 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +FOO AES_CM_128_HMAC_SHA1_80 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +100000000000 AES_CM_128_HMAC_SHA1_80 inline:qtoB12WnTe19t8vuhcJVRFmoeHhHyF9tcu/4bAkS; +1 AES_SUPER_CRYPTO inline:bjYTFCVuLIlGw3v3JWQtwDGbyFUTPKxh+iXTgVp2; +1 inline:WbTBosdVUZqEb6Htqhn+m3z7wUh4RJVR8nE15GbN; +1 AES_CM_128_HMAC_SHA1_80; +1 AES_CM_128_HMAC_SHA1_80 inline:; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcR; +1 AES_CM_128_HMAC_SHA1_80 Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb +1 AES_CM_128_HMAC_SHA1_80 inlineAr/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^20; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|1799999; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|monkeys!; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|2:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb||1:4; +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|weasels!:4 +1 AES_CM_128_HMAC_SHA1_80 inline:Ar/jYxzGz1lLcROAnVi8IFGB2VJlynqKBhjaVvgb|2^32|2 Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.csv ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml?view=auto&rev=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml (added) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml Wed Feb 25 15:49:44 2015 @@ -1,0 +1,53 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Test call declination on use of unknown cryptographic suite"> + <send retrans="500"> + <![CDATA[ + + INVITE sip:echo@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: test1 <sip:alice@[local_ip]:[local_port]>;tag=[call_number] + To: test <sip:test@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:test@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Test + User-Agent: Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=guest1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio 6002 RTP/SAVP 0 + a=crypto:[field0] + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="180" optional="true"> + </recv> + + <recv response="183" optional="true"> + </recv> + + <recv response="488" rtd="true"> + </recv> + + <!-- 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> + Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/sipp/decline.xml ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: asterisk/trunk/tests/channels/pjsip/srtp_negotiation/test-config.yaml URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/srtp_negotiation/test-config.yaml?view=diff&rev=6459&r1=6458&r2=6459 ============================================================================== --- asterisk/trunk/tests/channels/pjsip/srtp_negotiation/test-config.yaml (original) +++ asterisk/trunk/tests/channels/pjsip/srtp_negotiation/test-config.yaml Wed Feb 25 15:49:44 2015 @@ -3,15 +3,36 @@ description: | 'Run a SIPp scenario that tests SRTP key negotiation scenarios including: * nominal scenario with a single crypto offer + - verify AES_CM_128_HMAC_SHA1_32 + - verify AES_CM_128_HMAC_SHA1_80 + - verify key lifetime of 2^n, where n is within the allowed range + - verify key lifetime of n, where n is within the allowed range + - verify key lifetime of 2^n w/ MKI, where MKI is 1 + - verify key lifetime of n w/ MKI, where MKI is 1 + - verify no key lifetime with MKI of 1 [... 56 lines stripped ...] -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits