Subject: Re: [siprec] How to specify in metadata that a participants stream is being recorded in multiple m line streams

From: "Ram Mohan R (rmohanr)" <[email-masked]>
Date: Tue, 28 Feb 2012 22:51:39 +0530

Hello John,

Let me see If I understand your use-case properly. IIUC  this is what you are talking about:

1) First you setup two persistent RS from handset 1 and handset 2 to a recorder.
2)Call comes on the first handset ( say call from A to B). Handset 1  (say of user B) records the call (sends mixed stream) to recorder.
3) Now a user (say C) with Handset 2 barges in. Handset records the mixed conversation (of A, B and C) to recorder.

         CS1
 User A<---->User B           RS1 (mixed stream A+B)
             [Handset 1]<-------------------------> Recorder
               |
               | CS2 
               |
              User C         RS2(mixed stream A+B+C)
              [Handset 2]<-------------------------> Recorder

Am I right here ?.

Ram
 
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of [email-masked]
> Sent: Tuesday, February 28, 2012 6:44 PM
> To: [email-masked]; [email-masked]
> Cc: [email-masked]; [email-masked];
> [email-masked]
> Subject: Re: [siprec] How to specify in metadata that a participants
> stream is being recorded in multiple m line streams
> 
> Partha
> 
> After registration we have two RS streams from the turret, but becuase
> there are is no call on iether handset, the streams are sending
> silence.
> 
> When the call is made on handset 1, then the RS stream associated with
> that handset records a mix of both the participants on the call.
> 
> When the 2nd handset is barged into the call, the handset 1 stream
> records a mix of all three oparticipants.
> 
> BUT also RS stream assocaiated with the  2nd handset also records a mix
> of all three oparticipants.
> 
> So after barge the two streams of the persistent RS are both recording
> the same mix of the 3 participants.
> 
> So each participants stream is being recorded in two streams of the
> same RS.
> 
> 
> Rgds
> John Stafford | Solution Architect 1 | BT Global Services | Tel:+44
> (0)1932 773504   | E: [email-masked]  |
> www.bt.com/globalservices
> 
> 
> ________________________________________
> From: Ravindran, Parthasarathi [[email-masked]]
> Sent: 28 February 2012 11:59
> To: Stafford,J,John,JRJ3X C; [email-masked]
> Cc: [email-masked]; [email-masked];
> [email-masked]
> Subject: RE: [siprec] How to specify in metadata that a participants
> stream is being recorded in multiple m line streams John,
> 
> I need clarification whether the barge-call leads to the mixed stream
> towards recorder or un-mixed stream towards recorder. Your example with
> multiple label indicates that it is un-mixed stream whereas the initial
> call is mixed. Could you please clarify on this point for providing the
> appropriate metadata.
> 
> In case of un-mixed stream, it is possible to create multiple stream
> with single label and participants points to multiple stream. In case
> of mixed stream, there is no concept of multiple label.
> 
> Thanks
> Partha
> 
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of [email-masked]
> Sent: Tuesday, February 28, 2012 1:40 PM
> To: [email-masked]
> Cc: [email-masked]; [email-masked];
> [email-masked]
> Subject: [siprec] How to specify in metadata that a participants stream
> is being recorded in multtiple m line streams
> 
> Guys,
> 
> 
> We have a somewhat unusual requirement for recording from our turret.
> The turret is a Recording Aware UA that supports multiple simultaneous
> calls.
> 
> The turret supports two handsets and many speaker channels.
> 
> We are going to have a configuration where there will be multiple
> recording streams sent from the turret to the recorder,  for simplicity
> I'll describe when we have one record stream for handset 1 calls, and
> another record stream for handset 2 calls.
> Each record stream records a call as a single mixed stream.
> 
> At registration, the turret sets up a single persistent RS containing
> two m lines in the INVITES sdp, the first m-line will be used for
> recording calls on handset 1, and is labelled HS1_stream the 2nd m line
> will be used for recording calls on handset 2. and is labelled
> HS2_stream
> 
> 
> 
> When we have a call on handset 1, the call is recorded in a single
> mixed stream to the recorder so metadata describing the handset1 record
> stream would be:
> 
> 
>              <session id="hVpd7YQgRW2nD22h7q60JQ==">
>              </session>
> 
>              <participant
>                 id="srfBElmCRp2QB23b7Mpk0w=="
>                 session="hVpd7YQgRW2nD22h7q60JQ==">
>                 <nameID aor=sip:[email-masked]>
>                               <name xml:lang="it">RamMohan R</name>
>                              </nameID>
>                 <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
>                 <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
>              </participant>
> 
>              <participant
>                  id="zSfPoSvdSDCmU3A3TRDxAw=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <nameID aor=sip:[email-masked]>
>                               <name xml:lang="it">Paul Kyzivat</name>
>                              </nameID>
>                  <send>8zc6e0lYTlWIINA6GR+3ag==</send>
>                  <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>                  <associate-time>2010-12-16T23:41:07Z</associate-time>
>              </participant>
> 
>              <stream id="i1Pz3to5hGk8fuXl+PbwCw=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>              </stream>
>              <stream id="8zc6e0lYTlWIINA6GR+3ag=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>              </stream>
> 
> 
> 
> Now the 2nd handset is barge conferenced into the same call ! (sometime
> a trader gives 2nd handset to another trader to join in same call)
> 
> 
> You might expect the metadata describing the handset1 record stream
> would change to:
> 
>              <session id="hVpd7YQgRW2nD22h7q60JQ==">
>              </session>
> 
>              <participant
>                 id="srfBElmCRp2QB23b7Mpk0w=="
>                 session="hVpd7YQgRW2nD22h7q60JQ==">
>                 <nameID aor=sip:[email-masked]>
>                               <name xml:lang="it">RamMohan R</name>
>                              </nameID>
>                 <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
>                 <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
>                  <recv>aBzzAkhhlbcSHAxxkcdj==</recv>
>              </participant>
> 
>              <participant
>                  id="zSfPoSvdSDCmU3A3TRDxAw=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <nameID aor=sip:[email-masked]>
>                               <name xml:lang="it">Paul Kyzivat</name>
>                              </nameID>
>                  <send>8zc6e0lYTlWIINA6GR+3ag==</send>
>                  <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>                  <recv>aBzzAkhhlbcSHAxxkcdj==</recv>
>                  <associate-time>2010-12-16T23:41:07Z</associate-time>
>              </participant>
> 
>              <participant
>                  id="zSfPoSvdSDCmU3A3TxACDeh=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <nameID aor=sip:[email-masked]>
>                               <name xml:lang="it">John Stafford</name>
>                              </nameID>
>                  <send>aBzzAkhhlbcSHAxxkcdj==</send>
>                  <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>                  <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
>               <associate-time>2010-12-16T27:12:07Z</associate-time>
>              </participant>
> 
> 
>              <stream id="i1Pz3to5hGk8fuXl+PbwCw=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>              </stream>
>              <stream id="8zc6e0lYTlWIINA6GR+3ag=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>              </stream>
>              <stream id="aBzzAkhhlbcSHAxxkcdj=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>              </stream>
> 
> However, this is not correct, as the conference is also getting
> recorded in the handset 2 m line stream.
> 
> How can we convey this information to the recorder ?
> 
> I would like to be able to put multiple labels on the streams, but the
> siprec schema does not allow it,  ie:
>              <stream id="i1Pz3to5hGk8fuXl+PbwCw=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>                  <label>HS2_stream</label>
>              </stream>
>              <stream id="8zc6e0lYTlWIINA6GR+3ag=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>                  <label>HS2_stream</label>
>              </stream>
>              <stream id="aBzzAkhhlbcSHAxxkcdj=="
>                  session="hVpd7YQgRW2nD22h7q60JQ==">
>                  <label>HS1_stream</label>
>                  <label>HS2_stream</label>
>              </stream>
> Is there any reason why the schema limits stream to having a single
> label ?
> 
> 
> Rgds
> John Stafford | Solution Architect 1 | BT Global Services

---

From: <[email-masked]>
Date: Wed, 29 Feb 2012 09:15:29 +0000

Ram

At registration we set up ONE persistent RS but it has 2 m lines. (handset 1 and handset 2 are on the same physical device.)

After the barge there is still only one CS, ie just one comference call. Also both handset record streams are A+B+C

         CS1
 User A<---->User B       RS1 m line a=label:hs1 (mixed stream A+B+C)
             [Handset 1]<-------------------------> Recorder
               |
               |
               |
              User C               RS1 m line a=label:hs2  (mixed stream A+B+C)
              [Handset 2]<-------------------------> Recorder

You might wonder why we are setting up just a single persistent RS, as if we had two RS's the multiple label problem in the metadata wouldn't occur.
Its because although the example we are discussing involves only two streams, our turret device actually handles up to 26 separate simultaneous calls, and could in theory record each of those calls separately. By having all the streams setup in a single RS reduces the handling overhead  for both us and the voice recorder.

Rgds
John Stafford | Solution Architect 1 | BT Global Services | Tel:+44 (0)1932 773504   | E: [email-masked]  |  www.bt.com/globalservices
________________________________________
From: Ram Mohan R (rmohanr) [[email-masked]]
Sent: 28 February 2012 17:21
To: Stafford,J,John,JRJ3X C
Cc: [email-masked]; [email-masked]; [email-masked]; [email-masked]
Subject: RE: [siprec] How to specify in metadata that a participants stream is being recorded in multiple m line streams

