`

asterisk中常用函数说明

 
阅读更多


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,超过timeout返回1,失败返回-1
    
int ast_say_number(struct ast_channel *chan, int num, const char *ints, const char *lang, const char *options);
    \param    chan    播放一个数据的信道
    \param    num        播放的数字
    \param    ints    播放的过程中可以被中断的字符
    \param    lang    播放数字的语种
    \param    options    "f"为女性的,"m"为男性,"c"为亲切的,"n"为中立的,"p"为复性的
    播放一个数字num,成功或中断返回0,失败返回返回-1
    
    
struct ast_variable *ast_load_realtime(const char *family, ...);
    \param    family    为连接数据库的句柄,在/etc/asterisk/extconfig.conf内设置
    \param    ...            变参,传入方式为"字段","与此字段相应的数值","字段","与此字段相应的数值", ...最后是NULL结尾
    返回在family连接的表中符合...的内容,若有相符的,返回一个struct ast_variable的结构体,没有则返回NULL
    
    我们可以简化struct ast_variable {        
                                            char *name;        //字段名
                                            char *value;    //数值
                                            struct ast_variable *next;
                        };(实际上在代码中并不是这样子的,为了方便看懂才写成这样)
                        
struct ast_app *pbx_findapp(const char *app);
    \param    app    app的名字
    查找在/asterisk/apps/内注册的app函数,查找到对应的app返回一个struct ast_app结构体,失败返回NULL


int pbx_exec(struct ast_channel *c, struct ast_app *app, void *data);
    \param    c            执行app应用的信道
    \param    app        执行的app
    \param    data    执行此app时传入app的参数
    执行app并传入参数data,执行成功返回0,失败返回-1,这个函数一般都是先用
    struct ast_app *pbx_findapp(const char *app);找到,再执行
    
void pbx_builtin_setvar_helper(struct ast_channel *chan, const char *name, const char *value);
    \param    chan    设置的变量所在的信道
    \param    name    设置的变量名
    \param    value    变量的值
    在chan中设置变量名为name,值为value的变量
    
const char *pbx_builtin_getvar_helper(struct ast_channel *chan, const char *name);
    \param    chan    取得变量的信道
    \param    name    变量的名字
    得到在chan信道中变量名为name的变量值,返回name的值,这个函数都是通过
    void pbx_builtin_setvar_helper(struct ast_channel *chan, const char *name, const char *value);
    先设置name的值,再用此函数得到这个值


int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
    \param    c            执行的渠道        
    \param    menu    执行的一个struct ast_ivr_menu变量
    \param    cbdata    传入menu内的参数
    执行menu,成功返回0,挂断返回-1,menu有错返回-2
分享到:
评论

相关推荐

    Asterisk拨号方案常用函数

    在Asterisk中,拨号方案(Dialplan)是控制通话流程的核心元素,它由一系列的函数组成,这些函数用于处理从接听电话到挂断的整个过程。以下是一些常见的拨号方案函数的详细说明: 1. Answer():此函数用于接听一个...

    asterisk app函数中文说明

    Asterisk是一个开源的PBX软件,它提供了丰富的应用程序接口(API)和函数,用于构建和定制通信系统。本文将详细介绍一些Asterisk的app函数,帮助你理解和应用这些功能。 1. Authenticate: 此函数用于鉴别用户,通常...

    Asterisk 中文文档说明

    这个“Asterisk中文文档说明”涵盖了从基础概念到高级功能的全方位信息,旨在帮助开发者和系统管理员更好地理解和利用Asterisk的功能。 首先,让我们了解一下Asterisk的核心概念。Asterisk是一个PBX(Private ...

    Asterisk一些常用的命令

    下面是Asterisk的一些常用的命令: 1. amportal 命令 amportal 命令是FreePBX搞的,负责管控Asterisk。amportal start 启动Asterisk,amportal restart 重启Asterisk,amportal stop 关闭Asterisk。 2. asterisk ...

    Asterisk 中文语音包

    总的来说,Asterisk中文语音包的使用大大提升了Asterisk在中国用户中的易用性,使得非英语使用者也能流畅地与系统交互。了解如何正确安装和配置语音包是提升Asterisk服务质量的关键,特别是对于面向中文用户的通信...

    asterisk函数说明

    在该文档中对asterisk的各个功能模块的实现经行了详细的说明,对于学习asterisk的朋友是一份很好的工具。

    Asterisk中文语言包

    修改sip_general_custom.conf(作为测试,在所有SIP 通道上启用提示语为中文,在实际应用中,可根据需要修改--zapata-channels.conf,sipXXX.conf,IAXXXX.conf...,也可在FreePBX的WEB界面中有language选项的地方修改--...

    Asterisk权威指南中文

    Asterisk权威指南中文(第3版) Asterisk权威指南(第3版)第15章自动话务员 Asterisk权威指南(第3版)第02章Asterisk体系结构 Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 ...

    asterisk AGI应用说明

    在Asterisk中,AGI(Asterisk Gateway Interface)是一种非常重要的接口技术,它允许开发者通过外部编程语言来扩展Asterisk的功能。本文将详细介绍如何在Asterisk中使用AGI接口,包括AGI的基本概念、配置方法、常见...

    asterisk中文的语音包

    Asterisk的声音包是其功能中的一个重要组成部分,为用户提供各种语音提示和交互体验。 这个名为“asterisk中文的语音包”的资源包含了Asterisk系统中用于中文环境的音频文件。声音包通常由一系列预录制的语音片段...

    Asterisk常用命令

    - `core show functions`:显示所有可用的功能函数,这些函数可以在拨号计划中使用,实现复杂的逻辑操作。 4. **模块管理**: - 模块管理是Asterisk的一大特色,允许动态加载、卸载和重载功能模块,以适应不同的...

    FreePBX Asterisk 中文提示 中文语音包

     点击 Browes,选择官网下载的压缩包(需要解压缩),解压缩后选择asterisk-core-sound-cn,上传所有的wav格式的语音包  上传点击确认,实现批量上传。  2.5 进行语音包设置,支持中文语音播放。

    chan_dahdi.rar_asterisk_asterisk channel_asterisk中cid_channel as

    这个"chan_dahdi.rar_asterisk_asterisk channel_asterisk中cid_channel as"的压缩包文件显然与Asterisk系统中的Dahdi通道和CID(Calling ID)处理有关。下面我们将深入探讨这些关键概念。 首先,Asterisk是一个...

    Asterisk CLI 命令列表

    在Asterisk的管理中,CLI(Command Line Interface)是一个非常重要的工具,它允许管理员直接与Asterisk服务器交互,执行各种管理和配置任务。本篇文章将详细探讨"Asterisk CLI命令列表"中的关键命令及其用途。 1. ...

    Asterisk 之数据库配置方案 asterisk数据库

    在传统的 Asterisk 配置中,配置文件都是存储在文件系统中的,但是随着系统的复杂度和规模的增加,配置文件的管理和维护变得非常困难。因此,将配置从配置文件迁移到数据库中成为一种必要的选择。 在本方案中,我们...

    asterisk info 录音实现方案

    5. MixMonitor函数:Asterisk中用于启动和停止录音的函数。配置中通过MixMonitor启动录音,并用其文件名变量存储录音文件路径。 6. 代码修改说明:文档中提到要替换原有的chan_sip.so模块,使用func_channel.so和...

    asterisk中文语音

    在这个“asterisk中文语音”压缩包中,重点是与Asterisk相关的中文语音资源,包括voicemail(语音邮件)和agent(代理或坐席)功能。 1. **Asterisk Voicemail**: Asterisk的voicemail系统允许用户在无法接听电话...

    Asterisk 简介 Asterisk 架构 Asterisk程序框图

    Asterisk是一款开源的电话交换机软件,它允许用户创建高度自定义的通信系统,包括VoIP(Voice over IP)电话、会议桥、自动呼叫分配(ACD)以及许多其他电信功能。Asterisk的核心设计理念是灵活性和可扩展性,这使得...

    asterisk中英文教程

    asterisk中英文教材,包括原英文文档asterisk.pdf和部分翻译中文版,翻译版如下:第02章Asterisk体系结构 第05章用户设备配置 第06章Dialplan基础 第07章外线连接 第08章语音邮件 第10章深入Dialplan 第11章Parking&...

    asterisk中文提示音电脑朗读版

    要在Asterisk中使用这些中文提示音,你需要将它们正确地放置在Asterisk的声音目录中,并在配置文件(如extensions.conf)中指定使用这些声音文件。Asterisk的拨号计划(dialplan)可以控制何时以及如何播放这些声音...

Global site tag (gtag.js) - Google Analytics