Embodiment
Below in conjunction with Figure of description embodiment of the present invention is described.
One embodiment of the present of invention disclose a kind of cluster client terminal user status transferring method, comprising:
A, in Push To Talk PoC; After cluster client terminal user applies medium sending right or other cluster client terminals user are said cluster client terminal user applies medium sending right; Cluster client terminal receives and authorizes medium sending right TB_Granted message, moves to the medium sending right Receive permission state of receiving;
Carrying out medium sending right between B, cluster client terminal and the cluster client terminal user consults; And, said cluster client terminal state transition is discharged the Pending TB_Release state of waiting for to having medium sending right has permission state or medium sending right according to said negotiation result.
Among the said step B, comprise that also cluster client terminal receives medium sending right to the cluster client terminal user prompt.
Among the said step B, further comprise:
Judge whether said cluster client terminal user accepts medium sending right; If; Said cluster client terminal state transition to having medium sending right has permission state, otherwise is discharged the Pending TB_Release state of waiting for said cluster client terminal state transition to medium sending right.
Described method, judge whether said cluster client terminal user accepts in the step of medium sending right:
Said cluster client terminal user acceptance/refusal medium sending right returns the indication of medium sending right acceptance/refusal through said cluster client terminal user, or
Preset medium sending right is confirmed to reply, and cluster client terminal returns medium sending right automatically according to said preset value and confirms to reply.
Among the said step B, also comprise the step that starts timer,
If before said timer expiry; Said cluster client terminal user confirms to accept medium sending right; Then with said cluster client terminal state transition to having medium sending right has permission state, otherwise said cluster client terminal state transition to medium sending right is discharged the Pending TB_Release state of waiting for.
Described method, after cluster server sent medium sending right release TB_Release message, said cluster client terminal state transition to medium sending right discharged the Pending TB_Release state of waiting for.
An alternative embodiment of the invention discloses a kind of cluster client terminal, comprising:
Receive medium sending right Receive permission state set unit; Be used at Push To Talk PoC; After cluster client terminal user applies medium sending right or other cluster client terminals user are said cluster client terminal user applies medium sending right; Medium sending right TB_Granted is authorized in reception message, moves to the medium sending right Receive permission state of receiving;
The medium sending right negotiation element is used for carrying out between cluster client terminal and the cluster client terminal user medium sending right and consults;
The state transition unit is used for according to said medium sending right negotiation result, and said cluster client terminal state transition is discharged the PendingTB_Release state of waiting for to having medium sending right has permission state or medium sending right.
Described cluster client terminal also comprises:
The medium sending right request unit is used for cluster client terminal user applies medium sending right.
Described cluster client terminal also comprises:
The medium sending right Tip element is positioned at said medium sending right negotiation element, is used for cluster client terminal to cluster client terminal user prompt medium sending right.
Described cluster client terminal also comprises:
Timer units is positioned at said medium sending right negotiation element, is used to the cluster client terminal user and accepts medium sending right setting-up time threshold value.
Described cluster client terminal also comprises:
Medium sending right acceptance/refusal indication transmitting element is positioned at said medium sending right negotiation element, is used for the cluster client terminal user and sends medium sending right to cluster client terminal and accept confirmation or refuse indication.
Described cluster client terminal also comprises:
Have medium sending right has permission state set unit, be positioned at said state transition unit, be used for after the cluster client terminal user accepts medium sending right, with cluster client terminal state transition to having medium sending right has permission state;
Medium sending right discharges waits for Pending TB_Release state set unit; Be positioned at said state transition unit; Be used for after the cluster client terminal user does not accept medium sending right, cluster client terminal state transition to medium sending right is discharged the Pending TB_Release state of waiting for.
Described cluster client terminal also comprises:
Medium sending right discharges the TB_Release message sending unit; Be positioned at said state transition unit; Be used for sending medium sending right and discharge TB_Release message, so that cluster client terminal state transition to medium sending right discharges the Pending TB_Release state of waiting for to cluster server.
An alternative embodiment of the invention discloses a kind of cluster client terminal user status transferring method, comprising:
A, in Push To Talk PoC; After cluster client terminal user applies medium sending right or other cluster client terminals user are said cluster client terminal user applies medium sending right; Cluster client terminal receives and authorizes medium sending right TB_Granted message, moves to have medium sending right has permission state;
Carrying out medium sending right between b, cluster client terminal and the cluster client terminal user consults; And, said cluster client terminal state transition has been confirmed that to the medium sending right user UserConfirmed state or medium sending right discharge the Pending TB_Release state of waiting for according to said negotiation result.
Among the said step a, also comprise User Confirming state in said cluster client terminal state transition to the medium sending right user affirmation that has medium sending right has permission state.
Described medium sending right user has confirmed that User Confirming state is the said sub-state that has medium sending right has permission state in User Confirmed state and/or the medium sending right user affirmation, passes through the flag bit setting at said cluster client terminal.
Among the said step b, comprise that also cluster client terminal is to said cluster client terminal user prompt medium sending right.
Among the said step b, further comprise:
Judge whether the cluster client terminal user accepts medium sending right, if said cluster client terminal state transition has been confirmed User Confirmed state to the medium sending right user; Otherwise said cluster client terminal state transition to medium sending right is discharged the Pending TB_Release state of waiting for.
Said said cluster client terminal state transition has been confirmed in the User Confirmed state step to the medium sending right user,
Said cluster client terminal user accepts medium sending right, and return medium sending right through said cluster client terminal user and confirm, or
Preset medium sending right is confirmed to reply, and cluster client terminal returns medium sending right automatically according to said preset value and confirms to reply.
Among the said step b, also comprise the step that starts timer, if before timer expiry, said cluster visitor end subscriber is accepted medium sending right, and said cluster client terminal state transition has been confirmed User Confirmed state to the medium sending right user; Otherwise said cluster client terminal state transition to medium sending right is discharged the Pending TB_Release state of waiting for.
Described method, after said cluster server sent medium sending right release TB_Release message, said cluster client terminal state transition to medium sending right discharged the Pending TB_Release state of waiting for.
An alternative embodiment of the invention discloses a kind of cluster client terminal, comprising:
Have medium sending right has permission state set unit; Be used at Push To Talk PoC; After cluster client terminal user applies medium sending right or other cluster client terminals user are said cluster client terminal user applies medium sending right; Medium sending right TB_Granted is authorized in reception message, moves to have medium sending right has permission state;
The medium sending right negotiation element is used for carrying out between cluster client terminal and the cluster client terminal user medium sending right and consults;
The state transition unit is used for according to said medium sending right negotiation result, and said cluster client terminal state transition has been confirmed that to the medium sending right user User Confirmed state or medium sending right discharge the Pending TB_Release state of waiting for.
Described cluster client terminal also comprises:
The medium sending right request unit is used for cluster client terminal user applies medium sending right.
Described cluster client terminal also comprises:
The medium sending right Tip element is positioned at said medium sending right negotiation element, is used for cluster client terminal to cluster client terminal user prompt medium sending right.
Described cluster client terminal also comprises:
The medium sending right user has confirmed User Confirmed state set unit; Be positioned at said state transition unit; Be used for after the cluster client terminal user accepts medium sending right, cluster client terminal state transition has been confirmed User Confirmed state to the medium sending right user;
Medium sending right discharges waits for Pending TB_Release state set unit; Be positioned at said state transition unit; Be used for after the cluster client terminal user does not accept medium sending right, cluster client terminal state transition to medium sending right is discharged the Pending TB_Release state of waiting for.
Described cluster client terminal also comprises:
Medium sending right acceptance/refusal indication transmitting element is positioned at said medium sending right negotiation element, is used for the cluster client terminal user and sends the indication of medium sending right acceptance/refusal to cluster client terminal.
Described cluster client terminal also comprises:
Timer units is positioned at said medium sending right negotiation element, is used to the cluster client terminal user and accepts medium sending right setting-up time threshold value.
Described cluster client terminal also comprises:
User Confirming state set unit during the medium sending right user confirms; Be positioned at said state transition unit, be used for said cluster client terminal state transition to the medium sending right user affirmation User Confirming state that has medium sending right has permission state.
Described cluster client terminal also comprises:
Medium sending right discharges the TB_Release message sending unit; Be positioned at said state transition unit; Be used for sending medium sending right and discharge TB_Release message, so that cluster client terminal state transition to medium sending right discharges the Pending TB_Release state of waiting for to cluster server.
Described cluster client terminal also comprises:
Flag bit is provided with the unit; Be positioned at said state transition unit, be used for through flag bit described medium sending right user being set and confirmed that User Confirmed state and/or medium sending right user confirm User Confirming state at said cluster client terminal.
Scheme one:
Scheme one is through increasing an intermediateness: receive medium sending right state " U:Receive permission ", realize the processing to the medium sending right of third party's application.The transition condition of this state is:
1, receive that PoC Client user refusal or PoC Client user confirm that timer Tc is overtime, after the transmission TB_Release message, state transitions is to U:pending TB_Release;
2, receive PoC Client user's affirmation: state transitions is to " U:has permission ".
As shown in Figure 2; It is the state machine diagram that has increased after the above-mentioned intermediateness " U:Receive permission "; Visible from figure, when PoC Client when state is received " R:TB_Granted ", is moved to this state at " U:has no permission " earlier; PoC Client points out the medium sending right whether PoC Client user accepts to authorize then; Can start in this process and confirm timer Tc; If PoC Client user confirms this medium sending right before timer expiry, then state machine is moved to " U:has permission ", if PoC Client user refusal perhaps confirms that timer Tc is overtime; After then sending " S:TB_Release ", state machine is moved to " U:Pending TB_Release ".
As shown in Figure 3, be the handling process sketch map after scheme one increases intermediateness " U:Receive permission ", visible from figure, mainly may further comprise the steps:
S310, PoC Client receive TB_granted message, forward " U:Receive Permission " then to;
In this step; If this PoC Client user through certain approach application medium sending right (apply for medium sending right such as this PoC Client user oneself; Perhaps other PoC Client users medium sending right that has been this PoCClient user applies); Then this PoC Client can receive TB_granted message, in scheme one, forwards " U:Receive Permission " to.
S320, PoC Client are prompted to medium sending right PoC Client user and start and confirm timer Tc;
S330, judge that PoC Client user whether confirming that timer Tc accepts medium sending right before overtime, if get into step S340, otherwise gets into step S370;
S340, send medium acknowledge message Floor ACK to server;
If PoC Client user is confirming that timer Tc accepts medium sending right before overtime, then sends Floor ACK to server; This step is optional, also can not send this Floor ACK message.If do not send, then server can confirm that PoC Client user has accepted medium sending right through receiving Media Stream.
In the said process; Described acceptance can be that PoC Client user-interactive is confirmed, also can accept medium sending right through being provided with in advance; For example be set to not accept the medium sending right that the third party authorizes in advance, then PoC Client always refuses third-party medium sending right.
S350, PoC Client forward " U:has permission " to;
After obtaining PoC Client user affirmation, PoC Client forwards " U:has permission " to.
S360, POC Client normally send medium;
If S370 PoC Client user is confirming that timer Tc does not confirm perhaps to have refused medium sending right before overtime, then sends TB_release and forwards " U:Pending TB_release " to server.
In the scheme one, FloorAck message is the medium control messages that increases newly, is used for confirming to accept medium sending right to server; This message is the same with other medium control messages, can all be based on the RTCP extension of message.
Timer Tc starts move to " U:Receive Permission " state at PoC Client after, is used to limit PoC Client user and whether accepts medium sending right in internal feedback effective time.
As shown in Figure 4, be that a PoC Client A is a PoC Client B request medium sending right, PoC Client B accepts the example flow chart of this medium sending right, and is visible from figure, mainly may further comprise the steps:
S410, PoC Client A send Floor req to server, are PoC Client B application medium sending right;
S420, cluster server send Floor Granted message to PoC Client B, inform this application medium sending right incident;
S430, while cluster server send Floor Taken message to PoC Client A, inform that the medium sending right application is accepted;
S440, cluster server start timer Tx and wait for that PoC Client B replys;
S450, PoC Client B prompting PoC Client party B-subscriber confirm medium sending right, and start timer Tc, wait for that PoC Client party B-subscriber replys;
S460, PoC Client party B-subscriber confirm to accept or PoC Client party B-subscriber is set to accept;
If PoC Client party B-subscriber accepts this medium sending right; Then can send acknowledge message and inform acceptance; Also can be set to automatically reply; Such as being provided with when receiving the prompting PoC Client party B-subscriber medium sending right information that PoC Client B sends, acquiescence is accepted this medium sending right;
S470、Floor?ACK;
PoC Client B sends Floor ACK to cluster server, confirms to accept this medium sending right;
S480, PoC Client B have had medium sending right, can send Media Stream to server;
S490, server send to PoC Client A with said Media Stream.
Corresponding with scheme one, the present invention proposes a kind of cluster client terminal, as shown in Figure 5, be the structural representation of this cluster client terminal 500, visible from figure, this cluster client terminal 500 comprises:
Receive medium sending right Receive permission state set unit 510, be used for after receiving TB_Granted message, moving to " U:Receive permission " state;
Medium sending right negotiation element 520 is used for carrying out between cluster client terminal 500 and the cluster client terminal user medium sending right and consults;
State transition unit 530 is used for according to said medium sending right negotiation result, with perhaps " U:Pending TB_Release " state of said cluster client terminal user status transferring to " U:Has Permission " state.
Described cluster client terminal 500 also comprises:
Medium sending right request unit 540 is used for cluster client terminal user applies medium sending right.
As shown in Figure 6, described medium sending right negotiation element 520 also comprises:
Medium sending right Tip element 521 is used for cluster client terminal 500 to cluster client terminal user prompt medium sending right.
Timer units 522 is used to the cluster client terminal user and accepts medium sending right setting-up time threshold value;
Medium sending right acceptance/refusal indication transmitting element 523 is used for the cluster client terminal user and sends the indication of medium sending right acceptance/refusal to cluster client terminal 500.
As shown in Figure 7, also be provided with in state transition unit 530:
Have medium sending right Has Permission state set unit 531, be used for after the cluster client terminal user accepts medium sending right, with cluster client terminal 500 state transitions to " U:Has Permission " state;
Medium sending right discharge to be waited for Pending TB_Release state set unit 532, be used for after the cluster client terminal user does not accept medium sending right, with cluster client terminal 500 state transitions to " U:Pending TB_Release " state.
Medium sending right release message transmitting element 533 is used for sending TB_Release message to said cluster client terminal 500, so that cluster client terminal 500 state transitions are to " U:Pending TB_Release " state.
Scheme two
Scheme two does not increase independently new state; Just reuse and strengthened " U:Has Permission " state: scheme two is in inner two sub-state that increase of " U:Has Permission " state; Strengthened the disposal ability of this state, realized support functions such as " for the third party applies for medium sending right ";
As shown in Figure 8; It is the state machine diagram after the inner increase of " U:Has Permission " state two sub-state; Visible from figure; When PoC Client when receiving " R:TB_Granted ", is moved to state " U:Has Permission " at " U:has no permission "; Simultaneously can in this state, increase a value of statistical indicant; UserConfirmFlag; Value is: " User Confirming " and " User Confirmed " is used for distinguishing two sub-states: PoC Client user confirms, can not send medium; And PoC Client user confirms, just sending medium; When PoC Client receives " R:TB_Granted "; The value of UserConfirmFlag is " User Confirming "; This moment, PoC Client did not carry out the transmission of medium immediately, but whether the medium sending right and the startup of pointing out PoC Client user to accept to authorize earlier confirm timer Tc, if PoC Client user confirms this medium sending right; Then UserConfirmFlag becomes " User Confirmed ", and PoC Client begins to send medium.If PoC Client user refusal or timer Tc are overtime, then after the transmission " S:TB_Release ", state machine is moved to " U:Pending TB_Release ".
As shown in Figure 9, be the process flowchart of scheme two.Visible from figure, specifically may further comprise the steps:
S910, PoC Client receive TB_granted message, forward " U:Has Permission " state then to;
In this step; If this PoC Client user through certain approach application medium sending right (apply for medium sending right such as this PoC Client user oneself; Perhaps other PoC Client users medium sending right that has been this PoCClient user applies); Then this PoC Client can receive TB_granted message, in scheme one, forwards " U:Receive Permission " state to.
920, PoC Client is changed to User Confirming to UserConfirmFlag, is prompted to medium sending right PoC Client user and starts timer Tc;
S930, judge that whether PoC Client user accepted medium sending right before timer Tc is overtime; If get into step S940, otherwise get into step S960;
S940, be changed to User Confirmed to UserConfirmFlag;
If PoC Client user accepted medium sending right before timer Tc is overtime, be changed to User Confirmed to UserConfirmFlag.
PoC Client user in this step is to the acceptance of medium sending right; Can be that PoC Client user-interactive is confirmed; Also can accept medium sending right through being provided with in advance; For example be set to not accept the medium sending right that the third party authorizes in advance, then PoC Client always refuses third-party medium sending right;
S950, PoC Client normally send medium;
S960, transmission TB_release message also forward " U:Pending TB_release " state to
If PoC Client user did not confirm before timer Tc is overtime or has refused medium sending right, then sends TB_release message and forward " U:Pending TB_release " state to server.
In scheme two, increased state " U:has Permission " state and arrived other state transition conditions:
1, receives that PoC Client user confirms: still move to " U:has permission " state, but value of statistical indicant UserConfirmFlag set is " User Confirmed ";
2, receive that PoC Client user refusal or timer Tc are overtime: transfer to state " U:pending TB_Release " after sending TB_Release message.
Corresponding with scheme two, the present invention proposes a kind of cluster client terminal, the corresponding cluster client terminal of this cluster client terminal and scheme one is similar; Difference to some extent is shown in figure 10 on the part unit, is the structural representation of this cluster client terminal 500; Visible from figure, this cluster client terminal 500 comprises:
Have medium sending right Has Permission state set unit 550, be used for after receiving TB_Granted message, moving to " U:Has Permission " state;
Medium sending right negotiation element 520 is used for carrying out between cluster client terminal 500 and the cluster client terminal user medium sending right and consults;
State transition unit 530 is used for according to said medium sending right negotiation result, with perhaps " U:Pending TB_Release " state of said cluster client terminal user status transferring to " U:User Confirmed " state;
Medium sending right request unit 540 is used for cluster client terminal user applies medium sending right.
Shown in figure 11, in the such scheme, medium sending right negotiation element 520 can further include:
Medium sending right Tip element 521 is used for cluster client terminal 500 to cluster client terminal user prompt medium sending right.
Timer units 522 is used to the cluster client and accepts medium sending right setting-up time threshold value.
Medium sending right acceptance/refusal indication transmitting element 523 is used for the cluster client terminal user and sends the medium sending rights indication of accepting confirmation to cluster client terminal 500.
Shown in figure 12, in the such scheme, state transition unit 530 can further include:
The medium sending right user has confirmed User Confirmed state set unit 534, be used for after the cluster client terminal user accepts medium sending right, with cluster client terminal state transition to " U:User Confirmed " state;
Medium sending right discharges wait state unit 532 is set, be used for after the cluster client terminal user does not accept medium sending right, with cluster client terminal state transition to " U:Pending TB_Release " state.
State set unit 535 during the user confirms is used for the User Confirming state with said cluster client terminal user status transferring to Has Permission state.
Medium sending right release message transmitting element 533 is used for sending TB_Release message to cluster client terminal 500, so that cluster client terminal 500 state transitions are to " U:Pending TB_Release " state.
Flag bit is provided with unit 536, is used for through flag bit described User Confirmed state and/or User Confirming state being set at said cluster client terminal 500.
Obviously, those skilled in the art can carry out various changes and modification to the present invention and not break away from the spirit and scope of the present invention.Like this, belong within the scope of claim of the present invention and equivalent technologies thereof if of the present invention these are revised with modification, then the present invention also is intended to comprise these changes and modification interior.