freeswitch使用说明

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: freeswitch使用说明

freeswitch不能通话



一定是在局域网,自己手机开的热点哟有点问题,最好不用,使用路由器的。


一般是192.168.1.XXX



25a089d1dd2e41d39ec88d09ff8b92b5_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


freeswitch使用说明



密码就是123456

C:\Program Files\FreeSWITCH\conf\vars.xml


9a4095d6f4fd46df87c0c097403edcc7_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


如果在本机运行修改为本地ip 默认是一个网络外网地址 如果可以通过外网ip访问的可以不改 服务器上不用修改次参数


716322822a3147c3b2362e49d2da8006_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


修改C:\Program Files\FreeSWITCH\conf\autoload_configs\modules.conf.xml


0de6bd3f6c0b4b0b8c98a7a6cb704e12_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png



95a0e5fa9ede4fd1a2b8b3e92cfd23ca_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


cd   C:\Program Files\FreeSWITCH

FreeSwitchConsole -nonat

查询:sofia status 为本地ip 正常


7e78ad95ca73495fb85d3b9d3a671614_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

04976198465b4eeea3ea4e72783480bb_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

freeswitch 本地ip配置不能通话



关闭防火墙


2e80d62e69344859ae0a0635208fb101_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


freeswitch 是什么



FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。


SIP、RTP、RTSP协议



在流媒体中常见的三种协议是SIP、RTP、RTSP协议。他们分别的网络中不同的层,为实时流媒体传播提供可能。下面这张图展示了他们所在的网络层次


SIP


SIP在应用层,是和HTTP相似的文本传输协议


那么像SIP和HTTP协议到底是什么?


功能:客户端和服务器之间的应答标准,客户端是终端用户,服务器是网站


用户代理:通过应用软件,客户端向服务器的指定端口(默认为80)发起一个HTTP请求


源服务器:应答服务器中存储着一些资源(比如HTML文档),我们称这个应答服务器为源服务器


SIP协议


用来支持视频通信


SIP(session initiation proto):会话初始协议


session:回话,指用户之间的数据交换,数据可以是文本、音视频也可以是游戏,内容多种多样


采用基于文本的编码方式(和HTTP、smtp相似)


组成


用户代理

用户代理客户机(客户端UAC)和用户代理服务器(服务器UAS)

UAC用来发起请求

UAS用来相应请求

sip代理服务器(sip proxy server)

中间服务器


过程

UAC发送一个请求

SIP代理服务器接受请求

由SIP决定下一跳服务器的地址,代理UAC向下一跳服务器发出请求

重定向服务器(Redirect server)

规划呼叫路径的服务器

在得到下一跳服务器的地址后向上一个服务器通知下一跳服务器的地址,自己退出这个对这个呼叫的控制

sip注册服务器(SIP register server)

对UAS的注册,系统中所有的UAS都需要注册到这个服务器中,以便UAC能够通过服务器找到UAS

SIP呼叫建立过程


RTP

RTP在传输层,由TCP/UDP发送号,由RTP传输音频或者视频数据

RTP是基于UDP的传输协议

什么是RTP:

RTP:real time transport protocol

RTP协议作用:为IP网络上的音视频提供端到端的实时传输协议。

配套的相关协议:RTCP(real-time transport control protocol)

RTP为实时传输提供时间信息和同步信息,不保证服务质量

RTCP为实时传输提供质量保证

数据在发送时,先将数据封装成RTP数据,在接收端,将数据从RTP中提取出来。


RTP格式解析

V= 2,版本号,两位,用来标识RTP版本

P,填充位,一位,若该位置位,则RTP的最后有填充字节

X,扩展位,一位,若该位置位,则RTP固定头部后面跟一个扩展头部

CC,CSRC计数器,四位,表示RTP固定头部后面的CSRC的数量

M,标记位,一位,由配置文档解释其作用

PT,载荷类型,七位,表示载荷的类型

SN,序列号,十六位,用来恢复包的序列以及检测丢包。序列号的初始值随机,每次发包序列号进行加一操作。


TimeStamp,时间戳,32位,用来获得数据包的时序,记录了该包数据的第一个字节的采样时间。时间戳是随着时间不断增加的,和有没有发送数据无关。记录的是相对时间

SSRC,同步信息源,32位,用来同步音视频,在同一个RTP传输中不能出现两个相同的SSRC。

CSRC,贡献源列表,0-15项,每项32位,用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源


RTCP

功能:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识

在一个RTP传送期间,各参与者周期性发送RTCP信息。

内容:已发送的数据包的数量、丢失的数据包的数量


作用:各参与者根据反馈信息实时调整传输速率、载荷类型

RTP和RTCP协同作用以有效的反馈和最少的开销获得最大的传输效率。

