[XCON] Proposed small fixes to BFCP
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[XCON] Proposed small fixes to BFCP
Folks,
while implementing our BFCP stack (the 'running code' part of the
protocol), we have discovered a couple of relatively minor bugs in the
BFCP spec that need to be fixed. They are probably too big to be fixed
thru RFC editor notes. My suggestion would be to remove the draft from
the queue, perform the changes I propose below, and send it back to the
queue. Opinions?
Section 5.3.9 defines the ChairAction message. That message can contain
several floors (which belong to the same floor request operation) but
can only provide a single queue position (within the REQUEST-STATUS
attribute) for all of them. We need to be able to provide different
queue positions for different floors (e.g., second for floor 1 and third
for floor 2). In order to do this, we need to define a new grouped
attribute called FLOOR-REQUEST-STATUS whose definition would be the
following:
Attribute header:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x x x x x x x|M| Length | Floor ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Attribute ABNF:
FLOOR-REQUEST-STATUS = (FLOOR-REQUEST-STATUS-HEADER)
(REQUEST-STATUS)
[STATUS-INFO]
*[EXTENSION-ATTRIBUTE]
Now, the already existing FLOOR-REQUEST-INFORMATION grouped attribute
would carry '1*(FLOOR-REQUEST-STATUS)' instead of '1*(FLOOR-ID)'
The same for the already existing ChairAction message.
Additionally, we would define a new grouped attribute called
OVERALL-REQUEST-STATUS, whose definition would be almost identical to
the FLOOR-REQUEST-STATUS attribute. The only difference is that this one
would carry a Floor Request ID instead of a Floor ID. This attribute
would be used within the FLOOR-REQUEST-INFORMATION attribute, whose ABNF
would become:
OLD:
FLOOR-REQUEST-INFORMATION = (FLOOR-REQUEST-INFORMATION-HEADER)
(REQUEST-STATUS) <--
1*(FLOOR-ID) <--
[BENEFICIARY-INFORMATION]
[REQUESTED-BY-INFORMATION]
[PRIORITY]
[PARTICIPANT-PROVIDED-INFO]
[STATUS-INFO] <--
*[EXTENSION-ATTRIBUTE]
NEW:
FLOOR-REQUEST-INFORMATION = (FLOOR-REQUEST-INFORMATION-HEADER)
(OVERALL-REQUEST-STATUS)
1*(FLOOR-REQUEST-STATUS)
[BENEFICIARY-INFORMATION]
[REQUESTED-BY-INFORMATION]
[PRIORITY]
[PARTICIPANT-PROVIDED-INFO]
*[EXTENSION-ATTRIBUTE]
Then, we would need to add a brief discussion on queues, indicating that
the queue positions in the OVERALL-REQUEST-STATUS attribute refer to
positions in a global queue for floor requests and that queue positions
in the FLOOR-REQUEST-STATUS attribute refer to positions in a queue for
floor requests for a particular floor. Of course, implementations are
free to implement (or provide information about) one, both, or none of
these queue types.
The ChairAction message would become:
OLD:
ChairAction = (COMMON-HEADER)
1*(FLOOR-ID) <--
(FLOOR-REQUEST-ID)
(REQUEST-STATUS) <--
[STATUS-INFO]
*[EXTENSION-ATTRIBUTE]
NEW:
ChairAction = (COMMON-HEADER)
1*(FLOOR-REQUEST-STATUS)
(FLOOR-REQUEST-ID)
[STATUS-INFO]
*[EXTENSION-ATTRIBUTE]
A different issue (more easily fixable than the issue above) is that the
FloorRequest and the FloorQuery messages should carry 1*(FLOOR-ID)
instead of *(FLOOR-ID).
Cheers,
Gonzalo
_______________________________________________
XCON mailing list
XCON at ietf.org
https://www1.ietf.org/mailman/listinfo/xcon
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.