public abstract class UserEvent extends ManagerEvent
You can send arbitrary user events via the UserEvent application provided with asterisk. A user event by default has the attributes channel and uniqueId but you can add custom attributes by specifying an event body.
To add your own user events you must subclass this class and name it
corresponding to your event. If you plan to send an event by
UserEvent(VIPCall)
you will create a new class called
VIPCallEvent that extends UserEvent. The name of this class is important:
Just use the name of the event you will send (VIPCall in this example) and
append "Event".
To pass additional data create appropriate attributes with getter and setter methods in your new class.
Example:
public class VIPCallEvent extends UserEvent { private String firstName; public VIPCallEvent(Object source) { super(source); } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } }To send this event use
UserEvent(VIPCall|firstName: Jon)
in your
dialplan. Asterisk up to 1.2 (including) does only support one property in
the UserEvent so something like
UserEvent(VIPCall|firstName: Jon|lastName: Doe)
will not work as
expected.
The UserEvent is implemented in apps/app_userevent.c
.
Note that you must register your UserEvent with the ManagerConnection you are using in order to be recognized.
ManagerConnection.registerUserEventClass(Class)
,
Serialized FormcallerIdName, callerIdNum, channelState, channelStateDesc, connectedLineName, connectedLineNum, context, exten, priority
source
Modifier and Type | Method and Description |
---|---|
String |
getChannel()
Returns the name of the channel this event occured in.
|
String |
getUniqueId()
Returns the unqiue id of the channel this event occured in.
|
void |
setChannel(String channel)
Sets the name of the channel this event occured in.
|
void |
setUniqueId(String uniqueId)
Sets the unqiue id of the channel this event occured in.
|
appendPropertyIfNotNull, getCallerIdName, getCallerIdNum, getChannelState, getChannelStateDesc, getConnectedLineName, getConnectedLineNum, getContext, getDateReceived, getExten, getFile, getFunc, getLine, getPriority, getPrivilege, getSequenceNumber, getServer, getSystemName, getTimestamp, setCallerIdName, setCallerIdNum, setChannelState, setChannelStateDesc, setConnectedLineName, setConnectedLineNum, setContext, setDateReceived, setExten, setFile, setFunc, setLine, setPriority, setPrivilege, setSequenceNumber, setServer, setSystemName, setTimestamp, toString
getSource
public UserEvent(Object source)
public String getChannel()
public void setChannel(String channel)
channel
- the name of the channel this event occured in.public String getUniqueId()
public void setUniqueId(String uniqueId)
uniqueId
- the unqiue id of the channel this event occured in.Copyright © 2004–2020. All rights reserved.