diff --git a/xep-0327.xml b/xep-0327.xml index 3b4f7011..6aa3c66b 100644 --- a/xep-0327.xml +++ b/xep-0327.xml @@ -34,10 +34,16 @@ jdecastro@voxeo.com http://voxeolabs.com + + 0.2 + 2014-01-30 + bl +

Further updates.

+
0.2 2013-06-10 - psa + bl

Updates to address open issues.

@@ -556,7 +562,7 @@ -

When the system receives a call from one of its connected networks, it MUST then expose that requested session to Rayo clients. It SHOULD use an implementation-specific routing mechanism to map incoming calls to some set of registered JIDs which are considered appropriate controlling parties. From this set, it SHOULD then remove any parties whom it can identify as being temporarily inappropriate for control (either unavailable based on presence, under too much load, or any other metric which the server has available). If, as a result, the set of Potentially Controlling Parties is empty, the server MUST reject the call with a 'decline' reason.

+

When the system receives a call from one of its connected networks, it MUST then expose that requested session to Rayo clients. It SHOULD use an implementation-specific routing mechanism to map incoming calls to some set of registered JIDs which are considered appropriate controlling parties. From this set, it SHOULD then remove any parties whom it can identify as being temporarily inappropriate for control (either unavailable based on presence, under too much load, or any other metric which the server has available). If, as a result, the set of Potentially Controlling Parties is empty, the server MUST reject the call indicating that the requested service was unavailable.

If the server can identify active Potential Controlling Parties, it MUST offer them control of the call simultaneously. The server must broadcast an offer on behalf of the call to all Potential Controlling Parties, using applicable to/from/header data from the incoming session. The server MUST also include entity capabilities information in the presence stanza containing the offer, in order to advertise the fact that the entity is a call, qualified by the node name "urn:xmpp:rayo:call:1".

The prompt component emits intermediate events from the nested output and input components.

+

It also emits an 'input-timers-started' event when the input component's timers are started, which corresponds to the completion of the output sub-component.

+ + + + + ]]> @@ -1692,7 +1706,7 @@ type='unavailable'> - + ]]>
@@ -1717,7 +1731,7 @@ -

If a client can determine a more appropriate target for an incoming call, it may wish to relay this information to the caller in the form of a URI (eg SIP). The client MUST do this before accepting a call. The target URI must be specified in the 'to' attribute of the redirect element.

+

If a client can determine a more appropriate target for an incoming call, it may wish to relay this information to the caller in the form of a URI (eg SIP). The target URI must be specified in the 'to' attribute of the redirect element.

]]> -

If the server is unable to perform the redirect because the call has already been accepted, it should return a not-allowed (cancel) error indicating such:

- If the server is unable to perform the redirect because the call is in a state where a redirect is not possible, it should return an unexpected-request (wait) error indicating such:

+
- - + + ]]> @@ -1883,6 +1897,35 @@ ]]> + + + +

XMPP message stanzas directed to the call's JID with a type of 'normal' MAY be forwarded to the calling party by translating the message into the calling party's protocol. In the case of SIP, this SHOULD follow the conventions set out in draft-ietf-stox-im-06 with the exception of the <thread/> to Call-ID mapping, as the Call-ID will always be that of the calling party.

+ +

If a message is directed to the call's JID with a type other than 'normal' then the server MUST return a <feature-not-implemented/> error with a type of 'modify'. If no translation is possible then the server SHOULD return the same error but with a type of 'cancel'.

+ + + Art thou not Romeo, and a Montague? + + +MESSAGE sip:romeo@montague.lit SIP/2.0 +Via: SIP/2.0/UDP call.shakespeare.lit;branch=AmRHlGRD0WD7BHgM5fKc +Max-Forwards: 70 +From: ;tag=78aBN3CgAB8MK +To: ;tag=Z7nlVUbvTOmV6 +Call-ID: 2819297471 +CSeq: 55119460 MESSAGE +Content-Type: text/plain +Content-Length: 35 + +Art thou not Romeo, and a Montague? + ]]> +
+
@@ -1949,7 +1992,21 @@

The <end/> element has no attributes.

-

The following are valid end reason elements. Unless otherwise stated, they all MUST be empty, and they do not have any attributes.

+

The following are valid end reason elements. Unless otherwise stated, they all MUST be empty.

+ +

The attributes of the end reason element are as follows.

+ + + + + + + + + + + +
AttributeDefinitionInclusion
platform-codeA platform-specific end code. This could be a SIP code, ITU-T Q.850 or some other system. The code may be an arbitrary string.OPTIONAL
@@ -2137,12 +2194,12 @@ call-uri Indicates the 3rd party call URI from which the target call should be unjoined. - REQUIRED unless mixer-name is set. MUST NOT be set if mixer-name is set. + OPTIONAL. MUST NOT be set if mixer-name is set. mixer-name Indicates the mixer name from which the target call should be unjoined. - REQUIRED unless call-uri is set. MUST NOT be set if call-uri is set. + OPTIONAL. MUST NOT be set if call-uri is set. @@ -2469,7 +2526,7 @@ mode The method by which to collect input. - any|dtmf|voice + any|dtmf|voice|cpa any OPTIONAL @@ -2571,8 +2628,8 @@

Indicates that the component came to an end due to one of its grammars matching the received input.

The <match/> element MUST contain a valid response document within CDATA.

-

The attributes of the <matchr/> element are as follows.

- +

The attributes of the <match/> element are as follows.

+
@@ -2627,6 +2684,12 @@
Attribute Definition
+ + +

Indicates that the component's input timers have started.

+

The <input-timers-started/> element MUST be empty.

+

The <input-timers-started/> element has no attributes.

+
@@ -2648,7 +2711,7 @@ format File format used during recording. A valid format token, such as 'mp3', 'wav', 'h264'. Implementation specific. - mp3 + wav OPTIONAL @@ -2996,6 +3059,16 @@ + + + + + A platform-specific end code. This could be a SIP code, ITU-T Q.850 or some other system. The code may be an arbitrary string. + + + + + @@ -3006,42 +3079,42 @@ - + Indication that the call ended due to a normal hangup by the remote party. - + Indication that the call ended due to a normal hangup triggered by a hangup command. - + Indication that the call ended due to a timeout in contacting the remote party. - + Indication that the call ended due to being rejected by the remote party subsequent to being accepted. - + Indication that the call ended due to being rejected by the remote party before being accepted. - + Indication that the call ended due to a system error. @@ -3798,6 +3871,7 @@ + @@ -3992,6 +4066,15 @@ + + + + + Indicates that the component's input timers have started. + + + + ]]> @@ -4018,7 +4101,7 @@ - + File format used during recording.