Misc. Dialplan Tools event
From FreeSWITCH Wiki
Contents |
Description
Event application can be used to fire aribtrary events.
Usage
Event Event-Name=$event_name[,Event-Subclass=$event_subclass][,header=value,header=value]
This application may be run inline from the XML dialplan.
Examples
<action application="event" data="Event-Subclass=myevent::notify,Event-Name=CUSTOM,key1=value1,key2=value2"/>
I find it useful in driving inbound event socket finite state machines that do not subscribe to CHANNEL_EXECUTE* events yet need signals when some actions of inline dialplans are completed. Eg: fire a custom notification that a file has been played and the channel is now waiting for more instructions while the customer listens to MOH.
<extension name="ACDIntro">
<condition field="destination_number" expression="^queue_beta$">
<action application="set" data="acd_line_ext=150"/>
<action application="answer" />
<action application="playback" data="intro.wav" />
<action application="event" data="Event-Subclass=VoiceWorks.pl::ACDnotify,Event-Name=CUSTOM,state=Intro,condition=IntroPlayed"/>
<action application="playback" data="local_stream://moh" />
</condition>
</extension>
This is how such an event looks like on the wire:
Core-UUID: 1ebe7b98-1533-11de-a612-0b68f08ca0e3 FreeSWITCH-Hostname: acd2.urtho.dev FreeSWITCH-IPv4: 192.168.0.144 [...] Event-Subclass: VoiceWorks.pl%3A%3AACDnotify Event-Name: CUSTOM state: Intro condition: IntroPlayed

