Freeswitch ESL图书馆

时间:2014-09-05 08:25:08

标签: freeswitch

我想了解Freeswitch ESL库方法getBody的数据格式,以及ESl如何在发出命令api uuid_buglist的通道上获取媒体错误列表。

我担心的是我可以发出命令但是如何读取出来的数据是我的问题。

请帮忙。

2 个答案:

答案 0 :(得分:0)

esl_event_get_body()是一个非常简单的包装函数,它从事件返回event->body。 要获得cmd的回复,您应该在使用handle.last_sr_event->body

后使用esl_send_recv(&handle, cmd)

答案 1 :(得分:0)

你可以看到我的开源项目,它是一个自动拨号项目:

https://github.com/nwaycn/nway_ac

这里显示了挂断的消息

con = ESLconnection(fs_ip, fs_esl_port, fs_esl_auth)
    if con.connected():
        thread.start_new_thread(AutoCall,(1,1))
        e = con.events('plain','CHANNEL_HANGUP_COMPLETE')
        while True:
            ee = con.recvEvent()
            #print ee
            if ee:
                my_number =  ee.getHeader('Caller-Caller-ID-Number')
                dest_number = ee.getHeader('Caller-Destination-Number')
                SetNumberIdle(dest_number)

    con.disconnect();

这是拨打电话

def CallOut(dial_string,call_number):
    con = ESLconnection(fs_ip, fs_esl_port, fs_esl_auth)
    if con.connected():
        e = con.api(dial_string)
        SetNumberBusy(call_number)
        print e.getBody()
    else:
        print 'not Connected'
    con.disconnect();