|
Asterisk-Java | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.asteriskjava.live.DefaultAsteriskServer
public class DefaultAsteriskServer
Default implementation of the AsteriskServer interface.
AsteriskServer
Constructor Summary | |
---|---|
DefaultAsteriskServer()
Creates a new instance without a ManagerConnection . |
|
DefaultAsteriskServer(ManagerConnection eventConnection)
Creates a new instance that uses the given ManagerConnection . |
|
DefaultAsteriskServer(java.lang.String hostname,
int port,
java.lang.String username,
java.lang.String password)
Creates a new instance and a new ManagerConnection with the given
connection data. |
|
DefaultAsteriskServer(java.lang.String hostname,
java.lang.String username,
java.lang.String password)
Creates a new instance and a new ManagerConnection with the given
connection data. |
Method Summary | |
---|---|
void |
addAsteriskServerListener(AsteriskServerListener listener)
Adds a listener to this AsteriskServer. If this server is not yet connected it will be implicitly connected. |
protected DefaultManagerConnection |
createManagerConnection(java.lang.String hostname,
int port,
java.lang.String username,
java.lang.String password)
|
java.util.List<java.lang.String> |
executeCliCommand(java.lang.String command)
Executes a command line interface (CLI) command. |
java.util.Collection<AsteriskAgent> |
getAgents()
Return the agents, registered at Asterisk server. |
AsteriskChannel |
getChannelById(java.lang.String id)
Returns a channel by its unique id. |
AsteriskChannel |
getChannelByName(java.lang.String name)
Returns a channel by its name. |
java.util.Collection<AsteriskChannel> |
getChannels()
Returns the active channels of the Asterisk server. |
ConfigFile |
getConfig(java.lang.String filename)
Reads the given Asterisk configuration file. |
java.lang.String |
getGlobalVariable(java.lang.String variable)
Returns the value of the given global variable. |
ManagerConnection |
getManagerConnection()
Returns the underlying ManagerConnection. |
MeetMeRoom |
getMeetMeRoom(java.lang.String name)
Returns the MeetMe room with the given number, if the room does not yet exist a new MeetMeRoom object is created. |
java.util.Collection<MeetMeRoom> |
getMeetMeRooms()
Returns the acitve MeetMe rooms on the Asterisk server. |
java.util.Collection<AsteriskQueue> |
getQueues()
Returns the queues served by the Asterisk server. |
java.lang.String |
getVersion()
Returns the exact version string of this Asterisk server. |
int[] |
getVersion(java.lang.String file)
Returns the CVS revision of a given source file of this Asterisk server. |
java.util.Collection<Voicemailbox> |
getVoicemailboxes()
Returns a collection of all voicemailboxes configured for this Asterisk server with the number of new and old messages they contain. |
void |
initialize()
Opens the connection to this server. |
boolean |
isModuleLoaded(java.lang.String module)
Checks whether a module is currently loaded. |
void |
loadModule(java.lang.String module)
Loads a module or subsystem |
AsteriskChannel |
originate(OriginateAction originateAction)
Generates an outgoing channel. |
void |
originateAsync(OriginateAction originateAction,
OriginateCallback cb)
Asynchronously generates an outgoing channel. |
AsteriskChannel |
originateToApplication(java.lang.String channel,
java.lang.String application,
java.lang.String data,
long timeout)
Generates an outgoing channel to an application. |
AsteriskChannel |
originateToApplication(java.lang.String channel,
java.lang.String application,
java.lang.String data,
long timeout,
CallerId callerId,
java.util.Map<java.lang.String,java.lang.String> variables)
Generates an outgoing channel to an application and sets an optional map of channel variables. |
void |
originateToApplicationAsync(java.lang.String channel,
java.lang.String application,
java.lang.String data,
long timeout,
CallerId callerId,
java.util.Map<java.lang.String,java.lang.String> variables,
OriginateCallback cb)
Asynchronously generates an outgoing channel to an application and sets an optional map of channel variables. |
void |
originateToApplicationAsync(java.lang.String channel,
java.lang.String application,
java.lang.String data,
long timeout,
OriginateCallback cb)
Asynchronously generates an outgoing channel to an application. |
AsteriskChannel |
originateToExtension(java.lang.String channel,
java.lang.String context,
java.lang.String exten,
int priority,
long timeout)
Generates an outgoing channel to a dialplan entry (extension, context, priority). |
AsteriskChannel |
originateToExtension(java.lang.String channel,
java.lang.String context,
java.lang.String exten,
int priority,
long timeout,
CallerId callerId,
java.util.Map<java.lang.String,java.lang.String> variables)
Generates an outgoing channel to a dialplan entry (extension, context, priority) and sets an optional map of channel variables. |
void |
originateToExtensionAsync(java.lang.String channel,
java.lang.String context,
java.lang.String exten,
int priority,
long timeout,
CallerId callerId,
java.util.Map<java.lang.String,java.lang.String> variables,
OriginateCallback cb)
Asynchronously generates an outgoing channel to a dialplan entry (extension, context, priority) and sets an optional map of channel variables. |
void |
originateToExtensionAsync(java.lang.String channel,
java.lang.String context,
java.lang.String exten,
int priority,
long timeout,
OriginateCallback cb)
Asynchronously generates an outgoing channel to a dialplan entry (extension, context, priority). |
void |
reloadAllModules()
Reloads all currently loaded modules. |
void |
reloadModule(java.lang.String module)
Reloads a module or subsystem. |
void |
removeAsteriskServerListener(AsteriskServerListener listener)
Removes a listener from this Asterisk server. |
void |
setGlobalVariable(java.lang.String variable,
java.lang.String value)
Sets the value of the given global variable. |
void |
setManagerConnection(ManagerConnection eventConnection)
|
void |
setSkipQueues(boolean skipQueues)
Determines if queue status is retrieved at startup. |
void |
shutdown()
Closes the connection to this server. |
void |
unloadModule(java.lang.String module)
Unloads a module or subsystem. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultAsteriskServer()
ManagerConnection
. The
ManagerConnection must be set using
setManagerConnection(ManagerConnection)
before you can use this
AsteriskServer.
public DefaultAsteriskServer(java.lang.String hostname, java.lang.String username, java.lang.String password)
ManagerConnection
with the given
connection data.
hostname
- the hostname of the Asterisk server to connect to.username
- the username to use for loginpassword
- the password to use for loginpublic DefaultAsteriskServer(java.lang.String hostname, int port, java.lang.String username, java.lang.String password)
ManagerConnection
with the given
connection data.
hostname
- the hostname of the Asterisk server to connect to.port
- the port where Asterisk listens for incoming Manager API
connections, usually 5038.username
- the username to use for loginpassword
- the password to use for loginpublic DefaultAsteriskServer(ManagerConnection eventConnection)
ManagerConnection
.
eventConnection
- the ManagerConnection to use for receiving events
from Asterisk.Method Detail |
---|
protected DefaultManagerConnection createManagerConnection(java.lang.String hostname, int port, java.lang.String username, java.lang.String password)
public void setSkipQueues(boolean skipQueues)
true
to circumvent the startup delay caused by the missing
QueueStatusComplete event.
Default is false
.
skipQueues
- true
to skip queue initialization,
false
to not skip.public void setManagerConnection(ManagerConnection eventConnection)
public void initialize() throws ManagerCommunicationException
AsteriskServer
initialize
in interface AsteriskServer
ManagerCommunicationException
- if login failspublic ManagerConnection getManagerConnection()
AsteriskServer
Unlike the methods operating on the manager connection this method does not implicitly initialize the
connection. Thus you can use this method to add custom
ManagerEventListeners before the connection
to the Asterisk server is established. If you want to ensure that the connection is established call
AsteriskServer.initialize()
.
getManagerConnection
in interface AsteriskServer
public AsteriskChannel originate(OriginateAction originateAction) throws ManagerCommunicationException, NoSuchChannelException
AsteriskServer
originate
in interface AsteriskServer
originateAction
- the action that contains parameters for the originate
ManagerCommunicationException
- if the originate action cannot be
sent to Asterisk
NoSuchChannelException
- if the channel is not available on the
Asterisk server, for example because you used "SIP/1310" and 1310
is not a valid SIP user, the SIP channel module hasn't been
loaded or the SIP or IAX peer is not registered currently.public AsteriskChannel originateToExtension(java.lang.String channel, java.lang.String context, java.lang.String exten, int priority, long timeout) throws ManagerCommunicationException, NoSuchChannelException
AsteriskServer
originateToExtension
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".context
- context to connect toexten
- extension to connect topriority
- priority to connect totimeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)
ManagerCommunicationException
- if the originate action cannot be
sent to Asterisk
NoSuchChannelException
- if the channel is not available on the
Asterisk server, for example because you used "SIP/1310" and 1310
is not a valid SIP user, the SIP channel module hasn't been
loaded or the SIP or IAX peer is not registered currently.public AsteriskChannel originateToExtension(java.lang.String channel, java.lang.String context, java.lang.String exten, int priority, long timeout, CallerId callerId, java.util.Map<java.lang.String,java.lang.String> variables) throws ManagerCommunicationException, NoSuchChannelException
AsteriskServer
originateToExtension
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".context
- context to connect toexten
- extension to connect topriority
- priority to connect totimeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)callerId
- callerId to use for the outgoing channel, may be
null
.variables
- channel variables to set, may be null
.
ManagerCommunicationException
- if the originate action cannot be
sent to Asterisk
NoSuchChannelException
- if the channel is not available on the
Asterisk server, for example because you used "SIP/1310" and 1310
is not a valid SIP user, the SIP channel module hasn't been
loaded or the SIP or IAX peer is not registered currently.public AsteriskChannel originateToApplication(java.lang.String channel, java.lang.String application, java.lang.String data, long timeout) throws ManagerCommunicationException, NoSuchChannelException
AsteriskServer
originateToApplication
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".application
- application to connect to, for example "MeetMe"data
- data to pass to the application, for example "1000|d", may be
null
.timeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)
ManagerCommunicationException
- if the originate action cannot be
sent to Asterisk
NoSuchChannelException
- if the channel is not available on the
Asterisk server, for example because you used "SIP/1310" and 1310
is not a valid SIP user, the SIP channel module hasn't been
loaded or the SIP or IAX peer is not registered currently.public AsteriskChannel originateToApplication(java.lang.String channel, java.lang.String application, java.lang.String data, long timeout, CallerId callerId, java.util.Map<java.lang.String,java.lang.String> variables) throws ManagerCommunicationException, NoSuchChannelException
AsteriskServer
originateToApplication
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".application
- application to connect to, for example "MeetMe"data
- data to pass to the application, for example "1000|d", may be
null
.timeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)callerId
- callerId to use for the outgoing channel, may be
null
.variables
- channel variables to set, may be null
.
ManagerCommunicationException
- if the originate action cannot be
sent to Asterisk
NoSuchChannelException
- if the channel is not available on the
Asterisk server, for example because you used "SIP/1310" and 1310
is not a valid SIP user, the SIP channel module hasn't been
loaded or the SIP or IAX peer is not registered currently.public void originateAsync(OriginateAction originateAction, OriginateCallback cb) throws ManagerCommunicationException
AsteriskServer
originateAsync
in interface AsteriskServer
originateAction
- the action that contains parameters for the originatecb
- callback to inform about the result
ManagerCommunicationException
- if the originate action cannot be
sent to Asteriskpublic void originateToApplicationAsync(java.lang.String channel, java.lang.String application, java.lang.String data, long timeout, CallerId callerId, java.util.Map<java.lang.String,java.lang.String> variables, OriginateCallback cb) throws ManagerCommunicationException
AsteriskServer
originateToApplicationAsync
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".application
- application to connect to, for example "MeetMe"data
- data to pass to the application, for example "1000|d", may be
null
.timeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)callerId
- callerId to use for the outgoing channel, may be
null
.variables
- channel variables to set, may be null
.cb
- callback to inform about the result
ManagerCommunicationException
- if the originate action cannot be
sent to Asteriskpublic void originateToApplicationAsync(java.lang.String channel, java.lang.String application, java.lang.String data, long timeout, OriginateCallback cb) throws ManagerCommunicationException
AsteriskServer
originateToApplicationAsync
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".application
- application to connect to, for example "MeetMe"data
- data to pass to the application, for example "1000|d", may be
null
.timeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)cb
- callback to inform about the result
ManagerCommunicationException
- if the originate action cannot be
sent to Asteriskpublic void originateToExtensionAsync(java.lang.String channel, java.lang.String context, java.lang.String exten, int priority, long timeout, CallerId callerId, java.util.Map<java.lang.String,java.lang.String> variables, OriginateCallback cb) throws ManagerCommunicationException
AsteriskServer
originateToExtensionAsync
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".context
- context to connect toexten
- extension to connect topriority
- priority to connect totimeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)callerId
- callerId to use for the outgoing channel, may be
null
.variables
- channel variables to set, may be null
.cb
- callback to inform about the result
ManagerCommunicationException
- if the originate action cannot be
sent to Asteriskpublic void originateToExtensionAsync(java.lang.String channel, java.lang.String context, java.lang.String exten, int priority, long timeout, OriginateCallback cb) throws ManagerCommunicationException
AsteriskServer
originateToExtensionAsync
in interface AsteriskServer
channel
- channel name to call, for example "SIP/1310".context
- context to connect toexten
- extension to connect topriority
- priority to connect totimeout
- how long to wait for the channel to be answered before its
considered to have failed (in ms)cb
- callback to inform about the result
ManagerCommunicationException
- if the originate action cannot be
sent to Asteriskpublic java.util.Collection<AsteriskChannel> getChannels() throws ManagerCommunicationException
AsteriskServer
getChannels
in interface AsteriskServer
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic AsteriskChannel getChannelByName(java.lang.String name) throws ManagerCommunicationException
AsteriskServer
getChannelByName
in interface AsteriskServer
name
- name of the channel to return
null
if there
is no such channel.
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic AsteriskChannel getChannelById(java.lang.String id) throws ManagerCommunicationException
AsteriskServer
getChannelById
in interface AsteriskServer
id
- the unique id of the channel to return
null
if
there is no such channel.
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic java.util.Collection<MeetMeRoom> getMeetMeRooms() throws ManagerCommunicationException
AsteriskServer
getMeetMeRooms
in interface AsteriskServer
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic MeetMeRoom getMeetMeRoom(java.lang.String name) throws ManagerCommunicationException
AsteriskServer
MeetMeRoom
object is created.
getMeetMeRoom
in interface AsteriskServer
name
- the number of the room to return
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic java.util.Collection<AsteriskQueue> getQueues() throws ManagerCommunicationException
AsteriskServer
getQueues
in interface AsteriskServer
ManagerCommunicationException
- if there is a problem communication
with Asteriskpublic java.lang.String getVersion() throws ManagerCommunicationException
AsteriskServer
getVersion
in interface AsteriskServer
ManagerCommunicationException
- if the version cannot be retrieved
from Asteriskpublic int[] getVersion(java.lang.String file) throws ManagerCommunicationException
AsteriskServer
getVersion
in interface AsteriskServer
file
- the file for which to get the version like "app_meetme.c"
null
if that file
is not part of the Asterisk instance you are connected to (maybe
due to a module that provides it has not been loaded) or if you
are connected to an Astersion 1.0.x
ManagerCommunicationException
- if the version cannot be retrieved
from Asteriskpublic java.lang.String getGlobalVariable(java.lang.String variable) throws ManagerCommunicationException
AsteriskServer
getGlobalVariable
in interface AsteriskServer
variable
- the name of the global variable to return.
null
if it is
not set.
ManagerCommunicationException
- if the get variable action cannot
be sent to Asterisk.public void setGlobalVariable(java.lang.String variable, java.lang.String value) throws ManagerCommunicationException
AsteriskServer
setGlobalVariable
in interface AsteriskServer
variable
- the name of the global variable to set.value
- the value of the global variable to set.
ManagerCommunicationException
- if the set variable action cannot
be sent to Asterisk.public java.util.Collection<Voicemailbox> getVoicemailboxes() throws ManagerCommunicationException
AsteriskServer
getVoicemailboxes
in interface AsteriskServer
ManagerCommunicationException
- if the voicemailboxes can't be
retrieved.public java.util.List<java.lang.String> executeCliCommand(java.lang.String command) throws ManagerCommunicationException
AsteriskServer
executeCliCommand
in interface AsteriskServer
command
- the command to execute, for example "sip show peers".
ManagerCommunicationException
- if the command can't be executed.CommandAction
public boolean isModuleLoaded(java.lang.String module) throws ManagerCommunicationException
AsteriskServer
Available since Asterisk 1.6
isModuleLoaded
in interface AsteriskServer
module
- name of the module to load (with out without the ".so" extension).
true
if the module is currently loaded, false
otherwise.
ManagerCommunicationException
- if the module can't be checked.public ConfigFile getConfig(java.lang.String filename) throws ManagerCommunicationException
AsteriskServer
getConfig
in interface AsteriskServer
filename
- the filename, for example "voicemail.conf".
ManagerCommunicationException
- if the command can't be executed.public void reloadAllModules() throws ManagerCommunicationException
AsteriskServer
Available since Asterisk 1.6
reloadAllModules
in interface AsteriskServer
ManagerCommunicationException
- if the modules cannot be reloaded.public void reloadModule(java.lang.String module) throws ManagerCommunicationException
AsteriskServer
Available since Asterisk 1.6
reloadModule
in interface AsteriskServer
module
- name of the module to reload (including ".so" extension) or subsystem name.
ManagerCommunicationException
- if the module cannot be reloaded.public void unloadModule(java.lang.String module) throws ManagerCommunicationException
AsteriskServer
Available since Asterisk 1.6
unloadModule
in interface AsteriskServer
module
- name of the module to unload (including ".so" extension) or subsystem name.
ManagerCommunicationException
- if the module cannot be unloaded.public void loadModule(java.lang.String module) throws ManagerCommunicationException
AsteriskServer
Available since Asterisk 1.6
loadModule
in interface AsteriskServer
module
- name of the module to load (including ".so" extension) or subsystem name.
ManagerCommunicationException
- if the module cannot be loaded.public void addAsteriskServerListener(AsteriskServerListener listener) throws ManagerCommunicationException
AsteriskServer
addAsteriskServerListener
in interface AsteriskServer
listener
- the listener to add.
ManagerCommunicationException
- if the server is not yet connected
and the connection or initialization fails.public void removeAsteriskServerListener(AsteriskServerListener listener)
AsteriskServer
removeAsteriskServerListener
in interface AsteriskServer
listener
- the listener to remove.public void shutdown()
AsteriskServer
shutdown
in interface AsteriskServer
public java.util.Collection<AsteriskAgent> getAgents() throws ManagerCommunicationException
AsteriskServer
AsteriskAgent
)
getAgents
in interface AsteriskServer
ManagerCommunicationException
- if there is a problem communication
with Asterisk
|
Asterisk-Java | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |