Asterisk常用命令
### Asterisk常用命令详解 Asterisk是一款非常强大的开源PBX解决方案,被广泛应用于构建通信应用和服务之中。本文将详细介绍Asterisk中的部分常用命令及其功能,帮助读者更好地理解和掌握Asterisk的基本操作。 #### 常规指令 1. **Authenticate**: 用于鉴别用户身份。 2. **VMAuthenticate**: 根据`voicemail.conf`配置文件来验证用户,主要用于语音邮箱功能。 3. **Curl**: 接收外部URLs的数据,支持POST请求。 4. **DUNDiLookup**: 使用DUNDi(Distributed Unix Number Database Interface)协议查询电话号码。 5. **SendDTMF**: 向通话中的另一方发送DTMF(Dual Tone Multi-Frequency)信号。 6. **SendImage**: 发送图像文件。 7. **SendText**: 发送文本消息给客户端。 8. **SendURL**: 发送URL链接给客户端显示。 9. **System**: 执行系统级别的命令。 10. **Transfer**: 将通话转移至另一个扩展号码。 11. **TrySystem**: 类似于`System`命令,但在通道状态为0时尝试执行。 12. **Wait**: 暂停一段时间。 13. **WaitExten**: 暂停一段时间后继续执行下一个动作。 14. **WaitForRing**: 等待呼叫请求。 15. **WaitMusicOnHold**: 在等待期间播放背景音乐。 #### 计费相关命令 1. **ForkCDR**: 将Call Detail Record (CDR)分割成两个独立的部分。 2. **NoCDR**: 禁止Asterisk为特定的呼叫保存CDR。 3. **ResetCDR**: 重置CDR数据。 4. **SetAccount**: 设置账户编号。 5. **SetAMAflags**: 设置AMA (Automatic Message Accounting) 标志位,控制CDR的创建。 6. **SetCDRUserField**: 设置CDR的用户字段。 7. **AppendCDRUserField**: 给CDR的用户字段追加数据。 #### 呼叫管理 1. **Answer**: 回应一个正在振铃的通道。 2. **Busy**: 显示忙音并等待挂机。 3. **ChanIsAvail**: 检查通道是否可用。 4. **Congestion**: 显示线路拥挤的提示音,并等待挂机。 5. **Dial**: 拨打指定的号码或通道。 6. **DISA**: Direct Inward System Access,提供直接访问内部系统的功能。 7. **Hangup**: 无条件挂断电话。 8. **Ringing**: 显示正在振铃的状态。 #### 呼叫者信息管理 1. **CallingPres**: 更改呼叫者身份信息。 2. **LookupBlacklist**: 从黑名单数据库中查找来电者的信息。 3. **LookupCIDName**: 从本地数据库中查找来电者的名称。 4. **PrivacyManager**: 如果没有来电显示,则要求输入电话号码。 5. **SetCallerID**: 设置呼叫者ID,如果有冲突则遵循已存在的CallerID。 6. **SetCallerPres**: 设置独立通道上的呼叫者信息。 7. **SetCIDName**: 设置呼叫者的名字,如果有冲突则遵循已存在的CallerID。 8. **SetCIDNum**: 只设置呼叫者的电话号码(不包括名字),如果有冲突则遵循已存在的CallerID。 9. **SoftHangup**: 请求挂断并转向另一个通道。 10. **Zapateller**: 阻止远程呼入,通常用于防止恶意电话。 #### ADSI 相关 1. **ADSIProg**: 加载Asterisk ADSI 脚本到电话。 2. **GetCPEID**: 获取ADSICPEID。 #### 数据库操作 1. **DBdel**: 从数据库中删除一个键。 2. **DBdeltree**: 从数据库中删除一组键。 3. **DBget**: 从数据库中获取值。 4. **DBput**: 向数据库中存储值。 5. **MYSQL**: 执行MySQL数据库操作。 #### 应用集成 1. **AGI**: 执行AGI(Asterisk Gateway Interface)脚本。 2. **DeadAGI**: 在挂断的通道上执行AGI。 3. **EAGI**: 执行扩展AGI。 4. **EnumLookup**: 在ENUM(Electronic Number Mapping)中查找号码。 5. **Macro**: 执行宏命令。 6. **NoOp**: 不执行任何操作,常用于调试时打印变量值。 7. **Perl**: 使用Perl脚本。 8. **PHP**: 使用PHP脚本。 9. **Read**: 通过DTMF读取变量值。 10. **TXTCIDName**: 从TXT记录中查找来电者姓名。 11. **UserEvent**: 发送自定义事件给监控程序。 #### 控制流与时限 1. **AbsoluteTimeout**: 设置呼叫的最大时限。 2. **DigitTimeout**: 设置两次按键之间的最大时间间隔。 3. **Goto**: 跳转到指定的目标代码、扩展名和段落。 4. **GotoIf**: 条件跳转。 5. **GotoIfTime**: 当前时间条件下的跳转。 6. **Random**: 在拨号表中随机选择一个目标。 7. **ResponseTimeout**: 设置响应的最大等待时间。 8. **While**: 开始循环。 9. **EndWhile**: 结束循环。 10. **ExecIf**: 条件执行。 #### 字符串与变量操作 1. **Cut**: 字符串处理函数。 2. **ImportVar**: 导入变量。 3. **Math**: 进行基本数学运算。 4. **Prefix**: 设置字符串前缀。 5. **SetGlobalVar**: 设置全局变量。 6. **Set**: 设置通道变量和功能值。 7. **SetVar**: 设置变量值(不覆盖已存在的变量)。
- yuanzelin82011-10-26Asterisk的命令的中文翻译
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助