3

我有RealTime3 台服务器的星号。在数据库中,我只持有sippearsvoicemail框。语音邮件消息存储在系统 FILE_STORAGE 中。

服务器 A 和 B 用于呼叫和 sip 注册,服务器 C 是 dundi。目前一切正常..我可以从服务器 A 呼叫服务器 B。问题是当我给忙碌并在服务器 B 上注册的号码留言时..然后这个号码断开连接并在服务器 A 上注册 - >他不能收听消息,因为它存储在服务器 B..

无论在哪个服务器上,如何让任何用户都能收听他的消息?

4

2 回答 2

2

你有很多选择,大部分都在集群区域。

最简单的选项是:

  • 两台服务器上的 Glusterfs 设置,glusterfs 目录中的语音邮件。这个做故障转移

  • 两台服务器上的 NFS/samba 共享。

  • mysql master-master 复制,使用 ODBC_STORAGE,将所有语音邮件放在 db 中。如果您还希望从 Web 界面轻松访问您的语音文件和简单的搜索/查找/获取消息,则建议使用此选项。强烈推荐使用 innodb 表和优化的 mysql 配置。
于 2016-02-04T04:11:45.917 回答
1

最简单的方法就是无论用户注册在哪两个服务器上都能够监听它们,例如 NFS 和挂载/var/spool/asterisk/。在这种情况下,您需要安装一些附加组件。这是一个很棒的教程,你怎么能做到这一点: 如何配置 NFS 服务器和挂载 NFS 共享 - Ubuntu

如果您可以使用集群中的两台服务器并使用rsync进行主从,则另一种方法。然后,您可以每隔 X 分钟/小时/天将文件夹同步到远程服务器,以防万一发生故障。

rsync -a local_dir/ user@remote-host-ip:/path/to/dir
于 2016-02-04T13:37:07.440 回答