RTP和RTCP都是基于UDP传输的

RTCP只携带控制信息,比较短小(短小君)


过程解析

流媒体:通过流式传输实现。

流式传输:边下载边观看。internet上的传输是分组传输的,且是基于不稳定的UDP协议。接收端的数据往往有延迟和乱序,因此流式传播需要解决延迟和乱序的问题。

延迟:在发送发对视频进行预处理,降低视频质量、对视频进行压缩处理


乱序:在接收方设置接收缓冲和播放缓冲

接收缓冲:将接受到的数据包缓存起来,然后根据时间戳和序列号对数据进行重排

播放缓冲:由于网络带宽不稳定,如果将重排好的数据直接播放,抖动现象可能会比较严重,为了解决这个问题,需要设置一个播放缓冲,将所有的数据放入到播放缓冲区内,按稳定的速度播放。


RTP的传输过程

当应用程序建立一个RTP会话时,需要确定一对目的传输地址

每个传输地址中存储一个网络地址以及一对端口地址,网络地址为IP号,端口地址有RTP端口和RTCP端口

RTP端口和RTCP端口分别使用偶数端口和奇数端口


发送过程

封装:RTP从上层接受流媒体信息码流(H264),封装成RTP信息流,RTCP从上层接受控制信息,封装成RTCP信息流

传输:将RTP数据包发往UDP中的偶数端口,将RTCP数据发往UDP中的奇数端口


接受过程

接受:从UDP中的偶数端口接受RTP数据包,从奇数端口接受RTCP数据包

解封装:将RTCP数据解封装为控制信息,将RTP数据解封装为码流,得到视频和音频文件


RTSP

RTSP和SIP都在应用层

RTSP(real-time transport streaming protocol)以C/S模式工作,实现用户在播放时的暂停、继续、后退、前进等操作。

stun



STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。该协议由RFC 5389定义。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
Linux 开发工具 git
FreeSWITCH小白入门之freeswitch安装篇
技术小白,今天带领大家一起freeswitch源码编译安装。我的上一篇文章已经搭建好了运行环境(centos7-Minimal),有人会说fs官方不是说在debian8下运行最稳定吗?我只能说,我个人爱好而已!
3054 0
|
数据安全/隐私保护 内存技术
Freeswitch落地网关配置
假设Freeswitch服务器地址为192.168.0.204,网关地址为192.168.0.80;外呼前缀为0。
1741 0
|
Web App开发 存储 人工智能
从入门到进阶-如何基于FreeSWITCH搭建呼叫中心平台
FreeSWITCH 是一个开源的电话交换平台。博主从事多年AI技术,外呼中心搭建,需要演示站或技术支持联系博主。官方给它的定义是–世界上第一个跨平台的、伸缩性极好的、免费的、多协议的电话软交换平台
1891 0
|
Web App开发 资源调度 网络协议
RTS 与 FreeSWITCH
这篇文章介绍了RTS(Real-Time Switch),一个FreeSWITCH的衍生品,它提供了稳定发行版、实用默认配置、新特性、国产化适配、改进的控制接口和UI等,同时讨论了RTS的默认编译模块调整、禁用Stun功能、增加的RTP相关函数、WebRTC Media Bundle支持、HTTP相关函数增加、默认禁用自动NAT、Windows编译问题解决、录音文件权限修改、mod_httapi和mod_logfile模块优化,以及文档贡献和国内访问GitHub的方法。
365 0
|
11月前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
442 0
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
909 0
|
XML 编解码 机器人
Freeswitch在呼叫中心系统应用
一.freeswitch是什么 freeswitch是一款基于sip的开源电话软交换平台,具有很强的扩展性和稳定性,能实现电话语音、ivr、电话会议、视频会议、机器人、短信等核心语音应用;因为支持丰富的语音、视频编码使得几乎能兼容市面上绝大部分的sip软交换平台;
2605 0
|
JSON Ubuntu Linux
FreeSWITCH安装
FreeSWITCH
2479 0
FreeSWITCH安装
|
数据安全/隐私保护 数据格式
DTMF采用RFC2833进行带内传输的实现
在介绍RFC2833前,先来了解一下RTP(Real Time Protocal),该协议可参见RFC1889。RTP协议是IP电话中以及NGN中最经典的协议。无论采用H323,H248,MGCP还是SIP,这些都属于信令层的协议,他们之间进行互通、交换其最终目的是为了实现媒体流的收发。而所有的媒体流都是采用RTP协议,无论是视频,语音还是图象,包括本文所提到的DTMF都是建立在RTP的基础上的。
DTMF采用RFC2833进行带内传输的实现
|
安全 关系型数据库 MySQL
FreeSwitch的安装
本次安装环境是centos 7, 源码目录是
1874 1