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
freeswitch学习笔记:回声、会议
回声和延迟回声 关于回声,没什么需要多解释的,我们已经非常熟悉这一段了。如果拨9196,就能听到自己的回声。 Dialplan如下: 与echo类似,delay_echo可以使用回声有一定延迟,Dialplan如下(其中5000是毫秒数): 将通话的双方转入会议: 首先,answer这个App在这里没什么用,因为呼叫已经应答了。transfer是一个App,它会将当前通话重新转 移到ROUTING阶段,重新去Dialplan中进行路由。这里它的第一个参数是-both,表示要将它自己和a-leg
FreeSwitch学习笔记:inline Dialplan称为内联拨号计划
inline Dialplan称为内联拨号计划。首 XML Dialplan支持非常丰富的功能,但在测试或编写程序时,我们经常用到一些临时的或者很简单的 Dialplan,如果每次都需要修改XML,不仅麻烦,而且执行效率也会有所降低。所以,我们需要一种短小、轻便的 Dialplan以便更高效地完成任务,inline Diaplan便是因此而生的。而且,通过使用inline Dialplan,可以很方 便地在脚本中生成动态的Dialplan而无须使用复杂的reloadxml以及mod_xml_c
freeswitch命令一览表
以下为所有应用(Application)的一览表,点击对应的超链接进入源网站查看英文版本,若要看中文版本可往下拉按序查找。翻译不妥处请多多指教。 A answer – 应答一个信道的呼叫 att_xfer – 可用于呼叫转移 B bind_digit_action – 绑定一个关键字队列或者一个正则表达式到一个action上 bind_meta_app – 在桥接或者执行另一个dialplan APP期间,对特定的呼叫leg上应答输入的DTMF按键序列 block_dtmf - Block D
FreeSWITCH channel variables(信道变量)
Built-In Variables(内置变量) 以下这些变量称为“呼叫配置域”(caller profile fields), 可以被条件语句直接访问。 context:正文,上下文 rdnis :被呼叫转移的号码, 即上次呼叫中设置的directory中的号码 destination_number:被叫号码 (在一个给定的context中) dialplan:dialplan模块的名字,每个dialplan中的模块如XML都需要配置名字 caller_id_name:主叫的名字(由用户代理
ES5 & document事件
…支持ES5的浏览器:Opera11.60+,Internet Explorer9+ (IE9不支持严格模式),Firefox4+, Safari 5.1,Chrome13+ DOM文档加载的步骤为 解析HTML结构 加载外部脚本和样式表文件 解析并执行脚本代码 DOM树构建完成 //DOMContentLoaded 加载图片等外部文件 页面加载完毕 //window.onload document事件 onreadystatechange 当页面准备阶段改变时触发 readyState 页面
PHP & AJAX & Promise
PHP的基本语法 基本结构<?php ?> 注释 (1) 单行注释:// (2) 多行注释:/**/ 变量 (1) 以 $ 符号开始,后面跟着变量的名称( 称为标识符,不属于变量组成部分)(2)以称为标识符,不属于变量组成部分) (2) 以称为标识符,不属于变量组成部分)(2)以符号开始,后面跟着变量的名称($称为标识符,不属于变量组成部分) (3) 区分大小写 (4) 没有声明变量的命令,也没有声明提前的概念。 常量 (1) 规范 ① 命名规则与变量一致,但常量名不需要加 $ 修饰符
MySQL & PHP操作数据库
数据库 概念:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 热门数据库 Oracle、SQLServer、MySQL、MongoDB、SQLite、access、DB2 结构化的数据:我们把一段复杂的信息,进行了结构化处理,瞬间显得清爽多了。计算机处理 起来也相当方便。 因此,这样的数据,我们就称之为结构化数据 关系型数据库:我们把用户账号的信息,和消费记录信息分离开来,通过用户编号进行了关联 既 把不同的数据进行了分离,使得查询数据更加方便。同时又保证了它们关系的正确
OOP & 继承 & 闭包 & ES5对象扩展
创建对象及使用 创建对象 对对象进行描述 (1) 有什么(属性) (2) 能做什么(方法) 对象的创建方式 字面量 {} 一般只用于创建单一对象 new Object() 一般只用于创建单一对象 (1)工厂模式:将参数传入函数内,函数内生成对象,给对象设置属性及方法(具体值来自传入 的参数),最后将对象通过return返回出去。 (2)优点:解决了重复创建多个同一类型对象的问题 (3)缺点:没有解决对象识别的问题(对象的类型都是Object) 自定义构造函数 (1) 自定义构造函数与普通函数定
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框架,用于开发响应式布局、
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>
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" ("一个二" , "一个一")
实模式、保护模式、三种地址、分段、分页
转自:https://blog.csdn.net/rosetta/article/details/8933200 64KB-4GB-64TB? 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为啥最大寻址能力就变成了64TB?每个段最大也达4GB?更甚者分段和分页这两个高深的概念像我这种菜鸟怎么也理解
(七)MySQL索引和执行计划
索引 和 EXPLAIN/DESC 概念 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息 索引分为聚簇索引和非聚簇索引两种 聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快 MyISAM:非聚簇索引 非聚簇索引的主索引和辅助索引几乎是一样的,只是主索引不允许重复,不允许空值,他们的叶子结
再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应。大家发现了另一款开源的数据库: PostgreSQL。 虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库
四、docker compose
docker compose可以方便我们快捷高效地管理容器的启动、停止以及重启等操作,和批量管理容器,它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什么镜像、数据卷、网络模式、监听端口等信息。我们可以在一个compose文件中定义一个多容器的应用(比如jumpserver),然后通过该compose来启动这个应用。 sudo pip install -U docker-compose
第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
解决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下的路径配置
今日推荐
周排行