Subject: [siprec] #73: How to represent CSRC attribute in XML ?

From: "siprec issue tracker" <[email-masked]>
Date: Fri, 02 Sep 2011 06:15:47 -0000

#73: How to represent CSRC attribute in XML ?

 How to represent CSRC attribute in XML. There was some discussions on this
 earlier at
 http://www.ietf.org/mail-archive/web/siprec/current/msg02541.html

 Need to close on :
 Whether we need multiple CSRCs per participant for each stream participant
 sends
 How to represent CSRC in XML

-- 
-------------------------------+--------------------------------------------
 Reporter:  rmohanr@…          |       Owner:  rmohanr@…        
     Type:  enhancement        |      Status:  new              
 Priority:  major              |   Milestone:                   
Component:  metadata           |     Version:                   
 Severity:  -                  |    Keywords:                   
-------------------------------+--------------------------------------------

Ticket URL: <http://wiki.tools.ietf.org/wg/siprec/trac/ticket/73>
siprec <http://tools.ietf.org/siprec/>

---

From: "Ram Mohan R (rmohanr)" <[email-masked]>
Date: Thu, 22 Sep 2011 21:56:47 +0530

In IETF 81 we agreed on having CSRC attribute and the subsequent discussions led to the path where we added CSRC as an attribute to stream. While I was trying to come up with representation of CSRC in XML I realized CSRC is an attribute of participant association to a stream. The explanation and my proposal for XML representation of CSRC is given below.  Please provide your inputs and suggest alternative ways to represent CSRC if any.

1) CSRC is an optional attribute and can be sent by an SRC in SIPREC metadata in case of mixed stream (if it knows/learns the same) to link participant to its contributing source in a mixed stream.
2) In case of mixed stream, RTP header generated by a mixer shall have a list of SSRC  in CSRC field along with CSRC count.
3) For each such mixed RTP stream, we need to have a attribute in SIPREC XML to link participant to its contributing sources.
4) we cannot keep this attribute either in <stream> or <participant> because:
   - Having the attribute in <stream> is not useful as it still does not say to which it participant it is linked to. Note that in case of mixed stream   multiple participant <send> will point to same <stream>
   - Having the attribute in participant is again not useful as if the participant is contributing to more than one mixed stream (audio and video), we will not be able to differentiate unless we can link to stream also
  - Because of the above two reasons, CSRC has to be association attribute

Any comments on the above reasoning?

If we agree to the above, the model will look as:

               +-------------------------------+
               |   Participant                 |       
               |                               |
               +-------------------------------+
               |                               |
               |   AoR list                    | 
               |   Name                        |
               +-------------------------------+
                                   |0..*   |1..*
                                   |       |
     +----------------------+      |       |
     |ParticipantStreamAssoc|      |       |
     +----------------------+      |       |
     |CSRC                  |      |       |
     |AssociationTime       |......|.......|sends
     |DisassociationTime    |      |       |
     |                      |      |       |
     +----------------------+      |       |
                                   |       |
                                   |       |
                           receives|       |
                                   |       |
                                   |0..*   |0..*
                    +-------------------------+
                    | Media Stream            |
                    +-------------------------+
                    |  Media Stream ref       |
                    |  Content-type           |
                    +-------------------------+

One way of representing the above in a XML instance
---------------------------------------------------
Consider three participants Ram, Partha and Paul who are in a conference. SRC is recording mixed stream to SRS. The metadata snapshot with new XML element for participantStream Association looks as below:

         <participant
             id="urn:uuid:b2b7c112-5982-469d-9007-6ddbecca64d3"
             session="urn:uuid:855a5ded-8420-456d-a70f-6da1eeaeb425">
             <aor>sip:[email-masked]</aor>
             <recv>urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a</recv>
          </participant>
          <participantStreamAssoc  
           participant="urn:uuid:b2b7c112-5982-469d-9007-6ddbecca64d3"
           stream ="urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a ">
                 <associate-time>2010-12-16T23:41:07Z</associate-time>
                 <csrc>contributing SSRC-1</csrc>   
          </participantStreamAssoc>
         
         <participant
              id="urn:uuid:cd27cfa1-2bdd-4830-a653-70374d10f103"
              session="urn:uuid:855a5ded-8420-456d-a70f-6da1eeaeb425">
              <aor>sip:[email-masked]</aor>
              <recv>urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a</recv>
         </participant>
         <participantStreamAssoc
           Participant="urn:uuid:cd27cfa1-2bdd-4830-a653-70374d10f103"
           stream="urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a ">
                <associate-time>2010-12-16T16:20:07Z</associate-time>
                 <csrc>contributing SSRC-2</csrc>
         </participantStreamAssoc>
          
          <participant
              id="urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17"
              session="urn:uuid:855a5ded-8420-456d-a70f-6da1eeaeb425">
              <aor>sip:[email-masked]</aor>
              <recv>urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a</recv>
          </participant>
         <participantStreamAssoc
           Participant="urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17"
           stream="urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a ">
                <associate-time>2010-12-16T20:12:07Z</associate-time>
                 <csrc>contributing SSRC-3</csrc>
         </participantStreamAssoc>
         
          <stream id="urn:uuid:f3373a7b-4958-4e55-8820-d03a191fb76a"
              session="urn:uuid:cd27cfa1-2bdd-4830-a653-70374d10f103">
              <label>98</label>
          </stream>

Comments / inputs ?

Regards,
Ram

> -----Original Message-----
> From: siprec issue tracker [mailto:[email-masked]]
> Sent: Friday, September 02, 2011 11:46 AM
> To: Ram Mohan R (rmohanr)
> Cc: [email-masked]
> Subject: [siprec] #73: How to represent CSRC attribute in XML ?
>