RFC 3204
MIME media types for ISUP and QSIG Objects
RFC 3204: MIME media types for ISUP and QSIG Objects β¨
Okay bestie, this one is the MIME media types spec for ISUP and QSIG objects π
Network Working Group: Request for Comments 3204 π Authors: E. Zimmerer (Rankom, Inc.), J. Peterson (Neustar, Inc.), A. Vemuri (Qwest Communications), L. Ong (Ciena Networks), F. Audet and M. Watson (no affiliation shown in the header), and M. Zonoun (Nortel Networks) π«Ά Category: Standards Track π₯ Date: December 2001 πΈ Obsoletes / Updates: The header doesn't list anything it obsoletes or updates π¦
Status of this Memo
Okay so this document is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements π For the standardization state and status, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited β¨
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved. π
Abstract
This doc describes MIME types for application/ISUP and application/QSIG objects, used in SIP applications, following the rules in RFC 2048 π§ These types can be used to identify ISUP and QSIG objects inside a SIP message like INVITE or INFO. That's the vibe when you're running SIP in an environment where part of the call interworks to the PSTN π
1. Introduction
ISUP (ISDN User part) is defined in the ITU-T recommendations Q.761-4 π¦ It's a signaling protocol that telephony switches use to talk to each other. Sometimes ISUP-encoded signaling info has to get carried between SIP entities as part of the payload of SIP messages, and keeping that ISUP data intact is necessary for PSTN features to keep working properly π
QSIG is the analogous signaling protocol, used between private branch exchanges to support calls inside private telephony networks π Some environments have the same need to carry QSIG-encoded signaling info between SIP entities β¨
This document is specific to that usage, and it wouldn't apply to moving ISUP or QSIG messages around in other applications π These media types are meant for ISUP or QSIG application info that's used within the context of a SIP session. They're not for general purpose transport of SCN signaling π
The definition of media types for ISUP and QSIG application information doesn't fully address how the non-SIP and SIP entities exchanging messages figure out or negotiate compatibility π It's assumed that something else handles that, like how the interworking functions are configured π§
This is intended to be an IETF approved MIME type, and it's supposed to get 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 made of arbitrary binary data that SIP processing is totally transparent to π¦ The best way to encode these is binary encoding. That's in line with the restrictions placed on binary data for MIME (RFC 2045 [3]) β¨ Just note that the rules in RFC 2045 apply to Internet mail messages, not to SIP messages π Binary was picked over Base64 because Base64 would only add bulk to the encoded messages, and it could cost more processing power too π«Ά
3.1 ISUP Media Type
Here's how this media type is defined π
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 starting at the Message Type Code (i.e., omitting Routing Label and Circuit ID Code) π
The version parameter lets network administrators identify the specific ISUP versions that get exchanged on a bilateral basis π That helps a particular client, like a SoftSwitch/Media Gateway Controller, recognize and parse the message correctly. It can also (possibly) reject the message if the specified ISUP version isn't supported π₯ This spec puts no constraints on what values can go in version. Those are left up to the network administrator πΈ
The version could, for example, identify a network-specific implementation of ISUP, like X-NetxProprietaryISUPv3. It could also identify a well-known standard version of ISUP, like itu-t or ansi β¨
A base parameter can optionally be included in some cases (for example, if the receiver may not recognize the version string). It specifies that the encapsulated ISUP can also be processed using the identified base specification π§ Table 1 lists the base values supported by the application/ISUP media type. It also shows whether 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] can be included to describe how the encapsulated ISUP is supposed to get processed π It also says what the handling should be if the received Content-Type isn't recognized. The default disposition-type for an ISUP message body is "signal" π«Ά That type means the body part carries signaling info tied to the session, but it doesn't describe the session itself π
Supplementing the description of the Content-Disposition header in [5], and any characterization of that header in the SIP standard, is the BNF below. It describes the disposition-types and disposition-params that can show up 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
The full definition of the "handling" parameter is in the IANA Considerations section below π Here's how a typical header looks (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 this info π§
Media type name: application
Media subtype name: QSIG
Required parameters: none
Optional parameters: version
Encoding scheme: binary
Security considerations: See section 5.
The version parameter lets you identify different QSIG variants β¨ That helps the terminating Connection Server recognize and parse the message correctly, or (possibly) reject it if that particular QSIG variant isn't supported π
Table 2 lists the 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)
Here's a typical header (Content-Disposition isn't included in this one) π
Content-Type: application/QSIG; version=iso
The default Content-Disposition disposition-type is "signal", same as in an ISUP body part π The "handling" parameter described above can also be used for QSIG bodies π«Ά
4. Illustrative examples
4.1 ISUP
Quick SIP refresher: a SIP message format needs a Request line, then Header lines, then a CRLF separator, then the message body πΈ To show how the application/ISUP media type works, here's an INVITE message carrying the originating SDP info plus an encapsulated ISUP IAM π§
Heads up: the two payloads are separated by the boundary parameter (specified in RFC 2046 [4]), which in this example is "unique-boundary-1" π That's part of how MIME multipart works and isn't 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, not as a two-character hex representation π¦ The hex digits in the document are there because a literal encoding of those bytes would have been confusing and unreadable π
4.2. QSIG β¨
okay so this one is giving "show, don't tell" and I am OBSESSED π¦. It's an INVITE message that carries the originating SDP info AND an encapsulated QSIG SETUP message, all bundled up together like a little gift π.
Here's the thing: the two payloads are separated by the boundary parameter, which is defined in [4]. In this example it's set to unique-boundary-1. That boundary stuff is just how MIME multipart works π
, and it has nothing to do with the application/QSIG media type itself. Don't mix them up, bestie π.
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 π₯
okay bestie, this part is SERIOUS π. ISUP and QSIG bodies can carry sensitive customer information, so encryption might be needed π. The security mechanisms in [2] (SIP, aka RFC 2543 π) should be used wherever they fit, for both the SIP message and the encapsulated ISUP or QSIG body. Stay safe out there π«Ά.
6. IANA considerations π
this section is where the registrations happen π. The document registers the "application/ISUP" and "application/QSIG" MIME media types β¨.
The version symbols used in the ISUP and QSIG MIME types need registrations that name a definitive specification reference, pointing at one particular issue of the spec that the new symbol refers to. Pinning that down needs a review process, and the authors recommend a subject matter expert be designated under Expert Review, as described in [6] π§.
Here's a fun shortcut π: if a spec is fully peer-to-peer backwards compatible with an earlier issue (meaning the compatibility mechanism is supported by both sides), then you do NOT need a new symbol. Just reuse the original spec's symbol, and that goes for backwards-compatible upgrades too β¨.
Symbols that start with X- are reserved for non-standard usage π§. Think of a case where a token that isn't an issue string is the right way to describe ISUP inside an administrative domain. Those non-standard versions can only travel between administrative domains under a bilateral agreement π€. These symbols should be managed under the Private Use policy from [6] π.
This document also registers a new disposition-type for the Content-Disposition header, called signal π£. It's for when a MIME body carries supplemental signaling info, and ISUP and QSIG bodies are the main examples π. The Content-Disposition header itself is from [5] π.
And there's a Content Disposition parameter called handling ποΈ. The handling-parm tells the UAS how to react if it gets a message body whose content type or disposition type it doesn't understand. If it's optional, the UAS MUST ignore that body. If it's required, the UAS MUST return 415 (Unsupported Media Type) π«. And if the handling parameter is missing entirely, required is 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. π«Ά
π¦ where this page comes from
- ietf: rfc3204 2001-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms