Subject: [Megaco] The definition of the Gain Control property in Megaco is unclear

From: Nigel Williams <[email-masked]>
Date: Wed, 26 Jun 2002 08:17:59 +0100

Hello list,

There appears to be some confusion in RFC3015 and the corrections over the
gain control property in the TDM Circuit Package.

In the ABNF specification of the text version of the protocol, the TDMC/GAIN
property is defined as follows (A) in RFC3015corr01.

   Gain Control
   ------------
   PropertyID: gain (0x000a)

   Gain control, or usage of of signal level adaptation and noise level
   reduction is used to adapt the level of the signal. However, it is
   necessary, for example for modem calls, to turn off this function.

   Type: integer

   Possible Values:
   The gain control parameter may either be specified as "automatic"
   (0xffffffff), or as an explicit number of decibels of gain (any other
   integer value).  The default is provisioned in the MG.

   Defined In: LocalControlDescriptor

   Characteristics: read/write

Note that the type is corrected from "enumeration (integer)" as it appears
in RFC3015.  An integer is defined in Standard Section 12.1.2 as a 4-byte
signed integer.

On the other hand, in the ASN.1 specification of the binary version of the
protocol, there is the following definition (B) in RFC3015.

C.1 General Media Attributes

  +-------------------+------+-------------+---------------------------+
  |  PropertyID       | Tag  | Type        | Value                     |
  +-------------------+------+-------------+---------------------------+
  | Gain              | 100C | Unsigned    | Gain in db: 0-65535       |
  |                   |      | Integer     |                           |
  +-------------------+------+-------------+---------------------------+

Definitions A and B appear to be the only references to "gain" in RFC3015
and its corrections.

I'd like to get some consensus on the following issues.

1.  Are A and B intended to refer to the same thing?  In the discussion on
this which I found on the mailing list, dating back to October 2001, one
contributor was of the opinion that they do not need to.  I would say, it is
definitely desirable that they should refer to the same thing because
otherwise there will be an MG property which can be set by the binary
protocol and not by the text protocol, and one with the opposite character.

2.  It seems sensible to allow negative values for the gain property.  The
decibel scale in which gain is specified is logarithmic, so a negative gain
indicates a reduction of signal strength to a fraction of its former value,
rather than negative signal strength (which would be of little use).  This
makes a case for changing (B) to agree with (A) in this respect at least.

3.  The natural way to specify a decibel value of gain is, as in (B), as a
decimal.  The use of 0xffffffff to mean "automatic" is problematic in two
ways.

- the natural way for many parsers to interpret the string "0xffffffff" is
as a string, rather than a numerical value.

- if the 4-byte value 0xffffffff is converted to a long signed decimal, the
result is -1.  The current definition provides no way to distinguish the
"automatic" value from -1dB.

I suggest the following.

- The two definitions should be changed so that they agree and refer to the
same property.

- The gain should always be specified as a decimal value.

- The gain should be a signed integer.

- The "automatic" value should be a large decimal constant (my understanding
is that a value such as 1000000 dB is too large to be useful as a gain
setting).

Does anyone have any comments on this?

Thanks
Nigel

Nigel Williams
Voice Networking Group
Data Connection Ltd
Tel: +44 20 8366 1177
Fax: +44 20 8363 1039
Email: [email-masked]
Web: http://www.dataconnection.com

_______________________________________________
Megaco mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/megaco