📄 torture-test.txt
字号:
SIPPING Working Group A. Johnston
Internet Draft WorldCom
Document: draft-ietf-sipping-torture-tests-00.txt J. Rosenberg
Expires: February 2003 dynamicsoft
H. Schulzrinne
Columbia U.
August 2002
Session Initiation Protocol Torture Test Messages
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This informational document gives examples of Session Initiation
Protocol (SIP) test messages designed to exercise and "torture" a
parser. They were developed as part of the SIPit SIP
interoperability testing events.
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [1].
Table of Contents
1. Overview.......................................................3
Johnston et al Expires - February 2003 [Page 1]
SIP Torture Test Messages August 2002
2. SIP Test Messages..............................................3
2.1 INVITE Parser Torture Test Message.........................3
2.2 INVITE with Proxy-Require and Require......................4
2.3 INVITE with Unknown Schemes in URIs........................5
2.4 REGISTER with Y2038 Test...................................5
2.5 INVITE with inconsistent Accept and message body...........6
2.6 INVITE with non-SDP message body...........................6
2.7 Unknown Method Message.....................................7
2.8 Unknown Method with CSeq Error.............................7
2.9 REGISTER with Unknown Authorization Scheme.................8
2.10 Multiple SIP Request in a Single Message..................8
2.11 INVITE missing Required Headers...........................9
2.12 INVITE with Duplicate Required Headers...................10
2.13 INVITE with Illegal Expires Header.......................10
2.14 200 OK Response with Broadcast Via Header................11
2.15 INVITE with Invalid Via and Contact Headers..............12
2.16 INVITE with Incorrect Content-Length Header..............12
2.17 INVITE with Invalid Value for Content-Length.............13
2.18 INVITE with Garbage after Message Body...................14
2.19 INVITE with Error in Display Name in To Header...........14
2.20 INVITE with a Semicolon-Separated Parameter in the "user"
Part..........................................................15
2.21 INVITE with Illegal Enclosing of Request-URI in "<>"....15
2.22 INVITE with Illegal LWS within Elements of Request-URI...16
2.23 INVITE with illegal >1 SP between elements of Request URI17
2.24 INVITE with a legal SIP URI containing escaped characters17
2.25 INVITE with the illegal use of escaped headers in Request-URI
..............................................................18
2.26 INVITE containing an unknown scheme in the Request URI...19
2.27 OPTIONS with no LWS between display name and <...........19
2.28 OPTIONS with extran LWS between display name and <.......20
2.29 INVITE with an illegal SIP Date format...................20
2.30 INVITE with Passed Expries Time..........................21
2.31 INVITE with Max-Forwards Set to Zero.....................21
2.32 REGISTER with a Escaped Header in a Legal SIP URI of a
Contact.......................................................22
2.33 REGISTER with a Escaped Header in a Illegal SIP URI of a
Contact.......................................................22
2.34 INVITE with Long Values in Headers.......................23
2.35 OPTIONS with multiple headers............................24
2.36 INVITE with large number of SDP attributes and telephone
subscriber Request-URI........................................25
2.37 REGISTER with a contact parameter........................26
2.38 REGISTER with a url parameter............................26
2.39 INVITE with an Unquoted Display Name Containing Multiple
Tokens........................................................26
2.40 INVITE with an Unquoted Display Name Containg Non-Token
Characters....................................................27
2.41 INVITE with Unknown (Higher) Protocol Version in Start Line27
2.42 INVITE with RFC2543 syntax...............................28
Security Considerations..........................................28
References.......................................................28
Acknowledgments..................................................29
Author's Addresses...............................................29
1. Overview
These SIP test messages are based on the current version 2.0 of SIP
in RFC 3261[2] with SDP usage described in RFC 3264[3].
Note that this document is informational, and is NOT NORMATIVE on any
aspect of SIP syntax.
2. SIP Test Messages
The files in here are test messages for SIP servers to exercise
various functions. They have been used in SIPit
interoperability events. All messages shown here are valid, unless
otherwise noted. The correct behavior of servers and clients is also
described.
2.1 INVITE Parser Torture Test Message
This message is a correctly formatted SIP message. It contains:
line folding all over
escaped characters within quotes
LWS between colons, semicolons, headers, and other fields
both comma separated and separate listing of headers
mix or short and long form for the same header
unknown header field
unusual header ordering
unknown parameters of a known header
Proxies should forward message and clients should respond as to a
normal INVITE message.
Message Details
INVITE sip:vivekg@chair.dnrc.bell-labs.com SIP/2.0
TO :
sip:vivekg@chair.dnrc.bell-labs.com ; tag = 1918181833n
From : "J Rosenberg \\\"" <sip:jdrosen@lucent.com> ;
tag = 98asjd8
Max-Forwards: 6
Call-ID: 0ha0isndaksdj@10.1.1.1
Johnston et al Expires - February 2002 [Page 3]
SIP Torture Test Messages August 2002
cseq: 8
INVITE
Via : SIP / 2.0
/UDP
135.180.130.133;branch=z9hG4bKkdjuw
Subject :
NewFangledHeader: newfangled value
more newfangled value
Content-Type: application/sdp
v: SIP / 2.0 / TCP 1192.168.156.222 ;
branch = 9ikj8 ,
SIP / 2.0 / UDP 192.168.255.111 ; hidden
m:"Quoted string \"\"" <sip:jdrosen@bell-labs.com> ; newparam =
newvalue ;
secondparam = secondvalue ; q = 0.33,
tel:4443322
v=0
o=mhandley 29739 7272939 IN IP4 126.5.4.3
s=-
c=IN IP4 135.180.130.88
t=0 0
m=audio 492170 RTP/AVP 0 12
m=video 3227 RTP/AVP 31
a=rtpmap:31 LPC
2.2 INVITE with Proxy-Require and Require
This message tests support for Proxy-Require and Require. It is a
request that contains both headers, listing new features.
Proxies and clients should respond with a 420 Bad Extension, and an
Unsupported header listing these features.
Message Details
INVITE sip:user@company.com SIP/2.0
To: sip:j_user@company.com
From: sip:caller@university.edu;tag=242etr
Max-Forward: 6
Call-ID: 0ha0isndaksdj@10.1.1.1
Require: newfeature1, newfeature2
Proxy-Require: newfeature3, newfeature4
CSeq: 8 INVITE
Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw
Johnston et al Expires - February 2002 [Page 4]
SIP Torture Test Messages August 2002
2.3 INVITE with Unknown Schemes in URIs
This message contains unknown schemes in the Request URI, To, From
and Contact headers of a request.
A server should probably return a not found error; but other
behaviors are acceptable.
Message Details
INVITE name:John_Smith SIP/2.0
To: isbn:2983792873
From: <http://www.cs.columbia.edu>;tag=3234233
Call-ID: 0ha0isndaksdj@10.1.2.3
CSeq: 8 INVITE
Max-Forward: 7
Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw
Content-Type: application/sdp
v=0
o=mhandley 29739 7272939 IN IP4 126.5.4.3
s=-
c=IN IP4 135.180.130.88
t=0 0
m=audio 492170 RTP/AVP 0 12
m=video 3227 RTP/AVP 31
a=rtpmap:31 LPC
2.4 REGISTER with Y2038 Test
This message is a registration request with an expiration year of
2040. This makes sure that a server doesn't crash on seeing a date
past Y2038.
The correct behavior is probably to limit the lifetime to some
configured maximum.
Message Details
REGISTER sip:company.com SIP/2.0
To: sip:user@company.com
From: sip:user@company.com;tag=3411345
Max-Forwards: 8
Contact: sip:user@host.company.com
Call-ID: 0ha0isndaksdj@10.0.0.1
Johnston et al Expires - February 2002 [Page 5]
SIP Torture Test Messages August 2002
CSeq: 8 REGISTER
Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw
Expires: Sat, 01 Dec 2040 16:00:00 GMT
2.5 INVITE with inconsistent Accept and message body
This is a UAS test. It is a request that includes an Accept header
without SDP. The UAS should respond with an error.
Message Details
INVITE sip:user@company.com SIP/2.0
To: sip:j_user@company.com
From: sip:caller@university.edu;tag=234
Max-Forwards: 5
Call-ID: 0ha0isndaksdj@10.0.0.1
Accept: text/newformat
CSeq: 8 INVITE
Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw
Content-Type: application/sdp
v=0
c=IN IP4 135.180.130.88
m=audio 492170 RTP/AVP 0 12
m=video 3227 RTP/AVP 31
a=rtpmap:31 LPC
2.6 INVITE with non-SDP message body
This is a test of a user agent server. It is a request that includes
a body of a non-SDP type.
The user agent server should respond with an error.
Message Details
INVITE sip:user@comapny.com SIP/2.0
To: sip:j.user@company.com
From: sip:caller@university.edu;tag=8
Max-Forwards: 70
Call-ID: 0ha0isndaksdj@10.0.0.1
CSeq: 8 INVITE
Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw
Content-Type: application/newformat
Johnston et al Expires - February 2002 [Page 6]
SIP Torture Test Messages August 2002
<audio> <pcmu port="443"/> </audio> 2.7 Unknown Method Message
This request message contains a new unknown method, NEWMETHOD.
A proxy should forward this using the same retransmission rules as
BYE. A UAS should reject it with an error, and list the available
methods in the response.
Message Details
NEWMETHOD sip:user@comapny.com SIP/2.0
To: sip:j.user@company.com
From: sip:caller@university.edu;tag=34525
Max-Forwards: 6
Call-ID: 0ha0isndaksdj@10.0.0.1
CSeq: 8 NEWMETHOD
Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw
Content-Type: application/sdp
v=0
o=mhandley 29739 7272939 IN IP4 126.5.4.3
c=IN IP4 135.180.130.88
m=audio 492170 RTP/AVP 0 12
m=video 3227 RTP/AVP 31
a=rtpmap:31 LPC
2.8 Unknown Method with CSeq Error
This message is nearly identical to the Unknown Method message. It is
a request with a new unknown method, but with a CSeq method tag which
does not match.
A proxy should either respond with an error, or correct the method
tag. The user agent should reject it with an error, and list the
available methods in the response.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -