Hi! I&#39;m new user to freeswitch.I write a c program to dial and play a wav file. I want to know hangup-cause.But it does not work.The Event-Name i got is &quot;SOCKET_DATA&quot;  not &quot;CHANNEL_HANGUP&quot;. Can you help me to fix it and get hangup-cause?<br>
<br>Then i will dial lot of number but only on work time (9:00-11:00,14:00-17:00).So I want to use crontab to send custom event to crotrol dial start or stop.So how to send and receive custom event ?<br>Beside the crotab and custom event,any other better idea to control when to start or stop ?<br>
<br>Thanks!<br><br>#include &lt;stdio.h&gt;<br>#include &lt;stdlib.h&gt;<br>#include &lt;esl.h&gt;<br><br><br>int main(void)<br>{<br>    esl_handle_t handle = {{0}};<br><br>    esl_status_t status1,status2,status3;<br>    int done = 0;<br>
    esl_status_t status;<br>    time_t exp = 0;<br><br>    //esl_global_set_default_logger(7);<br>    status1 = esl_connect(&amp;handle, &quot;localhost&quot;, 8021, NULL, &quot;ClueCon&quot;);<br><br>    esl_events(&amp;handle, ESL_EVENT_TYPE_PLAIN, &quot;CHANNEL_ANSWER CHANNEL_ORIGINATE CHANNEL_HANGUP&quot;);<br>
<br>    status2 = esl_send_recv(&amp;handle, &quot;api originate user/1001 &amp;playback(/tmp/a.wav)\n\n&quot;);<br>    <br>    if (handle.last_sr_event &amp;&amp; handle.last_sr_event-&gt;body) {<br>        printf(&quot;Sucess --- %s\n&quot;, handle.last_sr_event-&gt;body);<br>
    } else {<br>        // this is unlikely to happen with api or bgapi (which is hardcoded above) but prefix but may be true for other commands<br>        printf(&quot;Fail --- %s\n&quot;, handle.last_sr_reply);<br>    }<br>
<br>    while((status = esl_recv_event(&amp;handle, 1,NULL)) != ESL_FAIL)<br>    {<br>                if (status == ESL_SUCCESS) <br>        {<br>            char *type = esl_event_get_header(handle.last_event, &quot;content-type&quot;);<br>
            printf(&quot;--- %s\n&quot;, type);<br>            printf(&quot;--- %s\n&quot;,esl_event_get_header(handle.last_event, &quot;Event-Name&quot;));<br>            //next to get Hangup-Cause from Event-Name:CHANNEL_HANGUP<br>
        }<br>    }<br>    esl_disconnect(&amp;handle);<br>    return 0;<br>}<br><br><br>[freeswitch@fs ~]$ ./test<br>Sucess --- +OK 3fe60603-0ed4-4a6d-9322-dd906433b3cc<br><br>--- text/event-plain<br>--- SOCKET_DATA<br>--- text/event-plain<br>
--- SOCKET_DATA<br>--- text/event-plain<br>--- SOCKET_DATA<br>--- text/event-plain<br>--- SOCKET_DATA<br>