MySQL数据库中的星号sip.conf

时间:2018-11-06 08:52:08

标签: mysql asterisk sip voip

我可以在数据库中包含一部电话以供实时使用。因此,此代码(来自/etc/asterisk/sip.conf):

[phone]
type=friend
username=phone
secret=12345
host=dynamic
disallow=all
allow=g729
allow=alaw
context=somecontext
nat=no
insecure=port,invite

它现在位于数据库中(使用MySQL)。

现在,我想使用register指令包括一个SIP中继,但是我不知道该怎么做。

如何在数据库中也包含register => <username>:<password>@<provider>

2 个答案:

答案 0 :(得分:1)

您有2个选择。

1)静态实时。只需逐行放入mysql整个文件

https://www.voip-info.org/asterisk-realtime-static

在这种模式下,当您发出星号时,重新加载它只需逐行从数据库读取并将其解释为文本文件即可。

2)动态实时。

在这种模式下,仅当有身份验证请求且仅对匹配的对等方请求时,星号才检查数据库。

https://www.voip-info.org/asterisk-realtime-sip/

使用regserver参数放置您的注册服务器。

答案 1 :(得分:0)

register伪指令应该是sip.conf [general]部分中的静态条目,因此尽管可以通过静态实时方式执行此操作,但是然后可能在加载动态实时用户时遇到问题。

您最好的选择是在sip.conf中使用#exec指令。这将允许您运行脚本以从db字符串读取该注册行。

为此,您需要在asterisk.conf中启用“ execinclude = yes”,然后在sip.conf [general]部分中添加一行以运行脚本,例如:   #exec / etc / asterisk / scripts / your_script_file

这是Leif Madsen的一个很好的示例,它使用#exec通过php脚本设置externip =参数: https://leifmadsen.wordpress.com/2011/02/27/using-exec-to-set-externaddr-in-sip-conf/