[Freeswitch-users] Why the c program does not work?Event-Name is allways "SOCKET_DATA"

Alex Zhou alex8207744 at gmail.com
Thu Apr 14 19:12:52 MSD 2011


Hi! I'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 "SOCKET_DATA"  not "CHANNEL_HANGUP". Can you help me to fix it and get
hangup-cause?

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 ?
Beside the crotab and custom event,any other better idea to control when to
start or stop ?

Thanks!

#include <stdio.h>
#include <stdlib.h>
#include <esl.h>


int main(void)
{
    esl_handle_t handle = {{0}};

    esl_status_t status1,status2,status3;
    int done = 0;
    esl_status_t status;
    time_t exp = 0;

    //esl_global_set_default_logger(7);
    status1 = esl_connect(&handle, "localhost", 8021, NULL, "ClueCon");

    esl_events(&handle, ESL_EVENT_TYPE_PLAIN, "CHANNEL_ANSWER
CHANNEL_ORIGINATE CHANNEL_HANGUP");

    status2 = esl_send_recv(&handle, "api originate user/1001
&playback(/tmp/a.wav)\n\n");

    if (handle.last_sr_event && handle.last_sr_event->body) {
        printf("Sucess --- %s\n", handle.last_sr_event->body);
    } else {
        // this is unlikely to happen with api or bgapi (which is hardcoded
above) but prefix but may be true for other commands
        printf("Fail --- %s\n", handle.last_sr_reply);
    }

    while((status = esl_recv_event(&handle, 1,NULL)) != ESL_FAIL)
    {
                if (status == ESL_SUCCESS)
        {
            char *type = esl_event_get_header(handle.last_event,
"content-type");
            printf("--- %s\n", type);
            printf("--- %s\n",esl_event_get_header(handle.last_event,
"Event-Name"));
            //next to get Hangup-Cause from Event-Name:CHANNEL_HANGUP
        }
    }
    esl_disconnect(&handle);
    return 0;
}


[freeswitch at fs ~]$ ./test
Sucess --- +OK 3fe60603-0ed4-4a6d-9322-dd906433b3cc

--- text/event-plain
--- SOCKET_DATA
--- text/event-plain
--- SOCKET_DATA
--- text/event-plain
--- SOCKET_DATA
--- text/event-plain
--- SOCKET_DATA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110414/754c533b/attachment.html 


More information about the FreeSWITCH-users mailing list