这个问题在fs1.6.20版本就遇到过,当时折腾了很久也没搞明白原因,通过重新安装fs糊里糊涂解决了。后来业务需求,fs需要升级到fs1.10.3版本,结果安装完后遇到了相同的报错。。。不得不感叹:
遇坑不填,坑后有坑
遇坑想躲,躲得了初一躲不过十五
问题描述:
安装完fs后前台启动:freeswitch -c
启动后报错:
这个问题引起原因可能很多,google和度娘上普遍是两种情况:internal profile的sip端口(默认是5060)被其它进程占用、不支持ipv6但是启动了internal-ipv6 profile。
这两种情况我依次排查,发现都不是我遇到的问题。折腾了很久,才在这篇文章获得了灵感。因为从报错信息来看似乎是由sip端口(也就是5060端口)引起的问题,所以一直在跟5060这个端口在较劲,但其实真正的原因是另一个端口导致的。
后台启动fs:freeswitch -nc
,然后进入控制台fs_cli开启sofia详细日志:sofia loglevel all 9
,重新启动internal profile:reload mod_sofia
,看到了这么一行信息:
因此怀疑真正的问题是5066端口导致的,而在internal.xml中,有这么一行配置:
<param name="ws-binding" value=":5066"/>
internal profile在启动时会监听5066端口,用于ws的绑定。于是注释掉这一行或者把端口改成5067,问题解决。
后来确认5066这个端口确实被另一个进程filebeat(这个filebeat应该是公司服务器默认安装的)占用了。