• Anthony Minessale's avatar
    Addition of scheduler engine and a few applications to use it. · 8a4406ec
    Anthony Minessale 提交于
    This patch adds a scheduler thread to the core and moves the heartbeat
    event to use the new scheduler as an example.
    
    Also The following features are implemented that use this scheduler:
    
    sched_hangup dialplan application:
    
    <action application="sched_hangup" data="+10 normal_clearing bleg"/>
    
    ** The cause code is optional and the optional bleg keyword will only hangup the
       channel the current channel is bridged to if the call is in a bridge.
    
    sched_transfer dialplan application:
    
    <action application="sched_transfer" data="+10 1000 XML default"/>
    
    ** The last 2 args (dialplan and context) are optional
    
    sched_broadcast dialplan application:
    
    <action application="sched_broadcast" data="+10 playback:/tmp/foo.wav"/>
    <action application="sched_broadcast" data="+10 playback!normal_clearing:/tmp/foo.wav"/>
    
    ** The optional !<cause_code> can be added to make the channel hangup after broadcasting the file.
    
    
    sched_hangup api function:
    
    sched_hangup +10 <uuid_string> normal_clearing
    
    ** The cause code is optional
    
    sched_transfer api function:
    
    sched_transfer +10 <uuid_string> 1000 XML default
    
    ** The last 2 args (dialplan and context) are optional
    
    sched_broadcast api function:
    
    sched_broadcast +10 <uuid_str> playback:/tmp/foo.wav
    sched_broadcast +10 <uuid_str> playback!normal_clearing:/tmp/foo.wav
    
    ** The optional !<cause_code> can be added to make the channel hangup after broadcasting the file.
    
    The new C functions in the core are documented in the doxeygen.
    
    *NOTE* This commit should satisfy at least 2 bounties on the wiki
    
    
    
    git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4785 d0543943-73ff-0310-b7d9-9358b9ac24b2
    8a4406ec
switch_channel.c 38.9 KB