FreeSwitch笔记

学习网址:

FreeSWITCH命令大全
https://www.cnblogs.com/zhuminghui/p/10983467.html

freeswitch+sipml5实现wss方式的通话,亲测可用!
https://blog.csdn.net/qq_33959879/article/details/100132659

WebRTC + JsSIP + freeSWITCH一对一视频聊天
https://blog.csdn.net/foruok/article/details/74321214 


Freeswitch+Sipml5实现pc web 安卓三端进行通话(网络电话,视频电话)入门保姆级教程
https://blog.csdn.net/CDTU_stu1_2016_Lx/article/details/109644595
这里说明比较详细

FreeSwith入门
https://www.cnblogs.com/zhumengke/articles/11123580.html 


Opensips & RTPEngine & FreeSwitch 实现FS高可用
http://www.younian.me/archives/Opensips%20%26%20RTPEngine%20%26%20FreeSwitch%20%E5%AE%9E%E7%8E%B0FS%E9%AB%98%E5%8F%AF%E7%94%A8 

这里是基于版本freeswitch 1.8.4 的记录

2 配置文件修改

2.1 fs_cli 连接不上的解决办法

这时需要修改一下连接IP,首先我们需要启动 enable the mod_event_socket 模块,
文件 位于 相对路径:      freeswitch/conf/autoload_configs/modules.conf.xml

然后修改默认的启动IP,修改文件位于
相对路径:freeswitch/conf/autoload_configs/event_socket.conf.xml ,
然后重启 FreeSWITCH 即可

 改成下面的,然后fs_cli的命令:

//可以远程访问
fs_cli.exe -H 192.168.1.168 -P 8021 -p 123456


FreeSwitch笔记_第1张图片

2.2 修改默认密码 

改默认密码: freeeswitch/conf/vars.xml   将1234改成123456
  

2.3 配置成proxy模式 

设置内容引用: 

WebRTC + JsSIP + freeSWITCH一对一视频聊天
https://blog.csdn.net/foruok/article/details/74321214

我们之前下载的 freeSWITCH ,默认是不处理音视频编解码的,所以,要设置它采用 media proxy 模式来代理转发 WebRTC 的音视频,这样就可以基于 JsSIP 、 WebRTC 、 freeSWITCH 来一对一视频聊天。

修改sip_profiles/internal.xml,设置inbound-proxy-media和inbound-late-negotiation为true,类似下面: 

   
   

   
   

 这样配置之后,freeSWITCH 会进入代理模式,不对media 做任何处理,直接在两个 end peer 之间转发(RTP包)。

2.4 监听端口5060的修改

端口修改: 5060改成9060  5061改成9061
freeswitch\conf\vars.xml

  
  
  
  
  

2.5 屏蔽ipv6

进入/usr/local/freeswitch/conf/sip_profiles目录
将文件external-ipv6.xml改为external-ipv6.xml_deactive
将文件internal-ipv6.xml 改为internal-ipv6.xml_deactive 

将文件external.xml 改为external.xml_deactive 

2.6 日志大小和个数修改

conf\autoload_configs\logfile.conf.xml

 
    
	
    
          //改这里为30M一个文件
	
	
		 //改成10个
    
        

3 常用命令fs_cli.exe

sudo ./bin/freeswitch -nonat -nc : 后台启动
sudo ./bin/freeswitch -nonat -nc &: 启动会失败,不能带"&"
freeswitch -nonat:启动
ubuntu下: sudo ./freeswitch -stop

sofia status profile internal reg : 查看注册信息

originate user/1000 &echo: 发起外呼
       1000是用户名,echo 是一个回音程序,即它会把任何它“听到”的声音(或视频)再返回(说)给对方。因此,如果这时候用户 1000 接了电话,无论说什么都能听到自己的声音。 

sofia status: 查看监听端口的状态 

FreeSwitch笔记_第2张图片

是否开启 SIP消息跟踪。另外,也可以在控制台上用以下命令开启和关闭 sip-trace:
sofia profile internal siptrace on
sofia profile internal siptrace off

 reloadxml 或按 F6键: 使 FreeSWITCH 重新读入你修改过的配置文件。并按 F8 键将 log 级别设置为 DEBUG

查看会议室: 
conference list
conference xml_list

4.问题集合 


4.1为什么call时间长

参考:
FreeSwitch简要使用教程
http://freeswitch.net.cn/119.html

改默认密码: freeeswitch/conf/vars.xml   将1234改成123456
  

或者修改下面的时间等待:
原因是因为:
拨打内建用户时,是使用默认密码时,有10秒的延时等待
FreeSwitch笔记_第3张图片

4.2 异常原因总结

FreeSWITCH异常原因总结
https://www.bbsmax.com/A/xl56eoXxJr/ 

4.3 概念inbound和outbound的区别


ACL应用在INBOUND 和OUTBOUND的区别
https://zhidao.baidu.com/question/1993618335258268347.html 

4.4 打印出No audio stun for a long time

版本1.6.16出现No audio stun for a long time

4.5 出现问题:handshake failure

jssip介绍系列-分机注册与接听
https://zhuanlan.zhihu.com/p/356819883

5.对freeswitch进行了解

freeswitch的初步了解
https://blog.csdn.net/swcxy12315/article/details/79452778
 

freeswitch源码下载地址
http://freeswitch.net.cn/139.html

freeswitch 编译安装配置
https://www.cnblogs.com/keystone/tag/freeswitch/  

5.1 日志相关的设置

1.在管理控制台上设置
console loglevel (0~7)越往上级别越大

 2.打开和关闭sip详细日志
sofia profile internal siptrace on
sofia profile internal siptrace off

3.启动设置日志级别
修改vars.xml文件:

4. 修改日志存放路径
conf\autoload_configs\switch.conf.xml文件中控制着所有的日志输出级别
 


FreeSWITCH中将sip trace输出到日志文件中
http://freeswitch.net.cn/44.html 

5.2 三种对媒体处理方式 

FreeSWITCH对媒体处理的三种方式:default;Proxy Media;Bypass Media
FreeSWITCH对媒体处理的三种方式:default;Proxy Media;Bypass Media_行到水穷处,坐看云起时-CSDN博客_freeswitch proxy_media  

5.3 看门狗使能(失败)

sip_profiles\internal.xml

    
    
    
     //这里的单位如果是秒的话,8小时后断开

这里设置成yes后,出现下面的错误,然后freeswitch没有正常启动

5.4 同一个账号多个终端注册

参考这里: http://www.freeswitch.net.cn/85.html

sip_profiles\internal.xml
在 sip profile 里开启这个
   
   

通过microsip来测试验证终端是否ok 

FreeSwitch笔记_第4张图片

5.5 会议conference 

5.5.1 关闭声音

当一个人加入会议室时,会播放下面这个声音

"You are the only person in this conference"

则可以把文件中 autoload_configs\conference.conf.xml 进行注释掉

 
 //注释下面的语句
 

//下面是一个人时,会一直播放音乐

      

5.6  多网卡方案

freeswitch监听多个IP-freeswitch多个网卡监听多个IP
https://www.cnblogs.com/aimod/p/13488622.html

5.7 端口更改

freeswitch sip端口5060改成9960后

FreeSwitch笔记_第5张图片

 

6.概念

B2BUA: back 2 back user agent 

7 协议sip流程

register 注册流程处理
https://blog.csdn.net/cww_zju_amdocs/article/details/109648986 

8 服务和客户端部署在同一linux下 

8.1 问题之只能启动一个

发现ubuntu下有问题,而win10系统没有问题: 看下面这篇文章

linux socket端口复用,windows和linux socket端口复用特性不一样_吴博士聊科研的博客-CSDN博客

我们可以看到,一个端口在程序里绑定了两次!!!可是为什么在windows下没有报错呢? 我上网查询了资料,现在整理如下: 

每个TCP连接都是通过它的本地IP,本地端口及远程IP,远程端口组合,“独一无二”地标识出来的。
linux下,两个tcp的socket不能绑定同一个端口;而如果使用SO_REUSEADDR选项,两个udp的socket可以绑定同一个端口。
freebsd下,两个tcp的socket绑定同一端口,只有第一个socket获得数据。
windows下 两个tcp的socket不能绑定同一个端口,唯一例外的是监听socket。
图2中可以看出socket的类型的LISTEN,所以可以在windows下可以绑定多次而不报错。

你可能感兴趣的:(pjsip,freeswitch)