Internet Engineering Task Force (IETF) J. Stone Request for Comments: 6498 R. Kumar Category: Informational F. Andreasen ISSN: 2070-1721 Cisco Systems February 2012
Internet Engineering Task Force (IETF) J. Stone Request for Comments: 6498 R. Kumar Category: Informational F. Andreasen ISSN: 2070-1721 Cisco Systems February 2012
Media Gateway Control Protocol (MGCP) Voiceband Data (VBD) Package and General-Purpose Media Descriptor Parameter Package
媒体网关控制协议(MGCP)语音带数据(VBD)包和通用媒体描述符参数包
Abstract
摘要
This document defines Media Gateway Control Protocol (MGCP) packages that enable a Call Agent to authorize and monitor the transition of a connection to and from Voiceband Data (VBD) with or without redundancy and FEC (forward error correction). Although the focus is on VBD, the General-Purpose Media Descriptor Parameter package can be used to authorize other modes of operation, not relevant to VBD, for a particular codec. In addition to defining these new packages, this document describes the use of the Media Format Parameter package and Fax package with VBD, redundancy, and FEC.
本文档定义了媒体网关控制协议(MGCP)包,该协议包使呼叫代理能够授权和监视语音带数据(VBD)与语音带数据(VBD)之间的连接转换,无论有无冗余和FEC(前向纠错)。虽然重点放在VBD上,但通用媒体描述符参数包可用于授权特定编解码器的其他操作模式(与VBD无关)。除了定义这些新包外,本文档还介绍了媒体格式参数包和传真包以及VBD、冗余和FEC的使用。
Status of This Memo
关于下段备忘
This document is not an Internet Standards Track specification; it is published for informational purposes.
本文件不是互联网标准跟踪规范;它是为了提供信息而发布的。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.
本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 5741第2节。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6498.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6498.
Copyright Notice
版权公告
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2012 IETF信托基金和确定为文件作者的人员。版权所有。
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.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
本文件可能包含2008年11月10日之前发布或公开的IETF文件或IETF贡献中的材料。控制某些材料版权的人员可能未授予IETF信托允许在IETF标准流程之外修改此类材料的权利。在未从控制此类材料版权的人员处获得充分许可的情况下,不得在IETF标准流程之外修改本文件,也不得在IETF标准流程之外创建其衍生作品,除了将其格式化以RFC形式发布或将其翻译成英语以外的其他语言。
Table of Contents
目录
1. Applicability Statement .........................................3 2. Introduction ....................................................3 3. Terminology .....................................................5 4. Voiceband Data Package Definition ...............................5 4.1. Events and Signals .........................................5 4.1.1. Gateway Controlled Voiceband Data ...................6 4.1.2. No Negotiated Procedure for Voiceband Data .........13 5. General-Purpose Media Descriptor Parameter Package Definition ..16 5.1. LocalConnectionOptions ....................................16 5.1.1. General-Purpose Media Descriptor Parameter .........17 6. Use of Media Format Parameter Package with VBD and Redundancy ..20 7. Use of Media Format Parameter Package with VBD and FEC .........22 8. Use of Fax Package with VBD ....................................23 9. Call Flow Examples .............................................27 9.1. Modem Call with Gateway Controlled VBD ....................27 9.2. Fax Call with Gateway Controlled VBD and Call Agent Controlled T.38 .....................................33 10. Security Considerations .......................................42 11. IANA Considerations ...........................................44 12. Acknowledgements ..............................................44 13. References ....................................................44 13.1. Normative References .....................................44 13.2. Informative References ...................................46
1. Applicability Statement .........................................3 2. Introduction ....................................................3 3. Terminology .....................................................5 4. Voiceband Data Package Definition ...............................5 4.1. Events and Signals .........................................5 4.1.1. Gateway Controlled Voiceband Data ...................6 4.1.2. No Negotiated Procedure for Voiceband Data .........13 5. General-Purpose Media Descriptor Parameter Package Definition ..16 5.1. LocalConnectionOptions ....................................16 5.1.1. General-Purpose Media Descriptor Parameter .........17 6. Use of Media Format Parameter Package with VBD and Redundancy ..20 7. Use of Media Format Parameter Package with VBD and FEC .........22 8. Use of Fax Package with VBD ....................................23 9. Call Flow Examples .............................................27 9.1. Modem Call with Gateway Controlled VBD ....................27 9.2. Fax Call with Gateway Controlled VBD and Call Agent Controlled T.38 .....................................33 10. Security Considerations .......................................42 11. IANA Considerations ...........................................44 12. Acknowledgements ..............................................44 13. References ....................................................44 13.1. Normative References .....................................44 13.2. Informative References ...................................46
This document defines a mechanism that requires media stream integrity protection. The document specifies different alternative mechanisms but does not choose one of them as mandatory-to-implement. Consequently, the use of this specification is only suitable in environments that specify and use at least one of these alternative mechanisms. Please see the Security Considerations section for further details.
本文档定义了一种需要媒体流完整性保护的机制。该文件规定了不同的替代机制,但没有选择其中一种作为强制实施的机制。因此,本规范仅适用于指定和使用至少一种替代机制的环境。有关更多详细信息,请参阅安全注意事项部分。
The term Voiceband Data (or simply VBD) refers to the use of a suitable voiceband codec (commonly G.711u or G.711a) for the transport of data payloads using RTP as defined in RFC 3550 [RFC3550]. This document defines Media Gateway Control Protocol (MGCP) [RFC3435] packages that enable a Call Agent to authorize and monitor the transition of a connection to and from VBD with or without redundancy [RFC2198] and FEC (forward error correction) [RFC5109].
术语语音带数据(或简称VBD)是指使用RFC 3550[RFC3550]中定义的RTP,使用合适的语音带编解码器(通常为G.711u或G.711a)传输数据有效载荷。本文档定义了媒体网关控制协议(MGCP)[RFC3435]包,该包使呼叫代理能够授权和监控连接到VBD的转换,以及连接到VBD的转换,无论是否有冗余[RFC2198]和FEC(前向纠错)[RFC5109]。
There are a number of different VBD procedures. These procedures vary in terms of how the transition to and from VBD is coordinated end to end. Some coordination techniques are mutually negotiated by the two gateways using the Session Description Protocol (SDP) [RFC4566]. These coordination techniques include
有许多不同的VBD程序。这些程序在如何端到端协调与VBD之间的转换方面有所不同。一些协调技术由两个网关使用会话描述协议(SDP)[RFC4566]相互协商。这些协调技术包括
o ITU-T Recommendation V.150.1 State Signaling Event (SSE) [V1501]
o ITU-T建议V.150.1状态信令事件(SSE)[V1501]
o ITU-T Recommendation V.152 Payload Type Switching [V152]
o ITU-T建议V.152有效负载类型交换[V152]
Other coordination techniques are not negotiated. For example, the detection of fax, modem, and text tones in the direction from the IP to the General Switched Telephone Network (GSTN) may result in a switch to VBD or a change (e.g., disable echo cancellation) to the gateway controlled VBD procedure already in place. The IP-side detected tone serves as both a VBD stimulus and a coordination technique.
其他协调技术未经协商。例如,在从IP到通用交换电话网络(GSTN)的方向上检测传真、调制解调器和文本音可能导致切换到VBD或更改(例如,禁用回声消除)网关控制的VBD程序。IP侧检测到的音调既可作为VBD刺激,也可作为协调技术。
RFC 4733 [RFC4733] and RFC 4734 [RFC4734] can be used to convey fax and modem events and tones. As with IP-side tone detection, the telephone event may serve as both a VBD stimulus and a coordination technique. Note that while the use of RFC 4733 and RFC 4734 to convey fax and modem events and tones is negotiated, the use of RFC 4733 and RFC 4734 as a gateway VBD coordination technique (at present) is not.
RFC 4733[RFC4733]和RFC 4734[RFC4734]可用于传送传真和调制解调器事件及铃声。与IP侧音检测一样,电话事件可作为VBD刺激和协调技术。请注意,虽然使用RFC 4733和RFC 4734传送传真和调制解调器事件和音调是协商的,但使用RFC 4733和RFC 4734作为网关VBD协调技术(目前)是不可能的。
The Voiceband Data (VBD) package is defined to support all VBD procedures. This document does not address the relative merits of different procedures nor does it advocate one procedure over another.
语音带数据(VBD)包定义为支持所有VBD过程。本文件不涉及不同程序的相对优点,也不主张一种程序优于另一种程序。
We will use the term VBD to refer to Voiceband Data in general. In referring to VBD in the context of the package, we will use the term VBD package. We use the term "audio" (with double quotes) to refer to the IANA media type. We use the term audio (without double quotes) to refer to the use of the "audio" media type for (most commonly) voice.
我们将使用术语VBD来泛指声带数据。在包的上下文中提到VBD时,我们将使用术语VBD包。我们使用术语“音频”(双引号)来指代IANA媒体类型。我们使用术语“音频”(不带双引号)来指代对(最常见的)语音使用“音频”媒体类型。
A package is defined for the General-Purpose Media Descriptor Parameter [V152]. In the context of VBD, the General-Purpose Media Descriptor Parameter (GPMD) package is used to authorize the negotiation of a particular codec for use with VBD. The General-Purpose Media Descriptor Parameter is "general" in nature and may be used in applications other than VBD.
为通用媒体描述符参数[V152]定义了一个包。在VBD环境中,通用媒体描述符参数(GPMD)包用于授权与VBD一起使用的特定编解码器的协商。通用媒体描述符参数本质上是“通用”的,可用于VBD以外的应用程序。
The Media Format Parameter (FM) package [RFC3660] describes the use of the standard audio MIME subtype "RED" in conjunction with the "fmtp" LocalConnectionOption in order to authorize the negotiation of redundancy [RFC2198], to identify the levels of redundancy and the
媒体格式参数(FM)包[RFC3660]描述了将标准音频MIME子类型“RED”与“fmtp”LocalConnectionOption结合使用,以授权冗余协商[RFC2198],以识别冗余级别和
media format associated with each redundancy level. This document will further explore the use of the FM package with VBD and redundancy.
与每个冗余级别关联的媒体格式。本文档将进一步探讨带VBD和冗余的FM软件包的使用。
The VBD package is intended to complement the MGCP Fax (FXR) package [RFC5347]. This document will explore the use of the FXR package with VBD.
VBD包旨在补充MGCP传真(FXR)包[RFC5347]。本文档将探讨FXR软件包与VBD的使用。
The VBD package definition is provided in Section 4. The GPMD package definition is provided in Section 5. In Section 6, we discuss the use of the FM package with VBD and redundancy. In Section 7, we discuss the use of the FM package with VBD and FEC. In Section 8, we discuss the use of the FXR package with VBD. In Section 9, we provide two call flow examples showing how to use the VBD and GPMD packages. Security considerations are found in Section 10, followed by the IANA considerations (Section 11) and references.
第4节提供了VBD包定义。第5节提供了GPMD包定义。在第6节中,我们将讨论带VBD和冗余的FM包的使用。在第7节中,我们将讨论如何使用带有VBD和FEC的FM包。在第8节中,我们将讨论带VBD的FXR包的使用。在第9节中,我们提供了两个调用流示例,展示了如何使用VBD和GPMD包。安全注意事项见第10节,其次是IANA注意事项(第11节)和参考资料。
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 [RFC2119].
本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。
This package is defined for Voiceband Data (VBD). The package defines new events as detailed below.
此软件包是为声带数据(VBD)定义的。该包定义了如下所述的新事件。
Package Name: VBD
软件包名称:VBD
Package Version: 0
软件包版本:0
The following events are defined in support of the above:
为支持上述内容,定义了以下事件:
------------------------------------------------------------------- | Symbol | Definition | R | S | Duration | |--------|---------------------------------|-----|-----|------------| | gwvbd | Gateway Controlled VBD | x | | | | nopvbd | No Negotiated Procedure for VBD | x | | | -------------------------------------------------------------------
------------------------------------------------------------------- | Symbol | Definition | R | S | Duration | |--------|---------------------------------|-----|-----|------------| | gwvbd | Gateway Controlled VBD | x | | | | nopvbd | No Negotiated Procedure for VBD | x | | | -------------------------------------------------------------------
This is standard MGCP package format as defined in Section 6.6 of RFC 3435 [RFC3435]. The definitions of the individual events are provided in the following subsections.
这是RFC 3435[RFC3435]第6.6节中定义的标准MGCP包格式。各事件的定义见以下小节。
The gwvbd procedure can be used by the gateway to control and decide how to handle VBD calls without Call Agent involvement. The "Gateway Controlled Voiceband Data" (or simply "gwvbd") event occurs when a gwvbd procedure has been negotiated and VBD stimulus is detected. The "gwvbd" event may occur when the gwvbd procedure is updated (e.g., upon detecting new stimulus) and when the procedure fails. The "gwvbd" event occurs when the gwvbd procedure ends. The gwvbd procedure MUST be negotiated with the other side by passing and recognizing relevant parameters via the LocalConnectionDescriptor and RemoteConnectionDescriptor.
网关可以使用gwvbd过程来控制和决定如何处理VBD调用,而无需呼叫代理参与。“网关控制的声带数据”(或简称“gwvbd”)事件发生在gwvbd过程协商完成且检测到VBD刺激时。更新gwvbd程序(例如,在检测到新刺激时)和程序失败时,可能会发生“gwvbd”事件。“gwvbd”事件在gwvbd过程结束时发生。必须通过LocalConnectionDescriptor和RemoteConnectionDescriptor传递和识别相关参数,与另一方协商gwvbd过程。
The following recommendations from MGCP [RFC3435] apply.
MGCP[RFC3435]的以下建议适用。
In this section, we provide a formal description of the protocol syntax, using ABNF as defined in "Augmented BNF for Syntax Specifications: ABNF" [RFC5234]. The syntax makes use of the core rules defined in Appendix B.1 of [RFC5234], which are not included here. Furthermore, the syntax follows the case-sensitivity rules of [RFC5234], i.e., MGCP is case-insensitive (but SDP is not). It should be noted that ABNF does not provide for implicit specification of linear white space, and MGCP messages MUST thus follow the explicit linear white space rules provided in the grammar below. However, in line with general robustness principles, implementers are strongly encouraged to tolerate additional linear white space in messages received.
在本节中,我们将使用“语法规范的扩充BNF:ABNF”[RFC5234]中定义的ABNF对协议语法进行正式描述。该语法使用了[RFC5234]附录B.1中定义的核心规则,此处不包括这些规则。此外,语法遵循[RFC5234]的区分大小写规则,即MGCP不区分大小写(但SDP不区分大小写)。应该注意的是,ABNF没有提供线性空白的隐式规范,因此MGCP消息必须遵循下面语法中提供的显式线性空白规则。然而,根据一般健壮性原则,强烈鼓励实现者在接收到的消息中容忍额外的线性空白。
The RequestedEvent parameter is encoded as
RequestedEvent参数编码为
GwVbdReqEvent = "gwvbd"
GwVbdReqEvent = "gwvbd"
The ObservedEvent parameter is encoded as
ObservedEvent参数编码为
GwVbdObsEvent = GwVbdObsEventStart / GwVbdObsEventUpdate / GwVbdObsEventStop / GwVbdObsEventFailure
GwVbdObsEvent = GwVbdObsEventStart / GwVbdObsEventUpdate / GwVbdObsEventStop / GwVbdObsEventFailure
GwVbdObsEventStart = "gwvbd(start" Rc [Codec] [Coord] [Dir] ")" GwVbdObsEventUpdate = "gwvbd(update" Rc [Codec] [Dir] ")" GwVbdObsEventStop = "gwvbd(stop" [Rc] [Codec] ")" GwVbdObsEventFailure = "gwvbd(failure" [Rc] [Codec] ")"
GwVbdObsEventStart = "gwvbd(start" Rc [Codec] [Coord] [Dir] ")" GwVbdObsEventUpdate = "gwvbd(update" Rc [Codec] [Dir] ")" GwVbdObsEventStop = "gwvbd(stop" [Rc] [Codec] ")" GwVbdObsEventFailure = "gwvbd(failure" [Rc] [Codec] ")"
Codec = "," *WSP "codec=" CodecString CodecString = (ALPHA / DIGIT) *(ALPHA / DIGIT / "-" / "_" / "." / "/") Coord = "," *WSP "coord=" CoordinationTechnique CoordinationTechnique = "v152ptsw" / "v150fw" Rc = "," *WSP "rc=" ReasonCode ReasonCode = 1*(ALPHA / DIGIT / "-" / "_" / "." / "/") ; Refer to the values listed in the tables below. Dir = "," *WSP "dir=" Direction Direction = "GstnToIp" / "IpToGstn"
Codec = "," *WSP "codec=" CodecString CodecString = (ALPHA / DIGIT) *(ALPHA / DIGIT / "-" / "_" / "." / "/") Coord = "," *WSP "coord=" CoordinationTechnique CoordinationTechnique = "v152ptsw" / "v150fw" Rc = "," *WSP "rc=" ReasonCode ReasonCode = 1*(ALPHA / DIGIT / "-" / "_" / "." / "/") ; Refer to the values listed in the tables below. Dir = "," *WSP "dir=" Direction Direction = "GstnToIp" / "IpToGstn"
ABNF does not provide for position-independent parameters. The "rc", "codec", "coord", and "dir" parameters, if present, MUST appear in the relative order shown.
ABNF不提供与位置无关的参数。“rc”、“codec”、“coord”和“dir”参数(如果存在)必须按所示的相对顺序显示。
The "start", "update", "stop", and "failure" ObservedEvent parameters are defined as follows:
“启动”、“更新”、“停止”和“故障”观测事件参数定义如下:
1) VBD Start (start)
1) VBD启动(启动)
The gwvbd procedure was initiated. The Call Agent SHOULD refrain from issuing media handling instructions to the gateway until either a "gwvbd(stop)" or "gwvbd(failure)" event is generated. One and only one "gwvbd(stop)" or "gwvbd(failure)" event is generated corresponding to each "gwvbd(start)" event.
gwvbd程序已启动。呼叫代理应避免向网关发出媒体处理指令,直到生成“gwvbd(停止)”或“gwvbd(故障)”事件。每个“gwvbd(启动)”事件对应一个且仅生成一个“gwvbd(停止)”或“gwvbd(故障)”事件。
2) VBD Update (update)
2) VBD更新(更新)
The gwvbd procedure was updated. The "gwvbd(update)" event MUST only be generated after a "gwvbd(start)" event and before a "gwvbd(stop)" or "gwvbd(failure)" event.
gwvbd程序已更新。“gwvbd(更新)”事件只能在“gwvbd(启动)”事件之后、“gwvbd(停止)”或“gwvbd(故障)”事件之前生成。
3) VBD Stop (stop)
3) VBD停止(停止)
The gwvbd procedure ended, and the gateway did not detect any errors. Note that this does not necessarily imply a successful fax, modem, or text transmission. It merely indicates that the gwvbd procedure has ended and the procedure itself did not encounter any errors. The "stop" parameter may correspond to a change from VBD to a non-VBD "audio" codec or from VBD to another media type such as "image" or "text". This change may be under Call Agent or gateway control. For example, the gateway may coordinate the switch from VBD to "image/t38" through the exchange of SSEs [T38] [V152]. For an example involving Call Agent control, refer to the "MC" Reason Code. In both examples, the gwvbd procedure ends with the media change.
gwvbd过程结束,网关未检测到任何错误。请注意,这并不一定意味着传真、调制解调器或文本传输成功。它仅表示gwvbd过程已结束,且过程本身未遇到任何错误。“停止”参数可能对应于从VBD到非VBD“音频”编解码器或从VBD到其他媒体类型(如“图像”或“文本”)的更改。此更改可能由呼叫代理或网关控制。例如,网关可以通过交换SSE[t38][V152]来协调从VBD到“image/t38”的切换。有关涉及呼叫代理控制的示例,请参阅“MC”原因代码。在这两个示例中,gwvbd过程以介质更改结束。
4) VBD Failure (failure)
4) VBD故障(故障)
The gwvbd procedure ended abnormally. Some kind of problem was encountered in the gwvbd procedure, and the procedure ended.
gwvbd程序异常结束。gwvbd过程中遇到了某种问题,因此过程结束。
When the "gwvbd" event is reported, exactly one of the "start", "update", "stop", or "failure" parameters MUST be present and MUST be the first parameter supplied.
报告“gwvbd”事件时,“启动”、“更新”、“停止”或“故障”参数中必须正好有一个存在,并且必须是提供的第一个参数。
The "rc", "codec", "coord", and "dir" ObservedEvent parameters are defined as follows:
“rc”、“codec”、“coord”和“dir”ObservedEvent参数定义如下:
1) Reason Code (rc=<ReasonCode>)
1) Reason Code (rc=<ReasonCode>)
With the "start" and "update" parameters, the reason for triggering the switch/change to VBD. With the "stop" and "failure" parameters, the reason for triggering the switch from VBD. The Reason Codes in the following table, which are based on the ITU-T Fax/Textphone/Modem Tones Detection package [H2482], ITU-T V.150.1 Amendment 1 [V1501A1], and ITU-T V.152 [V152], may be used with the "start" and "update" parameters:
使用“启动”和“更新”参数,触发开关/更改为VBD的原因。使用“停止”和“故障”参数,从VBD触发开关的原因。下表中的原因码基于ITU-T传真/文本电话/调制解调器音调检测包[H2482]、ITU-T V.150.1修改件1[V1501A1]和ITU-T V.152[V152],可与“开始”和“更新”参数一起使用:
--------------------------------------------------------------- | ReasonCode | Description | |------------|--------------------------------------------------| | CNG | T.30 fax calling | | V21flag | V.21 tone and flags for fax answering | | CIV18 | V.8 CI with V.18 call function | | XCI | V.18 XCI | | V18txp | V.18 txp | | Belltone | Bell 103 carrier, high- or low-frequency channel | | | (ITU-T Recommendation V.18) | | Baudot | Baudot initial tone and character (ITU-T | | | Recommendation V.18) | | Edt | EDT initial tone and character (ITU-T | | | Recommendation V.18) | | CIdata | V.8 CI with any data call function | | CT | V.25 calling tone | | CIfax | V.8 CI with fax call function | | V21tone | V.21 carrier, high- or low-frequency channel | | V23tone | V.23 carrier, high- or low-frequency channel | | V8bis | V.8 bis modem handshaking signal | | ANS | V.25 ANS, equivalent to T.30 CED from answering | | | terminal | | /ANS | V.25 ANS with periodic phase reversals | | ANSam | V.8 ANSam | | /ANSam | V.8 ANSam with periodic phase reversals | | CMFax | V.8 CM sequence indicating fax call function | | JMFax | V.8 JM sequence indicating fax call function | | CMData | V.8 CM sequence indicating unspecified data | | | call function | | JMData | V.8 JM sequence indicating unspecified data | | | call function | | CMText | V.8 CM sequence indicating text call function | | JMText | V.8 JM sequence indicating text call function | | PTSW | Payload type switch as defined in V.152 | ---------------------------------------------------------------
--------------------------------------------------------------- | ReasonCode | Description | |------------|--------------------------------------------------| | CNG | T.30 fax calling | | V21flag | V.21 tone and flags for fax answering | | CIV18 | V.8 CI with V.18 call function | | XCI | V.18 XCI | | V18txp | V.18 txp | | Belltone | Bell 103 carrier, high- or low-frequency channel | | | (ITU-T Recommendation V.18) | | Baudot | Baudot initial tone and character (ITU-T | | | Recommendation V.18) | | Edt | EDT initial tone and character (ITU-T | | | Recommendation V.18) | | CIdata | V.8 CI with any data call function | | CT | V.25 calling tone | | CIfax | V.8 CI with fax call function | | V21tone | V.21 carrier, high- or low-frequency channel | | V23tone | V.23 carrier, high- or low-frequency channel | | V8bis | V.8 bis modem handshaking signal | | ANS | V.25 ANS, equivalent to T.30 CED from answering | | | terminal | | /ANS | V.25 ANS with periodic phase reversals | | ANSam | V.8 ANSam | | /ANSam | V.8 ANSam with periodic phase reversals | | CMFax | V.8 CM sequence indicating fax call function | | JMFax | V.8 JM sequence indicating fax call function | | CMData | V.8 CM sequence indicating unspecified data | | | call function | | JMData | V.8 JM sequence indicating unspecified data | | | call function | | CMText | V.8 CM sequence indicating text call function | | JMText | V.8 JM sequence indicating text call function | | PTSW | Payload type switch as defined in V.152 | ---------------------------------------------------------------
For solutions involving textphones using a modulation with interspersed text and speech on the same "channel", such as Baudot and EDT, the Call Agent SHOULD interpret the ReasonCode parameter as part of the "vbd/gwvbd(start)" event in order to differentiate between fax, modem, and text. In the case of interspersed text and speech, the Call Agent SHOULD remove the notification request for "vbd/gwvbd" upon receiving the "vbd/gwvbd(start)" event in order to avoid large numbers of notifications.
对于在同一“通道”(如Baudot和EDT)上使用文本和语音调制的文本电话解决方案,呼叫代理应将ReasonCode参数解释为“vbd/gwvbd(start)”事件的一部分,以区分传真、调制解调器和文本。如果文本和语音相互交错,呼叫代理应在收到“vbd/gwvbd(开始)”事件时删除“vbd/gwvbd”的通知请求,以避免大量通知。
For example,
例如
vbd/gwvbd(start, rc=Baudot)
vbd/gwvbd(start, rc=Baudot)
With a ReasonCode of "PTSW", the Call Agent cannot differentiate text from fax/modem. In this case, the Call Agent SHOULD adopt a policy that guards against large numbers of notifications. We consider several such policies.
由于原因码为“PTSW”,呼叫代理无法区分文本和传真/调制解调器。在这种情况下,呼叫代理应该采用防止大量通知的策略。我们考虑几个这样的政策。
The Call Agent MAY remove the notification request for "vbd/gwvbd" upon receiving the "vbd/gwvbd(start, rc=PTSW)" event. With this policy, "update", "stop", and "failure" notifications will not be generated with text AND fax/modem.
呼叫代理可在收到“vbd/gwvbd(启动,rc=PTSW)”事件后删除“vbd/gwvbd”的通知请求。使用此策略,文本和传真/调制解调器将不会生成“更新”、“停止”和“失败”通知。
The Call Agent MAY wait for a subsequent "vbd/gwvbd(update)" event that differentiates text from fax/modem. If the ReasonCode indicates interspersed text and speech, the Call Agent SHOULD remove the notification request for "vbd/gwvbd". For example,
呼叫代理可能会等待后续的“vbd/gwvbd(更新)”事件,以区分文本和传真/调制解调器。如果ReasonCode指示散布的文本和语音,则呼叫代理应删除“vbd/gwvbd”的通知请求。例如
vbd/gwvbd(update, rc=Edt)
vbd/gwvbd(update, rc=Edt)
The Call Agent MAY remove the notification request for "vbd/gwvbd" upon receiving a "vbd/gwvbd(stop)" event without having differentiated between text and fax/modem.
呼叫代理可以在收到“vbd/gwvbd(停止)”事件时删除“vbd/gwvbd”的通知请求,而无需区分文本和传真/调制解调器。
The Call Agent MAY remove the notification request for "vbd/gwvbd" after having received a number of "vbd/gwvbd(start)" events without having differentiated between text and fax/modem. The specific number of events after which the notification request is removed is considered an implementation detail outside the scope of this specification.
呼叫代理在收到大量“vbd/gwvbd(启动)”事件后,可以删除“vbd/gwvbd”的通知请求,而不区分文本和传真/调制解调器。删除通知请求后的特定事件数被视为本规范范围之外的实现细节。
Reason Codes applicable with the "stop" parameter are listed below:
适用于“停止”参数的原因代码如下所示:
------------------------------------------------------ | ReasonCode | Description | |------------|-----------------------------------------| | SIL | Bidirectional silence | | Voice | Voice signals | | PTSW | Payload type switch as defined in V.152 | | MC | Media change | ------------------------------------------------------
------------------------------------------------------ | ReasonCode | Description | |------------|-----------------------------------------| | SIL | Bidirectional silence | | Voice | Voice signals | | PTSW | Payload type switch as defined in V.152 | | MC | Media change | ------------------------------------------------------
The "MC" Reason Code indicates that the media type has changed from "audio" (to "image", "text", ...) or the "audio" media format has changed from a VBD codec (for a reason other than "PTSW"). For example, the gwvbd procedure may be initiated upon detecting called terminal identification (CED). Subsequently, the Call Agent controlled T.38 procedure of the MGCP Fax (FXR) package [RFC5347] may be initiated upon detecting V.21 flags. Upon receipt of a "t38(start)" event, the Call Agent will instruct the
“MC”原因码表示媒体类型已从“音频”(改为“图像”、“文本”和…)更改,或“音频”媒体格式已从VBD编解码器更改(原因不是“PTSW”)。例如,gwvbd过程可在检测到所谓的终端标识(CED)时启动。随后,在检测到V.21标志时,可以启动MGCP传真(FXR)包[RFC5347]的呼叫代理控制的T.38过程。收到“t38(启动)”事件后,呼叫代理将指示
gateway to switch from VBD to T.38 through the use of a ModifyConnection command involving a LocalConnectionOption encoding method of "L:a:image/t38" and/or a RemoteConnectionDescriptor with an "image/t38" media description. This stops the gwvbd procedure. There is no specific interdependency between the VBD package and the FXR package (or any other package). The gwvbd procedure is stopped as a consequence of the media change, not as a direct consequence of the T.38 procedure being initiated. Note that in this situation the "t38(start)" event will be sent before the "gwvbd(stop)" event. The Call Agent MAY choose to infer that the gwvbd procedure has ended upon receiving the "t38(start)" event and disable the notification of the "gwvbd" event. Refer to the example call flow in Section 9.2.
网关,通过使用ModifyConnection命令从VBD切换到T.38,该命令涉及LocalConnectionOption编码方法“L:a:image/t38”和/或带有“image/t38”媒体描述的RemoteConnectionDescriptor。这将停止gwvbd过程。VBD包和FXR包(或任何其他包)之间没有特定的相互依赖关系。gwvbd程序因介质更换而停止,而不是T.38程序启动的直接结果。请注意,在这种情况下,“t38(启动)”事件将在“gwvbd(停止)”事件之前发送。呼叫代理可以选择在接收到“t38(启动)”事件时推断gwvbd过程已结束,并禁用“gwvbd”事件的通知。请参阅第9.2节中的呼叫流程示例。
Reason Codes applicable with the "failure" parameter:
适用于“故障”参数的原因代码:
---------------------------------------------------- | ReasonCode | Description | |------------|---------------------------------------| | TO | Indicates that a timeout has occurred | ----------------------------------------------------
---------------------------------------------------- | ReasonCode | Description | |------------|---------------------------------------| | TO | Indicates that a timeout has occurred | ----------------------------------------------------
The list of Reason Codes may be extended to include values with meaning mutually understood between the gateway and the Call Agent. Obviously, the use of extended values MUST be a provisionable option on the gateway in order to ensure interoperability with the Call Agent.
原因码的列表可以扩展以包括具有网关和呼叫代理之间相互理解的含义的值。显然,使用扩展值必须是网关上的一个可配置选项,以确保与呼叫代理的互操作性。
2) Codec String (codec=<CodecString>)
2) Codec String (codec=<CodecString>)
With the "start" and "update" parameters, the codec parameter describes the MIME type associated with the switch/change to VBD (e.g., "audio/RED", "audio/PCMU", "audio/PCMA", "audio/G726-32", "audio/clearmode", ...). With the "stop" and "failure" parameters, the codec parameter describes the MIME type associated with the switch from VBD (e.g., "audio/G729", "image/t38", "text/ t140", "audio/v150mr", ...). These strings should be full MIME types as listed in http://www.iana.org/assignments/media-types.
使用“开始”和“更新”参数,编解码器参数描述与VBD切换/更改相关的MIME类型(例如,“音频/红色”、“音频/PCMU”、“音频/PCMA”、“音频/G726-32”、“音频/清晰模式”…)。使用“stop”和“failure”参数,codec参数描述与来自VBD的切换相关联的MIME类型(例如,“audio/G729”、“image/t38”、“text/t140”、“audio/v150mr”…)。这些字符串应为中列出的完整MIME类型http://www.iana.org/assignments/media-types.
3) Coordination Technique (coord=<CoordinationTechnique>)
3) Coordination Technique (coord=<CoordinationTechnique>)
The technique used to coordinate the transition to and from VBD with the remote endpoint. The coordination techniques are summarized in the following table:
用于协调VBD与远程端点之间的转换的技术。下表总结了协调技术:
------------------------------------------------------ | CoordinationTechnique | Description | |-----------------------|------------------------------| | v152ptsw | V.152 Payload Type Switching | | v150fw | V.150.1 SSE | ------------------------------------------------------
------------------------------------------------------ | CoordinationTechnique | Description | |-----------------------|------------------------------| | v152ptsw | V.152 Payload Type Switching | | v150fw | V.150.1 SSE | ------------------------------------------------------
With the "v152ptsw" coordination technique, payload type switching [V152] is used to coordinate the transition to and from VBD.
使用“v152ptsw”协调技术,有效负载类型切换[V152]用于协调与VBD之间的转换。
With the "v150fw" coordination technique, state signaling events [V1501] are used to coordinate the transition to and from VBD.
使用“v150fw”协调技术,状态信令事件[V1501]用于协调与VBD之间的转换。
The list of coordination techniques may be extended to include values with meaning mutually understood between the gateway and the Call Agent. Obviously, the use of extended values MUST be a provisionable option on the gateway in order to ensure interoperability with the Call Agent.
协调技术的列表可被扩展以包括具有在网关和呼叫代理之间相互理解的含义的值。显然,使用扩展值必须是网关上的一个可配置选项,以确保与呼叫代理的互操作性。
4) Direction of Stimulus (dir=<Direction>)
4) Direction of Stimulus (dir=<Direction>)
With the "start" and "update" parameters, the "dir" parameter describes the direction of the stimulus that resulted in the switch/change to VBD.
使用“开始”和“更新”参数,“dir”参数描述导致切换/更改为VBD的刺激方向。
--------------------------------------------------- | Direction | Description | |-----------|------------------------------------ | | GstnToIp | Stimulus detected in the direction | | | from the GSTN to IP network, | | | including fax, modem, and text tones. | | IpToGstn | Stimulus detected in the direction | | | from the IP to GSTN network, | | | including fax, modem, and text tones | | | (e.g., IP-side tone detection); | | | RTP packet with VBD payload type | | | (e.g., V.152 or V.150.1). | ----------------------------------------------------
--------------------------------------------------- | Direction | Description | |-----------|------------------------------------ | | GstnToIp | Stimulus detected in the direction | | | from the GSTN to IP network, | | | including fax, modem, and text tones. | | IpToGstn | Stimulus detected in the direction | | | from the IP to GSTN network, | | | including fax, modem, and text tones | | | (e.g., IP-side tone detection); | | | RTP packet with VBD payload type | | | (e.g., V.152 or V.150.1). | ----------------------------------------------------
Call Agents and gateways MUST implement the "start" and "stop" parameters and MAY implement the "update" and "failure" parameters. Call Agents and gateways MAY implement the "coord", "codec", and "dir" parameters. Call Agents MAY, and gateways MUST, implement the "rc" parameter in conjunction with the "start" and "update" parameters. Call Agents and gateways MAY implement the "rc" parameter in conjunction with the "stop" and "failure" parameters. A Call Agent MUST ignore all unknown ObservedEvent parameters, including parameters that are defined as part of this specification and not implemented.
呼叫代理和网关必须实现“启动”和“停止”参数,并且可以实现“更新”和“故障”参数。呼叫代理和网关可以实现“coord”、“codec”和“dir”参数。呼叫代理可以并且网关必须结合“开始”和“更新”参数实现“rc”参数。呼叫代理和网关可以结合“停止”和“故障”参数实现“rc”参数。呼叫代理必须忽略所有未知的ObservedEvent参数,包括定义为本规范一部分且未实现的参数。
The following examples illustrate the encoding of the "gwvbd(start)" event:
以下示例说明了“gwvbd(启动)”事件的编码:
O: vbd/gwvbd(start, rc=ANS) O: vbd/gwvbd(start, rc=ANS, codec=audio/PCMU, coord=v152ptsw) O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED)
O: vbd/gwvbd(start, rc=ANS) O: vbd/gwvbd(start, rc=ANS, codec=audio/PCMU, coord=v152ptsw) O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED)
The following example illustrates the encoding of the "gwvbd(update)" event:
以下示例说明了“gwvbd(更新)”事件的编码:
O: vbd/gwvbd(update, rc=/ANSam, dir=IpToGstn)
O: vbd/gwvbd(update, rc=/ANSam, dir=IpToGstn)
The following examples illustrate the encoding of the "gwvbd(stop)" event:
以下示例说明了“gwvbd(停止)”事件的编码:
O: vbd/gwvbd(stop) O: vbd/gwvbd(stop, rc=SIL, codec=audio/G729) O: vbd/gwvbd(stop, rc=MC, codec=image/t38)
O: vbd/gwvbd(stop) O: vbd/gwvbd(stop, rc=SIL, codec=audio/G729) O: vbd/gwvbd(stop, rc=MC, codec=image/t38)
The following examples illustrate the encoding of the "gwvbd(failure)" event:
以下示例说明了“gwvbd(故障)”事件的编码:
O: vbd/gwvbd(failure, codec=audio/G729) O: vbd/gwvbd(failure, rc=TO, codec=audio/G729)
O: vbd/gwvbd(failure, codec=audio/G729) O: vbd/gwvbd(failure, rc=TO, codec=audio/G729)
The "No Negotiated Procedure for Voiceband Data" (or simply "nopvbd") event occurs when a VBD procedure has not been negotiated and VBD stimulus is detected. The "nopvbd" event may occur when the procedure is updated (e.g., upon detecting new stimulus), when the procedure ends, and when the procedure fails. Even though a procedure was not negotiated, a VBD handling procedure MAY still be in place locally on the endpoint, as described further below.
当未协商VBD过程且检测到VBD刺激时,会发生“语音带数据无协商过程”(或简称“nopvbd”)事件。当程序更新时(例如,在检测到新刺激时)、程序结束时以及程序失败时,可能会发生“nopvbd”事件。即使未协商程序,VBD处理程序仍可能在端点的本地位置,如下所述。
The nopvbd procedure MAY involve VBD handling including, but not limited to, adjusting gain and jitter, disabling voice activity detection, and DC offset filters. The nopvbd procedure MAY involve switching to another codec. The Call Agent MAY have to issue further commands in response to the "nopvbd" event in order to ensure a successful VBD call.
nopvbd程序可能涉及VBD处理,包括但不限于调整增益和抖动、禁用语音活动检测和直流偏移滤波器。nopvbd过程可能涉及切换到另一个编解码器。呼叫代理可能必须发出更多命令以响应“nopvbd”事件,以确保VBD呼叫成功。
As with the "gwvbd" event, the same recommendations from MGCP [RFC3435] regarding ABNF, general robustness principles, and white space apply.
与“gwvbd”事件一样,MGCP[RFC3435]关于ABNF、一般稳健性原则和空白的建议也适用。
The RequestedEvent parameter is encoded as
RequestedEvent参数编码为
NopVbdReqEvent = "nopvbd"
NopVbdReqEvent = "nopvbd"
The ObservedEvent parameter is encoded as
ObservedEvent参数编码为
NopVbdObsEvent = NopVbdObsEventStart / NopVbdObsEventUpdate / NopVbdObsEventStop / NopVbdObsEventFailure
NopVbdObsEvent = NopVbdObsEventStart / NopVbdObsEventUpdate / NopVbdObsEventStop / NopVbdObsEventFailure
NopVbdObsEventStart = "nopvbd(start" Rc [Codec] [Dir] ")" NopVbdObsEventUpdate = "nopvbd(update" Rc [Codec] [Dir] ")" NopVbdObsEventStop = "nopvbd(stop" [Rc] [Codec] ")" NopVbdObsEventFailure = "nopvbd(failure" [Rc] [Codec] ")"
NopVbdObsEventStart = "nopvbd(start" Rc [Codec] [Dir] ")" NopVbdObsEventUpdate = "nopvbd(update" Rc [Codec] [Dir] ")" NopVbdObsEventStop = "nopvbd(stop" [Rc] [Codec] ")" NopVbdObsEventFailure = "nopvbd(failure" [Rc] [Codec] ")"
The following ABNF notation is common with the "gwvbd" ObservedEvent parameter:
以下ABNF符号与“gwvbd”ObservedEvent参数相同:
Codec = "," *WSP "codec=" CodecString CodecString = (ALPHA / DIGIT) *(ALPHA / DIGIT / "-" / "_" / "." / "/") Rc = "," *WSP "rc=" ReasonCode ReasonCode = 1*(ALPHA / DIGIT / "-" / "_" / "." / "/") ; Refer to the values listed in the tables above. Dir = "," *WSP "dir=" Direction Direction = "GstnToIp" / "IpToGstn"
Codec = "," *WSP "codec=" CodecString CodecString = (ALPHA / DIGIT) *(ALPHA / DIGIT / "-" / "_" / "." / "/") Rc = "," *WSP "rc=" ReasonCode ReasonCode = 1*(ALPHA / DIGIT / "-" / "_" / "." / "/") ; Refer to the values listed in the tables above. Dir = "," *WSP "dir=" Direction Direction = "GstnToIp" / "IpToGstn"
ABNF does not provide for position-independent parameters. The "rc", "codec", and "dir" parameters, if present, MUST appear in the relative order shown.
ABNF不提供与位置无关的参数。“rc”、“codec”和“dir”参数(如果存在)必须按所示的相对顺序显示。
The "start", "update", "stop", and "failure" ObservedEvent parameters are defined as follows:
“启动”、“更新”、“停止”和“故障”观测事件参数定义如下:
1) VBD Start(start)
1) VBD启动(启动)
The nopvbd procedure was initiated. The Call Agent may have to issue further commands in order to ensure a successful VBD call (e.g., switch to another codec). At most one "nopvbd(stop)" or "nopvbd(failure)" event MAY be generated corresponding to each "nopvbd(start)" event. The Call Agent MAY need to infer that the nopvbd procedure has ended.
已启动nopvbd程序。呼叫代理可能必须发出进一步的命令,以确保VBD呼叫成功(例如,切换到另一个编解码器)。与每个“nopvbd(启动)”事件对应,最多可生成一个“nopvbd(停止)”或“nopvbd(故障)”事件。呼叫代理可能需要推断nopvbd过程已结束。
2) VBD Update (update)
2) VBD更新(更新)
The nopvbd procedure was updated. The "nopvbd(update)" event MUST only be generated after a "nopvbd(start)" event and before a "nopvbd(stop)" or "nopvbd(failure)" event.
已更新nopvbd程序。“nopvbd(更新)”事件只能在“nopvbd(启动)”事件之后、“nopvbd(停止)”或“nopvbd(失败)”事件之前生成。
3) VBD Stop (stop)
3) VBD停止(停止)
The nopvbd procedure ended, and the gateway did not detect any errors. Note that this does not necessarily imply a successful fax, modem, or text transmission. It merely indicates that the nopvbd procedure has ended and the procedure itself did not encounter any errors. Refer to the definition of the "stop" parameter from the "gwvbd" event in Section 4.1.1 for additional information.
nopvbd过程结束,网关未检测到任何错误。请注意,这并不一定意味着传真、调制解调器或文本传输成功。它仅仅表明nopvbd过程已经结束,并且过程本身没有遇到任何错误。更多信息,请参阅第4.1.1节“gwvbd”事件中“停止”参数的定义。
4) VBD Failure (failure)
4) VBD故障(故障)
The nopvbd procedure ended abnormally. Some kind of problem was encountered in the nopvbd procedure, and the procedure ended.
nopvbd程序异常结束。nopvbd过程中遇到了某种问题,因此过程结束。
Call Agents and gateways MUST implement the "start" parameter and MAY implement the "update", "stop", and "failure" parameters. Call Agents MAY, and gateways MUST, implement the "rc" parameter in conjunction with the "start" and "update" parameters. Call Agents and gateways MAY implement the "rc" parameter in conjunction with the "stop" and "failure" parameters. A Call Agent MUST ignore all unknown ObservedEvent parameters including parameters that are defined as part of this specification and not implemented.
呼叫代理和网关必须实现“启动”参数,并且可以实现“更新”、“停止”和“故障”参数。呼叫代理可以并且网关必须结合“开始”和“更新”参数实现“rc”参数。呼叫代理和网关可以结合“停止”和“故障”参数实现“rc”参数。呼叫代理必须忽略所有未知的ObservedEvent参数,包括定义为本规范一部分且未实现的参数。
The definitions of the "rc", "codec", and "dir" ObservedEvent parameters are taken from the "gwvbd" event.
“rc”、“codec”和“dir”ObservedEvent参数的定义取自“gwvbd”事件。
As with the "gwvbd" event, the same recommendations regarding interspersed text and speech apply.
与“gwvbd”事件一样,关于穿插文本和语音的建议也适用。
The following examples illustrate the encoding of the "nopvbd(start)" event:
以下示例说明了“nopvbd(start)”事件的编码:
O: vbd/nopvbd(start, rc=ANS) O: vbd/nopvbd(start, rc=ANS, codec=audio/PCMU)
O: vbd/nopvbd(start, rc=ANS) O: vbd/nopvbd(start, rc=ANS, codec=audio/PCMU)
The following example illustrates the encoding of the "nopvbd(update)" event:
以下示例说明了“nopvbd(更新)”事件的编码:
O: vbd/nopvbd(update, rc=/ANSam, dir=IpToGstn)
O: vbd/nopvbd(update, rc=/ANSam, dir=IpToGstn)
The following examples illustrate the encoding of the "nopvbd(stop)" event:
以下示例说明了“nopvbd(停止)”事件的编码:
O: vbd/nopvbd(stop) O: vbd/nopvbd(stop, rc=SIL, codec=audio/G729) O: vbd/nopvbd(stop, rc=MC, codec=image/t38)
O: vbd/nopvbd(stop) O: vbd/nopvbd(stop, rc=SIL, codec=audio/G729) O: vbd/nopvbd(stop, rc=MC, codec=image/t38)
The following examples illustrate the encoding of the "nopvbd(failure)" event:
以下示例说明了“nopvbd(故障)”事件的编码:
O: vbd/nopvbd(failure, codec=audio/G729) O: vbd/nopvbd(failure, rc=TO, codec=audio/G729)
O: vbd/nopvbd(failure, codec=audio/G729) O: vbd/nopvbd(failure, rc=TO, codec=audio/G729)
This package is defined for the General-Purpose Media Descriptor Parameter [V152]. The package defines a new LocalConnectionOption as detailed below.
此包是为通用媒体描述符参数[V152]定义的。该包定义了一个新的LocalConnectionOption,如下所述。
Package Name: GPMD Package Version: 0
包名称:GPMD包版本:0
The following new LocalConnectionOptions field is defined in support of the above:
为支持上述内容,定义了以下新的LocalConnectionOptions字段:
------------------------------------------------------ | Symbol | Definition | |--------|---------------------------------------------| | gpmd | General-Purpose Media Descriptor Parameter | ------------------------------------------------------
------------------------------------------------------ | Symbol | Definition | |--------|---------------------------------------------| | gpmd | General-Purpose Media Descriptor Parameter | ------------------------------------------------------
The definition of the LocalConnectionOption is provided in the following subsection.
LocalConnectionOption的定义在以下小节中提供。
The General-Purpose Media Descriptor Parameter LocalConnectionOption is similar to the "gpmd" SDP [RFC4566] attribute defined in ITU-T Recommendation V.152 [V152] and is applicable to all of the same media formats that the corresponding SDP "gpmd" attribute could be used with.
通用媒体描述符参数LocalConnectionOption类似于ITU-T建议V.152[V152]中定义的“gpmd”SDP[RFC4566]属性,并且适用于相应SDP“gpmd”属性可用于的所有相同媒体格式。
The General-Purpose Media Descriptor Parameter is encoded as the keyword "gpmd" or "o-gpmd", followed by a colon and a quoted string beginning with the media format name (MIME subtype only) followed by a space, followed by the media format parameters associated with that media format:
通用媒体描述符参数编码为关键字“gpmd”或“o-gpmd”,后跟冒号和以媒体格式名称(仅限MIME子类型)开头的带引号的字符串,后跟空格,后跟与该媒体格式关联的媒体格式参数:
gpmd/gpmd:"<format> <parameter list>"
gpmd/gpmd:"<format> <parameter list>"
For simplicity, we will use the terms "codec" and "media format" interchangeably in the following. Multiple media formats may be indicated by either repeating the "gpmd" LocalConnectionOption multiple times, such as
为了简单起见,我们将在下面交替使用术语“编解码器”和“媒体格式”。可以通过多次重复“gpmd”LocalConnection选项来指示多种媒体格式,例如
L: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX", gpmd/gpmd:"codec2 parameterY"
L: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX", gpmd/gpmd:"codec2 parameterY"
or alternatively by having a single "gpmd" keyword followed by a colon, and a semicolon-separated list of quoted strings for each General-Purpose Media Descriptor Parameter, as in
或者,对于每个通用媒体描述符参数,使用一个“gpmd”关键字后跟一个冒号和一个分号分隔的带引号字符串列表,如中所示
L: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX"; "codec2 parameterY"
L: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX"; "codec2 parameterY"
The two formats may be mixed:
这两种格式可以混合使用:
L: a:codec1;codec2;codec3, gpmd/gpmd:"codec1 parameterX", gpmd/gpmd:"codec2 parameterY"; "codec3 parameterZ"
L: a:codec1;codec2;codec3, gpmd/gpmd:"codec1 parameterX", gpmd/gpmd:"codec2 parameterY"; "codec3 parameterZ"
The carriage returns above are included for formatting reasons only and are not permissible in a real implementation. This holds true for all of the examples in this document.
包含上述回车符仅出于格式原因,在实际实现中不允许。这适用于本文档中的所有示例。
If it is possible for the same codec to be requested with and without the "gpmd" parameter, the following could result:
如果在使用和不使用“gpmd”参数的情况下可以请求相同的编解码器,则可能会导致以下结果:
L: a:codec1;codec1, gpmd/gpmd:"codec1 parameterX"
L: a:codec1;codec1, gpmd/gpmd:"codec1 parameterX"
However, it would not be clear whether the "gpmd" parameter was to be applied to the first or the second occurrence of the codec. The problem is that codec ordering is important (i.e., codecs are listed in preferred order), and the above syntax does not provide a way to indicate whether "parameterX" is preferred (i.e., associated with the first "codec1") or not (i.e., associated with the second "codec1"). In order to resolve this dilemma, the codec in the "gpmd" media format is followed by a colon and an <order>, where <order> is a number from one to N for occurrences of the same codec in the codec list. For example,
然而,“gpmd”参数是否应用于第一次或第二次出现的编解码器,尚不清楚。问题在于编解码器顺序很重要(即,编解码器以首选顺序列出),并且上述语法没有提供指示“parameterX”是否首选(即,与第一个“编解码器1”关联)的方法(即,与第二个“编解码器1”关联)。为了解决这个难题,“gpmd”媒体格式的编解码器后面跟一个冒号和一个<order>,其中<order>是一个从1到N的数字,表示编解码器列表中出现的相同编解码器。例如
L:a:codec1;codec1, gpmd/gpmd:"codec1:2 parameterX"
L:a:codec1;codec1, gpmd/gpmd:"codec1:2 parameterX"
indicates that "parameterX" is associated with the second instance of "codec1" in the "a:codec1;codec1" list. If an invalid instance number is supplied (e.g., instance 3 where there are only two instances), then error code 524 -- inconsistency in local connection options -- will be returned. In the absence of an <order>, the first instance is assumed.
指示“parameterX”与“a:codec1;codec1”列表中“codec1”的第二个实例相关联。如果提供了无效的实例号(例如,实例3,其中只有两个实例),则将返回错误代码524——本地连接选项不一致。如果没有<order>,则假定为第一个实例。
Prepending "gpmd" with the string "o-" (i.e., "o-gpmd") indicates that the parameter is optional. In that case, the gateway may decide not to use the "gpmd" parameter specified, or only use it in part.
在“gpmd”前面加上字符串“o-”(即“o-gpmd”)表示该参数是可选的。在这种情况下,网关可能决定不使用指定的“gpmd”参数,或仅部分使用它。
If the "gpmd" LocalConnectionOption parameter is not optional (i.e., does not have "o-" in front of it), and the LocalConnectionOption parameter value is either not recognized or not supported, then the associated codec is considered "not supported".
如果“gpmd”LocalConnectionOption参数不是可选的(即前面没有“o-”),并且LocalConnectionOption参数值不可识别或不受支持,则相关编解码器被视为“不受支持”。
When auditing capabilities, the "gpmd" LocalConnectionOption parameter MUST be returned with a semicolon-separated list of supported formats and/or multiple independent "gpmd" parameters, as in
审核功能时,“gpmd”LocalConnectionOption参数必须返回一个分号分隔的支持格式列表和/或多个独立的“gpmd”参数,如中所示
A: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX"; "codec2 parameterY"
A: a:codec1;codec2, gpmd/gpmd:"codec1 parameterX"; "codec2 parameterY"
or
或
A: a:codec1;codec1, gpmd/gpmd:"codec1 parameterX"
A: a:codec1;codec1, gpmd/gpmd:"codec1 parameterX"
One example uses the General-Purpose Media Descriptor Parameter LocalConnectionOption in conjunction with gateway controlled Voiceband Data (or simply VBD) using payload type switching [V152]. In the context of VBD, the <format> must be an RTP/AVP payload type. The <parameter list> is a semicolon-separated list of "parameter=value" pairs:
一个示例将通用媒体描述符参数LocalConnectionOption与使用有效负载类型切换的网关控制的声带数据(或简称VBD)结合使用[V152]。在VBD上下文中,<format>必须是RTP/AVP有效负载类型。<parameter list>是以分号分隔的“parameter=value”对列表:
L: a:codec1, gpmd/gpmd:"codec1 parameterX=ValueA;parameterY=ValueB"
L: a:codec1, gpmd/gpmd:"codec1 parameterX=ValueA;parameterY=ValueB"
In the example below, G.729 is an audio codec and G.711u is a VBD codec:
在下面的示例中,G.729是音频编解码器,G.711u是VBD编解码器:
L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes"
L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes"
The corresponding media description in the SDP as part of the connection request acknowledgment might look like
SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
m=audio 12345 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
m=audio 12345 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
If a request is made to audit the capabilities of an endpoint, and the endpoint supports G.711u as both an audio and VBD codec, then the "gpmd" LocalConnectionOption parameter might look like
如果请求审核端点的功能,并且端点支持G.711u作为音频和VBD编解码器,则“gpmd”LocalConnectionOption参数可能如下所示
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes"
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes"
Given that some parameters, e.g., silence suppression, are only compatible with G.711u as an audio codec, then the gateway MUST return different capability sets corresponding to audio and VBD.
假定某些参数(例如静音抑制)仅与g.711u作为音频编解码器兼容,则网关必须返回对应于音频和VBD的不同功能集。
If we combine V.152 and redundancy [RFC2198], an example LocalConnectionOption might look like the example below. In this example, G.729 is an audio codec and G.711u is a VBD codec with a redundancy level of one:
如果我们结合V.152和冗余[RFC2198],LocalConnectionOption示例可能如下所示。在本例中,G.729是音频编解码器,G.711u是冗余级别为1的VBD编解码器:
L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU"
L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU"
The corresponding media description in the SDP as part of the connection request acknowledgment might look like
SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
m=audio 12345 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
m=audio 12345 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Refer to Section 6 for more examples involving V.152 and redundancy.
有关V.152和冗余的更多示例,请参阅第6节。
The MGCP Media Format Parameter (FM) package [RFC3660] in conjunction with the standard audio MIME subtype "RED" may be used by the Call Agent to authorize the negotiation of redundancy [RFC2198], to identify the levels of redundancy and the media format associated with each redundancy level. An example of this was demonstrated in Section 5.
呼叫代理可以使用MGCP媒体格式参数(FM)包[RFC3660]和标准音频MIME子类型“RED”来授权冗余协商[RFC2198],以识别冗余级别和与每个冗余级别相关联的媒体格式。这方面的一个例子在第5节中进行了说明。
The FM package states that the "fmtp" LocalConnectionOption MUST be returned when auditing capabilities. Applying this to VBD and redundancy might result in
FM包声明在审核功能时必须返回“fmtp”LocalConnectionOption。将此应用于VBD和冗余可能会导致
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:RED;PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU"
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:RED;PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU"
The FM package defines "instance syntax", in which
FM包定义了“实例语法”,其中
L:a:codec1;codec1, fmtp:"codec1:2 formatX"
L:a:codec1;codec1, fmtp:"codec1:2 formatX"
indicates that "formatX" is associated with the second instance of "codec1" in the "a:codec1;codec1" list. The examples in the FM package are limited to the use of the instance syntax in conjunction with the media format. We propose the use of the instance syntax in conjunction with the media format parameters
指示“formatX”与“a:codec1;codec1”列表中“codec1”的第二个实例相关联。FM包中的示例仅限于结合媒体格式使用实例语法。我们建议结合使用实例语法和媒体格式参数
L:a:codec1;codec2;codec3;codec2, fmtp:"codec3 codec2:2/codec2:2"
L:a:codec1;codec2;codec3;codec2, fmtp:"codec3 codec2:2/codec2:2"
Let's build on the example of Section 5. In the example below, G.729 is an audio codec, and G.711u is both an audio codec and a VBD codec with a redundancy level of one:
让我们以第5节的例子为基础。在下面的示例中,G.729是音频编解码器,G.711u既是音频编解码器又是VBD编解码器,冗余级别为1:
L: a:G729;PCMU;RED;PCMU, gpmd/gpmd:"PCMU:2 vbd=yes", fmtp:"RED PCMU:2/PCMU:2"
L: a:G729;PCMU;RED;PCMU, gpmd/gpmd:"PCMU:2 vbd=yes", fmtp:"RED PCMU:2/PCMU:2"
The corresponding media description in the SDP as part of the connection request acknowledgment might look like
SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
m=audio 12345 RTP/AVP 18 0 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
m=audio 12345 RTP/AVP 18 0 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Note that the relative preference of the LocalConnectionOption encoding methods is preserved in the "audio" media formats (i.e., payload types) as part of the media description. In this example, this reflects a preference for V.152 with redundancy versus without. No preference is inferred from the relative order of the different LocalConnectionOptions, namely "a", "gpmd/gpmd", and "fmtp".
请注意,LocalConnectionOption编码方法的相对首选项保留在“音频”媒体格式(即有效负载类型)中,作为媒体描述的一部分。在本例中,这反映了对有冗余的V.152与无冗余的V.152的偏好。从不同LocalConnectionOptions(即“a”、“gpmd/gpmd”和“fmtp”)的相对顺序推断不出偏好。
A Call Agent can authorize the negotiation of audio codecs and VBD codecs involving different levels of redundancy. In the example below, G.711u is a VBD codec with a redundancy level of two (preferred) or one:
呼叫代理可以授权涉及不同冗余级别的音频编解码器和VBD编解码器的协商。在下面的示例中,G.711u是一个VBD编解码器,冗余级别为两个(首选)或一个:
L: a:G729;RED;RED;PCMU, fmtp:"RED PCMU/PCMU/PCMU", fmtp:"RED:2 PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes"
L: a:G729;RED;RED;PCMU, fmtp:"RED PCMU/PCMU/PCMU", fmtp:"RED:2 PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes"
The corresponding media description in the SDP as part of the connection request acknowledgment might look like
SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
m=audio 12345 RTP/AVP 18 96 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 98/98/98 a=rtpmap:97 RED/8000 a=fmtp:97 98/98 a=rtpmap:98 PCMU/8000 a=gpmd:98 vbd=yes
m=audio 12345 RTP/AVP 18 96 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 98/98/98 a=rtpmap:97 RED/8000 a=fmtp:97 98/98 a=rtpmap:98 PCMU/8000 a=gpmd:98 vbd=yes
Redundancy can be applied to both audio codecs and VBD codecs. In the example below, G.729 is an audio codec with a redundancy level of two and G.711u is a VBD codec with a redundancy level of one:
冗余可以应用于音频编解码器和VBD编解码器。在以下示例中,G.729是冗余级别为2的音频编解码器,G.711u是冗余级别为1的VBD编解码器:
L: a:RED;G729;RED;PCMU, fmtp:"RED G729/G729/G729", fmtp:"RED:2 PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes"
L: a:RED;G729;RED;PCMU, fmtp:"RED G729/G729/G729", fmtp:"RED:2 PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes"
The corresponding media description in the SDP as part of the connection request acknowledgment might look like
SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
m=audio 12345 RTP/AVP 96 18 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 18/18/18 a=rtpmap:97 RED/8000 a=fmtp:97 98/98 a=rtpmap:98 PCMU/8000 a=gpmd:98 vbd=yes
m=audio 12345 RTP/AVP 96 18 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 18/18/18 a=rtpmap:97 RED/8000 a=fmtp:97 98/98 a=rtpmap:98 PCMU/8000 a=gpmd:98 vbd=yes
A Call Agent may authorize the negotiation of forward error correction (FEC) [RFC5109] with the standard audio MIME subtype "parityfec":
呼叫代理可以授权与标准音频MIME子类型“parityfec”协商前向纠错(FEC)[RFC5109]:
L: a:PCMU;parityfec
L: a:PCMU;parityfec
By default, we assume that FEC packets are to be sent as a separate stream. The corresponding media description in the SDP as part of the connection request acknowledgment might look like
默认情况下,我们假设FEC数据包将作为单独的流发送。SDP中作为连接请求确认的一部分的相应媒体描述可能如下所示
v=0 c=IN IP4 192.0.2.0 m=audio 49170 RTP/AVP 0 96 a=rtpmap:96 parityfec/8000 a=fmtp:96 49172 IN IP4 192.0.2.0
v=0 c=IN IP4 192.0.2.0 m=audio 49170 RTP/AVP 0 96 a=rtpmap:96 parityfec/8000 a=fmtp:96 49172 IN IP4 192.0.2.0
If FEC is to be sent as a secondary codec in the redundant codec payload format [RFC2198], we again leverage the MGCP Media Format Parameter (FM) package [RFC3660] in conjunction with the standard audio MIME subtype "RED":
如果FEC将以冗余编解码器有效负载格式[RFC2198]作为辅助编解码器发送,我们将再次利用MGCP媒体格式参数(FM)包[RFC3660]和标准音频MIME子类型“RED”:
L: a:G729;RED;PCMU;parityfec, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/parityfec"
L: a:G729;RED;PCMU;parityfec, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/parityfec"
The corresponding media description might look like
相应的媒体描述可能如下所示
v=0 c=IN IP4 192.0.2.0 m=audio 49170 RTP/AVP 18 96 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 97/98 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=rtpmap:98 parityfec/8000
v=0 c=IN IP4 192.0.2.0 m=audio 49170 RTP/AVP 18 96 97 98 a=rtpmap:96 RED/8000 a=fmtp:96 97/98 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=rtpmap:98 parityfec/8000
The FM package states that the "fmtp" LocalConnectionOption MUST be returned when auditing capabilities. Applying this to VBD, redundancy and FEC might result in
FM包声明在审核功能时必须返回“fmtp”LocalConnectionOption。将此应用于VBD,冗余和FEC可能会导致
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:RED;PCMU;parityfec, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/parityfec"
A: a:PCMU, p:10-40, e:on, s:on, m:sendonly;recvonly;sendrecv;inactive A: a:RED;PCMU;parityfec, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/parityfec"
The MGCP Fax (FXR) package [RFC5347] is used by a Call Agent to authorize fax handling, including Call Agent controlled T.38 and gateway procedures such as V.152. With the FXR package, VBD falls into one of two categories: "special fax handling" as part of the gateway procedure (resulting in the "gwfax" event), or "no special fax handling" as part of the gateway and Off procedures (resulting in the "nopfax" event). In order for a VBD procedure to fall into the "special fax handling" category, support for it MUST be negotiated with the other side by passing and recognizing relevant parameters via the LocalConnectionDescriptor and RemoteConnectionDescriptor.
呼叫代理使用MGCP传真(FXR)包[RFC5347]来授权传真处理,包括呼叫代理控制的T.38和网关程序,如V.152。在FXR软件包中,VBD分为两类:“特殊传真处理”作为网关程序的一部分(导致“gwfax”事件),或“无特殊传真处理”作为网关和关闭程序的一部分(导致“nopfax”事件)。为了使VBD过程属于“特殊传真处理”类别,必须通过LocalConnectionDescriptor和RemoteConnectionDescriptor传递和识别相关参数,与另一方协商对VBD过程的支持。
A gateway controlled VBD procedure such as V.152 MUST fall into the category of gateway controlled mode involving "special fax handling". The resulting "gwfax" event is what informs the Call Agent to refrain from issuing media handling instructions that could otherwise have a negative impact on the gateway procedure.
网关控制的VBD程序(如V.152)必须属于涉及“特殊传真处理”的网关控制模式。由此产生的“gwfax”事件通知呼叫代理不要发出媒体处理指令,否则可能会对网关过程产生负面影响。
Consider the following example (with shorthand SDP notation):
考虑下面的示例(用速记SDP符号):
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 1 M: sendrecv L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes", fxr/fx:t38;gw X: 1 R: fxr/t38, fxr/gwfax, fxr/nopfax
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 1 M: sendrecv L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes", fxr/fx:t38;gw X: 1 R: fxr/t38, fxr/gwfax, fxr/nopfax
v=0 c=IN IP4 192.0.2.1 m=audio 3456 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
v=0 c=IN IP4 192.0.2.1 m=audio 3456 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
200 2000 OK I: 1
200 2000 OK I:1
v=0 c=IN IP4 192.0.2.2 m=audio 1296 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
v=0 c=IN IP4 192.0.2.2 m=audio 1296 RTP/AVP 18 96 a=rtpmap:96 PCMU/8000 a=gpmd:96 vbd=yes
The RemoteConnectionDescriptor does not indicate support for "image/ t38" as a latent capability [RFC3407]. Consequently, the gateway will not initiate the T.38 strict fax procedure, "t38", upon detecting fax stimulus (i.e., CNG, V.21 flags, etc.). However, the two endpoints did successfully negotiate a gateway controlled VBD procedure (e.g., V.152); therefore, a gateway controlled mode involving "special fax handling" is used. The "gwfax(start)" event will be generated upon detecting VBD (including fax) stimulus.
RemoteConnectionDescriptor不表示支持将“映像/t38”作为潜在功能[RFC3407]。因此,一旦检测到传真刺激(即CNG、V.21标志等),网关将不会启动T.38严格传真程序“t38”。然而,两个端点确实成功地协商了网关控制的VBD程序(例如,V.152);因此,使用涉及“特殊传真处理”的网关控制模式。检测到VBD(包括传真)刺激后,将生成“gwfax(启动)”事件。
A Call Agent can express a preference for a gateway procedure involving "special fax handling" over a T.38 procedure (strict or loose). For example,
呼叫代理可以表示对涉及“特殊传真处理”的网关程序的偏好,而不是T.38程序(严格或宽松)。例如
L: fxr/fx:gw;t38
L: fxr/fx:gw;t38
and
和
L: fxr/fx:gw;t38-loose
L: fxr/fx:gw;t38-loose
However, with the existing syntax of the FXR package, a Call Agent cannot express a preference for one gateway procedure over another, each with possibly different preferences relative to a T.38 procedure.
但是,根据FXR包的现有语法,调用代理无法表示对一个网关过程的偏好,而不是对另一个网关过程的偏好,每个网关过程相对于T.38过程可能具有不同的偏好。
The FXR package allows a gateway to implement additional fax handling parameters. We define just such a parameter by qualifying the existing "gw" parameter with a list of one or more MIME types:
FXR包允许网关实现额外的传真处理参数。我们通过使用一个或多个MIME类型的列表限定现有的“gw”参数来定义这样一个参数:
Gateway = "gw[" mimeType 0*("|" mimeType) "]" mimeType = mimeMediaType "/" mimeSubType ; mimeMediaType and mimeSubType from ; http://www.iana.org/assignments/media-types/
Gateway = "gw[" mimeType 0*("|" mimeType) "]" mimeType = mimeMediaType "/" mimeSubType ; mimeMediaType and mimeSubType from ; http://www.iana.org/assignments/media-types/
By qualifying the "gw" parameter with a list of MIME types, we narrow the scope of the gateway procedure. Consider the following examples in which the Call Agent authorizes the use of a gateway controlled fax handling procedure:
通过使用MIME类型列表限定“gw”参数,我们缩小了网关过程的范围。考虑下面的示例,其中调用代理授权使用网关控制的传真处理过程:
- involving "image/t38" (e.g., T.38oUDPTL, T.38oTCP):
- 涉及“图像/t38”(例如T.38oUDPTL、T.38oTCP):
L: a:G729, fxr/fx:gw[image/t38]
L: a:G729, fxr/fx:gw[image/t38]
- involving VBD (e.g., PCMU and V.152):
- 涉及VBD(如PCMU和V.152):
L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes", fxr/fx:gw[audio/PCMU]
L: a:G729;PCMU, gpmd/gpmd:"PCMU vbd=yes", fxr/fx:gw[audio/PCMU]
- involving VBD with redundancy (e.g., PCMU, V.152, and RFC 2198):
- 涉及带冗余的VBD(如PCMU、V.152和RFC 2198):
L: a:G729;RED;PCMU, fmtp:"RED PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes", fxr/fx:gw[audio/RED|audio/PCMU]
L: a:G729;RED;PCMU, fmtp:"RED PCMU/PCMU", gpmd/gpmd:"PCMU vbd=yes", fxr/fx:gw[audio/RED|audio/PCMU]
Only "special fax handling" involving one of the specified MIME types is authorized. Support for "special fax handling" involving one of the specified MIME types MUST be negotiated, or this "instance" of the gateway procedure is not initiated. Consider the following example in which the Call Agent authorizes the use of a gateway controlled fax handling procedure:
仅授权涉及指定MIME类型之一的“特殊传真处理”。必须协商对涉及指定MIME类型之一的“特殊传真处理”的支持,否则不会启动网关过程的此“实例”。考虑下面的示例,其中调用代理授权使用网关控制的传真处理过程:
- involving "audio/t38" (e.g., T.38oRTP):
- 涉及“音频/t38”(例如T.38oRTP):
L: a:G729;t38, fxr/fx:gw[audio/t38]
L: a:G729;t38, fxr/fx:gw[audio/t38]
In this example, the call will fail if the gateway fails to negotiate "audio/t38".
在此示例中,如果网关无法协商“音频/t38”,则呼叫将失败。
The "fx" LocalConnectionOption MAY now involve multiple instances of the "gw" parameter, each with a different list of MIME types. In order to authorize "no special fax handling", the Call Agent MUST include the "gw" parameter without a MIME type, or the "off"
“fx”LocalConnectionOption现在可能涉及“gw”参数的多个实例,每个实例都有不同的MIME类型列表。为了授权“无特殊传真处理”,呼叫代理必须包含不带MIME类型的“gw”参数或“off”
parameter. The instance of the "gw" parameter without a MIME type should appear as the last instance of the "gw" parameter. In the following example,
参数没有MIME类型的“gw”参数实例应显示为“gw”参数的最后一个实例。在下面的示例中,
L: a:G729;PCMU, fxr/fx:gw[image/t38];gw
L: a:G729;PCMU, fxr/fx:gw[image/t38];gw
the Call Agent authorizes the use of, and expresses a preference for,
呼叫代理授权使用,并表示偏好,
1. Gateway controlled image/t38 (e.g., T.38oUDPTL)
1. 网关控制图像/t38(例如T.38oUDPTL)
2. Any other gateway procedure with "special fax handling"
2. “特殊传真处理”的任何其他网关程序
3. No special fax handling (this is a function of the "fxr/fx:gw" parameter as defined in Section 2.1 of the MGCP Fax (FXR) package [RFC5347])
3. 无特殊传真处理(这是MGCP传真(fxr)包[RFC5347]第2.1节中定义的“fxr/fx:gw”参数的函数)
If present, the "off" parameter should appear as the last parameter. In the following example,
如果存在,“关闭”参数应显示为最后一个参数。在下面的示例中,
L: a:G729;PCMU;t38, fxr/fx:gw[audio/t38];off
L: a:G729;PCMU;t38, fxr/fx:gw[audio/t38];off
the Call Agent authorizes the use of, and expresses a preference for,
呼叫代理授权使用,并表示偏好,
1. Gateway controlled audio/t38 (e.g., T.38oRTP)
1. 网关控制音频/t38(如T.38oRTP)
2. No special fax handling
2. 没有特殊的传真处理
We can express relative preferences for different gateway controlled fax handling procedures, not only with respect to one another, but with respect to T.38 procedures. Consider the following preferential list of fax handling procedures:
我们可以表达不同网关控制传真处理程序的相对偏好,不仅是相互之间的偏好,而且是T.38程序的偏好。考虑以下优先传真处理程序清单:
1. Gateway controlled audio/t38 (e.g., T.38oRTP)
1. 网关控制音频/t38(如T.38oRTP)
2. Gateway controlled image/t38 (e.g., T.38oUDPTL)
2. 网关控制图像/t38(例如T.38oUDPTL)
3. Call Agent controlled image/t38
3. 呼叫代理控制映像/t38
4. Gateway controlled VBD with redundancy (e.g., PCMU, V.152, and RFC 2198)
4. 网关控制的带冗余的VBD(如PCMU、V.152和RFC 2198)
5. Gateway controlled VBD without redundancy (e.g., PCMU and V.152)
5. 网关控制的无冗余VBD(如PCMU和V.152)
6. Any other gateway procedure with "special fax handling"
6. “特殊传真处理”的任何其他网关程序
7. No special fax handling (this is a function of the "fxr/fx:gw" parameter as defined in Section 2.1 of the MGCP Fax (FXR) package [RFC5347])
7. 无特殊传真处理(这是MGCP传真(fxr)包[RFC5347]第2.1节中定义的“fxr/fx:gw”参数的函数)
This would be expressed as
这将表示为:
L: a:G729;PCMU;t38;RED;PCMU, gpmd/gpmd:"PCMU:2 vbd=yes", fmtp:"RED PCMU:2/PCMU:2", fxr/fx:gw[audio/t38|image/t38];t38;gw[audio/RED|audio/PCMU:2];gw
L: a:G729;PCMU;t38;RED;PCMU, gpmd/gpmd:"PCMU:2 vbd=yes", fmtp:"RED PCMU:2/PCMU:2", fxr/fx:gw[audio/t38|image/t38];t38;gw[audio/RED|audio/PCMU:2];gw
Note that the bracketed form of the "gw" parameter is NOT defined as part of the VBD package. The bracketed form of the "gw" parameter is defined as an extension to the FXR package. Gateways that implement the bracketed form of the "gw" parameter MUST return this form of the parameter when capabilities are audited as illustrated by the following example:
请注意,“gw”参数的括号形式未定义为VBD包的一部分。“gw”参数的括号形式定义为FXR包的扩展。当审核能力时,实现括号内形式的“gw”参数的网关必须返回此形式的参数,如以下示例所示:
A: fxr/fx:t38;t38-loose;gw[audio/t38|image/t38];gw;off
A: fxr/fx:t38;t38-loose;gw[audio/t38|image/t38];gw;off
Support for the bracketed "gw" parameter MAY be spread across multiple capability lines:
对括号内“gw”参数的支持可能分布在多条能力线上:
A: a:RED;PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:gw[audio/RED|audio/PCMU] A: a:t38, fxr/fx:gw[audio/t38] A: a:image/t38, fxr/fx:t38;t38-loose;gw[image/t38]
A: a:RED;PCMU, p:10-40, e:on, s:off, m:sendonly;recvonly;sendrecv;inactive, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:gw[audio/RED|audio/PCMU] A: a:t38, fxr/fx:gw[audio/t38] A: a:image/t38, fxr/fx:t38;t38-loose;gw[image/t38]
A Call Agent SHOULD only attempt to leverage the bracketed form of the "gw" parameter in conjunction with an endpoint that indicates support for the bracketed syntax as part of its capabilities.
调用代理只应尝试将括号内形式的“gw”参数与表示支持括号内语法作为其功能一部分的端点结合使用。
Call Agents and gateways that do not support this form of the "gw" parameter MUST ignore the bracketed MIME type information consistent with the MGCP grammar [RFC3435].
不支持这种形式的“gw”参数的呼叫代理和网关必须忽略与MGCP语法一致的括号内MIME类型信息[RFC3435]。
In this section, we provide two call flow examples. The first one illustrates a modem call under gateway control using V.152. The second one illustrates a fax call under gateway control using V.152 and Call Agent controlled T.38.
在本节中,我们提供两个调用流示例。第一个示例说明了使用V.152在网关控制下进行的调制解调器呼叫。第二个示例说明了在网关控制下使用V.152和呼叫代理控制的T.38进行的传真呼叫。
In this example, both sides support gateway controlled VBD using V.152 with redundancy. We assume that the originating and terminating Call Agents communicate via the Session Initiation Protocol (SIP) [RFC3261]:
在本例中,双方都支持使用带冗余的V.152的网关控制VBD。我们假设发起和终止呼叫代理通过会话发起协议(SIP)[RFC3261]进行通信:
------------------------------------------------------------------ | #| GW-o | CA-o | CA-t | GW-t | |==|===============|===============|===============|===============| | 1| <-|CRCX | | | | 2| 200(sdp-o)|-> | | | | 3| | INVITE(sdp-o)|-> | | | 4| | | CRCX(sdp-o)|-> | | 5| | | <-|200 (sdp-t) | | 6| | <-|200(sdp-t) | | | 7| <-|MDCX(sdp-t) | | | | 8| 200|-> | | | |--|---------------|---------------|---------------|---------------| | 9| | | |<- ANS/T.30 CED| |10| | | <- NTFY(gwvbd start)| |11| | | 200|-> | |12|NTFY(gwvbd start) -> | | | |13| <-|200 | | | |--|---------------|---------------|---------------|---------------| |14| | | | (modem ends) | |15| | | <- NTFY(gwvbd stop) | |16| | | 200|-> | |17|NTFY(gwvbd stop) -> | | | |18| <-|200 | | | ------------------------------------------------------------------
------------------------------------------------------------------ | #| GW-o | CA-o | CA-t | GW-t | |==|===============|===============|===============|===============| | 1| <-|CRCX | | | | 2| 200(sdp-o)|-> | | | | 3| | INVITE(sdp-o)|-> | | | 4| | | CRCX(sdp-o)|-> | | 5| | | <-|200 (sdp-t) | | 6| | <-|200(sdp-t) | | | 7| <-|MDCX(sdp-t) | | | | 8| 200|-> | | | |--|---------------|---------------|---------------|---------------| | 9| | | |<- ANS/T.30 CED| |10| | | <- NTFY(gwvbd start)| |11| | | 200|-> | |12|NTFY(gwvbd start) -> | | | |13| <-|200 | | | |--|---------------|---------------|---------------|---------------| |14| | | | (modem ends) | |15| | | <- NTFY(gwvbd stop) | |16| | | 200|-> | |17|NTFY(gwvbd stop) -> | | | |18| <-|200 | | | ------------------------------------------------------------------
Step 1:
步骤1:
The Call Agent issues a CreateConnection command to the gateway, instructing it to use G.729 media encoding and to notify it of the "gwvbd" and "nopvbd" events. The Call Agent authorizes the negotiation of G.711u as a VBD codec with a redundancy level of one:
呼叫代理向网关发出CreateConnection命令,指示网关使用G.729媒体编码,并将“gwvbd”和“nopvbd”事件通知网关。呼叫代理授权G.711u作为冗余级别为1的VBD编解码器进行协商:
CRCX 1000 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU" M: recvonly R: vbd/gwvbd, vbd/nopvbd X: 1 Q: process, loop
CRCX 1000 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU" M: recvonly R: vbd/gwvbd, vbd/nopvbd X: 1 Q: process, loop
Step 2:
步骤2:
The gateway acknowledges the command and includes SDP with codec information as well as V.152 and redundancy information:
网关确认该命令,并包括带有编解码器信息以及V.152和冗余信息的SDP:
200 1000 OK I:1
200 1000 OK I:1
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Step 3:
步骤3:
The originating Call Agent sends a SIP INVITE message with the SDP to the terminating Call Agent.
发起呼叫代理使用SDP向终止呼叫代理发送SIP INVITE消息。
Step 4:
步骤4:
The terminating Call Agent issues a CreateConnection command to the terminating gateway, instructing it to use G.729 media encoding and to notify it of the "gwvbd" and "nopvbd" events. Again, the Call Agent authorizes the negotiation of G.711u as a VBD codec with a redundancy level of one:
终止呼叫代理向终止网关发出CreateConnection命令,指示其使用G.729媒体编码,并通知其“gwvbd”和“nopvbd”事件。同样,呼叫代理授权G.711u作为冗余级别为1的VBD编解码器进行协商:
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU" M: sendrecv R: vbd/gwvbd, vbd/nopvbd X: 20 Q: process, loop
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU" M: sendrecv R: vbd/gwvbd, vbd/nopvbd X: 20 Q: process, loop
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Step 5:
步骤5:
The terminating gateway supports V.152 and redundancy, and the RemoteConnectionDescriptor included indicates that the other side supports V.152 and redundancy. The terminating gateway sends back a success response with its SDP, which also includes V.152 and redundancy information:
终端网关支持V.152和冗余,包含的RemoteConnectionDescriptor指示另一端支持V.152和冗余。终端网关通过其SDP发回成功响应,SDP还包括V.152和冗余信息:
200 2000 OK I:2
200 2000 OK I:2
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Step 6:
步骤6:
The terminating Call Agent sends back a SIP 200 OK response to the originating Call Agent, which in turn sends a SIP ACK (not shown).
终止呼叫代理向发起呼叫代理发回SIP 200 OK响应,发起呼叫代理又发送SIP ACK(未示出)。
Step 7:
步骤7:
The originating Call Agent in turn sends a ModifyConnection command to the originating gateway:
发起呼叫代理依次向发起网关发送ModifyConnection命令:
MDCX 1001 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 M: sendrecv
MDCX 1001 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 M: sendrecv
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes
Since the RemoteConnectionDescriptor indicates that the other side supports V.152 and redundancy, the gateway will in fact be able to use the gateway controlled VBD procedure with redundancy. Had there not been any support for V.152 in the RemoteConnectionDescriptor, then this command would still have succeeded; however, there would be no negotiated procedure for VBD handling.
由于RemoteConnectionDescriptor指示另一端支持V.152和冗余,因此网关实际上能够使用网关控制的VBD过程和冗余。如果RemoteConnectionDescriptor中没有对V.152的任何支持,那么这个命令仍然会成功;但是,对于VBD的处理没有协商程序。
Step 8:
步骤8:
The gateway acknowledges the command. At this point, a call is established using G.729 encoding, and if a VBD call is detected, the gateway controlled VBD procedure will be initiated.
网关确认该命令。此时,使用G.729编码建立调用,如果检测到VBD调用,将启动网关控制的VBD过程。
Steps 9-10:
步骤9-10:
A modem call now occurs. The terminating gateway detects a T.30 CED tone (a.k.a. V.25 ANS) in the GSTN-to-IP direction and begins transmitting RTP packets with the negotiated redundant VBD payload type (96).
此时会发生调制解调器呼叫。终端网关在GSTN到IP方向上检测到T.30 CED音(又称V.25 ANS),并开始传输具有协商冗余VBD有效负载类型的RTP数据包(96)。
The "gwvbd(start)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(启动)”事件,并向呼叫代理发送Notify命令:
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=ANS, codec=audio/RED, coord=v152ptsw) X: 20
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=ANS, codec=audio/RED, coord=v152ptsw) X: 20
Step 11:
步骤11:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 2500 OK
200 2500行
Step 12:
步骤12:
Upon receiving an RTP packet with the redundant VBD payload type (96), the originating gateway begins transmitting RTP packets with the redundant VBD payload type.
在接收到具有冗余VBD有效负载类型(96)的RTP分组时,发起网关开始发送具有冗余VBD有效负载类型的RTP分组。
The "gwvbd(start)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(启动)”事件,并向呼叫代理发送Notify命令:
NTFY 1500 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED) X: 1
NTFY 1500 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED) X: 1
Step 13:
步骤13:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 1500 OK
200 1500行
Steps 14-15:
步骤14-15:
The modem call ends. The terminating gateway detects bidirectional silence and begins transmitting RTP packets with the negotiated audio payload type (18).
调制解调器呼叫结束。终端网关检测双向静默并开始发送具有协商的音频有效负载类型的RTP分组(18)。
The "gwvbd(stop)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(停止)”事件,并向呼叫代理发送Notify命令:
NTFY 2501 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(stop, rc=SIL, codec=audio/G729) X: 20
NTFY 2501 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(stop, rc=SIL, codec=audio/G729) X: 20
Step 16:
步骤16:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 2501 OK
2002501好
Step 17:
步骤17:
Upon receiving an RTP packet with the audio payload type (18), the originating gateway begins transmitting RTP packets with the audio payload type.
在接收到具有音频有效负载类型的RTP分组(18)时,发起网关开始发送具有音频有效负载类型的RTP分组。
The "gwvbd(stop)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(停止)”事件,并向呼叫代理发送Notify命令:
NTFY 1501 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(stop, rc=PTSW, codec=audio/G729) X: 1
NTFY 1501 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(stop, rc=PTSW, codec=audio/G729) X: 1
Step 18:
步骤18:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 1501 OK
2001501好
The modem call is now over.
调制解调器呼叫现在已结束。
9.2. Fax Call with Gateway Controlled VBD and Call Agent Controlled T.38
9.2. 网关控制VBD和呼叫代理控制T.38的传真呼叫
In this example, both sides support gateway controlled VBD using V.152 with redundancy and Call Agent controlled T.38. We assume that the originating and terminating Call Agent communicate via the Session Initiation Protocol (SIP) [RFC3261]:
在本例中,双方都支持使用V.152的网关控制的VBD,并使用冗余和呼叫代理控制的T.38。我们假设发起和终止呼叫代理通过会话发起协议(SIP)[RFC3261]进行通信:
------------------------------------------------------------------ | #| GW-o | CA-o | CA-t | GW-t | |==|===============|===============|===============|===============| | 1| <-|CRCX | | | | 2| 200(sdp-o)|-> | | | | 3| | INVITE(sdp-o)|-> | | | 4| | | CRCX(sdp-o)|-> | | 5| | | <-|200 (sdp-t) | | 6| | <-|200(sdp-t) | | | 7| <-|MDCX(sdp-t) | | | | 8| 200|-> | | | |--|---------------|---------------|---------------|---------------| | 9| | | |<- ANS/T.30 CED| |10| | | <- NTFY(gwvbd start)| |11| | | 200|-> | |12|NTFY(gwvbd start) -> | | | |13| <-|200 | | | |14| | | <- V.21 Preamble| |15| | | <- NTFY(t38 start)| |16| | | 200|-> | |17| | | MDCX(t38)|-> | |18| | | <-|200(sdp-t2) | |19| | <-|INVITE(sdp-t2) | | |20| <-|MDCX(sdp-t2) | | | |21| 200(sdp-o2)|-> | | | |22| | 200(sdp-o2)|-> | | |23| | | MDCX(sdp-o2)|-> | |24| | | <-|200 | |25| V.21 Preamble |-> | | | |26|NTFY(t38 start)|-> | | | |27| <-|200 | | | |--|---------------|---------------|---------------|---------------| |28| | | | (fax ends) | |29| | | <-|NTFY(t38 stop) | |30| | | 200|-> | |31|NTFY(t38 stop) |-> | | | |32| <-|200 | | | ------------------------------------------------------------------
------------------------------------------------------------------ | #| GW-o | CA-o | CA-t | GW-t | |==|===============|===============|===============|===============| | 1| <-|CRCX | | | | 2| 200(sdp-o)|-> | | | | 3| | INVITE(sdp-o)|-> | | | 4| | | CRCX(sdp-o)|-> | | 5| | | <-|200 (sdp-t) | | 6| | <-|200(sdp-t) | | | 7| <-|MDCX(sdp-t) | | | | 8| 200|-> | | | |--|---------------|---------------|---------------|---------------| | 9| | | |<- ANS/T.30 CED| |10| | | <- NTFY(gwvbd start)| |11| | | 200|-> | |12|NTFY(gwvbd start) -> | | | |13| <-|200 | | | |14| | | <- V.21 Preamble| |15| | | <- NTFY(t38 start)| |16| | | 200|-> | |17| | | MDCX(t38)|-> | |18| | | <-|200(sdp-t2) | |19| | <-|INVITE(sdp-t2) | | |20| <-|MDCX(sdp-t2) | | | |21| 200(sdp-o2)|-> | | | |22| | 200(sdp-o2)|-> | | |23| | | MDCX(sdp-o2)|-> | |24| | | <-|200 | |25| V.21 Preamble |-> | | | |26|NTFY(t38 start)|-> | | | |27| <-|200 | | | |--|---------------|---------------|---------------|---------------| |28| | | | (fax ends) | |29| | | <-|NTFY(t38 stop) | |30| | | 200|-> | |31|NTFY(t38 stop) |-> | | | |32| <-|200 | | | ------------------------------------------------------------------
Step 1:
步骤1:
The Call Agent issues a CreateConnection command to the gateway, instructing it to use G.729 media encoding and to use either the strict T.38 procedure or the gateway procedure. Consequently, the Call Agent requests notification of the "t38", "gwfax", "gwvbd", and "nopvbd" events. The Call Agent authorizes the negotiation of G.711u as a VBD codec with a redundancy level of one:
呼叫代理向网关发出CreateConnection命令,指示其使用G.729媒体编码,并使用strict T.38过程或网关过程。因此,呼叫代理请求通知“t38”、“gwfax”、“gwvbd”和“nopvbd”事件。呼叫代理授权G.711u作为冗余级别为1的VBD编解码器进行协商:
CRCX 1000 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:t38;gw M: recvonly R: fxr/t38, fxr/gwfax, vbd/gwvbd, vbd/nopvbd X: 1 Q: process, loop
CRCX 1000 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:t38;gw M: recvonly R: fxr/t38, fxr/gwfax, vbd/gwvbd, vbd/nopvbd X: 1 Q: process, loop
Step 2:
步骤2:
The gateway acknowledges the command and includes SDP with codec information as well as capability, V.152, and redundancy information:
网关确认该命令,并包括带有编解码器信息以及功能、V.152和冗余信息的SDP:
200 1000 OK I:1
200 1000 OK I:1
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 a=pmft: T38 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 a=pmft: T38 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
Note that V.152 requires the use of the session-level "a=pmft" SDP attribute in order to express a preference for T.38 over V.152 for fax handling.
请注意,V.152要求使用会话级别“a=pmft”SDP属性,以表示在传真处理方面,T.38优于V.152。
Step 3:
步骤3:
The originating Call Agent sends a SIP INVITE message with the SDP to the terminating Call Agent.
发起呼叫代理使用SDP向终止呼叫代理发送SIP INVITE消息。
Step 4:
步骤4:
The terminating Call Agent issues a CreateConnection command to the terminating gateway, instructing it to use G.729 media encoding and to use either the strict T.38 procedure or the gateway procedure. Consequently, the Call Agent requests
终止呼叫代理向终止网关发出CreateConnection命令,指示其使用G.729媒体编码,并使用严格的T.38过程或网关过程。因此,呼叫代理请求
notification of the "t38", "gwfax", "gwvbd", and "nopvbd" events. Again, the Call Agent authorizes the negotiation of G.711u as a VBD codec with a redundancy level of one:
“t38”、“gwfax”、“gwvbd”和“nopvbd”事件的通知。同样,呼叫代理授权G.711u作为冗余级别为1的VBD编解码器进行协商:
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:t38;gw M: sendrecv R: fxr/t38, fxr/gwfax, vbd/gwvbd, vbd/nopvbd X: 20 Q: process, loop
CRCX 2000 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 L: a:G729;RED;PCMU, gpmd/gpmd:"PCMU vbd=yes", fmtp:"RED PCMU/PCMU", fxr/fx:t38;gw M: sendrecv R: fxr/t38, fxr/gwfax, vbd/gwvbd, vbd/nopvbd X: 20 Q: process, loop
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 a=pmft: T38 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
v=0 o=- 25678 753849 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 a=pmft: T38 m=audio 3456 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
Step 5:
步骤5:
The terminating gateway supports T.38, and the RemoteConnectionDescriptor included indicates that the other side supports T.38 as well, so the strict T.38 Call Agent controlled procedure requested can be used. The terminating gateway supports V.152 and redundancy, and the RemoteConnectionDescriptor included indicates that the other side supports V.152 and redundancy, so gateway controlled VBD using V.152 and redundancy can be used for modem and text transmissions. The terminating gateway sends back a success response with its SDP, which also includes capability, V.152, and redundancy information:
终止网关支持T.38,其中包含的RemoteConnectionDescriptor表示另一端也支持T.38,因此可以使用严格的T.38调用代理控制过程。终端网关支持V.152和冗余,其中包含的RemoteConnectionDescriptor表示另一端支持V.152和冗余,因此使用V.152和冗余的网关控制的VBD可用于调制解调器和文本传输。终端网关通过其SDP发回成功响应,SDP还包括能力、V.152和冗余信息:
200 2000 OK I:2
200 2000 OK I:2
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2
v=0 o=-25678 753849在IP4 192.0.2.2中s=-c=在IP4 192.0.2.2中
t=0 0 a=pmft: T38 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
t=0 0 a=pmft: T38 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
Step 6:
步骤6:
The terminating Call Agent sends back a SIP 200 OK response to the originating Call Agent, which in turn sends a SIP ACK (not shown).
终止呼叫代理向发起呼叫代理发回SIP 200 OK响应,发起呼叫代理又发送SIP ACK(未示出)。
Step 7:
步骤7:
The originating Call Agent in turn sends a ModifyConnection command to the originating gateway:
发起呼叫代理依次向发起网关发送ModifyConnection命令:
MDCX 1001 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 M: sendrecv
MDCX 1001 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 M: sendrecv
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 a=pmft: T38 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
v=0 o=- 25678 753849 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 a=pmft: T38 m=audio 1296 RTP/AVP 18 96 97 a=rtpmap:96 RED/8000 a=fmtp:96 97/97 a=rtpmap:97 PCMU/8000 a=gpmd:97 vbd=yes a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cdsc: 4 image udptl t38
The ModifyConnection command does not repeat the LocalConnectionOptions sent previously. As far as fax handling is concerned, the gateway therefore attempts to continue using the current fax handling procedure, i.e., strict Call Agent controlled T.38. Since the capability information indicates that the other side supports T.38, the gateway will in fact be able to use the strict Call Agent controlled T.38 procedure. Since the
ModifyConnection命令不会重复先前发送的LocalConnectionOptions。就传真处理而言,网关因此试图继续使用当前的传真处理程序,即严格的呼叫代理控制的T.38。由于能力信息表明另一方支持T.38,网关实际上将能够使用严格的呼叫代理控制的T.38过程。自从
RemoteConnectionDescriptor indicates that the other side supports V.152 and redundancy, the gateway will in fact be able to use the V.152 VBD procedure with redundancy.
RemoteConnectionDescriptor表示另一端支持V.152和冗余,网关实际上将能够使用具有冗余的V.152 VBD过程。
Step 8:
步骤8:
The gateway acknowledges the command. At this point, a call is established using G.729 encoding, and if a fax call is detected, the Call Agent controlled T.38 procedure will be initiated. If a modem or text call is detected, the V.152 VBD procedure will be initiated.
网关确认该命令。此时,使用G.729编码建立呼叫,如果检测到传真呼叫,呼叫代理控制的T.38程序将启动。如果检测到调制解调器或文本呼叫,将启动V.152 VBD程序。
Steps 9-10:
步骤9-10:
The terminating gateway detects the T.30 CED tone (a.k.a. V.25 ANS). Since both fax and modem calls can start with this sequence, it is not possible to determine that this is a fax call until step 14, where the V.21 fax preamble is detected. The terminating gateway begins transmitting RTP packets with the negotiated redundant VBD payload type (96).
终端网关检测T.30 CED音(也称为V.25 ANS)。由于传真和调制解调器呼叫都可以按此顺序开始,因此在检测到V.21传真前导码的步骤14之前,无法确定这是传真呼叫。终端网关开始传输具有协商的冗余VBD有效负载类型的RTP数据包(96)。
The "gwvbd(start)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(启动)”事件,并向呼叫代理发送Notify命令:
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=ANS, codec=audio/RED, coord=v152ptsw) X: 20
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=ANS, codec=audio/RED, coord=v152ptsw) X: 20
Step 11:
步骤11:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 2500 OK
200 2500行
Step 12:
步骤12:
Upon receiving an RTP packet with the redundant VBD payload type (96), the originating gateway begins transmitting RTP packets with the redundant VBD payload type.
在接收到具有冗余VBD有效负载类型(96)的RTP分组时,发起网关开始发送具有冗余VBD有效负载类型的RTP分组。
The "gwvbd(start)" event occurs, and a Notify command is sent to the Call Agent:
发生“gwvbd(启动)”事件,并向呼叫代理发送Notify命令:
NTFY 1500 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED) X: 1
NTFY 1500 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 O: vbd/gwvbd(start, rc=PTSW, codec=audio/RED) X: 1
Step 13:
步骤13:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 1500 OK
200 1500行
Steps 14-15:
步骤14-15:
The terminating gateway detects the V.21 fax preamble.
终止网关检测V.21传真前导。
The terminating gateway is using the Call Agent controlled T.38 strict procedure for fax calls, so the "t38(start)" event occurs, and a Notify command is sent to the Call Agent:
终止网关使用呼叫代理控制的T.38传真呼叫严格程序,因此发生“t38(启动)”事件,并向呼叫代理发送Notify命令:
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: fxr/t38(start) X: 20
NTFY 2500 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 O: fxr/t38(start) X: 20
Step 16:
步骤16:
The Call Agent acknowledges the Notify command:
呼叫代理确认Notify命令:
200 2500 OK
200 2500行
Step 17:
步骤17:
The Call Agent then instructs the terminating gateway to change to using the "image/t38" MIME type instead:
呼叫代理然后指示终止网关改为使用“image/t38”MIME类型:
MDCX 2002 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 I: 2 L: a:image/t38 R: fxr/t38 X: 21
MDCX 2002 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 I: 2 L: a:image/t38 R: fxr/t38 X: 21
Note that the Call Agent is no longer requesting notification of the "gwvbd" event.
请注意,呼叫代理不再请求“gwvbd”事件的通知。
Step 18:
步骤18:
The terminating gateway sends back a success response with its SDP, which also includes the "image/t38" media description:
终止网关通过其SDP发回成功响应,SDP还包括“image/t38”媒体描述:
200 2002 OK
200200200OK
v=0 o=- 25678 753850 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=image 1296 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
v=0 o=- 25678 753850 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2 t=0 0 m=image 1296 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
The gwvbd procedure ends due to the media type change. The "gwvbd(stop)" event notification would normally be sent at this point; however, the Call Agent is no longer requesting notification of the "gwvbd" event. The Call Agent would have inferred from the "t38(start)" event that the gwvbd procedure ended.
由于介质类型更改,gwvbd过程结束。此时通常会发送“gwvbd(停止)”事件通知;但是,呼叫代理不再请求“gwvbd”事件的通知。调用代理将从“t38(start)”事件推断gwvbd过程已结束。
Step 19:
步骤19:
The terminating Call Agent sends a re-INVITE to the originating Call Agent with the updated SDP.
终止呼叫代理使用更新的SDP向发起呼叫代理发送重新邀请。
Step 20:
步骤20:
The originating Call Agent then sends a ModifyConnection command to the originating gateway:
然后,发起呼叫代理向发起网关发送ModifyConnection命令:
MDCX 1003 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 R: fxr/t38 X: 2
MDCX 1003 ds/ds1-1/1@gw-o.whatever.net MGCP 1.0 C: 1 I: 1 R: fxr/t38 X: 2
v=0 o=- 25678 753850 IN IP4 192.0.2.2 s=- c=IN IP4 192.0.2.2
v=0 o=-25678 753850在IP4 192.0.2.2中s=-c=在IP4 192.0.2.2中
t=0 0 m=image 1296 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
t=0 0 m=image 1296 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
Step 21:
步骤21:
The originating gateway changes to T.38 and sends back a success response with the updated SDP:
发起网关更改为T.38,并使用更新的SDP发回成功响应:
200 1003 OK
2001003好
v=0 o=- 25678 753850 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=image 3456 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
v=0 o=- 25678 753850 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=image 3456 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
Again, the gwvbd procedure ends due to the media type change. The "gwvbd(stop)" event notification would normally be sent at this point; however, the Call Agent is no longer requesting notification of the "gwvbd" event.
同样,由于介质类型更改,gwvbd过程结束。此时通常会发送“gwvbd(停止)”事件通知;但是,呼叫代理不再请求“gwvbd”事件的通知。
Step 22:
步骤22:
The originating Call Agent sends a SIP 200 OK response with the updated SDP to the terminating Call Agent, which in turn sends a SIP ACK (not shown).
发起呼叫代理向终止呼叫代理发送带有更新的SDP的SIP 200 OK响应,终止呼叫代理随后发送SIP ACK(未示出)。
Step 23:
步骤23:
The terminating Call Agent sends a ModifyConnection with the updated SDP to the terminating gateway:
终止呼叫代理向终止网关发送带有更新SDP的ModifyConnection:
MDCX 2002 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 I: 2
MDCX 2002 ds/ds1-1/2@gw-t.whatever.net MGCP 1.0 C: 2 I: 2
v=0 o=- 25678 753850 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=image 3456 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
v=0 o=- 25678 753850 IN IP4 192.0.2.1 s=- c=IN IP4 192.0.2.1 t=0 0 m=image 3456 udptl t38 a=sqn: 0 a=cdsc: 1 audio RTP/AVP 18 96 97 a=cpar: a=rtpmap:96 RED/8000 a=cpar: a=fmtp:96 97/97 a=cpar: a=rtpmap:97 PCMU/8000 a=cpar: a=gpmd:97 vbd=yes a=cdsc: 4 image udptl t38
Steps 24-32:
步骤24-32:
These steps correspond to the Call Agent controlled T.38 strict procedure as defined in the MGCP Fax (FXR) package [RFC5347].
这些步骤对应于MGCP传真(FXR)包[RFC5347]中定义的呼叫代理控制的T.38严格程序。
This document defines two new packages, both of which have security considerations in two areas:
本文档定义了两个新包,这两个包在两个方面都有安全考虑:
1. MGCP signaling message security
1. MGCP信令消息安全
2. Media stream security
2. 媒体流安全
From an MGCP signaling security point of view, the MGCP VBD and GPMD packages define extensions to the basic MGCP signaling specification in accordance with the procedures specified in MGCP [RFC3435], and hence the MGCP signaling security considerations and recommendations provided in Section 5 of [RFC3435] (namely the use of IPsec) apply here as well. Lack of MGCP signaling integrity protection can in general be detrimental to any use of MGCP, and the two packages defined here do not change that. From a confidentiality point of view, the VBD package is not believed to convey any vulnerable or privacy-sensitive information. The GPMD package is slightly different inasmuch as it does not define any specific parameters that
从MGCP信令安全的角度来看,MGCP VBD和GPMD包根据MGCP[RFC3435]中规定的程序定义了对基本MGCP信令规范的扩展,从而定义了[RFC3435]第5节中提供的MGCP信令安全注意事项和建议(即IPsec的使用)在这里也适用。缺少MGCP信令完整性保护通常会对MGCP的任何使用造成不利影响,此处定义的两个包不会改变这一点。从保密性的角度来看,VBD软件包不会传递任何易受攻击或隐私敏感的信息。GPMD包略有不同,因为它没有定义任何特定的参数
are believed to require confidentiality; however, it is a generic parameter that can carry any codec parameter information, and hence it is possible that confidential information is conveyed through this parameter. If confidentiality of any such potential information is a concern, confidentiality protection of the MGCP signaling MUST be provided as well. It should be noted that Section 8 of [RFC5406] provides considerations for specifying the use of IPsec that are above and beyond those provided in [RFC3435]; however, given that the use of IPsec for MGCP applies to all of MGCP, and not just the MGCP VBD and GPMD packages, we do not specify such additional detail here.
被认为需要保密;但是,它是一个通用参数,可以携带任何编解码器参数信息,因此机密信息可能通过该参数传递。如果担心任何此类潜在信息的机密性,则还必须提供MGCP信令的保密保护。应注意的是,[RFC5406]第8节规定了在[RFC3435]中规定的基础上指定IPsec使用的注意事项;但是,鉴于IPsec对MGCP的使用适用于所有MGCP,而不仅仅是MGCP VBD和GPMD包,我们在此不指定此类附加细节。
From a media stream security point of view, the MGCP VBD and GPMD packages again define extensions that rely on the general use of media streams defined in MGCP [RFC3435], and hence the MGCP media stream security considerations and recommendations provided in Section 5.1 of [RFC3435] apply here as well. Lack of media stream security can in general be detrimental to any media stream established via MGCP, and the two packages defined here do not change that. Confidentiality concerns apply as for any other media stream. Integrity concerns are further compounded by the GPMD package's use of payload type switching, state signaling events, and media stream in-band triggers to drive overall Voiceband Data operation: Integrity protection with replay protection MUST be used to counter these threats.
从媒体流安全的角度来看,MGCP VBD和GPMD包再次定义了依赖于MGCP[RFC3435]中定义的媒体流的一般用途的扩展,因此[RFC3435]第5.1节中提供的MGCP媒体流安全注意事项和建议也适用于此。缺乏媒体流安全性通常会对通过MGCP建立的任何媒体流造成不利影响,这里定义的两个包不会改变这一点。保密问题适用于任何其他媒体流。GPMD包使用有效负载类型切换、状态信令事件和媒体流带内触发器来驱动整个声带数据操作,这进一步加剧了完整性问题:必须使用完整性保护和重播保护来应对这些威胁。
Ideally, there would be a single mandatory-to-implement media stream security mechanism to provide this integrity protection, and in theory there is, since MGCP [RFC3435] defines a media stream security mechanism. However, the standard MGCP media stream security mechanism defined in [RFC3435] relies on the encryption key ("k=") field defined in the original SDP specification [RFC2327], the use of which is no longer recommended in the current SDP specification [RFC4566]. In practice, this mechanism has also seen very limited implementation, and hence there is not much value in relying on it. Still, the integrity protection requirement remains, and there are several different ways this can be achieved:
理想情况下,将有一个单一的强制实施媒体流安全机制来提供这种完整性保护,理论上是这样的,因为MGCP[RFC3435]定义了媒体流安全机制。但是,[RFC3435]中定义的标准MGCP媒体流安全机制依赖于原始SDP规范[RFC2327]中定义的加密密钥(“k=”)字段,当前SDP规范[RFC4566]不再建议使用该字段。实际上,这一机制的实施也非常有限,因此依赖它没有多大价值。尽管如此,完整性保护要求仍然存在,可以通过几种不同的方式实现:
Secure RTP: For RTP-based media streams, the use of Secure RTP [RFC3711] with an associated key management mechanism is generally preferred at the time of this writing; however, such a mechanism has currently not been defined for MGCP.
安全RTP:对于基于RTP的媒体流,在撰写本文时,通常首选使用带有相关密钥管理机制的安全RTP[RFC3711];然而,目前尚未为MGCP定义此类机制。
PacketCable Security: The PacketCable Network-Based Call Signaling Protocol [NCS] defines another media stream security mechanism that is generally supported by PacketCable-compliant implementations. Implementations targeted for those environments SHOULD implement this security mechanism.
PacketCable安全性:基于PacketCable网络的呼叫信令协议[NCS]定义了另一种媒体流安全机制,该机制通常由PacketCable兼容实现支持。针对这些环境的实现应该实现这种安全机制。
Lower-Level Security: In the absence of a common media stream security mechanism supported by both endpoints, a lower-level security mechanism, e.g., IPsec, MUST be used. Note that since there is no inherent MGCP signaling support for such a lower-level security mechanism, it MUST be configured by other means.
较低级别的安全性:如果两个端点都不支持公共媒体流安全机制,则必须使用较低级别的安全机制,例如IPsec。注意,由于这种较低级别的安全机制没有固有的MGCP信令支持,因此必须通过其他方式对其进行配置。
The IANA has registered the following MGCP packages:
IANA已注册以下MGCP包:
Package Title Name Version ------------- ---- ------- Voiceband Data VBD 0 General-Purpose Media Descriptor Parameter GPMD 0
Package Title Name Version ------------- ---- ------- Voiceband Data VBD 0 General-Purpose Media Descriptor Parameter GPMD 0
Several people have contributed to the development of the MGCP VBD and GPMD packages and the use of the MIME subtypes "RED" and "parityfec" with the FM package for VBD with redundancy and FEC. In particular, the authors would like to thank Flemming Andreasen, John Atkinson, Bill Foster, and the CableLabs PacketCable TGCP/NCS focus team for their contributions. Many thanks to Billy Hare for doing a thorough review of this document.
一些人对MGCP VBD和GPMD包的开发以及MIME子类型“RED”和“parityfec”与FM包(用于VBD,带有冗余和FEC)的使用做出了贡献。作者特别要感谢Flemming Andreasen、John Atkinson、Bill Foster和CableLabs PacketCable TGCP/NCS焦点团队的贡献。非常感谢Billy Hare对本文件进行了全面审查。
Joe Stone and Rajesh Kumar are the main authors of this document; security considerations and final editor role were provided by Flemming Andreasen. Sandeep Sharma was editor on earlier versions of the document.
Joe Stone和Rajesh Kumar是本文件的主要作者;Flemming Andreasen提供了安全注意事项和最终编辑角色。Sandeep Sharma是该文档早期版本的编辑。
[H2482] International Telecommunication Union - Telecommunication Standardization Sector, "Gateway control protocol: Facsimile, text conversation and call discrimination packages", ITU-T Recommendation H.248.2, November 2000.
[H2482]国际电信联盟-电信标准化部门,“网关控制协议:传真、文本对话和呼叫识别包”,ITU-T建议H.248.2,2000年11月。
[NCS] CableLabs(R), "PacketCable(TM) 1.5 Specifications: Network-Based Call Signaling Protocol, PKT-SP-NCS1.5-I03- 070412", April 2007.
[NCS]CableLabs(R),“PacketCable(TM)1.5规范:基于网络的呼叫信令协议,PKT-SP-NCS1.5-I03-070412”,2007年4月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-Parisis, "RTP Payload for Redundant Audio Data", RFC 2198, September 1997.
[RFC2198]Perkins,C.,Kouvelas,I.,Hodson,O.,Hardman,V.,Handley,M.,Bolot,J.,Vega Garcia,A.,和S.Fosse Parisis,“冗余音频数据的RTP有效载荷”,RFC 21981997年9月。
[RFC3407] Andreasen, F., "Session Description Protocol (SDP) Simple Capability Declaration", RFC 3407, October 2002.
[RFC3407]Andreasen,F.,“会话描述协议(SDP)简单能力声明”,RFC3407,2002年10月。
[RFC3435] Andreasen, F. and B. Foster, "Media Gateway Control Protocol (MGCP) Version 1.0", RFC 3435, January 2003.
[RFC3435]Andreasen,F.和B.Foster,“媒体网关控制协议(MGCP)1.0版”,RFC 3435,2003年1月。
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.
[RFC3550]Schulzrinne,H.,Casner,S.,Frederick,R.,和V.Jacobson,“RTP:实时应用的传输协议”,STD 64,RFC 35502003年7月。
[RFC3660] Foster, B. and F. Andreasen, "Basic Media Gateway Control Protocol (MGCP) Packages", RFC 3660, December 2003.
[RFC3660]Foster,B.和F.Andreasen,“基本媒体网关控制协议(MGCP)包”,RFC 3660,2003年12月。
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006.
[RFC4566]Handley,M.,Jacobson,V.,和C.Perkins,“SDP:会话描述协议”,RFC4566,2006年7月。
[RFC4733] Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals", RFC 4733, December 2006.
[RFC4733]Schulzrinne,H.和T.Taylor,“DTMF数字、电话音和电话信号的RTP有效载荷”,RFC 47332006年12月。
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for Modem, Fax, and Text Telephony Signals", RFC 4734, December 2006.
[RFC4734]Schulzrinne,H.和T.Taylor,“调制解调器、传真和文本电话信号事件的定义”,RFC 47342006年12月。
[RFC5109] Li, A., Ed., "RTP Payload Format for Generic Forward Error Correction", RFC 5109, December 2007.
[RFC5109]Li,A.,Ed.“通用前向纠错的RTP有效载荷格式”,RFC 5109,2007年12月。
[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234]Crocker,D.,Ed.,和P.Overell,“语法规范的扩充BNF:ABNF”,STD 68,RFC 5234,2008年1月。
[RFC5347] Andreasen, F. and D. Hancock, "Media Gateway Control Protocol Fax Package", RFC 5347, October 2008.
[RFC5347]Andreasen,F.和D.Hancock,“媒体网关控制协议传真包”,RFC 5347,2008年10月。
[V1501] International Telecommunication Union - Telecommunication Standardization Sector, "Modem-over-IP networks: Procedures for the end-to-end connection of V-series DCEs", ITU-T Recommendation V.150.1, January 2003.
[V1501]国际电信联盟-电信标准化部门,“IP网络上的调制解调器:V系列DCE的端到端连接程序”,ITU-T建议V.150.1,2003年1月。
[V1501A1] International Telecommunication Union - Telecommunication Standardization Sector, "Modem-over-IP networks: Procedures for the end-to-end connection of V-series DCEs, Amendment 1: Modification to SSE reason identifier codes to support voice band data and text relay", ITU-T Recommendation V.150.1 Amendment 1, January 2005.
[V1501A1]国际电信联盟-电信标准化部门,“IP网络上的调制解调器:V系列DCE端到端连接程序,修改件1:修改SSE原因标识符代码以支持声带数据和文本中继”,ITU-T建议V.150.1修改件1,2005年1月。
[V152] International Telecommunication Union - Telecommunication Standardization Sector, "Procedures for supporting Voice-Band Data over IP Networks", ITU-T Recommendation V.152, January 2005.
[V152]国际电信联盟-电信标准化部门,“支持IP网络上语音带数据的程序”,ITU-T建议V.152,2005年1月。
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998.
[RFC2327]Handley,M.和V.Jacobson,“SDP:会话描述协议”,RFC 2327,1998年4月。
[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.
[RFC3261]Rosenberg,J.,Schulzrinne,H.,Camarillo,G.,Johnston,A.,Peterson,J.,Sparks,R.,Handley,M.,和E.Schooler,“SIP:会话启动协议”,RFC 3261,2002年6月。
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004.
[RFC3711]Baugher,M.,McGrew,D.,Naslund,M.,Carrara,E.,和K.Norrman,“安全实时传输协议(SRTP)”,RFC 37112004年3月。
[RFC5406] Bellovin, S., "Guidelines for Specifying the Use of IPsec Version 2", BCP 146, RFC 5406, February 2009.
[RFC5406]Bellovin,S.,“指定IPsec版本2使用的指南”,BCP 146,RFC 5406,2009年2月。
[T38] International Telecommunication Union - Telecommunication Standardization Sector, "Procedures for real-time Group 3 facsimile communication over IP networks", ITU-T Recommendation T.38, April 2004.
[T38]国际电信联盟-电信标准化部门,“IP网络实时第3组传真通信程序”,ITU-T建议T.38,2004年4月。
Authors' Addresses
作者地址
Joe Stone Cisco Systems 2200 East President George Bush Highway Richardson, TX 75082 USA
乔·斯通思科系统2200美国德克萨斯州理查森市东总统乔治·布什公路75082号
EMail: joestone@cisco.com URI: http://www.cisco.com/
EMail: joestone@cisco.com URI: http://www.cisco.com/
Rajesh Kumar Cisco Systems Mail Stop SJCE/1/1 190 West Tasman Drive San Jose, CA 95134 USA
Rajesh Kumar Cisco系统邮件站SJCE/1/1 190美国加利福尼亚州圣何塞西塔斯曼大道95134号
EMail: rkumar@cisco.com URI: http://www.cisco.com/
EMail: rkumar@cisco.com URI: http://www.cisco.com/
Flemming Andreasen Cisco Systems Iselin, NJ 08830 USA
弗莱明·安德烈森思科系统公司,美国新泽西州伊塞林08830
EMail: fandreas@cisco.com URI: http://www.cisco.com/
EMail: fandreas@cisco.com URI: http://www.cisco.com/