All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.asteriskjava.manager.action.MuteAudioAction Maven / Gradle / Ivy

There is a newer version: 3.41.0
Show newest version
/*
 *  Copyright 2004-2006 Stefan Reuter
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 */
package org.asteriskjava.manager.action;

/**
 * Action: MuteAudio Synopsis: Mute an audio stream Privilege: system,all
 * Description: Mute an incoming or outbound audio stream in a channel.
 * Variables: Channel:  The channel you want to mute. Direction: in | out
 * |all The stream you want to mute. State: on | off Whether to turn mute on or
 * off. ActionID:  Optional action ID for this AMI transaction.
 * 
 * It is defined in res/res_mutestream.c.
 * 

* Available since Asterisk 1.8 * * @author sbs * @version $Id: MuteAction.java 938 2007-12-31 03:23:38Z srt $ * @since 1.0.0 */ public class MuteAudioAction extends AbstractManagerAction { /** * Serializable version identifier. */ private static final long serialVersionUID = 0L; private String channel; /** The audio direct (relative to the pbx) which is to be muted. */ public enum Direction { IN("in"), OUT("out"), ALL("all"); String value; Direction(String value) { this.value = value; } public String toString() { return this.value; } } private Direction direction; /** Controls whether to mute (on) or unmute (off) the call **/ public enum State { MUTE("on"), UNMUTE("off"); //$NON-NLS-1$//$NON-NLS-2$ String value; State(String value) { this.value = value; } public String toString() { return this.value; } } private State state; /** * Creates a new empty MuteAction. */ public MuteAudioAction() { } /** * Creates a new MuteAction that Mutes or Unmutes the two given channel. * * @param channel * the name of the channel to Mute. * * @param direction * the audio direction which is to be muted/unmuted * * @param state controls whether we are muting or unmuting the channel. */ public MuteAudioAction(String channel, Direction direction, State state) { this.channel = channel; this.direction = direction; this.state = state; } /** * Returns the name of this action, i.e. "MuteAudio". */ @Override public String getAction() { return "MuteAudio"; //$NON-NLS-1$ } /** * Returns the name of the channel to monitor. */ public String getChannel() { return this.channel; } /** * Returns the audio direction which is to be muted/unmuted. */ public Direction getDirection() { return this.direction; } /** * Returns the state controls whether we are muting or unmuting the channel. */ public State getState() { return this.state; } /** * Sets the name of the channel to monitor.

* This property is mandatory. */ public void setChannel(String channel) { this.channel = channel; } /** * Sets the audio direction which is to be muted/unmuted.

* This property is mandatory. */ public void setDirection(Direction direction) { this.direction = direction; } /** * Sets the state controls whether we are muting or unmuting the channel.

* This property is mandatory. */ public void setState(State state) { this.state = state; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy