13 Video Push
24.2813GPPMission Critical Video (MCVideo) signalling controlProtocol specificationRelease 18TS
13.1 General
13.2 On-network video push
13.2.1 General
A MCVideo user triggers its MCVideo client to push a video to another MCVideo client or a MCVideo server.
13.2.2 MCVideo client procedures
13.2.2.1 One-to-one video push originating procedures
In order to push a video to another MCVideo client, the MCVideo client shall perform the procedures of clause 10.2.2.2.1, with the following clarifications:
1) shall contain an application/vnd.3gpp.mcvideo-info+xml MIME body with the <mcvideoinfo> element containing the <mcvideo-Params> element with the <session-type> element set to a value of "one-to-one video push"; and
2) shall interact with the media plane as specified in 3GPP TS 24.581 [5] clause 6.2.
13.2.2.2 One-to-one video push terminating procedures
Upon receipt of an initial SIP INVITE request for the one-to-one video push call, the MCVideo client shall perform the procedures of clause 10.2.2.2.2, with the following clarifications:
1) shall display to the MCVideo user an indication that this is a one-to-one video push call; and
2) may save the MCVideo media stream to a file.
13.2.2.3 One-to-one video push release procedures
When the MCVideo client is in an ongoing one-to-one video push call, upon an indication from MCVideo user to release the call, the MCVideo client shall perform the procedures of clause 10.2.4.1.
13.2.2.4 One-to-server video push originating procedures
In order to push a video to a MCVideo server, the MCVideo client shall perform the procedures of clause 10.2.2.2.1, with the following clarifications:
1) shall contain an application/vnd.3gpp.mcvideo-info+xml MIME body with the <mcvideoinfo> element containing the <mcvideo-Params> element with the <session-type> element set to a value of "one-to-server video push";
2) shall not insert in the SIP INVITE request an application/resource-lists+xml MIME body with the MCVideo ID of the invited MCVideo user in the "uri" attribute of an <entry> element of a <list> element of the <resource-lists> element of the application/resource-lists+xml MIME body; and
3) shall use the automatic commencement mode.
Upon receiving a SIP INFO request within the dialog of the SIP request for a one-to-server video push call:
1) with the Info-Package header field containing the g.3gpp.mcvido-info package name;
2) with the application/vnd.3gpp.mcvideo-info+xml MIME body associated with the info package according to IETF RFC 6086 [21]; and
3) with one <video-push-url> element set in the application/vnd.3gpp.mcvideo-info+xml MIME body;
the MCVideo client shall store the received <video-push-url> element.
13.2.2.5 One-to-server video push release procedures
When the MCVideo client is in an ongoing one-to-server video push call, upon an indication from MCVideo user to release the call, the MCVideo client shall perform the procedures of clause 10.2.4.1.
13.2.3 MCVideo server procedures
13.2.3.1 Participating MCVideo function procedures
13.2.3.1.1 One-to-one video push originating procedures
Upon receipt of a "SIP INVITE request for originating participating MCVideo function" containing an application/vnd.3gpp.mcvideo-info+xml MIME body with the <session-type> element set to a value of "one-to-one video push", the participating MCVideo function shall perform the procedures of clause 10.2.2.3.1.1.
13.2.3.1.2 One-to-one video push terminating procedures
Upon receipt of a "SIP INVITE request for terminating participating MCVideo function" containing an application/vnd.3gpp.mcvideo-info+xml MIME body with the <session-type> element set to a value of "one-to-one video push", the participating MCVideo function shall perform the procedures of clause 10.2.2.3.2.
13.2.3.1.3 One-to-one video push release procedures
Upon receiving from the MCVideo client a SIP BYE request the participating MCVideo function shall follow the procedures as specified in clause 10.2.4.
Upon receiving a SIP BYE request from the controlling MCVideo function, the participating MCVideo function shall follow the procedures as specified in clause 10.2.5.
13.2.3.1.4 One-to-server video push originating procedures
Upon receipt of a "SIP INVITE request for originating participating MCVideo function" containing an application/vnd.3gpp.mcvideo-info+xml MIME body with the <session-type> element set to a value of "one-to-server video push", the participating MCVideo function shall perform the procedures of clause 10.2.2.3.1.1, with the following clarifications:
1) shall not check the <allow-private-call> element of the <ruleset> element; and
2) shall use the automatic commencement mode.
13.2.3.1.5 One-to-server video push release procedures
Upon receiving from the MCVideo client a SIP BYE request the participating MCVideo function shall follow the procedures as specified in clause 10.2.4.
Upon receiving a SIP BYE request from the controlling MCVideo function, the participating MCVideo function shall follow the procedures as specified in clause 10.2.5.
13.2.3.2 Controlling MCVideo function procedures
13.2.3.2.1 One-to-one video push terminating procedures
Upon receipt of a "SIP INVITE request for controlling MCVideo function" containing an application/vnd.3gpp.mcvideo-info+xml MIME body with the <session-type> element set to a value of "one-to-one video push", the controlling MCVideo function:
1) shall check whether the public service identity contained in the Request-URI is allocated for one-to-one video push call and perform the actions specified in clause 6.3.7.1 if it is not allocated and skip the rest of the steps;
2) shall check whether the MCVideo ID of the MCVideo calling user in the <mcvideo-calling-user-id> is authorised to initiate the one-to-one video push call, and if it is not authorised the controlling MCVideo function shall return a SIP 403 (Forbidden) response with the warning text as specified in "Warning header field" and skip the rest of the steps;
3) shall check whether the MCVideo ID of the MCVideo called party user in the <mcvideo-called-party-id> is authorised to receive the one-to-one video push call, and if it is not authorised the controlling MCVideo function shall return a SIP 403 (Forbidden) response with the warning text as specified in "Warning header field" and skip the rest of the steps;
4) shall allocate an MCVideo session identity for the MCVideo session; and
5) shall invite the MCVideo user listed in the "uri" attribute of an <entry> element of a <list> element of the <resource-lists> element in the application/resource-lists+xml MIME body of received SIP INVITE request as specified in clause 10.2.2.4.1.
13.2.3.2.2 One-to-one video push release procedures
When the MCVideo session for one-to-one video push call needs to be released, the controlling MCVideo function shall perform the procedures of clause 10.2.5.4.
13.2.3.2.3 One-to-server video push terminating procedures
Upon receipt of a "SIP INVITE request for controlling MCVideo function" containing an application/vnd.3gpp.mcvideo-info+xml MIME body with the <session-type> element set to a value of "one-to-server video push", the controlling MCVideo function:
1) shall check whether the public service identity contained in the Request-URI is allocated for one-to-server video push call and perform the actions specified in clause 6.3.7.1 if it is not allocated and skip the rest of the steps;
2) shall check whether the MCVideo ID of the MCVideo calling user in the <mcvideo-calling-user-id> is authorised to initiate the one-to-server video push call, and if it is not authorised the controlling MCVideo function shall return a SIP 403 (Forbidden) response with the warning text as specified in "Warning header field" and skip the rest of the steps;
3) shall allocate an MCVideo session identity for the MCVideo session;
4) shall generate and send a SIP 200 (OK) response towards the inviting MCVideo client according to 3GPP TS 24.229 [11]; and
5) shall save the MCVideo media stream to a file.
To send the URL of the file where the MCVideo media stream will be recorded, the controlling MCVideo function:
1) shall generate a SIP INFO request according to rules and procedures of 3GPP TS 24.229 [11] and IETF RFC 6086 [21];
2) shall include the Info-Package header field set to g.3gpp.mcvideo-info in the SIP INFO request;
3) shall include an application/vnd.3gpp.mcvideo-info+xml MIME body as specified in annex F.1 with an <video-push-url> element set to the URL of the file where the MCVideo media stream will be recorded; and
4) shall send the SIP INFO request towards the inviting MCVideo client in the dialog of a SIP request for one-to-server video push call, as specified in 3GPP TS 24.229 [11].
13.2.3.2.4 One-to-server video push release procedures
When the MCVideo session for one-to-server video push call needs to be released, the controlling MCVideo function shall perform the procedures of clause 10.2.5.4.
13.3 Off-network video push
13.3.1 General
13.3.1.1 Common Procedures
13.3.1.1.1 Sending/Receiving a message
In order to participate in Video Push, the MCVideo client:
1) shall send the MONP MCVideo message transported in a MONP MCVIDEO MESSAGE CARRIER message, specified in 3GPP TS 24.379 [40], as a UDP message to the local IP address of the MCVideo user, on UDP port 8809 (as specified in 3GPP TS 24.379 [40]), with an IP time-to-live set to 255; and
2) shall treat UDP messages received on the port 8809 as received MONP messages.
NOTE: An MCVideo client that supports IPv6 shall listen to the IPv6 addresses.
13.3.2 MCVideo client procedures
13.3.2.1 Video push to another MCVideo user
13.3.2.1.1 Private video push call setup
In order to push a video from authorized MCVideo user to another user, MCVideo client shall perform the procedures of the clause 10.3.2.4.2.1, with the following clarifications:
1) shall store "PRIVATE VIDEO PUSH CALL" as the current call type as specified in clause 17.2.11.
13.3.2.1.2 Private video push call setup in manual commencement mode
When the MCVideo client receives a PRIVATE CALL SETUP REQUEST message with Commencement mode IE set to "MANUAL COMMENCEMENT MODE" and the call type IE set to "PRIVATE VIDEO PUSH CALL", it SHALL perform the procedures of clause 10.3.2.4.4 with the following clarifications to the clause 10.3.2.4.4.1;
1) shall set the stored current call type to "PRIVATE VIDEO PUSH CALL" as specified in clause 17.2.11.
13.3.2.1.3 Private video push call release
When the MCVideo client is in an ongoing private video push call, upon an indication from MCVideo User to relese the call, the MCVideo client SHALL perform the procedures of clause 10.3.2.4.5.
13.3.2.1.4 Sending video push notification
When the Private call initiator receives the PRIVATE CALL ACCEPT message, the initiator may send a NOTIFY VIDEO PUSH message as per below:
1) shall store NOTIFY VIDEO PUSH as the current message type;
2) shall generate and store the call identifier as a random number uniformly distributed between (0, 65536);
3) shall store own MCVideo user ID as notifier ID;
4) shall store MCVideo user ID of notification recipient user as notification recipient ID;
5) shall store the MCVideo user ID of Video Push recipient user as callee ID, if the video push is intended for an MCVideo user;
6) shall store the MCVideo group ID of Video Push recipient user as group call recipient ID, if the video push is intended for a MCVideo group;
7) shall store the result as "SUCCESS" or "FAILURE", based on whether the remote push call setup between caller and callee was successful;
8) shall store the failure reason as specified in clause 17.2.8, if the result is set as "FAILURE";
9) shall generate a NOTIFY VIDEO PUSH message as specified in clause 17.1.23. In the NOTIFY VIDEO PUSH message, the MCVideo client:
a) shall set the Remote video push notification message identity IE with stored current message type;
b) shall set the call identifier IE with the stored call identifier;
c) shall set the MCVideo remote push request notifier IE with stored notifier ID;
d) shall set the MCVideo remote push request notification recipient IE with stored video push requester ID;
e) shall set the MCVideo remote push call recipient user IE with stored callee ID, if the video push is intended for an MCVideo user;
f) shall set the MCVideo remote push call recipient group IE with stored group call recipient ID, if the video push is intended for a MCVideo group;
g) shall set the Result IE with stored result; and
h) if a failure reason was stored in step 8) above, shall set the Reason IE with the stored failure reason; and
10) shall send the NOTIFY VIDEO PUSH message towards other MCVideo client according to rules and procedures as specified in clause 13.3.1.1.1.
13.3.2.1.5 Receiving video push notification
Upon receiving the NOTIFY VIDEO PUSH message MCVideo client may notify the MCVideo user about the video being pushed to another user.
13.3.2.2 Remotely initiated video push
13.3.2.2.1 Initiating a remote video push request
When an authorized MCVideo user requires to push a remote video from one user to another user, the authorized MCVideo client:
1) shall store PRIVATE REMOTE VIDEO PUSH REQUEST as the current message type;
2) shall generate and store the call identifier as a random number uniformly distributed between (0, 65536);
3) shall store own MCVideo user ID as remote video push requester ID;
4) shall store MCVideo user ID of remote video push request recipient as caller ID;
5) shall store the MCVideo user ID of Video Push call recipient as callee ID;
6) shall generate and store the video information as specified in clause 17.2.17;
7) shall generate a PRIVATE REMOTE VIDEO PUSH REQUEST message as specified in clause 17.1.20. In the PRIVATE REMOTE VIDEO PUSH REQUEST message, the MCVideo client:
a) shall set the remote video push setup request message identity IE with stored current message type;
b) shall set the call identifier IE with stored call identifier;
c) shall set the MCVideo remote push requester IE with stored remote video push requester ID;
d) shall set the MCVideo remote push call originator IE with stored caller ID;
e) shall set the MCVideo remote push call recipient IE with stored callee ID; and
f) may set the Video Information IE with stored video information; and
8) shall send the PRIVATE REMOTE VIDEO PUSH REQUEST message towards other MCVideo client according to rules and procedures as specified in clause 13.3.1.1.1.
13.3.2.2.2 Sending video push trying response
Upon receiving the PRIVATE REMOTE VIDEO PUSH REQUEST message, the MCVideo client:
1) shall store VIDEO PUSH TRYING RESPONSE as the current message type;
2) shall generate and store the call identifier as a random number uniformly distributed between (0, 65536);
3) shall generate and store video information as specified in clause 17.2.17;
4) shall generate a VIDEO PUSH TRYING RESPONSE message as specified in clause 17.1.22. In the VIDEO PUSH TRYING RESPONSE message, the MCVideo client:
a) shall set the Remote video push trying response message identity IE with stored current message type;
b) shall set the Call identifier IE with the stored call identifier;
c) may set the Video Information with stored video information; and
5) shall send the VIDEO PUSH TRYING RESPONSE message towards other MCVideo client according to rules and procedures as specified in clause 13.3.1.1.1;
13.3.2.2.3 Private video push call setup
Upon receiving the PRIVATE REMOTE VIDEO PUSH REQUEST message, MCVideo client shall perform the procedure as specified in clause 10.3.2.4.2.1, with the following clarifications:
1) shall store "PRIVATE VIDEO PUSH CALL" as the current call type as specified in clause 17.2.11;
If Video Information IE is not present in the received PRIVATE REMOTE VIDEO PUSH REQUEST message, the MCVideo client shall use the camera as source of video.
13.3.2.2.4 Private video push call setup in manual commencement mode
When the MCVideo client receives a PRIVATE CALL SETUP REQUEST message with Commencement mode IE set to "MANUAL COMMENCEMENT MODE" and the call type IE set to "PRIVATE VIDEO PUSH CALL", it SHALL perform the procedures of clause 10.3.2.4.4.1 with the following clarifications:
1) shall set the stored current call type to "PRIVATE VIDEO PUSH CALL" as specified in clause 17.2.11;
13.3.2.2.5 Private video push call release
When the MCVideo client is in an ongoing private video push call, upon an indication from MCVideo User to relese the call, the MCVideo client SHALL perform the procedures of clause 10.3.2.4.5;
13.3.2.2.6 Sending video push notification
When the MCVideo client which initiated the private video push receives the PRIVATE CALL ACCEPT message from the recipient of the private call, the MCVideo client:
1) shall store NOTIFY VIDEO PUSH as the current message type;
2) shall generate and store the call identifier as a random number uniformly distributed between (0, 65536);
3) shall store own MCVideo user ID as notifier ID;
4) shall store MCVideo user ID of notification recipient user as notification recipient ID;
5) shall store the MCVideo user ID of Video Push recipient user as callee ID, if the video push is intended for an MCVideo user;
6) shall store the MCVideo group ID of Video Push recipient user as group call recipient ID, if the video push is intended for a MCVideo group;
7) shall store the result as SUCCESS or FAILURE, based on whether the remote push call setup between caller and callee was successful or not;
8) shall store the failure reason as specified in clause 17.2.8, if the result is set as FAILURE;
9) shall generate a NOTIFY VIDEO PUSH message as specified in clause 17.1.23. In the NOTIFY VIDEO PUSH message, the MCVideo client:
a) shall set the Remote video push notification message identity IE with stored current message type;
b) shall set the call identifier IE with the stored call identifier;
c) shall set the MCVideo remote push request notifier IE with stored notifier ID;
d) shall set the MCVideo remote push request notification recipient IE with stored video push requester ID;
e) shall set the MCVideo remote push call recipient user IE with stored callee ID, if the video push is intended for an MCVideo user;
f) shall set the MCVideo remote push call recipient group IE with stored group call recipient ID, if the video push is intended for a MCVideo group;
g) shall set the Result IE with stored result; and
h) if a failure reason was stored in step 8) above, shall set the Reason IE with the stored failure reason; and
10) shall send the NOTIFY VIDEO PUSH message towards MCVideo client who initiated the PRIVATE REMOTE VIDEO PUSH REQUEST, according to rules and procedures as specified in clause 13.3.1.1.1.
13.3.2.2.7 Receiving video push notification
Upon receiving the NOTIFY VIDEO PUSH message MCVideo client may notify the MCVideo user about the video being pushed to another user.
13.3.2.3 Remotely initiated video push to a group
13.3.2.3.1 Initiating a remote video push request to a group
When an authorized MCVideo user wishes to push a remote video from one user to a group, authorized MCVideo client:
1) shall store GROUP REMOTE VIDEO PUSH REQUEST as the current message type;
2) shall generate and store the call identifier as a random number uniformly distributed between (0, 65536);
3) shall store own MCVideo user ID as remote video push requester ID;
4) shall store MCVideo user ID of remote video push request recipient as caller ID;
5) shall store the MCVideo group ID of Video Push call recipient as group call recipient ID;
6) shall generate and store the video information as specified in clause 17.2.17;
7) shall generate a GROUP REMOTE VIDEO PUSH REQUEST message as specified in clause 17.1.21. In the GROUP REMOTE VIDEO PUSH REQUEST message, the MCVideo client:
a) shall set the remote video push setup request message identity IE with stored current message type;
b) shall set the call identifier IE with the stored call identifier;
c) shall set the MCVideo remote push requester IE with stored remote video push requester ID;
d) shall set the MCVideo remote push call originator IE with stored caller ID;
e) shall set the MCVideo remote push call recipient IE with stored group call recipient ID; and
f) may set the Video Information IE with stored video information; and
8) shall send the GROUP REMOTE VIDEO PUSH REQUEST message towards the intended MCVideo Group according to rules and procedures as specified in clause 13.3.1.1.1.
13.3.2.3.2 Group video push call setup
Upon accepting the remote video push request, MCVideo client shall make an Off-network broadcast group call as specified in clause 9.3.
If Video Information IE is not present in the received GROUP REMOTE VIDEO PUSH REQUEST message, the MCVideo client shall use the camera as source of video.