Re: Multiple Streams and mutiplex terminations

Javi <[email protected]> Mon, 31 Oct 2011 11:19:43 +0100
Newsgroups gmane.ietf.megaco
Message-ID <[email protected]>
Hello Christian,

[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.

[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
> StreamID=1(TEI=[3],SAPI=16) ---*----- StreamID=1 (TEI=[1,3,9],SAPI=16)
>                                /
> ISDNTerm/BA19                 /
> StreamID=1(TEI=[9],SAPI=16)  /
>

[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)



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

[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