|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AGIChannel
Provides the functionality to send AGICommands to Asterisk while handling an
AGIRequest.
This interface is supposed to be used by AGIScripts for interaction with the
Asterisk server.
Method Summary | |
---|---|
void |
answer()
Answers the channel. |
int |
exec(java.lang.String application)
Executes the given command. |
int |
exec(java.lang.String application,
java.lang.String options)
Executes the given command. |
int |
getChannelStatus()
Returns the status of the channel. Return values: 0 Channel is down and available 1 Channel is down, but reserved 2 Channel is off hook 3 Digits (or equivalent) have been dialed 4 Line is ringing 5 Remote end is ringing 6 Line is up 7 Line is busy |
java.lang.String |
getData(java.lang.String file)
Plays the given file and waits for the user to enter DTMF digits until he presses '#'. |
java.lang.String |
getData(java.lang.String file,
long timeout)
Plays the given file and waits for the user to enter DTMF digits until he presses '#' or the timeout occurs. |
java.lang.String |
getData(java.lang.String file,
long timeout,
int maxDigits)
Plays the given file and waits for the user to enter DTMF digits until he presses '#' or the timeout occurs or the maximum number of digits has been entered. |
java.lang.String |
getFullVariable(java.lang.String name)
Returns the value of the current channel variable, unlike getVariable() this method understands complex variable names and builtin variables. Available since Asterisk 1.2. |
java.lang.String |
getFullVariable(java.lang.String name,
java.lang.String channel)
Returns the value of the given channel variable. Available since Asterisk 1.2. |
char |
getOption(java.lang.String file,
java.lang.String escapeDigits)
Plays the given file, and waits for the user to press one of the given digits. |
char |
getOption(java.lang.String file,
java.lang.String escapeDigits,
int timeout)
Plays the given file, and waits for the user to press one of the given digits. |
java.lang.String |
getVariable(java.lang.String name)
Returns the value of the current channel variable. |
void |
hangup()
Hangs the channel up. |
void |
playMusicOnHold()
Plays music on hold from the default music on hold class. |
void |
playMusicOnHold(java.lang.String musicOnHoldClass)
Plays music on hold from the given music on hold class. |
void |
sayAlpha(java.lang.String text)
Says the given character string. |
char |
sayAlpha(java.lang.String text,
java.lang.String escapeDigits)
Says the given character string, returning early if any of the given DTMF number are received on the channel. |
void |
sayDateTime(long time)
Says the given time. Available since Asterisk 1.2. |
char |
sayDateTime(long time,
java.lang.String escapeDigits)
Says the given time and allows interruption by one of the given escape digits. Available since Asterisk 1.2. |
char |
sayDateTime(long time,
java.lang.String escapeDigits,
java.lang.String format)
Says the given time in the given format and allows interruption by one of the given escape digits. Available since Asterisk 1.2. |
char |
sayDateTime(long time,
java.lang.String escapeDigits,
java.lang.String format,
java.lang.String timezone)
Says the given time in the given format and timezone and allows interruption by one of the given escape digits. Available since Asterisk 1.2. |
void |
sayDigits(java.lang.String digits)
Says the given digit string. |
char |
sayDigits(java.lang.String digits,
java.lang.String escapeDigits)
Says the given number, returning early if any of the given DTMF number are received on the channel. |
void |
sayNumber(java.lang.String number)
Says the given number. |
char |
sayNumber(java.lang.String number,
java.lang.String escapeDigits)
Says the given number, returning early if any of the given DTMF number are received on the channel. |
void |
sayPhonetic(java.lang.String text)
Says the given character string with phonetics. |
char |
sayPhonetic(java.lang.String text,
java.lang.String escapeDigits)
Says the given character string with phonetics, returning early if any of the given DTMF number are received on the channel. |
void |
sayTime(long time)
Says the given time. |
char |
sayTime(long time,
java.lang.String escapeDigits)
Says the given time, returning early if any of the given DTMF number are received on the channel. |
AGIReply |
sendCommand(AGICommand command)
Sends a command to asterisk and returns the corresponding reply. |
void |
setAutoHangup(int time)
Cause the channel to automatically hangup at the given number of seconds in the future. |
void |
setCallerId(java.lang.String callerId)
Sets the caller id on the current channel. |
void |
setContext(java.lang.String context)
Sets the context for continuation upon exiting the application. |
void |
setExtension(java.lang.String extension)
Sets the extension for continuation upon exiting the application. |
void |
setPriority(java.lang.String priority)
Sets the priority or label for continuation upon exiting the application. |
void |
setVariable(java.lang.String name,
java.lang.String value)
Sets the value of the current channel variable to a new value. |
void |
stopMusicOnHold()
Stops playing music on hold. |
void |
streamFile(java.lang.String file)
Plays the given file. |
char |
streamFile(java.lang.String file,
java.lang.String escapeDigits)
Plays the given file and allows the user to escape by pressing one of the given digit. |
char |
waitForDigit(int timeout)
Waits up to 'timeout' milliseconds to receive a DTMF digit. |
Method Detail |
---|
AGIReply sendCommand(AGICommand command) throws AGIException
command
- the command to send.
AGIException
- if the command can't be sent to Asterisk (for
example because the channel has been hung up)void answer() throws AGIException
AGIException
void hangup() throws AGIException
AGIException
void setAutoHangup(int time) throws AGIException
time
- the number of seconds before this channel is automatically
hung up.AGIException
void setCallerId(java.lang.String callerId) throws AGIException
callerId
- the raw caller id to set, for example "John Doe<1234>".
AGIException
void playMusicOnHold() throws AGIException
AGIException
void playMusicOnHold(java.lang.String musicOnHoldClass) throws AGIException
musicOnHoldClass
- the music on hold class to play music from as
configures in Asterisk's .
Throws:
AGIException
Since:
- 0.2
stopMusicOnHold
void stopMusicOnHold()
throws AGIException
- Stops playing music on hold.
- Throws:
AGIException
- Since:
- 0.2
getChannelStatus
int getChannelStatus()
throws AGIException
- Returns the status of the channel.
Return values:
- 0 Channel is down and available
- 1 Channel is down, but reserved
- 2 Channel is off hook
- 3 Digits (or equivalent) have been dialed
- 4 Line is ringing
- 5 Remote end is ringing
- 6 Line is up
- 7 Line is busy
- Returns:
- the status of the channel.
- Throws:
AGIException
- Since:
- 0.2
getData
java.lang.String getData(java.lang.String file)
throws AGIException
- Plays the given file and waits for the user to enter DTMF digits until he
presses '#'. The user may interrupt the streaming by starting to enter
digits.
- Parameters:
file
- the name of the file to play
- Returns:
- a String containing the DTMF the user entered
- Throws:
AGIException
- Since:
- 0.2
getData
java.lang.String getData(java.lang.String file,
long timeout)
throws AGIException
- Plays the given file and waits for the user to enter DTMF digits until he
presses '#' or the timeout occurs. The user may interrupt the streaming
by starting to enter digits.
- Parameters:
file
- the name of the file to playtimeout
- the timeout in milliseconds to wait for user input.
0 means standard timeout value, -1 means "ludicrous time"
(essentially never times out).
- Returns:
- a String containing the DTMF the user entered
- Throws:
AGIException
- Since:
- 0.2
getData
java.lang.String getData(java.lang.String file,
long timeout,
int maxDigits)
throws AGIException
- Plays the given file and waits for the user to enter DTMF digits until he
presses '#' or the timeout occurs or the maximum number of digits has
been entered. The user may interrupt the streaming by starting to enter
digits.
- Parameters:
file
- the name of the file to playtimeout
- the timeout in milliseconds to wait for user input.
0 means standard timeout value, -1 means "ludicrous time"
(essentially never times out).maxDigits
- the maximum number of digits the user is allowed to
enter
- Returns:
- a String containing the DTMF the user entered
- Throws:
AGIException
- Since:
- 0.2
getOption
char getOption(java.lang.String file,
java.lang.String escapeDigits)
throws AGIException
- Plays the given file, and waits for the user to press one of the given
digits. If none of the esacpe digits is pressed while streaming the file
it waits for the default timeout of 5 seconds still waiting for the user
to press a digit.
- Parameters:
file
- the name of the file to stream, must not include extension.escapeDigits
- contains the digits that the user is expected to
press.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
getOption
char getOption(java.lang.String file,
java.lang.String escapeDigits,
int timeout)
throws AGIException
- Plays the given file, and waits for the user to press one of the given
digits. If none of the esacpe digits is pressed while streaming the file
it waits for the specified timeout still waiting for the user to press a
digit.
- Parameters:
file
- the name of the file to stream, must not include extension.escapeDigits
- contains the digits that the user is expected to
press.timeout
- the timeout in seconds to wait if none of the defined
esacpe digits was presses while streaming.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
exec
int exec(java.lang.String application)
throws AGIException
- Executes the given command.
- Parameters:
application
- the name of the application to execute, for example
"Dial".
- Returns:
- the return code of the application of -2 if the application was
not found.
- Throws:
AGIException
- Since:
- 0.2
exec
int exec(java.lang.String application,
java.lang.String options)
throws AGIException
- Executes the given command.
- Parameters:
application
- the name of the application to execute, for example
"Dial".options
- the parameters to pass to the application, for example
"SIP/123".
- Returns:
- the return code of the application of -2 if the application was
not found.
- Throws:
AGIException
- Since:
- 0.2
setContext
void setContext(java.lang.String context)
throws AGIException
- Sets the context for continuation upon exiting the application.
- Parameters:
context
- the context for continuation upon exiting the application.
- Throws:
AGIException
- Since:
- 0.2
setExtension
void setExtension(java.lang.String extension)
throws AGIException
- Sets the extension for continuation upon exiting the application.
- Parameters:
extension
- the extension for continuation upon exiting the
application.
- Throws:
AGIException
- Since:
- 0.2
setPriority
void setPriority(java.lang.String priority)
throws AGIException
- Sets the priority or label for continuation upon exiting the application.
- Parameters:
priority
- the priority or label for continuation upon exiting the
application.
- Throws:
AGIException
- Since:
- 0.2
streamFile
void streamFile(java.lang.String file)
throws AGIException
- Plays the given file.
- Parameters:
file
- name of the file to play.
- Throws:
AGIException
- Since:
- 0.2
streamFile
char streamFile(java.lang.String file,
java.lang.String escapeDigits)
throws AGIException
- Plays the given file and allows the user to escape by pressing one of the
given digit.
- Parameters:
file
- name of the file to play.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayDigits
void sayDigits(java.lang.String digits)
throws AGIException
- Says the given digit string.
- Parameters:
digits
- the digit string to say.
- Throws:
AGIException
- Since:
- 0.2
sayDigits
char sayDigits(java.lang.String digits,
java.lang.String escapeDigits)
throws AGIException
- Says the given number, returning early if any of the given DTMF number
are received on the channel.
- Parameters:
digits
- the digit string to say.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayNumber
void sayNumber(java.lang.String number)
throws AGIException
- Says the given number.
- Parameters:
number
- the number to say.
- Throws:
AGIException
- Since:
- 0.2
sayNumber
char sayNumber(java.lang.String number,
java.lang.String escapeDigits)
throws AGIException
- Says the given number, returning early if any of the given DTMF number
are received on the channel.
- Parameters:
number
- the number to say.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayPhonetic
void sayPhonetic(java.lang.String text)
throws AGIException
- Says the given character string with phonetics.
- Parameters:
text
- the text to say.
- Throws:
AGIException
- Since:
- 0.2
sayPhonetic
char sayPhonetic(java.lang.String text,
java.lang.String escapeDigits)
throws AGIException
- Says the given character string with phonetics, returning early if any of
the given DTMF number are received on the channel.
- Parameters:
text
- the text to say.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayAlpha
void sayAlpha(java.lang.String text)
throws AGIException
- Says the given character string.
- Parameters:
text
- the text to say.
- Throws:
AGIException
- Since:
- 0.2
sayAlpha
char sayAlpha(java.lang.String text,
java.lang.String escapeDigits)
throws AGIException
- Says the given character string, returning early if any of the given DTMF
number are received on the channel.
- Parameters:
text
- the text to say.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayTime
void sayTime(long time)
throws AGIException
- Says the given time.
- Parameters:
time
- the time to say in seconds since 00:00:00 on January 1, 1970.
- Throws:
AGIException
- Since:
- 0.2
sayTime
char sayTime(long time,
java.lang.String escapeDigits)
throws AGIException
- Says the given time, returning early if any of the given DTMF number are
received on the channel.
- Parameters:
time
- the time to say in seconds since 00:00:00 on January 1, 1970.escapeDigits
- a String containing the DTMF digits that allow the
user to escape.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
getVariable
java.lang.String getVariable(java.lang.String name)
throws AGIException
- Returns the value of the current channel variable.
- Parameters:
name
- the name of the variable to retrieve.
- Returns:
- the value of the given variable or
null
if not
set.
- Throws:
AGIException
- Since:
- 0.2
setVariable
void setVariable(java.lang.String name,
java.lang.String value)
throws AGIException
- Sets the value of the current channel variable to a new value.
- Parameters:
name
- the name of the variable to retrieve.value
- the new value to set.
- Throws:
AGIException
- Since:
- 0.2
waitForDigit
char waitForDigit(int timeout)
throws AGIException
- Waits up to 'timeout' milliseconds to receive a DTMF digit.
- Parameters:
timeout
- timeout the milliseconds to wait for the channel to
receive a DTMF digit, -1 will wait forever.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
getFullVariable
java.lang.String getFullVariable(java.lang.String name)
throws AGIException
- Returns the value of the current channel variable, unlike getVariable()
this method understands complex variable names and builtin variables.
Available since Asterisk 1.2.
- Parameters:
name
- the name of the variable to retrieve.
- Returns:
- the value of the given variable or
null
if not
set.
- Throws:
AGIException
- Since:
- 0.2
getFullVariable
java.lang.String getFullVariable(java.lang.String name,
java.lang.String channel)
throws AGIException
- Returns the value of the given channel variable.
Available since Asterisk 1.2.
- Parameters:
name
- the name of the variable to retrieve.channel
- the name of the channel.
- Returns:
- the value of the given variable or
null
if not
set.
- Throws:
AGIException
- Since:
- 0.2
sayDateTime
void sayDateTime(long time)
throws AGIException
- Says the given time.
Available since Asterisk 1.2.
- Parameters:
time
- the time to say in seconds elapsed since 00:00:00 on January
1, 1970, Coordinated Universal Time (UTC)
- Throws:
AGIException
- Since:
- 0.2
sayDateTime
char sayDateTime(long time,
java.lang.String escapeDigits)
throws AGIException
- Says the given time and allows interruption by one of the given escape
digits.
Available since Asterisk 1.2.
- Parameters:
time
- the time to say in seconds elapsed since 00:00:00 on January
1, 1970, Coordinated Universal Time (UTC)escapeDigits
- the digits that allow the user to interrupt this
command or null
for none.
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayDateTime
char sayDateTime(long time,
java.lang.String escapeDigits,
java.lang.String format)
throws AGIException
- Says the given time in the given format and allows interruption by one of
the given escape digits.
Available since Asterisk 1.2.
- Parameters:
time
- the time to say in seconds elapsed since 00:00:00 on January
1, 1970, Coordinated Universal Time (UTC)escapeDigits
- the digits that allow the user to interrupt this
command or null
for none.format
- the format the time should be said in
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
sayDateTime
char sayDateTime(long time,
java.lang.String escapeDigits,
java.lang.String format,
java.lang.String timezone)
throws AGIException
- Says the given time in the given format and timezone and allows
interruption by one of the given escape digits.
Available since Asterisk 1.2.
- Parameters:
time
- the time to say in seconds elapsed since 00:00:00 on January
1, 1970, Coordinated Universal Time (UTC)escapeDigits
- the digits that allow the user to interrupt this
command or null
for none.format
- the format the time should be said intimezone
- the timezone to use when saying the time, for example
"UTC" or "Europe/Berlin".
- Returns:
- the DTMF digit pressed or 0x0 if none was pressed.
- Throws:
AGIException
- Since:
- 0.2
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
Copyright © 2004-2005 Stefan Reuter. All Rights Reserved.