Subject: [MEDIACTRL] Question about two consecutive <join>

From: Stéphane Bastien <[email-masked]>
Date: Sun, 5 Apr 2009 17:02:17 -0700

Hi,

While implementing msc-mixer, I came up with the below observation. Is is accurate?

"To join two SIP media sessions in bi-directionnal mode, the following request should be used:

<join id1="connA" id2="connB" />

A clever (but mistaken) Application Server may try sending to the Media Server these two requests instead:

<join id1="connA" id2="connB" >

  <stream media="audio" direction="sendonly"/>

</join>

<join id1="connB" id2="connA" >

   <stream media="audio" direction="sendonly"/>

</join>

The Media Server rejects the second <join> request with the error code 408 "joining entities already joined". Why? The specification draft-ietf-mediactrl-mixer-control-package says in section 4.2.2.2: "If there is only one <stream> element for a given media specifying a 'sendonly' or 'recvonly' direction, then the media flow in the opposite direction is inactive (...)". In other words, the first <join> establishes a one-way stream from connA to connB and disables the stream from connB to connA. The second <join>, if it were allowed, would establish a one-way stream from connB to connA and would disable the stream from connA to connB, thus invalidating the first <join>."

Thanks,

Stéphane