Examples of VoiceManager


Examples of com.sun.mpk20.voicelib.app.VoiceManager

            double volume = msg.getVolume();

            logger.fine("GOT Volume message:  call " + softphoneCallID
          + " volume " + volume + " other callID " + otherCallID);

            VoiceManager vm = AppContext.getManager(VoiceManager.class);

            Player softphonePlayer = vm.getPlayer(softphoneCallID);

            if (softphonePlayer == null) {
                logger.warning("Can't find softphone player, callID "
        + softphoneCallID);
                return;
            }

            Player player = vm.getPlayer(otherCallID);

       if (player == null) {
                logger.warning("Can't find player for callID " + otherCallID);
          return;
            }

      if (msg.isSetVolume() == false) {
                AudioTreatmentComponentMO audioTreatmentComponentMO =
        cellMO.getComponent(AudioTreatmentComponentMO.class);

    msg.setVolume(audioTreatmentComponentMO.getVolume());
                sender.send(clientID, msg);
                logger.fine("Sending vol message " + msg.getVolume());
                return;
            }

      if (volume == 1.0) {
          softphonePlayer.removePrivateSpatializer(player);
          return;
      }

      VoiceManagerParameters parameters = vm.getVoiceManagerParameters();

            Spatializer spatializer;

      spatializer = player.getPublicSpatializer();
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

    }

    public void messageReceived(WonderlandClientSender sender,
            WonderlandClientID clientID, Message message) {

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

  if (message instanceof GetPlayersInRangeRequestMessage) {
      GetPlayersInRangeRequestMessage msg = (GetPlayersInRangeRequestMessage) message;

      Player player = vm.getPlayer(msg.getPlayerID());

      if (player == null) {
    logger.warning("No player for " + msg.getPlayerID());
    return;

      }

      Player[] playersInRange = player.getPlayersInRange();

      String[] playerIDList = new String[playersInRange.length];

      for (int i = 0; i < playersInRange.length; i++) {
    playerIDList[i] = playersInRange[i].getId();   
      }
 
      sender.send(clientID, new GetPlayersInRangeResponseMessage(msg.getPlayerID(),
    playerIDList));

      return;
  }

        if (message instanceof UDPPortTestMessage) {
      UDPPortTestMessage msg = (UDPPortTestMessage) message;

      try {
          vm.testUDPPort(msg.getHost(), msg.getPort(), msg.getDuration());
      } catch (IOException e) {
    logger.warning("Unable to test udp port " + msg.getPort()
        + ": " + e.getMessage());
      }

      return;
  }

        if (message instanceof GetVoiceBridgeRequestMessage) {
            logger.fine("Got GetVoiceBridgeMessage");

      String callID = ((GetVoiceBridgeRequestMessage) message).getCallID();

      if (callID != null) {
    logger.info("Ending existing call " + callID);

    Call call = vm.getCall(callID);

    if (call != null) {
        try {
            call.end(false);
        } catch (IOException e) {
      logger.info("Unable to end call " + call
         + " " + e.getMessage());
        }
    } else {
        logger.info("Can't find call for " + callID);
    }
      }

            BridgeInfo bridgeInfo;

            try {
                bridgeInfo = vm.getVoiceBridge();

                logger.info("Sending voice bridge info '" + bridgeInfo + "'");
            } catch (IOException e) {
                logger.warning("unable to get voice bridge:  " + e.getMessage());
                return;
            }

            sender.send(clientID, new GetVoiceBridgeResponseMessage(bridgeInfo.toString()));
            return;
        }

        if (message instanceof PlaceCallRequestMessage) {
            logger.fine("Got PlaceCallMessage from " + clientID);

            placeCall(clientID, (PlaceCallRequestMessage) message);
            return;
        }

  if (message instanceof EndCallMessage) {
      EndCallMessage msg = (EndCallMessage) message;

            String callID = msg.getCallID();

            Call call = vm.getCall(callID);

            if (call == null) {
                logger.fine("Unable to end call " + callID);
                return;
            }

      try {
    vm.endCall(call, true);
            } catch (IOException e) {
                logger.warning(
                    "Unable to end call " + call + ":  " + e.getMessage());
            }

      sender.send(new CallEndedMessage(msg.getCallID(), msg.getReason()));
      return;
  }

        if (message instanceof MuteCallRequestMessage) {
            MuteCallRequestMessage msg = (MuteCallRequestMessage) message;

            String callID = msg.getCallID();

            Call call = vm.getCall(callID);

            if (call == null) {
                logger.info("Unable to mute/unmute call " + callID);
                return;
            }

            try {
                call.mute(msg.isMuted());
            } catch (IOException e) {
                logger.warning("Unable to mute/unmute call " + callID + ": " + e.getMessage());
                return;
            }

            return;
        }

        if (message instanceof TransferCallRequestMessage) {
            TransferCallRequestMessage msg = (TransferCallRequestMessage) message;

            String callID = msg.getPresenceInfo().getCallID();

            Call call = vm.getCall(callID);

            if (call == null) {
                if (msg.getCancel() == true) {
                    return;
                }

                double x = 0;
                double y = 0;
                double z = 0;
                double orientation = 0;

                Player player = vm.getPlayer(callID);

                if (player != null) {
                    x = -player.getX();
                    y = player.getY();
                    z = player.getZ();
                    orientation = player.getOrientation();
                }

                placeCall(clientID, new PlaceCallRequestMessage(msg.getPresenceInfo(),
        msg.getPhoneNumber(), x, y, z, orientation, true));
                return;
            }

            CallParticipant cp = call.getSetup().cp;

            if (msg.getCancel() == true) {
                try {
                    call.transfer(cp, true);
                } catch (IOException e) {
                    logger.warning("Unable to cancel call transfer:  " + e.getMessage());
                }
                return;
            }

            if (msg.getPhoneNumber().equals(cp.getPhoneNumber())) {
    sender.send(clientID, new CallMigrateMessage(msg.getPresenceInfo().getCallID(), true));
                return;
            }

            cp.setPhoneNumber(msg.getPhoneNumber());

            setJoinConfirmation(cp);

            try {
                call.transfer(cp, false);
            } catch (IOException e) {
                logger.warning("Unable to transfer call:  " + e.getMessage());
            }
            return;
        }

  if (message instanceof AudioVolumeMessage) {
      handleAudioVolume(sender, clientID, (AudioVolumeMessage) message);
      return;
  }

  if (message instanceof ChangeUsernameAliasMessage) {
      sender.send(message);
      return;
  }

        if (message instanceof VoiceChatMessage) {
            VoiceChatHandler.getInstance().processVoiceChatMessage(sender, clientID,
                    (VoiceChatMessage) message);
            return;
        }

        if (message instanceof PlayTreatmentRequestMessage) {
            PlayTreatmentRequestMessage msg = (PlayTreatmentRequestMessage) message;

            Call call = vm.getCall(msg.getCallID());

            if (call == null) {
                logger.warning("No call for " + msg.getCallID());
                return;
            }
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

        if (callID == null) {
            logger.fine("Can't place call to " + msg.getSipURL() + ".  No cell for " + callID);
            return;
        }

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

  Call call = vm.getCall(callID);

  if (call != null) {
      call.getSetup().ended = true// make it look like it ended already
  }
 
  ScalableHashMap<String, ManagedReference<AudioCallStatusListener>> callIDListenerMap = callIDListenerMapRef.get();

  ManagedReference<AudioCallStatusListener> audioCallStatusListenerRef = callIDListenerMap.remove(callID);

  if (audioCallStatusListenerRef != null) {
      audioCallStatusListenerRef.get().done();
  }

        AudioCallStatusListener audioCallStatusListener = new AudioCallStatusListener(clientID, callID);

  audioCallStatusListenerRef = AppContext.getDataManager().createReference(audioCallStatusListener);

  callIDListenerMap.put(callID, audioCallStatusListenerRef);

        cp.setCallId(callID);
        cp.setName(info.getUserID().getUsername());
        cp.setPhoneNumber(msg.getSipURL());

        setJoinConfirmation(cp);

  cp.setCallEstablishedTreatment(JOIN_SOUND);
        cp.setConferenceId(vm.getVoiceManagerParameters().conferenceId);
        cp.setVoiceDetection(true);
        cp.setDtmfDetection(true);
        cp.setVoiceDetectionWhileMuted(true);
        cp.setHandleSessionProgress(true);
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

    }

    public static void setupCall(String callID, CallSetup setup, double x,
            double y, double z, double direction) throws IOException {

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

        Player p = vm.getPlayer(callID);

        Call call;

        call = vm.createCall(callID, setup);

        callID = call.getId();

        PlayerSetup ps = new PlayerSetup();

        if (p == null) {
            ps.x = x;
            ps.y = y;
            ps.z = z;
        } else {
            ps.x = p.getSetup().x;
            ps.y = p.getSetup().y;
            ps.z = p.getSetup().z;
        }

        ps.orientation = direction;
        ps.isLivePlayer = true;

        Player player = null;
        if(p==null) {
            player = vm.createPlayer(callID, ps);
        } else {
            player = p;
        }

        call.setPlayer(player);
        player.setCall(call);

        vm.getVoiceManagerParameters().livePlayerAudioGroup.addPlayer(player,
                new AudioGroupPlayerInfo(true, AudioGroupPlayerInfo.ChatType.PUBLIC));

        AudioGroupPlayerInfo info =
                new AudioGroupPlayerInfo(false, AudioGroupPlayerInfo.ChatType.PUBLIC);

        info.defaultSpeakingAttenuation = 0;

        vm.getVoiceManagerParameters().stationaryPlayerAudioGroup.addPlayer(player, info);
    }
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

      + " volume " + volume + " other callID " + otherCallID);

        logger.fine("GOT Volume message:  call " + softphoneCallID
      + " volume " + volume + " other callID " + otherCallID);

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

        Player softphonePlayer = vm.getPlayer(softphoneCallID);

        if (softphonePlayer == null) {
            logger.warning("Can't find softphone player, callID " + softphoneCallID);
            return;
        }

        if (softphoneCallID.equals(otherCallID)) {
      if (msg.isSetVolume() == false) {
    msg.setVolume(softphonePlayer.getMasterVolume());
    sender.send(clientID, msg);
    return;
      }

            softphonePlayer.setMasterVolume(volume);
            return;
        }

        Player player = vm.getPlayer(otherCallID);

   if (player == null) {
            logger.warning("Can't find player for callID " + otherCallID);
      return;
        }

  if (msg.isSetVolume() == false) {
      Spatializer spatializer = softphonePlayer.getPrivateSpatializer(player);
      msg.setVolume(spatializer.getAttenuator());
      sender.send(clientID, msg);
      logger.fine("Sending vol message " + msg.getVolume());
      return;
  }

  if (volume == 1.0) {
      softphonePlayer.removePrivateSpatializer(player);
      return;
  }

  VoiceManagerParameters parameters = vm.getVoiceManagerParameters();

        Spatializer spatializer;

  spatializer = player.getPublicSpatializer();
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

            return;
        }

        sessionCallIDMapRef.get().remove(sessionID);

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

        Call call = vm.getCall(callID);

        if (call == null) {
            logger.fine("Can't find call for " + callID);

            Player player = vm.getPlayer(callID);

            if (player != null) {
                vm.removePlayer(player);
            }
            return;
        }

        try {
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

      return;
  }

  logger.finer("got status " + status);

  VoiceManager vm = AppContext.getManager(VoiceManager.class);

  switch (status.getCode()) {
        case CallStatus.ESTABLISHED:
      stopRinging(vm);
      break;

        case CallStatus.ENDED:
      stopRinging(vm);
      vm.removeCallStatusListener(this);
               
      ended = true;

            WonderlandClientSender sender = WonderlandContext.getCommsManager().getSender(
          AudioManagerConnectionType.CONNECTION_TYPE);
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

      sendVoiceChatBusyMessage(sender, id, msg);
      return;
  }

        VoiceManager vm = AppContext.getManager(VoiceManager.class);

  if (group == null) {
      logger.warning("Invalid audio group 'null'");
      return;
  }

  AudioGroup audioGroup = vm.getAudioGroup(group);

  if (message instanceof VoiceChatLeaveMessage) {
      if (audioGroup == null) {
    logger.info("audioGroup is null");
    return;
      }

      VoiceChatLeaveMessage msg = (VoiceChatLeaveMessage) message;

      Player player = vm.getPlayer(msg.getCallee().getCallID());

      if (player == null) {
    logger.warning("No player for " + msg.getCallee());

          if (audioGroup.getNumberOfPlayers() == 0) {
        endVoiceChat(vm, audioGroup)// cleanup
          }
    return;
      }
     
      setCOSSpeaking(player, msg.getCOSName(), true);

      AudioGroupPlayerInfo info = audioGroup.getPlayerInfo(player);

      if (info == null) {
    return;   // not in group
      }

      /*
       * XXX If the player to be removed from the group is
       * in range of another player which is in a public chat,
       * then rather than removing the player, re-add it
       * as a transient member.
       */
      if (isInRangeOfPublicChat(audioGroup, player)) {
        addPlayerToAudioGroup(audioGroup, player, msg.getCallee(),
        ChatType.PUBLIC, true);

    return;
      }

      removePlayerFromAudioGroup(audioGroup, player);

      if (audioGroup.getNumberOfPlayers() <= 1) {
    endVoiceChat(vm, audioGroup);
      }

      CallSetup callSetup = player.getCall().getSetup();

      if (callSetup.incomingCall || callSetup.externalOutgoingCall) {
          addPlayerToAudioGroup(
        vm.getVoiceManagerParameters().livePlayerAudioGroup,
        player, msg.getCallee(), ChatType.PUBLIC);

          addPlayerToAudioGroup(
        vm.getVoiceManagerParameters().stationaryPlayerAudioGroup,
        player, msg.getCallee(), ChatType.PUBLIC);
      }
     
      return;
  }

  if (message instanceof VoiceChatEndMessage) {
      if (audioGroup == null) {
    logger.info("audioGroup is null");
    return;
      }

      endVoiceChat(vm, audioGroup);
      return;
  }

  if (message instanceof VoiceChatJoinAcceptedMessage) {
      if (audioGroup == null) {
    logger.warning("Join accepted:  Audio group " + group + " no longer exists");
    return;
      }

      VoiceChatJoinAcceptedMessage msg = (VoiceChatJoinAcceptedMessage) message;

      Player player = vm.getPlayer(msg.getCallee().getCallID());

      if (player == null) {
    logger.warning("No player for " + msg.getCallee().getCallID());
    return;
      }

      addPlayerToAudioGroup(audioGroup, player, msg.getCallee(), msg.getChatType());

      sender.send(msg);
      return;
  }

  if (message instanceof VoiceChatHoldMessage) {
      VoiceChatHoldMessage msg = (VoiceChatHoldMessage) message;

      if (audioGroup == null) {
    logger.warning("Hold:  Audio group " + group + " no longer exists");
    return;
      }
 
      Player player = vm.getPlayer(msg.getCallee().getCallID());

      if (player == null) {
    logger.warning("No player for " + msg.getCallee().getCallID());
    return;
      }

      setCOSSpeaking(player, msg.getCOSName(), msg.isOnHold());

      AudioGroupPlayerInfo playerInfo = audioGroup.getPlayerInfo(player);

      if (playerInfo == null) {
    logger.warning("No player info for " + player);
    return;
      }
 
      if (msg.isOnHold()) {
    playerInfo.isSpeaking = false;
    playerInfo.listenAttenuation = msg.getVolume();
      } else {
    playerInfo.isSpeaking = true;
    playerInfo.speakingAttenuation = AudioGroup.DEFAULT_SPEAKING_ATTENUATION;
    playerInfo.listenAttenuation = AudioGroup.DEFAULT_LISTEN_ATTENUATION;
      }

      updateAttenuation(player);
      sender.send(clientID, msg);
      return;
  }

  if (message instanceof VoiceChatDialOutMessage) {
      VoiceChatPhoneMessageHandler.getInstance().dialOut(
    sender, clientID, (VoiceChatDialOutMessage) message);
      return;
  }

  if (message instanceof VoiceChatJoinMessage == false) {
      logger.warning("Invalid message type " + message);
      return;
  }

  VoiceChatJoinMessage msg = (VoiceChatJoinMessage) message;

  if (audioGroup == null) {
      AudioGroupSetup setup = new AudioGroupSetup();
      setup.spatializer = new FullVolumeSpatializer();
      setup.spatializer.setAttenuator(Spatializer.DEFAULT_MAXIMUM_VOLUME);
      setup.virtualPlayerListener = this;
      setup.audioGroupListener = this;
      audioGroup = vm.createAudioGroup(group, setup);
  }

  PresenceInfo[] calleeList = msg.getCalleeList();

  PresenceInfo caller = msg.getCaller();

  if (msg.getChatType() != null) {
      Player player = vm.getPlayer(caller.getCallID());

      if (player == null) {
    logger.warning("No Player for " + caller.getCallID());
    return;
      }

      boolean added = addPlayerToAudioGroup(audioGroup, player, caller, msg.getChatType());

      if (added) {
          sender.send(new VoiceChatJoinAcceptedMessage(group, caller, msg.getChatType()));
      }

      if (added == false && (calleeList == null || calleeList.length == 0)) {
          endVoiceChat(vm, audioGroup);
          return;
      }
  }

  logger.info("Request to join AudioGroup " + group + " caller " + caller);

  if (calleeList == null || calleeList.length == 0) {
      return;
  }

  for (int i = 0; i < calleeList.length; i++) {
      PresenceInfo info = calleeList[i];

      String callID = info.getCallID();

      Player player = vm.getPlayer(callID);

      if (player == null) {
    logger.warning("No player for callID " + callID);
    continue;
      }
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

  return false;
    }

    public static void updateAttenuation(Player player) {
  VoiceManager vm = AppContext.getManager(VoiceManager.class);

  AudioGroup livePlayerAudioGroup = vm.getVoiceManagerParameters().livePlayerAudioGroup;

  AudioGroup stationaryPlayerAudioGroup = vm.getVoiceManagerParameters().stationaryPlayerAudioGroup;

  AudioGroup[] audioGroups = player.getAudioGroups();

  AudioGroup nonPublicAudioGroup = null;
View Full Code Here

Examples of com.sun.mpk20.voicelib.app.VoiceManager

  if (chatters == null || chatters.length == 0) {
      logger.fine("No chatters in " + group);
      return;
  }

  VoiceManager vm = AppContext.getManager(VoiceManager.class);

  AudioGroup livePlayerAudioGroup = vm.getVoiceManagerParameters().livePlayerAudioGroup;

  AudioGroup stationaryPlayerAudioGroup = vm.getVoiceManagerParameters().stationaryPlayerAudioGroup;

  if (group.equals(livePlayerAudioGroup.getId()) || group.equals(stationaryPlayerAudioGroup.getId())) {
      return;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.