Misc. Dialplan Tools event

From FreeSWITCH Wiki
Jump to: navigation, search



Event application can be used to fire aribtrary events.


Event Event-Name=$event_name[,Event-Subclass=$event_subclass][,header=value,header=value]

This application may be run inline from the XML dialplan.


<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" />

This is how such an event looks like on the wire:

Core-UUID: 1ebe7b98-1533-11de-a612-0b68f08ca0e3
FreeSWITCH-Hostname: acd2.urtho.dev
Event-Subclass: VoiceWorks.pl%3A%3AACDnotify
Event-Name: CUSTOM
state: Intro
condition: IntroPlayed

See Also