MIME media types for ISUP and QSIG Objects
Two MIME types that let SIP messages carry telephone-network signaling untouched.
Zimmerer, E., Peterson, J., Vemuri, A., Ong, L., Audet, F., Watson, M., and M. Zonoun, "MIME media types for ISUP and QSIG Objects", RFC 3204, DOI 10.17487/RFC3204, December 2001, <https://www.rfc-editor.org/info/rfc3204>.
@misc{rfc3204,
series = {Request for Comments},
number = 3204,
howpublished = {RFC 3204},
publisher = {RFC Editor},
doi = {10.17487/RFC3204},
url = {https://www.rfc-editor.org/info/rfc3204},
author = {E. Zimmerer and J. Peterson and A. Vemuri and L. Ong and F. Audet and M. Watson and M. Zonoun},
title = {{MIME media types for ISUP and QSIG Objects}},
pagetotal = 10,
year = 2001,
month = dec,
} RFC text
Contents
Network Working Group E. Zimmerer
Request for Comments: 3204 Rankom, Inc.
Category: Standards Track J. Peterson
Neustar, Inc.
A. Vemuri
Qwest Communications
L. Ong
Ciena Networks
F. Audet
M. Watson
M. Zonoun
Nortel Networks
December 2001
MIME media types for ISUP and QSIG Objects
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This document describes MIME types for application/ISUP and
application/QSIG objects for use in SIP applications, according to
the rules defined in RFC 2048. These types can be used to identify
ISUP and QSIG objects within a SIP message such as INVITE or INFO, as
might be implemented when using SIP in an environment where part of
the call involves interworking to the PSTN.
1. Introduction
ISUP (ISDN User part) defined in the ITU-T recommendations Q.761-4 is
a signaling protocol used between telephony switches. There are
configurations in which ISUP-encoded signaling information needs to
be transported between SIP entities as part of the payload of SIP
messages, where the preservation of ISUP data is necessary for the
proper operation of PSTN features.
QSIG is the analogous signaling protocol used between private branch
exchanges to support calls within private telephony networks. There
is a similar need to transport QSIG-encoded signaling information
between SIP entities in some environments.
This document is specific to this usage and would not apply to the
transportation of ISUP or QSIG messages in other applications. These
media types are intended for ISUP or QSIG application information
that is used within the context of a SIP session, and not as general
purpose transport of SCN signaling.
The definition of media types for ISUP and QSIG application
information does not address fully how the non-SIP and SIP entities
exchanging messages determine or negotiate compatibility. It is
assumed that this is addressed by alternative means such as the
configuration of the interworking functions.
This is intended to be an IETF approved MIME type, and to be defined
through an RFC. NOTE: usage of Q.SIG within SIP is neither endorsed
nor recommended as a result of this MIME registration.
3. Proposed new media types
ISUP and QSIG messages are composed of arbitrary binary data that is
transparent to SIP processing. The best way to encode these is to use
binary encoding. This is in conformance with the restrictions imposed
on the use of binary data for MIME (RFC 2045 [3]). It should be noted
that the rules mentioned in the RFC 2045 apply to Internet mail
messages and not to SIP messages. Binary has been preferred over
Base64 encoding because the latter would only result in adding bulk
to the encoded messages and possibly be more costly in terms of
processing power.
3.1 ISUP Media Type
This media type is defined by the following information:
Media type name: application
Media subtype name: ISUP
Required parameters: version
Optional parameters: base
Encoding scheme: binary
Security considerations: See section 5.
The ISUP message is encapsulated beginning with the Message Type Code
(i.e., omitting Routing Label and Circuit ID Code).
The use of the 'version' parameter allows network administrators to
identify specific versions of ISUP that will be exchanged on a
bilateral basis. This enables a particular client such as a
SoftSwitch/Media Gateway Controller to recognize and parse the
message correctly, or (possibly) to reject the message if the
specified ISUP version is not supported. This specification places no
constraints on the values that may be used in 'version'; these are
left to the discretion of the network administrator.
This 'version' could, for example, be used to identify a network-
specific implementation of ISUP, e.g., X-NetxProprietaryISUPv3, or to
identify a well-known standard version of ISUP, e.g., itu-t or ansi.
A 'base' parameter can optionally be included in some cases (e.g., if
the receiver may not recognize the 'version' string) to specify that
the encapsulated ISUP can also be processed using the identified
'base' specification. Table 1 provides a list of 'base' values
supported by the 'application/ISUP' media type, including whether or
not the forward compatibility mechanism defined in ITU-T 1992 ISUP is
supported.
Table 1: ISUP 'base' values
base protocol compatibility
itu-t88 ITU-T Q.761-4 (1988) no
itu-t92+ ITU-T Q.761-4 (1992) yes
ansi88 ANSI T1.113-1988 no
ansi00 ANSI T1.113-2000 yes
etsi121 ETS 300 121 no
etsi356 ES 300 356 yes
gr317 BELLCORE GR-317 no
ttc87 JT-Q761-4(1987-1992) no
ttc93+ JT-Q761-4(1993-) yes
The Content-Disposition header [5] may be included to describe how
the encapsulated ISUP is to be processed, and in particular what the
handling should be if the received Content-Type is not recognized.
The default disposition-type for an ISUP message body is "signal".
This type indicates that the body part contains signaling information
associated with the session, but does not describe the session.
Supplementing the description of the Content-Disposition header in
[5], as well as any characterization of the Content-Disposition
header in the SIP standard, is the following BNF describing
disposition-types and disposition-params that may be used in the
header of ISUP and QSIG MIME bodies.
Content-Disposition = "Content-Disposition" ":"
disposition-type *( ";" disposition-param )
disposition-type = "signal" | disp-extension-token
disposition-param = "handling" "="
( "optional" | "required" | other-handling )
| generic-param
other-handling = token
disp-extension-token = token
A full definition of the use of the "handling" parameter is given in
the IANA Considerations section below. The following is how a
typical header would look ('base' may be omitted):
Content-Type: application/ISUP; version=nxv3; base=etsi121
Content-Disposition: signal; handling=optional
3.2 QSIG Media Type
The application/QSIG media type is defined by the following
information:
Media type name: application
Media subtype name: QSIG
Required parameters: none
Optional parameters: version
Encoding scheme: binary
Security considerations: See section 5.
The use of the 'version' parameter allows identification of different
QSIG variants. This enables the terminating Connection Server to
recognize and parse the message correctly, or (possibly) to reject
the message if the particular QSIG variant is not supported.
Table 2 is a list of protocol versions supported by the
'application/QSIG' media type.
Table 2: QSIG versions
version protocol
------- --------
iso ISO/IEC 11572 (Basic Call) and
ISO/IEC 11582 (Generic Functional Protocol)
The following is how a typical header would look (Content-Disposition
not included in this instance):
Content-Type: application/QSIG; version=iso
The default Content-Disposition disposition-type is "signal" as in an
ISUP body part. The "handling" parameter described above can also be
used for QSIG bodies.
4. Illustrative examples
4.1 ISUP
SIP message format requires a Request line followed by Header lines
followed by a CRLF separator followed by the message body. To
illustrate the use of the 'application/ISUP' media type, below is an
INVITE message which has the originating SDP information and an
encapsulated ISUP IAM.
Note that the two payloads are demarcated by the boundary parameter
(specified in RFC 2046 [4]) which in the example has the value
"unique-boundary-1". This is part of the specification of MIME
multipart and is not related to the
INVITE sip:13039263142@Den1.level3.com SIP/2.0
Via: SIP/2.0/UDP den3.level3.com
From: sip:13034513355@den3.level3.com
To: sip:13039263142@Den1.level3.com
Call-ID: DEN1231999021712095500999@Den1.level3.com
CSeq: 8348 INVITE
Contact: <sip:jpeterson@level3.com>
Content-Length: 436
Content-Type: multipart/mixed; boundary=unique-boundary-1
MIME-Version: 1.0
--unique-boundary-1
Content-Type: application/SDP; charset=ISO-10646
v=0
o=jpeterson 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP seminar
c=IN IP4 MG122.level3.com
t= 2873397496 2873404696
m=audio 9092 RTP/AVP 0 3 4
--unique-boundary-1
Content-Type: application/ISUP; version=nxv3;
base=etsi121
Content-Disposition: signal; handling=optional
01 00 49 00 00 03 02 00 07 04 10 00 33 63 21
43 00 00 03 06 0d 03 80 90 a2 07 03 10 03 63
53 00 10 0a 07 03 10 27 80 88 03 00 00 89 8b
0e 95 1e 1e 1e 06 26 05 0d f5 01 06 10 04 00
--unique-boundary-1--
Note: Since binary encoding is used for the ISUP payload, each byte
is encoded as a byte, and not as a two-character hex representation.
Hex digits were used in the document because a literal encoding of
those bytes would have been confusing and unreadable.
4.2 QSIG
To illustrate the use of the 'application/QSIG' media type, below is
an INVITE message which has the originating SDP information and an
encapsulated QSIG SETUP message.
Note that the two payloads are demarcated by the boundary parameter
(specified in RFC 2046 [4]) which in the example has the value
"unique- boundary-1". This is part of the specification of MIME
multipart and is not related to the 'application/QSIG' media type.
INVITE sip:14084955072@sc1.nortelnetworks.com SIP/2.0
Via: SIP/2.0/UDP sc10.nortelnetworks.com
From: sip:14085655675@sc10.nortelnetworks.com
To: sip:14084955072@sc1.nortelnetworks.com
Call-ID: 1231999021712095500999@sc12.nortelnetworks.com
CSeq: 1234 INVITE
Contact: <sip:14085655675@sc10.nortelnetworks.com>
Content-Length: 358
Content-Type: multipart/mixed; boundary=unique-boundary-1
MIME-Version: 1.0
--unique-boundary-1
Content-Type: application/SDP; charset=ISO-10646
v=0
o=audet 2890844526 2890842807 5 IN IP4 134.177.64.4
s=SDP seminar
c=IN IP4 MG141.nortelnetworks.com
t= 2873397496 2873404696
m=audio 9092 RTP/AVP 0 3 4
--unique-boundary-1
Content-type:application/QSIG; version=iso
08 02 55 55 05 04 02 90 90 18 03 a1 83 01
70 0a 89 31 34 30 38 34 39 35 35 30 37 32
--unique-boundary-1--
5. Security considerations
Information contained in ISUP and QSIG bodies may include sensitive
customer information, potentially requiring use of encryption.
Security mechanisms are provided in RFC 2543 (SIP - Session
Initiation Protocol) and should be used as appropriate for both the
SIP message and the encapsulated ISUP or QSIG body.
6. IANA considerations
This document registers the "application/ISUP" and "application/QSIG"
MIME media types.
Registrations for the 'version' symbols used within the ISUP and QSIG
MIME types must specify a definitive specification reference,
identifying a particular issue of the specification, to which the new
symbol shall refer. Identifying a definite specification reference
requires a review process; the authors recommend that a subject
matter expert be designated as described in RFC 2434 [6] under Expert
Review.
Note that where a specification is fully peer-to-peer backwards
compatible with a previous issue (i.e., the compatibility mechanism
is supported by both), then there is no need for separate symbols to
be registered. The symbol for the original specification should be
used to identify backwards-compatible upgrades of that specification
as well.
Symbols beginning with the characters 'X-' are reserved for non-
standard usage (e.g., cases in which a token other than a string
representing an issue of an ISUP specification is appropriate for
characterizing ISUP within an administrative domain). Such non-
standard version can only be transmitted between administrative
domains in accordance with a bilateral agreement. These symbols
should be administered under the Private Use policy described in RFC
2434.
This document registers a new disposition-type for the Content-
Disposition header, 'signal', to be used when a MIME body contains
supplemental signaling information (ISUP and QSIG as MIME bodies
being examples of this).
This document also defines a Content Disposition parameter,
"handling". The handling parameter, handling-parm, describes how the
UAS should react if it receives a message body whose content type or
disposition type it does not understand. If the parameter has the
value "optional", the UAS MUST ignore the message body; if it has the
value "required", the UAS MUST return 415 (Unsupported Media Type).
If the handling parameter is missing, the value "required" is to be
assumed.
7. Authors Addresses
Eric Zimmerer
Rankom Inc.
19500 Pruneridge Ave Suite #4303
Cupertino, CA 95014, USA
EMail: eric_zimmerer@yahoo.com
Aparna Vemuri
Qwest Communications
6000 Parkwood Pl
Dublin, OH 43016, USA
EMail: Aparna.Vemuri@Qwest.com
Jon Peterson
NeuStar, Inc
1800 Sutter Street, Suite 570
Concord, CA 94520, USA
EMail: jon.peterson@neustar.com
Lyndon Ong
Ciena
Cupertino, CA, USA
EMail: lyndon_ong@yahoo.com
Francois Audet
Nortel Networks
4301 Great America Parkway
Santa Clara, CA 95054, USA
EMail: mzonoun@nortelnetworks.com
Mo Zonoun
Nortel Networks
4301 Great America Parkway
Santa Clara, CA 95054, USA
EMail: audet@nortelnetworks.com
M. Watson
Nortel Networks
Maidenhead, UK
EMail: mwatson@nortelnetworks.com
8. References
[1] Freed, N., Klensin, J. and J. Postel, "Multipart Internet Mail
Extensions (MIME) Part Four: Registration Procedures", BCP 13,
RFC 2048, November 1996.
[2] Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
"Session Initiation Protocol (SIP)", RFC 2543, March 1999.
[3] Freed, N. and N. Borenstein, "Multipart Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies", RFC 2045,
November 1996.
[4] Freed, N. and N. Borenstein, "Multipart Internet Mail Extensions
(MIME) Part Two: Media Types", RFC 2046, November 1996.
[5] Troost, R., Dorner, S. and K. Moore, "Communicating Presentation
Information in Internet Messages: The Content-Disposition Header
Field", RFC 2183, August 1997.
[6] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Why SIP Needs ISUP and QSIG Types
ISUP (ISDN User Part, ITU-T Q.761-4) is a signaling protocol used between telephony switches. QSIG is the analogous protocol between private branch exchanges. In some set-ups, ISUP or QSIG information has to be carried between SIP entities as part of the payload of SIP messages, because the data must be preserved for the phone network's features to work properly.
The RFC limits its own scope. The types are for signaling used within the context of a SIP session, not general purpose transport of switched circuit network signaling. How the two sides agree that they are compatible is not covered and is assumed to be handled by other means, such as configuring the interworking functions. The document also says that using QSIG within SIP is neither endorsed nor recommended just because the MIME type is registered.
When an internet call is joined to an old phone line, the phone line's special messages need a way to come along. This RFC gives them a ride, but only inside the call itself.
§3The Two Media Types
ISUP and QSIG messages are arbitrary binary data that SIP does not interpret. The RFC chooses plain binary encoding over Base64, since Base64 would only add bulk and probably cost more processing. It points out that the MIME binary restrictions of RFC 2045 apply to Internet mail, not to SIP.
application/ISUP has a required version parameter and an optional base parameter. The ISUP message is encapsulated starting at the Message Type Code, leaving out the Routing Label and Circuit ID Code. application/QSIG has no required parameters and an optional version. Both are binary and refer to section 5 for security.
The message is just a pile of bytes, so it is sent as is, like handing over a sealed package instead of copying it out by hand.
§3.1Version and Base Parameters
The version parameter lets network administrators identify the ISUP version exchanged on a bilateral basis, so a SoftSwitch or Media Gateway Controller can parse the message correctly or reject it if the version is unsupported. The RFC puts no constraints on the values. Examples are a network-specific string such as X-NetxProprietaryISUPv3 or a standard one such as itu-t or ansi.
A base parameter can be added, for example when the receiver may not recognize the version string, to say that the content can also be processed using a named base specification. Nine base values are listed, along with whether the forward compatibility mechanism of ITU-T 1992 ISUP is supported.
For QSIG, version separates variants. The one listed value is iso, meaning ISO/IEC 11572 (Basic Call) and ISO/IEC 11582 (Generic Functional Protocol).
The version is a sticker saying which dialect the message is written in. The base is a backup sticker saying a similar dialect will also do.
| base | Protocol | Forward compatibility |
|---|---|---|
| itu-t88 | ITU-T Q.761-4 (1988) | no |
| itu-t92+ | ITU-T Q.761-4 (1992) | yes |
| ansi88 | ANSI T1.113-1988 | no |
| ansi00 | ANSI T1.113-2000 | yes |
| etsi121 | ETS 300 121 | no |
| etsi356 | ES 300 356 | yes |
| gr317 | BELLCORE GR-317 | no |
| ttc87 | JT-Q761-4(1987-1992) | no |
| ttc93+ | JT-Q761-4(1993-) | yes |
§6Content-Disposition and the handling Parameter
A Content-Disposition header may be included to say how the encapsulated body should be processed. The default disposition-type for ISUP and QSIG bodies is signal, which means the body carries signaling information associated with the session but does not describe the session. The IANA section registers signal as a new disposition-type.
The new handling parameter tells the user agent server what to do with a body whose content type or disposition it does not understand. With optional the UAS MUST ignore the body. With required it MUST return 415 (Unsupported Media Type). If the parameter is missing, required is assumed.
It is a note on the package saying what to do if you cannot read it: either shrug and carry on, or send it back and say you cannot take it.
Content-Type: application/ISUP; version=nxv3; base=etsi121
Content-Disposition: signal; handling=optional§4Examples in SIP INVITE Messages
Both examples are SIP INVITE requests with a multipart body. One part is SDP describing the session, and the other is the signaling object. The two parts are separated by a MIME boundary (unique-boundary-1 in the examples), which belongs to MIME multipart and is unrelated to the new types.
The ISUP example carries an ISUP IAM message with version=nxv3; base=etsi121. The QSIG example carries a QSIG SETUP message with version=iso. Because the payload is binary, each byte is sent as one byte, and the hex digits printed in the RFC are only for readability.
An internet phone call carries two envelopes in one: one says how to talk, the other holds the phone company's coded message.
§5Security Considerations
ISUP and QSIG bodies may contain sensitive customer information, so encryption may be needed. The RFC points to the security mechanisms in RFC 2543 (SIP), which should be used as appropriate for both the SIP message and the encapsulated ISUP or QSIG body.
The coded message may hold private details about callers, so it should be locked up the same way the rest of the call is.
§6IANA Registration Rules
The document registers application/ISUP and application/QSIG. New version symbols must cite a definitive specification reference that names a particular issue, and the authors recommend a subject matter expert under the Expert Review policy of RFC 2434. If a specification is fully peer-to-peer backwards compatible with an earlier issue, no separate symbol is needed.
Symbols beginning with X- are reserved for non-standard use and may cross administrative domains only under a bilateral agreement. They fall under the Private Use policy of RFC 2434.
New version stickers need a real rulebook behind them. Stickers starting with X- are private nicknames that only two agreeing companies use.