Re: [MEDIACTRL] Chaining the MRB function

"MUNSON, GARY A" <> Thu, 15 September 2011 14:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 50B1821F8B28 for <>; Thu, 15 Sep 2011 07:28:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id lpCDLNXukE6R for <>; Thu, 15 Sep 2011 07:28:23 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 5D9F121F8B1B for <>; Thu, 15 Sep 2011 07:28:23 -0700 (PDT)
X-Originating-IP: []
X-StarScan-Version: 6.3.6; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8203 invoked from network); 15 Sep 2011 14:30:34 -0000
Received: from (HELO ( by with DHE-RSA-AES256-SHA encrypted SMTP; 15 Sep 2011 14:30:34 -0000
Received: from (localhost.localdomain []) by (8.14.4/8.14.4) with ESMTP id p8FEUxsw018217; Thu, 15 Sep 2011 10:30:59 -0400
Received: from ( []) by (8.14.4/8.14.4) with ESMTP id p8FEUqMD018057 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 15 Sep 2011 10:30:52 -0400
Received: from ([]) by ([]) with mapi id 14.01.0289.001; Thu, 15 Sep 2011 10:30:26 -0400
From: "MUNSON, GARY A" <>
To: "DRAGE, Keith (Keith)" <>, "" <>
Thread-Topic: Chaining the MRB function
Thread-Index: Acxzl90rzZZpFizWR9i7i3WVShXHrwAFdQCg
Date: Thu, 15 Sep 2011 14:30:25 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [MEDIACTRL] Chaining the MRB function
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Media Control WG Discussion List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 15 Sep 2011 14:28:24 -0000

Hi Keith,

I don't think this was ever explicitly discussed. We assumed a single logical MRB, and by definition (so far), MRB identifies a media resource (i.e., MRFC/MS) not possibly another MRB. I think of your scenario as an implementation that distributes MRB functionality and knowledge, as opposed to chaining MRBs.

Some initial thoughts:

For Query mode: In this case 'MRB1' would presumably do an HTTP Redirect back to the AS so the AS can in turn send another HTTP request to 'MRB2', rather than try to send a SIP INVITE to it for a call leg or control channel. So MRB1 would have to be able to make a distinction between what it had identified (MRB2) as in fact being another MRB as opposed to an MRFC/MS. I.e., MRB2 can't simply pose logically as an MRFC/MS to MRB1 in that particular regard.

For Inline mode: I see at least one thing that would need to be fixed/generalized. For IAMM, where MRB acts as B2BUA, to allow for AS sending the call leg to a MS and using a control channel to that MS, due to the way the control channel dialog ID is constructed, the MRB will pass back to the AS the SIP dialog info for the call leg as pertains to the MRB-MS connection (i.e., the call leg SIP dialog info as the MS knows it). If we have multiple MRBs in the path as B2BUA, we still need to get the SIP dialog of the last MRB-MS all the way back to the AS. So MRB1 would have to accept a SIP dialog info element (I forget the actual name) from MRB2, which isn't something MRB1 would expect to get from an MRFC/MS.

In either case, I think the Publish interface could be re-used between MRB1 and MRB2.

So I would see some further doable technical content needed to address in a clear way what you're asking about, as well as simply more explanatory text and expanded definition of MRB.

I personally don't have any significant inclination to add this idea to the current MRB document.



-----Original Message-----
From: [] On Behalf Of DRAGE, Keith (Keith)
Sent: Thursday, September 15, 2011 7:09 AM
Subject: [MEDIACTRL] Chaining the MRB function

Given that the MRB can look to an application like a resource function, and and to a resource function like an application, it would appear to me that there is not reason why MRB functionality cannot be chained either logically, i.e. visit an MRB which supplies details of another MRB which is then queried for the particular resource, or physically, as in both MRBs operating in in-line mode.

I can so far see no mention of this possibility in the mrb document.

A potential use case might be were the resources are being provided by a different supplier to that which runs the application. The application provider runs an MRB to determine which resource supplier is best able to supply the resource. The resource provider runs an MRB to determine which resource best meets the needs.

Is it permitted, and are there any implications people can think of that ought to be documented in using performing this in this fashion.


MEDIACTRL mailing list
Supplemental Web Site: