freeswitch,在lua脚本如何获取通话时间

freeswitch,在lua脚本如何获取通话时间,第1张

FREESWITCH中录音你如果要搞到LUA脚本里就麻烦了,直接在dialplan里面就能录音。

<action application="set" data="execute_on_answer=record_session /data/media/${strftime(%Y%m%d)}/${strftime(%Y%m%d%H)}/${uuid}_$1_${caller_id_number}wav"/>

时间也都是从FS上面获取到传进LUA脚本里的。我是这么使用的。

两个函数需要注意的地方就是加入了时区的概念

ostime() 得到是当前时间的距离19701108:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值

ostime()函数

1、不传参的话返回当前时间转化成秒数的结果 local time2 = ostime()

2  传参返回指定时间转化秒数的结果 local time = ostime({year =2016, month = 11, day =23, hour =17, min =17, sec = 00})

print(“====================time=,”,time)  -- 结果打印   1479892620

3、任何一个时区,在相同的时间,同时调用ostime() 返回的结果都是一样的

osdate() 

1、把时间戳转化成可显示的时间字符串

dump(osdate(“t”,0),“--->”)      -- 格式化成表的形式显示

2print("===============osdate()==",osdate("%Y-%m-%d%H:%M:%S",1479892620))

Result:

===============osdate()==   2016-11-23﹎17:17:00

3、如果服务器返回一个时间戳,客户端想要转换成可读样式,需要考虑到时区问题,因为是按照本地时区转换的,如果本地时区跟服务器所在时区不一致,就会导致时间显示错误,一般解决办法就是 加上时区差即可。ps:如果有夏令时,则需要加上3600s

以上就是关于freeswitch,在lua脚本如何获取通话时间全部的内容,包括:freeswitch,在lua脚本如何获取通话时间、lua中os.time和os.date区别、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9872516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存