Subject: [Megaco] Example of MeGaco messages for Multiplex terminations

From: Javi Muñoz <[email-masked]>
Date: Fri, 14 Oct 2011 12:29:05 +0200

Hi,

I have read that a multiplexing termination hides all of the 
terminations it contains from the rest of the context, so the streamIDs 
of the streams flowing between the contained terminations and the 
multiplexing termination are local rather than global in scope.

If e have the following situation:

                         Context interior ---->
                     _________                 _________
        Data stream  | H.226 |                 | H.223 |   Audio stream
Ckt 1 ..............| "MUX" |                 |  MUX  | .................
        . . .        | term  |   Data stream   | term  |
        Data stream  |       | ................|       |   Video stream
Ckt n ..............|       |                 |       | .................
                     |       |                 |       |
                     ---------                 ---------

How we know that the stream between the H.226 and H.223 multiplexing 
terminations is a data stream, while the streams passing from the H.223 
termination to the rest of the context are audio and video?. I think we 
need an explicit description of the exterior-side and context-side 
streams supported by each multiplex somewhere within our Megaco/H.248 
documentation but, how may it be indicated in a MeGaCo meesage?

Also, if we want to use separate RTP terminations for audio and video, I 
need to be able to tell that mux stream 1 shall be mapped to RTP 
termination T3, and stream 2 into RTP termination T4. How may it be 
indicated?

In summary, may someone propose the full MeGaCo messages to create this 
scenario with multiplex terminations?

---

From: Claudio Fontana <[email-masked]>
Date: Fri, 14 Oct 2011 13:27:00 +0200

My answer might be OT for this list, but remember that if you are
using megaco for voice in a 3gpp network, multiplexed terminations are
not supported in any of the 3gpp releases.

ref: 29.232 C.6.2 "Multiplexed terminations"

---

From: Javi Muñoz <[email-masked]>
Date: Fri, 14 Oct 2011 14:00:22 +0200

> ref: 29.232 C.6.2 "Multiplexed terminations"
In my case (supporting of Nx64 multichannel calls), these terminations 
are the only solution. So, I need to build de MeGaco messages to create 
them.

---

From: "Schwarz, Albrecht (Albrecht)" <[email-masked]>
Date: Fri, 14 Oct 2011 14:45:23 +0200

Question for clarifications:
the right hand side seems to be not any multimedia-over-H.223 service (due to separate ephemeral terminations for audio & video), rather multimedia-over-packet like H.323 or SIP.

Is my assumption correct that the left hand side relates to a protocol stack like 
{Audio, Video}-over-H.324/H.226/H.223-over-N x Channels, right?

Thus, there would be then two levels of multiplexing, H.226 & H.223, right?

