freeswitch

freeswitch 添加用户与出局用户

我的未来我决定 提交于 2019-11-27 12:03:10
一、 添加用户 1 、 conf/directory/default目录下添加用户文件名字是分机号 .xml ,例如 1000.xml ,它的内容如下: <include> <user id="1000" mailbox="1000"> <params> <param name="password" value="1234"/> <param name="vm-password" value="1000"/> </params> <variables> <variable name="accountcode" value="1000"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Extension 1000"/> <variable name="effective_caller_id_number" value="1000"/> </variables> </user> </include> 2、使其他用户可以呼叫到他 <extension name="Local_Extension"> <condition field="destination_number" expression="^(10[0-9][0-9])$"> FS

freeswitch反注册记录

假装没事ソ 提交于 2019-11-27 12:02:40
应用情景: 使用阿里服务器,落地使用本地的模拟线路(O口网关)。 1、FreeSWITCH 服务器开一个账号,比如 5000 internal , O口 SIP设置页面按照网关注册 5000 的账号信息。 2、dialplan 中添加拨号规则: <condition field="destination_number" expression="^(\d{8,12})$"> <action application="lua" data="reregister.lua 5000 $1"/> </condition> 3、FreeSWITCH scripts/ 目录下 生产如下 reregister.lua : gatewayNumber = argv[1] destNumber = argv[2] api = freeswitch.API(); -- 获取网关注册的地址,主叫号码替换 local domain = freeswitch.getGlobalVariable("domain"); local sofiaContactStr = api:executeString("sofia_contact " .. gatewayNumber .."@" .. domain); local dialStr = string.gsub(sofiaContactStr,

freeswitch注册过程分析

拈花ヽ惹草 提交于 2019-11-27 12:02:15
操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 本文仅描述sip注册的简单场景,即话机直接向处于同一个局域网的fs进行注册。 SIP协议的消息结构 消息框架 SIP协议是基于文本的协议,SIP协议的消息都遵从一个统一的消息结构: 起始行(Start-Line)、一个或多个头域(Message-Header)、表明域结束的空行(CRLF),以及 可选的消息体(Message-Body) Start-Line * Message-Header CRLF [Message-Body] 消息头结构 SIP协议定义了大量的消息头域,但在一个基本SIP请求中至少应该包含以下几个消息体头域: From : 请求发起端地址 To : 请求目的端地址 Call-ID : 呼叫标识 Contract :联系人信息 CSeq : 消息序号 Max-Forward :TTL,防止死循环 Via : 消息转发记录 Content-Length : 消息体长度 消息体结构 SIP协议并没有规定消息体的结构,对消息体的应用完全取决于应用自身。 sip协议REGISTER请求格式 01 REGISTER sip:{remote_ip} SIP/2.0 02 Via: {viaInfo} 03 Max-Forwards: 70 04 From: {uacInfo} 05 To:

【FreeSWITCH 】CTI-DEMO

旧巷老猫 提交于 2019-11-27 02:39:16
CTI-DEMO CTI-Demo Errors Reference CTI-Demo # directory cd /usr/src/freeswitch/libs/esl # compile gcc -o testclient testclient.c -pthread -lm -lesl -lcjson -Isrc/include # compile gcc -o testclient testclient.c -pthread -lm -lesl -L. -Isrc/include https://freeswitch.org/confluence/display/FREESWITCH/Event+Socket+Library https://blog.csdn.net/huoyin/article/details/39394189 Errors gcc -o testserver testserver.c -lpthread -lm -lesl -lcjson -Isrc/include admin~: gcc -o testserver testserver.c -lpthread -lm -lesl -lcjson -Isrc/include //usr/local/lib/libesl.so: undefined reference to ` pthread

FreeSWITCH mod模块

两盒软妹~` 提交于 2019-11-26 15:52:39
Applications应用 mod_abstraction – 提供了一个抽象的API调用(未来有更多功能)Provides an abstraction to API call (and more in the future). mod_avmd – 使用一个通用的方法检测语音信箱响铃Detects voicemail beeps using a generalized approach. mod_blacklist – 黑名单模块 Blacklist module. mod_callcenter – 排队叫号的应用程序,可用于呼叫中心的需求 Call queuing application that can be used for call center needs. mod_cidlookup – 使用电话号码从数据,url等中查询来电显示名称 Provides a means (database, url) to lookup the callerid name from a number. mod_cluechoo – 一个简单的框架,演示模块 A simple framework demo module. mod_commands – API接口命令集 A mass plethora of API interface commands. mod_conference

用FreeSWITCH实现IVR

China☆狼群 提交于 2019-11-26 12:45:06
IVR系统默认的配置文件为/usr/local/freeswitch/conf/autoload_configs/ivr.conf.xml <include> <menus> <menu name="welcome" greet-long="/usr/local/freeswitch/sounds/welcome.wav" greet-short="/usr/local/freeswitch/sounds/morning.wav" #一定要注意录音文件的路径 invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav" exit-sound="voicemail/vm-goodbye.wav" timeout="15000" max-failures="3" max-timeouts="3" inter-digit-timeout="2000" digit-len="4"> <entry action="menu-exec-app" digits="0" param="transfer 1000 XML default"/> <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML default"/> <menu> <menus>

FreeSWITCH生产录音文件

二次信任 提交于 2019-11-26 12:44:54
修改拨码计划 编辑../freeswitch/conf/dialplan/default.xml 找到Local_Extension节点,将一下内容补充进去,完成后,执行relaodxml即可。 <action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/> <action application="set" data="RECORD_COPYRIGHT=(c) 2011"/> <action application="set" data="RECORD_SOFTWARE=FreeSWITCH"/><action application="set" data="RECORD_ARTIST=FreeSWITCH"/> <action application="set" data="RECORD_COMMENT=FreeSWITCH"/> <action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/> <action application="set" data="RECORD_STEREO=true"/>