Hello John,

         CS1

Am I right here ?.

Ram

---

From: "Hutton, Andrew" <[email-masked]>
Date: Wed, 29 Feb 2012 12:22:50 +0100

Hi All,

Assuming we agree on way to represent a mixed stream in metadata I think the metadata in this use case should look something like this.

             <participant

             <participant

             <participant

So we have the same three participants sending and receiving on 2 different streams.

Regards
Andy

> -----Original Message-----
> Sent: 29 February 2012 09:15
> To: [email-masked]
> At registration we set up ONE persistent RS but it has 2 m lines.
> (handset 1 and handset 2 are on the same physical device.)
>
> After the barge there is still only one CS, ie just one comference
> call. Also both handset record streams are A+B+C
>
>          CS1
> You might wonder why we are setting up just a single persistent RS, as
> if we had two RS's the multiple label problem in the metadata wouldn't
> occur.
> Its because although the example we are discussing involves only two
> streams, our turret device actually handles up to 26 separate
> simultaneous calls, and could in theory record each of those calls
> separately. By having all the streams setup in a single RS reduces the
> handling overhead  for both us and the voice recorder.
>
> Rgds
> Cc: [email-masked]; [email-masked];
> [email-masked]; [email-masked]
> 2)Call comes on the first handset ( say call from A to B). Handset 1
> (say of user B) records the call (sends mixed stream) to recorder.
> 3) Now a user (say C) with Handset 2 barges in. Handset records the
> mixed conversation (of A, B and C) to recorder.
>
>          CS1
> _______________________________________________
> siprec mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/siprec

---

From: <[email-masked]>
Date: Wed, 29 Feb 2012 11:27:20 +0000

Andy

Thanks for creating this side discussion, I think its going to be very helpfull.
I had got the impression that a <stream> in metadata was supposed to represent  a stream of the call being recorded, but from what you are saying it appears it is representing a stream sent to the recorder.

Rgds
John Stafford | Solution Architect 1 | BT Global Services | ________________________________________
From: Hutton, Andrew [[email-masked]]
Sent: 29 February 2012 11:22
To: Stafford,J,John,JRJ3X C; [email-masked]
Cc: [email-masked]; [email-masked]; [email-masked]
Subject: RE: [siprec] How to specify in metadata that a participants stream is being recorded in multiple m line streams

Hi All,

             <participant

             <participant

             <participant

Regards
Andy

---

From: "Ram Mohan R (rmohanr)" <[email-masked]>
Date: Wed, 29 Feb 2012 20:10:21 +0530

Hello John,

Please see inline

> Sent: Wednesday, February 29, 2012 4:57 PM
> To: [email-masked]; [email-masked]
> I had got the impression that a <stream> in metadata was supposed to
> represent  a stream of the call being recorded, but from what you are
> saying it appears it is representing a stream sent to the recorder.

Yes you are right. Please look at the section 6.6 of draft for the same.

--snip from draft--

"A Media Stream class (and its objects) has the properties of media as
seen by SRC and sent to SRS."

Regards,
Ram

> Assuming we agree on way to represent a mixed stream in metadata I
> think the metadata in this use case should look something like this.
> 
> > Let me see If I understand your use-case properly. IIUC  this is
what
> > you are talking about:
> >
> > 1) First you setup two persistent RS from handset 1 and handset 2 to
> a
> > recorder.
> > > BUT also RS stream assocaiated with the  2nd handset also records
a
> > mix
> > > call is mixed. Could you please clarify on this point for
providing
> > the

---

From: Paul Kyzivat <[email-masked]>
Date: Wed, 29 Feb 2012 10:03:44 -0500

This seems to work ok. It has sufficient information so that the SRS 
can, if it wishes, recognize that the two streams represent the same CS 
and participants, and so are redundant. Thus it could choose to save 
only one of them.

	Thanks,
	Paul

---

From: "Ram Mohan R (rmohanr)" <[email-masked]>
Date: Wed, 29 Feb 2012 21:11:44 +0530

Yes. I also agree with this representation.

Regards,
Ram

> Behalf Of Paul Kyzivat
> Sent: Wednesday, February 29, 2012 8:34 PM
> To: [email-masked]
a
providing