DISPATCH | D. Hanes |
Internet-Draft | G. Salgueiro |
Intended status: Standards Track | Cisco Systems |
Expires: July 19, 2013 | K. Fleming |
Digium, Inc. | |
January 15, 2013 |
Indicating Fax over IP Capability in the Session Initiation Protocol (SIP)
draft-hanes-dispatch-fax-capability-07
This document defines and registers with IANA the new 'fax' media feature tag for use with SIP. Currently, fax calls are indistinguishable from voice at call initiation. Consequently, fax calls can be routed to SIP user agents that are not fax capable. A 'fax' media feature tag implemented in conjunction with caller preferences allows for more accurate fax call routing.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.
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."
This Internet-Draft will expire on July 19, 2013.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http:/⁠/⁠trustee.ietf.org/⁠license-⁠info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Fax communications in the Session Initiation Protocol (SIP) [RFC3261] are handled in a "voice first" manner. Indications that a user desires to use a fax transport protocol, such as ITU-T T.38 [T38], to send a fax are not known when the initial INVITE message is sent. The call is set up as a voice call first and then only after it is connected, does a switchover to the T.38 [T38] protocol occur. This is problematic in that fax calls can be routed inadvertently to SIP user agents (UAs) that are not fax capable.
To ensure that fax calls are routed to fax capable SIP user agents, an implementation of caller preferences defined in RFC 3841 [RFC3841] can be used. Feature preferences are a part of RFC 3841 [RFC3841] that would allow UAs to express their preference for receiving fax communications. Subsequently SIP servers take these preferences into account to increase the likelihood that fax calls are routed to fax capable SIP user agents.
This document defines the 'fax' media feature tag for use in the SIP tree as per Section 12.1 of RFC 3840 [RFC3840]. This feature tag will be applied per RFC 3841 [RFC3841] as a feature preference for fax capable UAs.
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 [RFC2119].
In the majority of circumstances, it is preferred that capabilities be handled in the Session Description Protocol (SDP) portion of the SIP [RFC3261] communication. However, fax is somewhat unique in that the ultimate intention of the call is not accurately signaled in the initial SDP exchange. Specifically, indications of T.38 [T38] or any other fax transport protocol in the call are not known when the call is initiated by an INVITE message. Fax calls are always considered voice calls until after they are connected. This results in the possibility of fax calls being received by SIP user agents not capable of handling fax transmissions.
For example, Alice wants to send a fax to Bob. Bob has registered two SIP UAs. The first SIP UA is not fax capable but the second one supports the T.38 [T38] fax protocol. Currently, SIP servers are unable to know when the call starts that Alice prefers a fax capable SIP UA to handle her call. Additionally, the SIP servers are also not aware of which of Bob's SIP UAs are fax capable.
To resolve this issue of calls not arriving at a UA supporting fax, this document defines a new media feature tag specific to fax per RFC 3840 [RFC3840]. Caller preferences as defined in RFC3841 [RFC3841] can then be used for registering UAs that support fax and routing fax calls to these UAs. Thus, Alice can express up front that she prefers a T.38 [T38] fax capable SIP UA for this call. At the same time, Bob's SIP UAs have expressed their fax capabilities as well during registration. Now when Alice places a fax call to Bob, the call is appropriately routed to Bob's fax capable SIP UA.
The sip.fax media feature tag is a new string parameter, defined in this document, that allows a call to indicate a fax preference. A UA preferring the reception of fax calls MUST include the "sip.fax" media feature tag in the Contact header field of REGISTER messages. To confirm the registration of this preference, a SIP [RFC3261] Registrar MUST then include this tag in the Contact header field of its 200 OK response.
If a calling UA wants to ensure that a call is routed to a fax capable UA, then the UA MUST include the "sip.fax" media feature tag in the Contact header field of an INVITE request. Otherwise, without this tag, fax call determination is not possible until after the call is connected.
This parameter has two allowed values: "t38" and "passthrough". The "t38" value indicates that the impending call will utilize the ITU-T T.38 [T38] protocol for the fax transmission. The "passthrough" value indicates that the ITU-T G.711 [G711] codec will be used to transport the fax call.
Bob registers with the fax media feature tag. The message flow is shown in Figure 1:
SIP Registrar Bob's SIP UA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | REGISTER F1 | |<------------------------------| | | | 200 OK F2 | |------------------------------>| | |
Figure 1: Fax Media Feature Tag SIP Registration Example
REGISTER sip:example.com SIP/2.0 Via: SIP/2.0/TCP bob-TP.example.com:5060;branch=z9hG4bK309475a2 From: <sip:bob-tp@example.com>;tag=a6c85cf To: <sip:bob-tp@pexample.com> Call-ID: a84b4c76e66710 Max-Forwards: 70 CSeq: 116 REGISTER Contact: <sip:bob-tp@pc33.example.com;transport=tcp>;+sip.fax="t38" Expires: 3600
F1 REGISTER Bob -> Registrar
The registrar responds with a 200 OK:
SIP/2.0 200 OK From: <sip:bob-tp@example.com>;tag=a6c85cf To: <sip:bob-tp@example.com>;tag=1263390604 Contact: <sip:bob-tp@example.com;transport=tcp>;+sip.fax="t38" Expires: 120 Call-ID: a84b4c76e66710 Via: SIP/2.0/TCP bob-TP.example.com:5060;branch=z9hG4bK309475a2 CSeq: 116 REGISTER Expires: 3600
F2 200 OK Registrar -> Bob
INVITE sip:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b43 Max-Forwards: 70 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl To: Bob <sip:bob@biloxi.example.com> Accept-Contact: *;+sip.fax="t38" Call-ID: 3848276298220188511@atlanta.example.com CSeq: 1 INVITE Contact: <sip:alice@client.atlanta.example.com;transport=tcp> Content-Type: application/sdp Content-Length: 151
Callers desiring to express a preference for fax will include the sip.fax media feature tag in the Accept-Contact header of their INVITE.
The security considerations related to the use of media feature tags from Section 11.1 of RFC 3840 [RFC3840] apply.
This specification adds a new media feature tag to the SIP Media Feature Tag Registration Tree per the procedures defined in RFC 2506 [RFC2506] and RFC 3840 [RFC3840].
[[NOTE TO RFC EDITOR: Please change {PH} above to the correct identifier for this entry in the IANA registry for iso.org.dod.internet.features.sip-tree (1.3.6.1.8.4)]]
[[NOTE TO RFC EDITOR: Please change XXXX to the number assigned to this specification, and remove this paragraph on publication.]]
This document is a result of the unique cooperation between the SIP Forum and the i3 Forum who embarked on a groundbreaking international test program for FoIP to improve the interoperability and reliability of fax communications over IP networks, especially tandem networks. The authors would like to acknowledge the effort and dedication of all the members of the Fax-over-IP (FoIP) Task Group in the SIP Forum and the communications carriers of the I3 Forum that contributed to this global effort.
This memo has benefited from the discussion and review of the DISPATCH working group, especially the detailed and thoughtful comments and corrections of Dan Wing, Paul Kyzivat, Christer Holmberg, Charles Eckel, Hadriel Kaplan, Tom Yu and Dale Worley.
The authors also thank Gonzalo Camarillo for his review and AD sponsorship of this draft and DISPATCH WG chair, Mary Barnes, for her review and support.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC3261] | Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. |
[RFC3840] | Rosenberg, J., Schulzrinne, H. and P. Kyzivat, "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)", RFC 3840, August 2004. |
[RFC3841] | Rosenberg, J., Schulzrinne, H. and P. Kyzivat, "Caller Preferences for the Session Initiation Protocol (SIP)", RFC 3841, August 2004. |
[T38] | International Telecommunication Union , "Procedures for real-time Group 3 facsimile communication over IP Networks ", ITU-T Recommendation T.38, October 2010. |