FreeSWITCH学习笔记:Local_Extension

第一个例子是Local_Extension。 FreeSWITCH默认的配置提供了1000~1019共20个SIP账号,密码 都是1234。FreeSWITCH通过以下Dialplan可以将来话路由到这些本地的号码。conf/dialplan/default.xml中的 Local_Extension部分如下: - 这个框架说明,用正则表达式(10[01][0-9])$来匹配被叫号码,它匹配所有1000~1019这20个号码。 这里我们假设在SIP客户端上,用1000和1001分别注册到了Fr
分类: 其他 发布时间: 03-18 23:38 阅读次数: 0

freeswitch学习笔记:回声、会议

回声和延迟回声 关于回声,没什么需要多解释的,我们已经非常熟悉这一段了。如果拨9196,就能听到自己的回声。 Dialplan如下: 与echo类似,delay_echo可以使用回声有一定延迟,Dialplan如下(其中5000是毫秒数): 将通话的双方转入会议: 首先,answer这个App在这里没什么用,因为呼叫已经应答了。transfer是一个App,它会将当前通话重新转 移到ROUTING阶段,重新去Dialplan中进行路由。这里它的第一个参数是-both,表示要将它自己和a-leg
分类: 其他 发布时间: 03-18 23:38 阅读次数: 0

FreeSwitch学习笔记:inline Dialplan称为内联拨号计划

inline Dialplan称为内联拨号计划。首 XML Dialplan支持非常丰富的功能,但在测试或编写程序时,我们经常用到一些临时的或者很简单的 Dialplan,如果每次都需要修改XML,不仅麻烦,而且执行效率也会有所降低。所以,我们需要一种短小、轻便的 Dialplan以便更高效地完成任务,inline Diaplan便是因此而生的。而且,通过使用inline Dialplan,可以很方 便地在脚本中生成动态的Dialplan而无须使用复杂的reloadxml以及mod_xml_c
分类: 其他 发布时间: 03-18 23:38 阅读次数: 0

freeswitch命令一览表

以下为所有应用(Application)的一览表,点击对应的超链接进入源网站查看英文版本,若要看中文版本可往下拉按序查找。翻译不妥处请多多指教。 A answer – 应答一个信道的呼叫 att_xfer – 可用于呼叫转移 B bind_digit_action – 绑定一个关键字队列或者一个正则表达式到一个action上 bind_meta_app – 在桥接或者执行另一个dialplan APP期间,对特定的呼叫leg上应答输入的DTMF按键序列 block_dtmf - Block D
分类: 其他 发布时间: 03-18 23:37 阅读次数: 0

FreeSWITCH channel variables(信道变量)

