FreeSwitch無法撥打電話、電話沒聲音如何解決?

2023-09-05     IT狂人日誌

原標題:FreeSwitch無法撥打電話、電話沒聲音如何解決?

受大環境影響,因效益不好,某客戶裁撤了整個IT運維部門,我順理成章地接手了。

只是合同簽得簡單,要做的工作卻遠超範圍,負責人也是多年的朋友了,看在私人的友情上,就沒那麼計較,直接幫著解決。

某雲伺服器遷移後,FreeSwitch終端無法撥打電話,一直顯示註冊中。

由於此次遷移並不涉及公網IP的變更,所以暫未考慮IP配置問題,但是所有終端都顯示註冊中,顯然是伺服器問題了。

FreeSwitch是部署在Centos上,所以遠程登錄Centos,查詢FreeSwitch服務是否正常啟動了。

netstat -anp | grep freeswitch

發現FreeSwitch服務根本沒起來。

systemctl start freeswitch.service

然後再次執行查詢命令:netstat -anp | grep freeswitch

FreeSwitch服務貌似起來了,並且占用了2260埠。

要求客戶終端測試,當然還是不行。實不相瞞,本人第一次折騰FreeSwitch,所以當時覺得服務起來,並且實測埠可被連接,就應該好了,實際上,還差得遠。

繼續摸索:既然FreeSwitch服務起來了,那可能是資料庫的問題吧。

netstat -anp | grep mysql,果然,mysql服務沒起來。

systemctl start mysql.service,失敗,mysql起不來。

難道資料庫不是mysql?查看了一翻,果然是缺胳膊少腿,按理說,遷移過程中,不可能掉程序啊, systemctl list-units --type=service,列出所有服務,發現了 mariadb.service,而且沒有啟動。

趕緊systemctl start mariadb.service,然後systemctl status mariadb.service

MariaDB資料庫管理系統是MySQL的一個分支,所以,這時候netstat -anp | grep mysql

就能看到,mysql的3006埠起來了。

這時候,客戶回復,終端數據加載正常。

小小地興奮了一下,以為好了,但是客戶回復無法撥打電話。

一頭包,要知道,我這也是大姑娘上轎——頭一回啊,沒辦法既然答應了客戶,就得繼續。

還是懷疑FreeSwitch服務的問題,畢竟,資料庫才剛剛起來,於是systemctl restart freeswitch.service,重啟服務,然後查次netstat -anp | grep freeswitch,果然,freeswitch的服務多出來好幾個,都是不同的埠。

再次讓客戶測試,回復是:可以打電話了。

總算鬆了口氣。

BUT,第二天,客戶又反饋,雖然能撥打電話,但是沒聲音的,等於沒搞定。

好吧,在食物中毒,劇烈嘔吐三次的情況下,堅持排查從沒遇到過的問題。

MariaDB資料庫服務正常,FreeSwitch服務正常,那就只能看看配置文件了。

可憐我手頭沒有任何資料,連配置文件在哪裡都不知道。

find / -name freeswitch.xml,找到配置文件,看了一下,沒啥用,只是得到一個信息:欲知詳情,請看vars.xml,看完vars.xml,又得到一個信息:得繼續看Internal SIP Profile和External SIP Profile,很好,總算有點方向。

該寫IP位址的地方,寫著auto,感覺有點問題啊,改為正確的IP位址,然後重啟FreeSwitch服務。

客戶反饋,打電話終於有聲音了。

可惜,好景不長,沒過兩天,又有分校不能撥打電話了,有的分校又很正常,沒道理啊。

應該不是伺服器的問題,遠程登錄客戶的路由器,經排查,SIP ALG未開啟,死馬當活馬醫吧,啟用SIP ALG

重啟路由器,客戶說是可以撥號了,又一次小小地興奮了一下,沒過幾分鐘,又來消息了,同一台路由器下,一個用戶可以了,另外兩個用戶還是無法撥打電話,換個號碼註冊也是不行。

頭疼欲裂,汗如雨下,無從下手……

好在客戶也有經驗,把終端重置,重新配置,然後可以打電話了,此事暫時告一段落,換來我的一聲長嘆。

文章來源: https://twgreatdaily.com/zh-cn/e264e95d6cc14e15fc6b6dd27a03ce87.html