如何使asterisk服务器自动响应SIP呼叫?

如何使asterisk服务器自动响应SIP呼叫?,sip,voip,asterisk,phone-call,pbx,Sip,Voip,Asterisk,Phone Call,Pbx,我的目标:我想使用softphone(3CX电话)向asterisk服务器注册,并拨打服务器电话和asterisk act 作为服务器可以自动响应某些内容,如播放歌曲 我是如何做到的:我使用virtualbox安装asteriskNow,并通过为我的SIP设备设置Extension来注册软电话 (分机333)。我在etc/asterisk/extensions.conf中写了一个拨号计划。计划如下: [incoming] exten =>s,1,Answer() exten =>s,

我的目标:我想使用softphone(3CX电话)向asterisk服务器注册,并拨打服务器电话和asterisk act

作为服务器可以自动响应某些内容,如播放歌曲

我是如何做到的:我使用virtualbox安装asteriskNow,并通过为我的SIP设备设置Extension来注册软电话

(分机333)。我在etc/asterisk/extensions.conf中写了一个拨号计划。计划如下:

[incoming]
exten =>s,1,Answer()
exten =>s,n,Playback(dir-intro-oper)
exten =>s,n,Hangup()
我想要任何到服务器的来电,服务器将自动应答,并播放预定义的语音(dir-intro-oper.gsm)

然后举手

但我遇到的问题是:

我使用软电话,不知道该拨哪个号码到星号服务器。我应该为您设置分机号码吗

星号服务器本身?如果是,如何做到这一点?通过设置SIP卡车?在sip.conf中编写拨号计划?还是别的什么

另一个问题: 我读了一本与星号相关的书《星号,未来的电话》,它告诉我们在extensions.conf中编写拨号计划

直接,但我发现服务器中的extensions.conf警告我们不要直接修改文件,必须使用web gui

修改。那么我应该遵循哪种方式

在这种情况下,我不使用任何其他硬件电话。 我是星号的新手,请给我一些提示和详细的程序

您使用的“s”扩展名是一个“特殊”扩展名,当Asterisk不知道该做什么时,它会尝试使用它

如果您确实希望通过VoIP电话或ITSP拨打电话,以同样的方式进行处理,请尝试以下方法:

[incoming]
exten =>_X.,1,Answer()
same => n,Playback(dir-intro-oper)
same => n,Hangup()
。。。并确保在您设置的SIP电话和SIP中继定义中:

context=incoming
这实际上会将所有呼叫强制进入您的上下文,然后无论您拨什么,您都会匹配分机号码

更多阅读

转到/etc/asterisk/extension_custom.conf,编写如下上下文:

并将上下文命名为incoming1或其他任何名称,因为传入的上下文已经存在。我将其命名为incoming1:

现在转到/etc/asterisk/sip_additional.conf并编辑要在软电话上注册的分机的上下文

现在注册软电话,您可以拨打333,一切都会正常工作


!![]如果您使用的是AstriskNow,您应该使用内置的freepbx web界面来管理您的所有拨号计划和设置等。您好,如果您想自定义拨号计划,我想您应该覆盖extensions.conf。我在freepbx webgui中找不到要修改的位置。这个问题似乎是这样解决的:我用以下代码修改了extensions_custom.conf文件:[来自内部custom]ext=>1234,1,Playback(dir intro oper);扩展可以拨打1234 extn=>1234,2,Hangup()extn=>h,1,Hangup()确保上下文名称为[来自内部自定义],并且不修改上下文名称。它是有效的。我使用3cx电话拨号“1234”,服务器会自动响应我预定义的语音文件(dir intro oper.gsm)。
[incoming1]

exten => 333,1,Answer()
same  => n,Playback(File_name)
same  => n,Hangup()