📄 vojxtacallcontrol.java
字号:
if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_HOLDING - got "+command); } } }else if(COMMAND_VOJXTA_RESUME_ACCEPT.equals (command)) { if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("callControl : "+this.COMMAND_VOJXTA_RESUME_ACCEPT+" received"); } if(getProtocolState () == this.SESSION_VOJXTA_RESUME_REQUEST_SENT) { updateAckThread (command); setProtocolState (this.SESSION_VOJXTA_RESUME_ACCEPT_RECEIVED); // resume call localActionResumeCall (); setProtocolState (this.SESSION_VOJXTA_INCALL); }else{ if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_RESUME_REQUEST_SENT - got "+command); } } }else if(COMMAND_VOJXTA_HANGUP_REQUEST.equals (command)) { if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("callControl : "+this.COMMAND_VOJXTA_HANGUP_REQUEST+" received"); } if(getProtocolState () == this.SESSION_VOJXTA_INCALL) { setProtocolState (this.SESSION_VOJXTA_HANGUP_REQUEST_RECEIVED); sendCommand (this.COMMAND_VOJXTA_HANGUP_ACCEPT, null); setProtocolState (this.SESSION_VOJXTA_HANGUP_ACCEPT_SENT); // hangup call - stop transfering data localActionEndCall (); setProtocolState (this.SESSION_VOJXTA_ENDED); }else{ if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_INCALL - got "+command); } } }else if(COMMAND_VOJXTA_HANGUP_ACCEPT.equals (command)) { if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("callControl : "+this.COMMAND_VOJXTA_HANGUP_ACCEPT+" received"); } if(getProtocolState () == this.SESSION_VOJXTA_HANGUP_REQUEST_SENT) { updateAckThread (command); setProtocolState (this.SESSION_VOJXTA_HANGUP_ACCEPT_RECEIVED); //hang up call localActionEndCall (); sendCommand (this.COMMAND_VOJXTA_DISCONNECT_REQUEST,this.COMMAND_VOJXTA_DISCONNECT_ACCEPT); setProtocolState (this.SESSION_VOJXTA_ENDED); }else{ if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_HANGUP_REQUEST_SENT - got "+command); } } }else if(COMMAND_VOJXTA_DISCONNECT_REQUEST.equals (command)) { if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("callControl : "+this.COMMAND_VOJXTA_DISCONNECT_REQUEST+" received"); } if(getProtocolState () == this.SESSION_VOJXTA_ENDED) { setProtocolState (this.SESSION_VOJXTA_DISCONNECT_REQUEST_RECEIVED); sendCommand (this.COMMAND_VOJXTA_DISCONNECT_ACCEPT,null); setProtocolState (this.SESSION_VOJXTA_DISCONNECT_ACCEPT_SENT); //disconnect from host - close window no more calls from this tab if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("Disconnecting"); } localActionEndSession (); setProtocolState (this.SESSION_VOJXTA_DISCONNECTED); }else{ // the other side is going down... kill session // this is the non graceful shutdown withthe protocol being in any state setProtocolState (this.SESSION_VOJXTA_DISCONNECT_REQUEST_RECEIVED); sendCommand (this.COMMAND_VOJXTA_DISCONNECT_ACCEPT,null); setProtocolState (this.SESSION_VOJXTA_DISCONNECT_ACCEPT_SENT); //disconnect from host - close window no more calls from this tab localActionEndSession (); setProtocolState (this.SESSION_VOJXTA_DISCONNECTED); if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_ENDED - got "+command); LOG.info ("Ungraceful disconnect received...Going Down"); } } }else if(COMMAND_VOJXTA_DISCONNECT_ACCEPT.equals (command)) { if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("callControl : "+this.COMMAND_VOJXTA_DISCONNECT_ACCEPT+" received"); } if(getProtocolState () == this.SESSION_VOJXTA_ENDED) { updateAckThread (command); setProtocolState (this.SESSION_VOJXTA_DISCONNECT_ACCEPT_RECEIVED); //disconnect from host - close window no more calls from this tab localActionEndSession (); setProtocolState (this.SESSION_VOJXTA_DISCONNECTED); }else{ // the other side is going down... kill session // TODO: if (LOG.isEnabledFor (Level.INFO)) { LOG.info ("expected SESSION_VOJXTA_ENDED - got "+command); } } } }//call control /** * message has been received... determine if its the correct response */ protected void updateAckThread (String command) { LOG.info ("Checking AckThread"); if(messageAckThread != null) { messageAckThread.setMessageAcknowledged (command); if(messageAckThread.isThreadEnded ()) { messageAckThread = null; } }else{ LOG.info ("MessageAckThread is null!!"); } } /** these methods offer an interface to audio controls. volume, mute etc*/ public boolean isMicGainSupported () { return micControl.isGainControlSupported (); } public float getMicGainValue () { return micControl.getGainValue (); } /** * Control state accessor */ public void adjustMicGainControl (float newValue) { micControl.adjustGainControl (newValue); } /** * Control state accessor */ public float getMicMaxGain () { return micControl.getMaxGainValue (); } /** * Control state accessor */ public float getMicMinGain () { return micControl.getMinGainValue (); } /** * Control state accessor */ public String getMicGainUnits () { return micControl.getGainUnits (); } /** * Control state accessor */ public String getMicMaxGainLabel () { return micControl.getMaxLabel (); } /** * Control state accessor */ public String getMicMinGainLabel () { return micControl.getMinLabel (); } /** * Control state accessor */ public boolean isSpeakerGainSupported () { return speakerControl.isGainControlSupported (); } /** * Control state accessor */ public float getSpeakerGainValue () { return speakerControl.getGainValue (); } /** * Control state accessor */ public void adjustSpeakerGainControl (float newValue) { speakerControl.adjustGainValue (newValue); } /** * Control state accessor */ public float getSpeakerMaxGain () { return speakerControl.getMaxGainValue (); } /** * Control state accessor */ public float getSpeakerMinGain () { return speakerControl.getMinGainValue (); } /** * Control state accessor */ public String getSpeakerGainUnits () { return speakerControl.getGainUnits (); } /** * Control state accessor */ public String getSpeakerMaxGainLabel () { return speakerControl.getMaxGainLabel (); } /** * Control state accessor */ public String getSpeakerMinGainLabel () { return speakerControl.getMinGainLabel (); } /** * Returns the voice quality set by local user */ protected int getLocalVoiceQuality () { return localVoiceQuality; } /** * Called by the UI to set prefered voice quality */ public void setLocalVoiceQuality (int localVoiceQuality) { if(localVoiceQuality >= this.MINIMUM_QUALITY && localVoiceQuality <= this.MAXIMUM_QUALITY) { this.localVoiceQuality = localVoiceQuality; }else{ this.localVoiceQuality = this.DEFAULT_QUALITY; } } /** * Returns the voice quality preferred by thte remote peer */ protected int getRemoteVoiceQuality () { return remoteVoiceQuality; } /** * Sets the preferred voice quality of the remote peer */ protected void setRemoteVoiceQuality (int remoteVoiceQuality) { if(remoteVoiceQuality >= this.MINIMUM_QUALITY && remoteVoiceQuality <= this.MAXIMUM_QUALITY) { this.remoteVoiceQuality = remoteVoiceQuality; }else{ this.remoteVoiceQuality = this.DEFAULT_QUALITY; } } /** * Sets the preferred voice quality of the remote peer */ protected void setRemoteVoiceQuality (String remoteVoiceQuality) { try { setRemoteVoiceQuality (Integer.valueOf (remoteVoiceQuality).intValue ()); }catch(NumberFormatException nfx) { nfx.printStackTrace (); setRemoteVoiceQuality (this.DEFAULT_QUALITY); } } /** * Sets preferred local voice quality. */ public void setLocalVoiceQuality (String localVoiceQuality) { try { setLocalVoiceQuality (Integer.valueOf (localVoiceQuality).intValue ()); }catch(NumberFormatException nfx) { nfx.printStackTrace (); setLocalVoiceQuality (this.DEFAULT_QUALITY); } } /** * Returns the lesser of local and remote preferred voice qualities. */ public int getMinimumVoiceQuality () { int localVQ = getLocalVoiceQuality (); int remoteVQ = getRemoteVoiceQuality (); int rtn = 0; if (localVQ == remoteVQ) { rtn = localVQ; }else if(localVQ < remoteVQ) { rtn = localVQ; }else { rtn = remoteVQ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -