我想了解Freeswitch ESL库方法getBody的数据格式,以及ESl如何在发出命令api uuid_buglist的通道上获取媒体错误列表。
我担心的是我可以发出命令但是如何读取出来的数据是我的问题。
请帮忙。
答案 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();