Re: [MMUSIC] Telephone-event and multiple clock rates

"Stach, Thomas" <thomas.stach@unify.com> Fri, 24 January 2014 07:19 UTC

Return-Path: <thomas.stach@unify.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 008161A010E for <mmusic@ietfa.amsl.com>; Thu, 23 Jan 2014 23:19:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.434
X-Spam-Level:
X-Spam-Status: No, score=-0.434 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, RP_MATCHES_RCVD=-0.535] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id seMfFZzRX431 for <mmusic@ietfa.amsl.com>; Thu, 23 Jan 2014 23:19:43 -0800 (PST)
Received: from mx11.unify.com (mx11.unify.com [62.134.46.9]) by ietfa.amsl.com (Postfix) with ESMTP id 42D791A013A for <mmusic@ietf.org>; Thu, 23 Jan 2014 23:19:43 -0800 (PST)
Received: from MCHP01HTC.global-ad.net (unknown [172.29.42.234]) by mx11.unify.com (Server) with ESMTP id A2C231EB8588; Fri, 24 Jan 2014 08:19:41 +0100 (CET)
Received: from MCHP04MSX.global-ad.net ([169.254.1.183]) by MCHP01HTC.global-ad.net ([172.29.42.234]) with mapi id 14.03.0123.003; Fri, 24 Jan 2014 08:19:41 +0100
From: "Stach, Thomas" <thomas.stach@unify.com>
To: Adam Roach <adam@nostrum.com>
Thread-Topic: [MMUSIC] Telephone-event and multiple clock rates
Thread-Index: AQHPGHg+Hoa1O/rTbkS9JzrtRXTrK5qTdMaA
Date: Fri, 24 Jan 2014 07:19:40 +0000
Message-ID: <F81CEE99482EFE438DAE2A652361EE1217A2E16D@MCHP04MSX.global-ad.net>
References: <52E178F6.70009@nostrum.com>
In-Reply-To: <52E178F6.70009@nostrum.com>
Accept-Language: de-AT, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.29.42.225]
Content-Type: multipart/alternative; boundary="_000_F81CEE99482EFE438DAE2A652361EE1217A2E16DMCHP04MSXglobal_"
MIME-Version: 1.0
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] Telephone-event and multiple clock rates
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jan 2014 07:19:46 -0000

Adam,

there is an errata that covers the issue.
http://www.rfc-editor.org/errata_search.php?rfc=4733 (close to bottom)
It points to some discussion at
http://tools.ietf.org/wg/avtext/minutes?item=minutes-85-avtext.html (close to bottom)

From that I understand that the negotiated audio codec determines the clock rate for DTMF.
It still remains interesting what his means if two codecs with different clock rates were negotiated and codec-switching-on-the-fly happens.

Kind Regards/mit freundlichen Grüßen
Thomas Stach

From: mmusic [mailto:mmusic-bounces@ietf.org] On Behalf Of Adam Roach
Sent: Donnerstag, 23. Januar 2014 21:18
To: mmusic@ietf.org
Subject: [MMUSIC] Telephone-event and multiple clock rates

I've had an interesting issue brought to my attention regarding RFC4473 "telephone-event" handling.

Section 2.1 requires that "Named telephone events are carried as part of the audio stream and MUST use the same sequence number and timestamp base as the regular audio channel".

On its face, this would imply that offering voice codecs with varying clock rates would result in the need to offer several PTs with telephone-event, varying only in frequency.

So, for example, if we were setting up a media session that looked like this

   m=audio 12346 RTP/AVP 0 97 98 99
   a=rtpmap:0 PCMU/8000
   a=rtpmap:97 opus/4800 0/2
   a=rtpmap:98 AMR-WB/16000
   a=rtpmap:99 speex/32000

But want to add telephone-event to it, we would need to do this:

   m=audio 12346 RTP/AVP 0 97 98 99 100 101 102 103
   a=rtpmap:0 PCMU/8000
   a=rtpmap:97 opus/48000/2
   a=rtpmap:98 AMR-WB/16000
   a=rtpmap:99 speex/32000
   a=rtpmap:100 telephone-event/8000
   a=fmtp:100 0-15
   a=rtpmap:101 telephone-event/48000
   a=fmtp:101 0-15
   a=rtpmap:102 telephone-event/16000
   a=fmtp:102 0-15
   a=rtpmap:103 telephone-event/32000
   a=fmtp:103 0-15


Rather than this:

   m=audio 12346 RTP/AVP 0 97 98 99 100
   a=rtpmap:0 PCMU/8000
   a=rtpmap:0 PCMA/8000
   a=rtpmap:97 opus/48000/2
   a=rtpmap:98 AMR-WB/16000
   a=rtpmap:99 speex/32000
   a=rtpmap:100 telephone-event/8000
   a=fmtp:100 0-15


And then it would be incumbent on the remote end to ensure that they use the *correct* DTMF PT to match the codec that they're using for speech.

This all seems like patent nonsense, and it burns an additional PT for each clock rate. Is that really what was intended by this language in RFC 4733?

/a