Asterisk呼叫中心之数据库查询与播报(二)

/*time:2014.7

   author:Mr.liu*/

本功能的实现主要包括如下几个方面值得思考:

  1、asterisk如何接受用户的单个选择性按键? 如何接受长字符串查询按键?

   2、asterisk如何播报语音?语音文件?

   3、如何与数据库打交道?

   4、asterisk如何在用户拨打电话时调用so文件及如何产生自己的so文件来供asterisk拨号调用?

   5、理解一个完整拨号、调用、加载卸载的流程?



为完成相应的功能开发。需涉及如下函数模块:

int ast_strlen_zero(const char *s);
\param s 判断的字符串
s为空返回1,非空返回0


int ast_play_and_wait(struct ast_channel *chan, const char *fn);
\param chan 播放语音的信道
\param fn 播放的文件名,文件放在/var/lib/asterisk/sounds/目录下,如:此目录下的"您好.gsm",那么fn = "您好",如果是/var/lib/asterisk/sounds/mymusic/下的"您好.gsm"呢?只要令fn = "/mymusic/您好"
return 返回按的键,只能有一个键
播放fn,等待并返回按的键

int ast_streamfile(struct ast_channel *c, const char *filename, const char *preflang);
\param c 播放文件的信道
\param filename播放的文件名(类似于ast_play_and_wait的fn)
\param preflang播放文件的语种
用preflang语种播放filename,成功返回0,失败返回-1


int ast_readstring(struct ast_channel *c, char *s, int len, int timeout, int ftimeout, char *enders);
\param c 读取数据的信道
\param s 读取的字符串存入S,需要有空间
\param len 最多能读取字符的长度
\param timeout字符输入之间间隔容许的最长时间
\param ftimeout等待第一个字符的最长时间
\param enders 输入字符串结束标志
从c中读取输入的数据,并保存在s中,最大保存数据为len,两个数据之间最大时间间隔为timeout,等待第一个字符的最长时间为ftimeout,当输入enders时表示输入结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值