When P-CSCF receives a REGISTER request from a UE served by the P-CSCF, the P-CSCF can include a Resource-Share header field indicating that the P-CSCF supports receiving information about resource sharing.
The example 1 shows the coding when the P-CSCF indicates that the P-CSCF is interested in receiving information about resource sharing in a REGISTER request.
EXAMPLE 1:
Resouce-Share: supported
When the application server receives a request or response containing an initial SDP offer/answer with media streams subject for resource sharing, the application server includes the Resource-Share header field with the value "media-sharing" and includes a "origin" header field parameter set to "session-initiator" or "session-receiver" depending on if the application server is serving the user that initiated the session invitation or if the application server is serving the user receiving the session invitation.
The application server includes resource sharing information in a "rules" header field parameter with one resource sharing rule per media stream in the same order the corresponding m-line appears in the SDP. Each resource sharing rule is constructed as follows:
-
if the media stream is subject for resource sharing, the application server:
-
includes a "new-sharing-key" part;
-
if it is the INVITE request and the request will be sent to more than one UE, includes an "existing-resource-sharing-list" part containing one or more sharing keys already in use in other sessions involving UEs that potentially can receive the session invitation due to the forking of the INVITE request; and
-
includes a "directionality" part indicating in which direction resources sharing can apply; or
-
if the media stream can never be shared, includes an empty string.
Finally, the application server includes a "timestamp" header field parameter with a value higher than included in any other Resource-Share header field involving any of the UEs registered by the user.
The example 1 shows the Resource-Share header field when included in the initial SDP answer on the originating side. The SDP answer contains two media streams and both media streams are subject to resource sharing.
EXAMPLE 1:
Resouce-Share: media-sharing; session-initiator; rules="k1::UL, k20::UL-DL"; timestamp=55688
The example 2 shows the Resource-Share header field when included in the initial SDP offer on the terminating side. The user has several UEs registered where three UEs are already involved in sessions with media streams subject to resource sharing. The SDP offer contains three media streams where only the first and third media stream is subject to resource sharing identified by K2,K3 and K4 for the first media stream and K21, K22 and k23 for the third media stream in already ongoing sessions. The fact that the second media stream is not subject to resource sharing is indicated as an empty string in second position in the comma delimited list of resource sharing rules in the "rules" header field parameter.
EXAMPLE 2:
Resouce-Share: media-sharing; session-receiver; rules="k1:k2/k3/k4:UL,, k20:k21/k22/k23:UL-DL"; timestamp=45678
The example 3 shows the Resource-Share header field when included in a SIP request or SIP response on the originating side when an application server indicates that resources can not be shared due to some service specific reason. This indication can be included already from the beginning of the session or at any point during a session if the SIP proxy or UA determines that resource sharing is not possible any longer.
EXAMPLE 3:
Resource-Share: no-media-sharing; session-initiator