You did select for each a Mux termination, which logically belong both to the left side of the Context. 
[The right hand side should look like Figure 6/H.248.1, i.e., there wouldn't be any Mux termination at the right hand side.]

It looks like that your use case is addressed by H.248.1, § 6.2:
"Multiplexing terminations may be cascades (e.g., H.226 multiplex of digital channels feeding into a H.223 multiplex supporting an H.324 session)."

Thus, cascades are allowed, but I'm not really familiar with the MuxType element.

Christian,
do you know the syntax for creating Mux terminations with hierarchical multiplexing levels?

BR,
Albrecht

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of Javi Muñoz
> Sent: Freitag, 14. Oktober 2011 14:00
> To: [email-masked]
> Cc: Claudio Fontana
> Subject: Re: [Megaco] Example of MeGaco messages for 
> Multiplex terminations
> 
> In my case (supporting of Nx64 multichannel calls), these 
> terminations are the only solution. So, I need to build de 
> MeGaco messages to create them.
> 
_______________________________________________
-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Javi Muñoz
Sent: Freitag, 14. Oktober 2011 12:29
To: [email-masked]
Subject: [Megaco] Example of MeGaco messages for Multiplex terminations

Hi,

I have read that a multiplexing termination hides all of the terminations it contains from the rest of the context, so the streamIDs of the streams flowing between the contained terminations and the multiplexing termination are local rather than global in scope.

                         Context interior ---->
                     _________                 _________

How we know that the stream between the H.226 and H.223 multiplexing terminations is a data stream, while the streams passing from the H.223 termination to the rest of the context are audio and video?. I think we need an explicit description of the exterior-side and context-side streams supported by each multiplex somewhere within our Megaco/H.248 documentation but, how may it be indicated in a MeGaCo meesage?

Also, if we want to use separate RTP terminations for audio and video, I need to be able to tell that mux stream 1 shall be mapped to RTP termination T3, and stream 2 into RTP termination T4. How may it be indicated?

In summary, may someone propose the full MeGaCo messages to create this scenario with multiplex terminations?

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

---

From: Tom Taylor <[email-masked]>
Date: Sun, 16 Oct 2011 15:13:19 -0400

Start with H.248.1v3/clause 6.2. That should give you some idea of how 
to construct the syntax. Details for the MUX descriptor are given in 
clause 7.1.3. I can put the whole picture together for you if you have 
trouble, but I should warn you that my views differ from those published 
as H.248.20.

On 14/10/2011 6:29 AM, Javi Muñoz wrote:
> https://www.ietf.org/mailman/listinfo/megaco
>
>

---

From: Christian Groves <[email-masked]>
Date: Mon, 17 Oct 2011 14:14:54 +1100

Hello Javi,

Have you looked at H.248.20 "The use of local and remote descriptors 
with H.221 and H.223 multiplexing" and also H.248.12 "H.248.1 packages 
for H.323 and H.324 interworking" both these give examples.

I don't think its really a syntax issue, more of a modelling one and 
understanding how Terminations and Streams map.

I think the termination model you need is something like in a single 
Context (6 Terminations):

        Tmux1=Mux(H.226(TermA,TermB))  Tmux2=Mux(H.223(Tmux1))
                  |                       |
TermA (Ckt1)  ---|-----------------------|----------- TermC (RTP)
TermB (Ckt1)  ---|                       |----------- TermD (RTP)
                  |                       |

In terms of Streams for TermA, TermB and Tmux1 you could simply use a 
single stream with StreamID=1. For Tmux2 it would have the same number 
of streams as the number of media related logical channels. I.e. for 
audio and video it would be two streams, the audio stream with 
StreamID=2 and the video stream with StreamID=3. I've avoided using 
StreamID=1 in TermC and TermD to avoid confusion. See H.248.12 about 
using logical channel number to map between streamIDs and logical channels.
If you then want to have different RTP media in different terminations 
then you simply assign the StreamID to the Termination you want. i.e. 
for audio TermC could be assigned StreamID=2 and for video TermD could 
be assigned StreamID=3. Alternatively TermC and/or TermC could be 
assigned StreamIDs 2&3 for both media.

Regards, Christian

On 14/10/2011 11:45 PM, Schwarz, Albrecht (Albrecht) wrote:
> the right hand side seems to be not any multimedia-over-H.223 service (due to separate ephemeral terminations for audio&  video), rather multimedia-over-packet like H.323 or SIP.
>
> Thus, there would be then two levels of multiplexing, H.226&  H.223, right?
>

---

From: Javi Muñoz <[email-masked]>
Date: Mon, 17 Oct 2011 13:58:22 +0200

Albrecht, Tom, Claudio and Christian,

The proposed scenario was just an example with the intention of asking 
about the syntax for creating multiplex terminations and mapping StreamIDs.

The real scenario that I need to solve is the next one, related to 
convey ISDN D-channel SAPI 16 flows on HDLCPW pseudowires:

   Tmux1=Mux(1x64K(TermA/StreamID=1,TermA/StreamID=2,TermB/StreamID=1)) -- * -- TermC (HDLCPW1)
                                     |
TermA (D-Channel, UNI p)            |
    StreamID=1 (SAPI 16, TEI r)      |
    StreamID=2 (SAPI 16, TEI s)      |
                                     |
TermA (D-Channel, UNI q)            |
    StreamID=1 (SAPI 16, TEI r)-----|
    StreamID=2 (SAPI 16, TEI s)------------|
    StreamID=3 (SAPI 16, TEI t)------------|
                                              |
                     Tmux2=Mux(1x64K(TermB/StreamID=2,TermB/StreamID=3) -- * -- TermC (HDLCPW1)

Every HDLCPW may convey SAPI 16 flows from different channels D (so, the 
Mux termination has Streams from different terminations). I do not know 
if these multiplex terminations are possible and, if so, how to define 
them in a MeGaCo message (how to define "TermA/StreamID=1" in the Mux 
descriptor).

Regards,

Javi

El 16/10/2011 21:13, Tom Taylor escribió:
> trouble, but I should warn you that my views differ from those 
> published as H.248.20.
>

---

From: Christian Groves <[email-masked]>
Date: Tue, 18 Oct 2011 20:51:16 +1100

Hello Javi,

There's no means via the multiplex descriptor to indicate StreamIDs in 
addition to the TerminationID. The multiplex descriptor can only have 
TerminationIDs. Also you can't specify a number for N in "Nx64k" in the 
Multiplex descriptor. For Nx64k N is assumed by the number of 
terminations added to the MuxDescriptor.

With regards to the example below I'm abit confused. There are two TermA 
and two TermCs but no Term B? Should Tmux1 include TermA/Stream=2? This 
would mean StreamID=2 is going to both muxes.

I'm not 100% sure what you're trying to do but if you're only using a 
single Termination to represent each D-channel and a single Termination 
for the HDLCPW it seems to me that you don't need a mux termination and 
that it may be sufficient to simply use a property to assign TEIs to 
Streams (or Terminations).

Regards, Christian

On 17/10/2011 10:58 PM, Javi Muñoz wrote:
> Every HDLCPW may convey SAPI 16 flows from different channels D (so, 
> the Mux termination has Streams from different terminations). I do not 
> know if these multiplex terminations are possible and, if so, how to 
> define them in a MeGaCo message (how to define "TermA/StreamID=1" in 
> the Mux descriptor).
>
> Regards,
>
> Javi
>
>
>
>
>> Start with H.248.1v3/clause 6.2. That should give you some idea of 
>> how to construct the syntax. Details for the MUX descriptor are given 
>> in clause 7.1.3. I can put the whole picture together for you if you 
>> have trouble, but I should warn you that my views differ from those 
>> published as H.248.20.
>>

---

From: Javi Muñoz <[email-masked]>
Date: Tue, 18 Oct 2011 12:29:29 +0200

I have detected an error in the draw. It would be so:

   Tmux1=Mux(1x64K(TermA/StreamID=1,TermA/StreamID=2,TermB/StreamID=1)) 
-- * -- TermC (HDLCPW1)
                                     |
TermA (D-Channel, UNI p)            |
    StreamID=1 (SAPI 16, TEI r)------|
    StreamID=2 (SAPI 16, TEI s)      |
                                     |
TermB (D-Channel, UNI q)            |
    StreamID=1 (SAPI 16, TEI r)------|
    StreamID=2 (SAPI 16, TEI s)------------|
    StreamID=3 (SAPI 16, TEI t)------------|
                                           |
                     Tmux2=Mux(1x64K(TermB/StreamID=2,TermB/StreamID=3) 
-- * -- TermD (HDLCPW2)

Sorry for the inconvenience

Javi

---

From: Javi Muñoz <[email-masked]>
Date: Thu, 20 Oct 2011 10:38:50 +0200

Does MeGaCo support the next contexts?:

   Tmux1=Mux(1x64K(TermA/StreamID=1,TermA/StreamID=2,TermB/StreamID=1)) 
-- * -- TermC (HDLCPW1)
                                     |
TermA (ISDN D-Channel, UNI p)       |
    StreamID=1 (SAPI 16, TEI r)------|
    StreamID=2 (SAPI 16, TEI s)------|
                                     |
TermB (ISDN D-Channel, UNI q)       |
    StreamID=1 (SAPI 16, TEI r)------|
    StreamID=2 (SAPI 16, TEI s)------------|
    StreamID=3 (SAPI 16, TEI t)------------|
                                           |
                     Tmux2=Mux(1x64K(TermB/StreamID=2,TermB/StreamID=3) 
-- * -- TermD (HDLCPW2)

where:

(a) Every multiplex termination is multiplexing Streams from different 
ISDN terminations, and only any Streams of each termination.

(b) The result of the multiplexion must be a flow of "64 kbps".

Javi Muñoz

---

From: Christian Groves <[email-masked]>
Date: Thu, 20 Oct 2011 20:12:15 +1100

Hello Javi,

Did you see my email on the 18/10 which discusses this? Even with the 
clarification of the Terminations there's some questions.

Regards, Christian

---

From: Javi Muñoz <[email-masked]>
Date: Thu, 20 Oct 2011 11:29:45 +0200

Hello Christian,

Sorry, I missed it.

You wrote:

[Chistian] There's no means via the multiplex descriptor to indicate 
StreamIDs in addition to the TerminationID. The multiplex descriptor can 
only have TerminationIDs.

[Javi] Then, Do you mean MeGaCo does not support this kind of context?

[Christian]  Also you can't specify a number for N in "Nx64k" in the 
Multiplex descriptor. For Nx64k N is assumed by the number of 
terminations added to the MuxDescriptor.

[Javi] Again, MeGaCo would not support kind of multiplexing.

[Christian] With regards to the example below I'm abit confused. There 
are two TermA and two TermCs but no Term B? Should Tmux1 include 
TermA/Stream=2? This would mean StreamID=2 is going to both muxes.

[Javi] I hope the new picture has clarified these issues

[Christian] I'm not 100% sure what you're trying to do but if you're 
only using a single Termination to represent each D-channel and a single 
Termination for the HDLCPW it seems to me that you don't need a mux 
termination and that it may be sufficient to simply use a property to 
assign TEIs to Streams (or Terminations).

[Javi] Each D-channel has several streams and I need to direct them to 
different multiplex terminations.

Regards,

Javi Muñoz

El 20/10/2011 11:12, Christian Groves escribió:
>> Tmux2=Mux(1x64K(TermB/StreamID=2,TermB/StreamID=3) -- * -- TermD 
>> (HDLCPW2)
>>
>>
>> where:
>>
>> (a) Every multiplex termination is multiplexing Streams from 
>> different ISDN terminations, and only any Streams of each termination.
>>

---

From: Christian Groves <[email-masked]>
Date: Tue, 25 Oct 2011 13:35:33 +1100

Hello Javi,

Please see my replies below.

Regards, Christian

On 20/10/2011 8:29 PM, Javi Muñoz wrote:
> StreamIDs in addition to the TerminationID. The multiplex descriptor 
> can only have TerminationIDs.
>
[CNG]No, I mean that the syntax doesn't support adding streams in the 
multiplex descriptor. This is different to what's happening in the Content.
> [Javi] Again, MeGaCo would not support kind of multiplexing.
[CNG] No, Megaco does support Nx64K, the syntax doesn't support 
including N in the multiplex descriptor. As I mentioned its implied by 
the number of terminations in the list of termination assigned to the 
multiplex descriptor.
> [Javi] I hope the new picture has clarified these issues
[CNG] A little, I understand the termination aspect. I'm still not sure 
about the streams. I don't understand how you can have multiple H.248 
streams for the circuit termination TermA and TermB? With what 
information element (i.e. property) do you assign the SAPI and TEI to a 
Stream? What properties distinguish the Nx64K termination from a HDLCW1 one?
> only using a single Termination to represent each D-channel and a 
> single Termination for the HDLCPW it seems to me that you don't need a 
> mux termination and that it may be sufficient to simply use a property 
> to assign TEIs to Streams (or Terminations).
>

[CNG] I think you're trying to solve this at a different level than what 
it should be. The multiplex descriptor describe the multiplex of 
terminations used to make up a stream. It doesn't describe what's 
happening at a stream level itself. We have the Stream Descriptor with 
associated (Local, Remote, LocalControl descriptors) to do this.

---

From: Javi Muñoz <[email-masked]>
Date: Tue, 25 Oct 2011 13:51:48 +0200

Hello Christian,

Thank you for your answer.

I understand MeGaCo syntax doesn't support adding streams in the 
multiplex descriptor neither including N in the multiplex descriptor.

[Christian] A little, I understand the termination aspect. I'm still not 
sure about the streams. I don't understand how you can have multiple 
H.248 streams for the circuit termination TermA and TermB? With what 
information element (i.e. property) do you assign the SAPI and TEI to a 
Stream? What properties distinguish the Nx64K termination from a HDLCW1 one?
[Christian] I'm not 100% sure what you're trying to do but if you're 
only using a single Termination to represent each D-channel and a single 
Termination for the HDLCPW it seems to me that you don't need a mux 
termination and that it may be sufficient to simply use a property to 
assign TEIs to Streams (or Terminations).
[Christian] I think you're trying to solve this at a different level 
than what it should be. The multiplex descriptor describe the multiplex 
of terminations used to make up a stream. It doesn't describe what's 
happening at a stream level itself. We have the Stream Descriptor with 
associated (Local, Remote, LocalControl descriptors) to do this.

In ISDN, each D-channel (channel of 16 or 64 kbps) transport multiple 
flows muliplexed by its TEI and SAPI in the Q.921 header.

Every of these flows may need to be transported to a different server in 
the IP network, and each server may receive only a HDLCPW. So, I need to 
multiplex multiple D-channel flows in each HDLCPW. In each HDLCPW, each 
flow would be distinguished by its TEI/SAPI and D-channel identifier.

I can not think how to describe in SDP (Local, Remote, LocalControl 
descriptors) what D-channel flows must be transported by any HDLCPW. May 
you proposed an example?

Regards,

Javier Muñoz
>>>> Did you see my email on the 18/10 which discusses this? Even with
>>>> the clarification of the Terminations there's some questions.
>>>>
>>>> Regards, Christian
>>>>

---

From: Christian Groves <[email-masked]>
Date: Fri, 28 Oct 2011 12:23:31 +1100

Hello Javi,

I'm not aware of any SDP that would allow you to specify the TEI and 
SAPI. Probably the closest draft to doing this was Tom's draft 
http://tools.ietf.org/id/draft-taylor-mmusic-sdp-tdm-01.txt.

Rather than use SDP you probably need to create a new package with two 
properties that allow you to indicate the SAPI and TEI. Each property 
would be a sub-list allowing you to indicate with SAPIs and TEIs apply 
to the stream. You probably wouldn't need multiple StreamIDs in this case.

Regards, Christian

On 25/10/2011 10:51 PM, Javi Muñoz wrote:
> [Christian] A little, I understand the termination aspect. I'm still 
> not sure about the streams. I don't understand how you can have 
> multiple H.248 streams for the circuit termination TermA and TermB? 
> With what information element (i.e. property) do you assign the SAPI 
> and TEI to a Stream? What properties distinguish the Nx64K termination 
> from a HDLCW1 one?
> than what it should be. The multiplex descriptor describe the 
> multiplex of terminations used to make up a stream. It doesn't 
> describe what's happening at a stream level itself. We have the Stream 
> Descriptor with associated (Local, Remote, LocalControl descriptors) 
> to do this.
>
>
> Every of these flows may need to be transported to a different server 
> in the IP network, and each server may receive only a HDLCPW. So, I 
> need to multiplex multiple D-channel flows in each HDLCPW. In each 
> HDLCPW, each flow would be distinguished by its TEI/SAPI and D-channel 
> identifier.
>
> descriptors) what D-channel flows must be transported by any HDLCPW. 
> May you proposed an example?
>
> Regards,
>
> Javier Muñoz
>>>
>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Javi Muñoz
>>>>
>>>>

---

From: Javi Muñoz <[email-masked]>
Date: Fri, 28 Oct 2011 12:03:56 +0200

Hello Christian,

If we use SDP, an example could be:

MEGACO/1 [123.123.123.1]:11111    (MG <- MGC)
  Transaction = 10 {
    Context = $ {
       Add = ISDNTerm/*BA17-BA18-PRI1*/D/$ {
           Media { Stream = 1
                    {
                       Local { v=0
                           c=ISDN SAPI 16 BA17
m=data TEI 1 PLP
c=ISDN SAPI 16 BA17
m=data TEI 6 PLP
c=ISDN SAPI 16 BA18
m=data TEI 3 PLP
c=ISDN SAPI 16 PRI1
m=data TEI 9 PLP
} } },
Add = HDLCPW1 {
           Media { Stream = 1 {
               # ---Descriptores Local/Remote-- } } }
  } }

Here, I found two serious problems:

+ We are defining a termination which has ISDN D-channels from different 
physical interfaces/UNIs (BA17-BA18-PRI1 indicates UNI BRI "17", UNI BRI 
"18" and UNI PRI "1"). I think it contradicts the definition of 
terminationss proposed by H.248.1.

+ We are describing several SDP flows (m=) in the Local Descriptor, but 
these flows are multiplexing in their respective channels D (the 
situation is not that: aflow is transmitted and, until it ends, no other 
flow is transmitted; But all flows are simultaneous transmitted, being 
differentiated by the header of the LAPD frames).

If we use MeGaCo properties to specify the TEI and SAPI, it would have 
the same problems.

Javi

El 28/10/2011 3:23, Christian Groves escribió:
>> and TEI to a Stream? What properties distinguish the Nx64K 
>> termination from a HDLCW1 one?
>> single Termination for the HDLCPW it seems to me that you don't need 
>> a mux termination and that it may be sufficient to simply use a 
>> property to assign TEIs to Streams (or Terminations).
>> describe what's happening at a stream level itself. We have the 
>> Stream Descriptor with associated (Local, Remote, LocalControl 
>> descriptors) to do this.
>>
>>
>> HDLCPW, each flow would be distinguished by its TEI/SAPI and 
>> D-channel identifier.
>>

---

From: Christian Groves <[email-masked]>
Date: Mon, 31 Oct 2011 10:28:12 +1100

Hello Javi,

Regards, Christian

On 28/10/2011 9:03 PM, Javi Muñoz wrote:
> # –-Descriptores Local/Remote-- } } }
> } }
>
[CNG] Attached there's more the above SDP isn't valid. You can't have 
more than one m= line per stream. You can have the "reserve group" 
concept (7.1.7&7.1.8/H.248.1) but the above SDP doesn't match that either.
>
> + We are defining a termination which has ISDN D-channels from 
> different physical interfaces/UNIs (BA17-BA18-PRI1 indicates UNI BRI 
> "17", UNI BRI "18" and UNI PRI "1"). I think it contradicts the 
> definition of terminationss proposed by H.248.1.

[CNG] Yes, so why do you propose a single Termination? Why not add the 
interfaces via multiple Terminations to the Context?

>
> + We are describing several SDP flows (m=) in the Local Descriptor, 
> but these flows are multiplexing in their respective channels D (the 
> situation is not that: aflow is transmitted and, until it ends, no 
> other flow is transmitted; But all flows are simultaneous transmitted, 
> being differentiated by the header of the LAPD frames).
[CNG] OK, I still don't see why you need to specifically label these 
flows via a Stream or SDP m= line.
> If we use MeGaCo properties to specify the TEI and SAPI, it would have 
[CNG] Not necessarily.

Below is an example of the use of two properties TEI and SAPI (I haven't 
proposed a descriptor could be LocalControl). By assigning the numbers 
to different termination it indicates which sub-flows go where. i.e. the 
HDLCPW1 termination has flows with TEI=1,3,9 but not 6.

ISDNTerm/BA17
StreamID=1(TEI=[1,6],SAPI=16) \
\
ISDNTerm/BA18 \ HDLCPW1
StreamID=1(TEI=[3],SAPI=16) ---*----- StreamID=1 (TEI=[1,3,9],SAPI=16)
/
ISDNTerm/BA19 /
StreamID=1(TEI=[9],SAPI=16) /

>> Rather than use SDP you probably need to create a new package with 
>> two properties that allow you to indicate the SAPI and TEI. Each 
>> property would be a sub-list allowing you to indicate with SAPIs and 
>> TEIs apply to the stream. You probably wouldn't need multiple 
>> StreamIDs in this case.
>>
>> Regards, Christian
>>
>>> In ISDN, each D-channel (channel of 16 or 64 kbps) transport 
>>> multiple flows muliplexed by its TEI and SAPI in the Q.921 header.
>>>
>>> Every of these flows may need to be transported to a different 
>>> server in the IP network, and each server may receive only a HDLCPW. 
>>> So, I need to multiplex multiple D-channel flows in each HDLCPW. In 
>>> each HDLCPW, each flow would be distinguished by its TEI/SAPI and 
>>> D-channel identifier.
>>>

---

From: Javi <[email-masked]>
Date: Mon, 31 Oct 2011 11:19:43 +0100

Hello Christian,

[Javi] Of course, I agree. It would be something like:

MEGACO/1 [123.123.123.1]:11111    (MG <- MGC)
  Transaction = 10 {
    Context = $ {
      Add = ISDNTerm/BA17-BA18-PRI1/D/$ {
         Media { Stream = 1
         {
           LocalControl {
               Mode = ReceiveOnly,
               ReserveGroup = True,
               ReserveValue = True },
           Local { v=0
                   c=ISDN SAPI 16 BA17
                   m=data TEI 1 PLP
v=0
c=ISDN SAPI 16 BA17
m=data TEI 6 PLP
v=0
c=ISDN SAPI 16 BA18
m=data TEI 3 PLP
v=0
c=ISDN SAPI 16 PRI1
m=data TEI 9 PLP
} } },
     Add = HDLCPW1 { Media { Stream = 1 { # –-Descriptores 
Local/Remote-- } } }
  } }

> [CNG] Below is an example of the use of two properties TEI and SAPI (I 
> haven't proposed a descriptor could be LocalControl). By assigning the 
> numbers to different termination it indicates which sub-flows go 
> where. i.e. the HDLCPW1 termination has flows with TEI=1,3,9 but not 6.
>
> ISDNTerm/BA17
> StreamID=1(TEI=[1,6],SAPI=16)\
>                               \
> ISDNTerm/BA18                  \       HDLCPW1

[Javi] Ok. But there is tow problems:

a) "ISDNTern/BA17/[TEI 6]" would be transported on HDLCPW2. How would 
you model the context?. I think the next option is not possible:

ISDNTerm/BA17
StreamID=1(TEI=[1,6],SAPI=16)\
                               \   ---- HDLCPW1
ISDNTerm/BA18                  \ / StreamID=1 (TEI=[1,3,9],SAPI=16)
StreamID=1(TEI=[3],SAPI=16) ----*
                                / \
ISDNTerm/BA19                 /   ----HDLCPW2
StreamID=1(TEI=[9],SAPI=16)  /         StreamID=1 (TEI=[6], SAPI=16)

b) "ISDNTerm/BA17/[TEI 1]" may be transported on HDLCPW1 but 
""ISDNTerm/BA18/[TEI 1]" may be transported on HDLCPW2. How would you 
model this?. You would need to indicate the termination name in the 
properties:

ISDNTerm/BA17
StreamID=1(TEI=[1,6],SAPI=16)\
                               \   ---- HDLCPW1
ISDNTerm/BA18                  \ / StreamID=1 
(TEI=[1-ISDNTerm/BA17,9-ISDNTerm/BA19],SAPI=16)
StreamID=1(TEI=[1],SAPI=16) ----*
                                / \
ISDNTerm/BA19                 /   ----HDLCPW2
StreamID=1(TEI=[9],SAPI=16)  /         StreamID=1 
(TEI=[6-ISDNTerm/BA17,1-ISDNTerm/BA18],SAPI=16)

[Javi] Yes. Indeed, this woud be my solution to the problem: Create an 
ephemeral termination for each flow, including flows of HDLCPWs:

ISDNTerm/BA17/D/SAPI16,TEI1 --- * --- HDLCPW1/BA17/D/SAPI16,TEI1

ISDNTerm/BA17/D/SAPI16,TEI6 --- * --- HDLCPW2/BA17/D/SAPI16,TEI6

ISDNTerm/BA18/D/SAPI16,TEI1 --- * --- HDLCPW2/BA18/D/SAPI16,TEI1

ISDNTerm/BA19/D/SAPI16,TEI9 --- * --- HDLCPW1/BA19/D/SAPI16,TEI9

I think this is possible.

Thanks,

Javi

---

From: Christian Groves <[email-masked]>
Date: Tue, 01 Nov 2011 11:50:26 +1100

Hello Javi,

Please see my comments below.

Regards, Christian

..snip..
>
>> [CNG] Below is an example of the use of two properties TEI and SAPI 
>> (I haven't proposed a descriptor could be LocalControl). By assigning 
>> the numbers to different termination it indicates which sub-flows go 
[CNG] Why do you think its not possible? I can't see the issue. By using 
the TEI=[6] parameter all you're saying is "only transport frames 
related to TEI=[6] in this stream".

> (TEI=[6-ISDNTerm/BA17,1-ISDNTerm/BA18],SAPI=16)
[CNG] I suspected we'd end up at this case. It sounds like you're trying 
to turn a single Context into an entire router to get around the fact 
that you can't have a single physical termination in multiple contexts. 
Have a look at H.248.64 to see how we handled that for an IP router. How 
many more Terminations do you envisage in a Context?

You could add TerminationID to the TEI parameter, but if you're having 
lots of Termination it may quickly become complicated.
> I think this is possible.
[CNG] A ephemeral Termination for an ISDN termination? These are 
typically physical terminations.