Session Initiation Protocol (SIP) Torture Test Messages for Internet Protocol Version 6 (IPv6)
RFC 5118
Network Working Group V. Gurbani
Request for Comments: 5118 Bell Laboratories, Alcatel-Lucent
Category: Informational C. Boultond
Ubiquity Software Corporation
R. Sparks
Estacado Systems
February 2008
Session Initiation Protocol (SIP) Torture Test Messages for
Internet Protocol Version 6 (IPv6)
Status of This Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Abstract
This document provides examples of Session Initiation Protocol (SIP)
test messages designed to exercise and "torture" the code of an
IPv6-enabled SIP implementation.
Gurbani, et al. Informational [Page 1]
RFC 5118 SIP IPv6 Torture Tests February 2008
Table of Contents
1. Overview ........................................................2
2. Document conventions ............................................2
3. SIP and IPv6 Network Configuration ..............................4
4. Parser Torture Tests ............................................4
4.1. Valid SIP Message with an IPv6 Reference ...................5
4.2. Invalid SIP Message with an IPv6 Reference .................5
4.3. Port Ambiguous in a SIP URI ................................6
4.4. Port Unambiguous in a SIP URI ..............................7
4.5. IPv6 Reference Delimiters in Via Header ....................7
4.6. SIP Request with IPv6 Addresses in
Session Description Protocol (SDP) Body.....................9
4.7. Multiple IP Addresses in SIP Headers .......................9
4.8. Multiple IP Addresses in SDP ..............................10
4.9. IPv4-Mapped IPv6 Addresses ................................11
4.10. IPv6 Reference Bug in RFC 3261 ABNF ......................11
5. Security Considerations ........................................13
6. Acknowledgments ................................................13
7. References .....................................................13
7.1. Normative References ......................................13
7.2. Informative References ....................................14
Appendix A. Bit-Exact Archive of Each Test Message ...............15
A.1. Encoded Reference Messages ...............................16
1. Overview
This document is informational, and is *not normative* on any aspect
of SIP.
This document contains test messages based on the current version
(2.0) of the Session Initiation Protocol as defined in [RFC3261].
This document is expected to be used as a companion document to the
more general SIP torture test document [RFC4475], which does not
include specific tests for IPv6 network identifiers.
This document does not attempt to catalog every way to make an
invalid message, nor does it attempt to be comprehensive in exploring
unusual, but valid, messages. Instead, it tries to focus on areas
that may cause interoperability problems in IPv6 deployments.
2. Document Conventions
This document contains many examples of SIP messages with IPv6
network identifiers. The appendix contains an encoded binary form
containing the bit-exact representation of all the messages and the
script needed to decode them into separate files.
Gurbani, et al. Informational [Page 2]
RFC 5118 SIP IPv6 Torture Tests February 2008
The IPv6 addresses used in this document correspond to the 2001:
DB8::/32 address prefix reserved for documentation [RFC3489].
Likewise, the IPv4 addresses used in this document correspond to the
192.0.2.0/24 address block as described in [RFC3330].
Although SIP is a text-based protocol, some of these examples cannot
be unambiguously rendered without additional markup due to the
constraints placed on the formatting of RFCs. This document uses the
<allOneLine/> markup convention established in [RFC4475] to avoid
ambiguity and meet the Internet-Draft layout requirements. For the
sake of completeness, the text defining this markup from Section 2.1
of [RFC4475] is reproduced in its entirety below:
Several of these examples contain unfolded lines longer than 72
characters. These are captured between <allOneLine/> tags. The
single unfolded line is reconstructed by directly concatenating
all lines appearing between the tags (discarding any line feeds or
carriage returns). There will be no whitespace at the end of
Show full document text