Subject: RE: [Megaco] The definition of the Gain Control property in Megac o isunclear

From: Nigel Williams <[email-masked]>
Date: Thu, 11 Jul 2002 12:50:20 +0100

Hello Chuong and list,

We are a Megaco stack vendor and so our immediate interest is standards
consistency. However, we have a customer who is using the tdmc/gain property
on a per-call basis to control the signal strength conveyed by the codec
used on the RTP stream.

Our customer makes use of negative as well as positive gain values so the
0xFFFFFFFF issue is significant. Is anybody able to provide some input on
this issue?

Thanks
Nigel

-----Original Message-----
From: Chuong N. Nguyen [mailto:[email-masked]]
Sent: 27 June 2002 16:27
To: Nigel Williams
Subject: Re: [Megaco] The definition of the Gain Control property in Megaco
isunclear

Since you are interested in this property, are you actually using this in a
real implementation? 
The reason I asked - I have not been able to figure out how this property
can be used at all. 
Especially on a per call basis. 

Or are you just looking for Standard consistency? 

Nigel Williams wrote: 

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 <http://www.dataconnection.com>  

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

-- 

  Alcatel USA, Inc             Internet: [email-masked]

  1000 Coit Road Plano, Texas 75075           Phone:    (972) 519-4613

  **** The opinions expressed are not those of Alcatel USA, Inc ****