目录
一,基础概念
1,信令
1.1,信令分类
1.2,7号信令(SS7)
2,IMS
二,PSTN,PBX及呼叫中心业务
1,post普通老式电话业务。
2,商业业务
3,其他增值业务
4,PBX业务,
5,PBX与中继线
6,IP-BPX业务
7,呼叫中心
三,初识FreeSwitch
1,功能
2,下载地址
3,配置FRSWITCH
3.1,配置目录
3.2,添加用户
3.3,配置SIP网关拨打外部电话
一,基础概念
1,信令
用户设备(如话机)与端局交换机之间,以及交换机与交换机之间需要进行通信。这些通信所包含的信息有(但不限于)用户,中继状态,主叫号码,被叫号码,中继路由的选项等。
1.1,信令分类
按功能分类:
线路信令:监视功能,监视主被叫的摘,挂机状态及设备忙闲。
路由信令:选择功能,主叫所拨的被叫号码,用来选择路由。
管理信令:操作功能,用于电话网的管理和维护。
按工作区域分类
用户线信令:用户与交换机之间的信令。
局间信令:交换机与交换机之间的信令。
按信道分
随路信令:信令和话音在同一条话路中传送。
公共信道信令:以时分方式在一条高速链路上传送的一群话路。
其他分类
1.2,7号信令(SS7)
我国目前主要的信令方式,用于局间通信。
固定电话通话流程:如图,用户a摘机 ,与其相连的的交换机A根据电压,电流变化检测到a摘机后,即向a发送拨号音,同时启动收号程序。a听到拨号音后开始拨号,待交换机A收齐号码后,即查找路由,发送IAM(初始消息地址)给B交换机,B向A发ACM(地址全消息),并通知用户b振铃,A向a送回铃音。如果b接听电话,则B向A发送ANC(应答计费消息),a与b开始通话,同时A对a进行计费。
2,IMS
2.1,IMS的全称是IP多媒体子系统,他是一个基础IP网提供语音及多媒体业务网络体系架构。
二,PSTN,PBX及呼叫中心业务
1,post普通老式电话业务。
2,商业业务
运营商业务是由运营商提供,主要为企业用户服务,一般有一下几种。
2.1,模拟中继线:又称为用户小交换机,主要提供号码连选功能。典型应用是提供一个总机号(又称引示号)以及若干条中继线(实际上就是普通电话线)。
2.2,数字中继线:如果用户需要的中线数量较多,数字中心能稳定的提供服务,
2.3,虚拟网:又称商务组(BCG)和汇线通(Centrex)业务。主要提供无需用户端PBX设备情况下,实现网内电话互拨小号。
2.4,立即计费:传统的PSTN需要通过额外的系统来计算通话费用,通常需要有一段时间滞后。而立即计费主要用于酒店等立即计费的场合。
2.5,VPN:虚拟专用网。
3,其他增值业务
4,PBX业务,
全称专用小交换机。一般安装在企业内部,PBX的上端通过运营商提供的模拟或数字中继线链接到PSTN,而下端连接企业内部话机。
4.1,呼叫转移:一种为盲转,之间将来话转至第三方,不管第三方可不可用。另一种为协商转,被叫一方先通过一些操作将来话置于Hold状态,主叫一方听音乐,被叫一方呼叫第三方。第三方接通后,被叫询问第三方是否愿意接听,然后再执行转移操作和挂机。
4.2,同组代答:通过逻辑上将一些分机分配到一个组,组内的任意人可以拿起话筒拨叫一个特殊号码,将正在振铃的某一分机的呼叫接到本机上来。
5,PBX与中继线
6,IP-BPX业务
7,呼叫中心
又称客户服务中心,基于CTI技术,充分利用通信网和计算机网的多项功能集成。并与企业连为一体的一个完整的综合信息服务系统。
7.1,第一代呼叫中心:在早期PBX基础上增加电话排队功能
第二代呼叫中心:IVR(交互式语音应答)系统出现,按键交互。
第三代呼叫中心:CTI(计算机电话集成)语音和数据的同步。
第四代呼叫中心:电子邮件,互联网,手机短信等渠道接入呼叫中心。
下一代呼叫中心:更多的融入依托于互联网技术的媒体渠道与沟通渠道。
7.2,
三,初识FreeSwitch
1,功能
在线计费,预付费功能
电话路由服务器
语音转码服务器
支持资源优先权和Qos的服务器
多点会议服务器
IVR,语音通知服务器。
VoiceMail服务器
PBX应用和软交换
应用层网关
防火墙/NAT穿越应用
私有服务器
第三方呼叫控制应用
业务生成环境运行时引擎
会话边界控制器
IMS中的S-CSCF/P-CSCF/I-CSCF
SIP网间互联网网关
SBC及安全网关
2,下载地址
Index of /releases/freeswitchhttps://files.freeswitch.org/releases/freeswitch/
3,配置FRSWITCH
3.1,配置目录
FreeSwitch配置文件默认放在conf/下,他由一系列XML配置文件组成。最顶层的文件是freeswitch.xml,系统启动时他依次装入其他一些XML文件最终组成一个大的XML文件。基本目录结构和足要配置文件:
conf/目录和文件 | 说明 |
|——var,xml | 一些常用变量 |
|——switch.xml | 主配置文件,他会使用include语句装入其他文件 |
|——autoload_configs | 存放自动加载的配置文件 |
| |——modules.conf.xml | 配置当FreeSWITCH启动时自动加载哪些模块 |
| |——*.xml | 一般来说每个模块都有一个配置文件 |
|——chatplan | 聊天计划 |
|——diaplan | 拨号计划 |
| |——default.xml | 默认的拨号计划配置,一般用于内部用户路由 |
| |——public.xml | 默认的拨号计划配置,一般用于外部用户路由 |
|——directory | 用户目录 |
| ——default | 默认的用户目录配置 |
| | |——*.xml | SIP用户,每一个用户一个文件。 |
|——ivr_menus | IVR菜单 |
|——jingle_profiles | 连接Google Talke的相关配置 |
|——lang | 多语言支持 |
| |——en | 英语 |
| |——fr | 法语 |
|——mrcp_profiles | MRCP的相关配置,用于跟第三方语音合成和语音识别系统对接 |
|——sip_profiles | SIP配置文件 |
| |——internal.xml | 一个SIP profile,或称做一个SIP-UA,监听本地IP及端口5060一般供内网使用。 |
| |——externa.xml | 另一个SIP-UA,用作外部连接,端口5080 |
|——skinny_profiles | 思科SCCP协议话机的配置文件 |
3.2,添加用户
FreeSWITCH默认设置了20个用户(1000-1019),如果需要更多的用户只 需执行如下3布
1,在conf/directory/default/中增加一个用户配置文件。
2,修改拨号计划(Dialplan)使其他用户可以呼叫到他。
3,重新加载配置使其生效。
例如我们要添加用户Jack,分机号是1234。只需要到conf/directory/default 目录下将1000.xml复制到1234.xml中。将1000都改成1234。并把effective_caller_id_name的值改为Jack,然后存盘退出。
接下来打开conf/dialplan/default.xml,找到下面一行:
<condition filed="destination_mumber" expression="^(10[01][0-9])$">
改为
<condition filed="destination_mumber" expression="^(10[01][0-9])|1234$">
回到控制台,执行reloadxml或者按快捷键F6使配置生效。
3.3,配置SIP网关拨打外部电话
如果你拥有某个运营商提供的SIP账号,那么你就可以通过配置SIP来拨打外部电话了。该SIP账号(或提供该账号的设备)在Freeswitch中称为SIP网关(Gateway)。添加一个网关只需在conf/sip_profiles/external/中创建一个XML文件。名字可以随意取,如gw1.xml。然后在该文件中输入如下代码:
<gateway name="gw1">
<param name="realm" value="SIP服务器地,可以是IP或IP:端口"/>
<param name="username" vlue="SIP用户名"/>
<param name="password" value="密码"/>
</gateway>
如果 还需要其他参数可以参阅同目录下的example.xml,但一般来说上面就够。可以重启Freeswitch或执行sofia profile external rescan
显示一下网关注册状态:sofia status
3.3.1,从某一分机上呼出
3.4,快捷键
快捷按键,F1-F12,功能对应如下
<key name="1" value="help"/>
<key name="2" value="status"/>
<key name="3" value="show channels"/>
<key name="4" value="show calls"/>
<key name="5" value="sofia status"/>
<key name="6" value="reloadxml"/>
<key name="7" value="console loglevel 0"/>
<key name="8" value="console loglevel 7"/>
<key name="9" value="sofia status profile internal"/>
<key name="10" value="sofia profile internal siptrace on"/>
<key name="11" value="sofia profile internal siptrace off"/>
<key name="12" value="version"/>