从我的应用程序保存扩展详细信息后重新加载星号服务器

Reload asterisk server after saving extension details from my application

我正在使用 ASP.NET MVC 开发 Web 应用程序。我在我的应用程序中编写了添加功能,以使用星号实时数据库配置将扩展详细信息添加到星号数据库中。但是将扩展详细信息保存到星号数据库后,需要重新加载。那么如何从我的应用程序重新加载位于远程位置的 asterisk 服务器?

你应该使用 asterisk REALTIME 架构,它不需要重新加载。

重新加载可以使用AMI接口完成,但如果你需要它,你可能做错了。

我已经自行解决了这个问题。在将所有配置存储在星号数据库中后,重新加载星号需要以下代码:

        using (var cSSH = new SshClient("asterisk server ip", "username", "secret"))
        {
            cSSH.Connect();             
            SshCommand sc = cSSH.CreateCommand("/var/lib/asterisk/bin/retrieve_conf");
            sc.Execute();
            sc = cSSH.CreateCommand("asterisk -rx 'core reload'");
            sc.Execute();
            cSSH.Disconnect();
        }