Built-In Variables(内置变量) 以下这些变量称为“呼叫配置域”(caller profile fields), 可以被条件语句直接访问。 context:正文,上下文 rdnis :被呼叫转移的号码, 即上次呼叫中设置的directory中的号码 destination_number:被叫号码 (在一个给定的context中) dialplan:dialplan模块的名字,每个dialplan中的模块如XML都需要配置名字 caller_id_name:主叫的名字(由用户代理
分类: 其他 发布时间: 03-18 23:37 阅读次数: 0

ES5 & document事件

…支持ES5的浏览器:Opera11.60+,Internet Explorer9+ (IE9不支持严格模式),Firefox4+, Safari 5.1,Chrome13+ DOM文档加载的步骤为 解析HTML结构 加载外部脚本和样式表文件 解析并执行脚本代码 DOM树构建完成 //DOMContentLoaded 加载图片等外部文件 页面加载完毕 //window.onload document事件 onreadystatechange 当页面准备阶段改变时触发 readyState 页面
分类: 其他 发布时间: 03-18 23:36 阅读次数: 0

ES6 & 集合

声明变量 let (1) 没有声明提前的概念 (2) 不能在同一作用域重复声明同一个变量 (3) 块级作用域{} const (1) 变量声明不会提前 (2) const不允许相同作用域内多次声明同一变量 (3) 块级作用域 (4) 声明后无法修改值 解构 概念:从数组或对象中提取值,对变量进行赋值,这种方式叫做解构 数组解构 (1) 基本解构:[变量名,变量名] = 数组   例:var [a,b,c] = [10,20,30]; (2) …表示获取剩余参数   例:var [a,…b] =
分类: 其他 发布时间: 03-18 23:36 阅读次数: 0

PHP & AJAX & Promise

PHP的基本语法 基本结构<?php ?> 注释 (1) 单行注释:// (2) 多行注释:/**/ 变量 (1) 以 $ 符号开始,后面跟着变量的名称( 称为标识符,不属于变量组成部分)(2)以称为标识符,不属于变量组成部分) (2) 以称为标识符,不属于变量组成部分)(2)以符号开始,后面跟着变量的名称($称为标识符,不属于变量组成部分) (3) 区分大小写 (4) 没有声明变量的命令,也没有声明提前的概念。 常量 (1) 规范   ① 命名规则与变量一致,但常量名不需要加 $ 修饰符  
分类: 其他 发布时间: 03-18 23:36 阅读次数: 0

MySQL & PHP操作数据库

数据库 概念:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 热门数据库 Oracle、SQLServer、MySQL、MongoDB、SQLite、access、DB2 结构化的数据:我们把一段复杂的信息,进行了结构化处理,瞬间显得清爽多了。计算机处理 起来也相当方便。 因此,这样的数据,我们就称之为结构化数据 关系型数据库:我们把用户账号的信息,和消费记录信息分离开来,通过用户编号进行了关联 既 把不同的数据进行了分离,使得查询数据更加方便。同时又保证了它们关系的正确
分类: 其他 发布时间: 03-18 23:35 阅读次数: 0

OOP & 继承 & 闭包 & ES5对象扩展

创建对象及使用 创建对象 对对象进行描述 (1) 有什么(属性) (2) 能做什么(方法) 对象的创建方式 字面量 {} 一般只用于创建单一对象 new Object() 一般只用于创建单一对象 (1)工厂模式:将参数传入函数内,函数内生成对象,给对象设置属性及方法(具体值来自传入 的参数),最后将对象通过return返回出去。 (2)优点:解决了重复创建多个同一类型对象的问题 (3)缺点:没有解决对象识别的问题(对象的类型都是Object) 自定义构造函数 (1) 自定义构造函数与普通函数定
分类: 其他 发布时间: 03-18 23:35 阅读次数: 0

jQuery选择器 & 元素查找 & 节点操作

http://jquery.cuishifeng.cn/ jquery使用的API https://www.bootcdn.cn/ jquery下载地址 https://jqueryvalidation.org/ 表单验证插件,官网 www.jqueryui.com jqueryUI官方插件,功能多且全面 http://www.jeasyui.net/ 是一组基于jQuery的UI插件集合,Demo http://v3.bootcss.com/ HTML、CSS和JS框架,用于开发响应式布局、
分类: 其他 发布时间: 03-18 23:35 阅读次数: 0

JavaScript高级编程——引用类型、Array数组使用、栈方法

JavaScript高级编程——引用类型、Array数组使用、栈方法    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>引用类型</title> </head> <body> <script>
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

leetcode 38. 报数(Count and Say)

目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") , 即 11。 11 被读作 "two 1s" ("两个一"), 即 21。 21 被读作 "one 2", "one 1" ("一个二" , "一个一")
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

实模式、保护模式、三种地址、分段、分页

转自:https://blog.csdn.net/rosetta/article/details/8933200 64KB-4GB-64TB? 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为啥最大寻址能力就变成了64TB?每个段最大也达4GB?更甚者分段和分页这两个高深的概念像我这种菜鸟怎么也理解
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

静态的首页

链接:https://pan.baidu.com/s/1_tmG_zDQi34kHgXxEXtKWw 提取码:oz8u
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

(七)MySQL索引和执行计划

索引 和 EXPLAIN/DESC 概念 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息 索引分为聚簇索引和非聚簇索引两种 聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快 MyISAM:非聚簇索引 非聚簇索引的主索引和辅助索引几乎是一样的,只是主索引不允许重复,不允许空值,他们的叶子结
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署

前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应。大家发现了另一款开源的数据库: PostgreSQL。 虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

四、docker compose

docker compose可以方便我们快捷高效地管理容器的启动、停止以及重启等操作,和批量管理容器,它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什么镜像、数据卷、网络模式、监听端口等信息。我们可以在一个compose文件中定义一个多容器的应用(比如jumpserver),然后通过该compose来启动这个应用。 sudo pip install -U docker-compose   
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

第K个幸运数字(4、7)

题目:4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字,前几个幸运数字为:4,7,44,47,74,77,444,447······ 输出第K个数字。 思路是: 将4换成0,7换成1,那么 4, 7, 44, 47, 74, 77, 444, 447... 变成了 0, 1, 00, 01, 10, 11, 000, 001...对应的十进制是: 0, 1, 0, 1, 2, 3, 0, 1...看着没什么规律啊,不好处理,关键的问题在于00,01,00
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0

解决eclipse启动报错 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be ...方法

启动eclipse时报下列错误: 解决方法: 1.检查环境变量的配置: 变量名:JAVA_HOME 变量值: C:\Program Files\Java\jdk1.7.0_80 变量名:CLASSPATH 变量值: .;%JAVA_HOME%\lib 变量名:Path 变量值:%JAVA_HOME%\bin; 2.查看eclipse目录下的eclipse.ini文件 1).jdk版本要和配置的版本相同   -Dosgi.requiredJavaVersion=1.8 2).将-vm下的路径配置
分类: 其他 发布时间: 03-18 23:34 阅读次数: 0