Hello World

您刚刚安装了Asterisk并且已阅读有关基本配置的信息。现在让我们快速拨打电话,这样您就可以轻松打电话给Asterisk。

使用Asterisk和SIP的Hello World

要求

本教程假定以下内容:

  • 您拥有一个插入Asterisk服务器所在的LAN的SIP电话,或者可以安装示例中使用的Zoiper软电话。
  • 如果您使用自己的硬件电话,我们假设电话和Asterisk可以相互联系并且位于同一子网上。
  • 当您构建Asterisk时,您应该确保构建您想要使用的SIP通道驱动程序,这可能意味着其他要求。 例如,如果要使用chan_pjsip,请确保遵循安装pjproject指南。

需要配置文件

如果从源代码安装,则应该已经运行了“make samples”,否则如果从软件包安装,则可能有示例配置文件。

如果/etc/asterisk/中没有配置文件,则通过导航到源目录并运行“make samples”从源目录中获取示例配置文件。

此示例所需的文件:

  • asterisk.conf
  • modules.conf
  • extensions.conf
  • sip.conf or pjsip.conf

您可以使用asterisk.conf和modules.conf的默认值,我们只需要修改extensions.conf、sip.conf或pjsip.conf。

要开始使用,请继续前进到文件所在的/etc/asterisk/目录。

cd /etc/asterisk

配置extensions.conf

备份示例extensions.conf并创建一个新的

mv extensions.conf extensions.sample
vim extensions.conf

我假设你在这里使用VI/VIM编辑器,毕竟它是最好的。

我们将使用一个非常简单的拨号方案。拨号方案只是告诉Asterisk如何处理呼叫的说明。

编辑空白extensions.conf,如以下内容:

[from-internal]
exten = 100,1,Answer()
same = n,Wait(1)
same = n,Playback(hello-world)
same = n,Hangup()

当电话拨打分机100时,我们告诉Asterisk接听(Answer)电话,等待(Wait)一秒钟,然后在通道中播放(Playback)声音文件hello-world,最后挂断(Hangup)

配置SIP通道驱动程序

根据使用的Asterisk版本,您可以选择多个SIP通道驱动程序。您必须选择一个用于示例。

  • Asterisk 11及之前版本:chan_sip是主要选项。
  • Asterisk 12及以后版本:你可能想要使用chan_pjsip(最新的驱动程序),但你仍然可以选择使用chan_sip

按照以下说明选择您使用的通道驱动程序。

配置 chan_sip

备份和创建一个新的空白sip.conf,就像使用extensions.conf一样。

然后将以下内容添加到sip.conf文件中:

[general]
context=default

[6001]
type=friend
context=from-internal
host=dynamic
secret=unsecurepassword
disallow=all
allow=ulaw

基本配置将在wiki的其他部分中有更详细地解释。要使此示例正常工作,请确保完全按照上面的说明进行操作。为了术语,请注意虽然我们将此SIP配置写为“type = friend”,但大多数人将此称为配置SIP对等体(SIP peer)。

配置 chan_pjsip

备份和创建一个新的空白pjsip.conf,就像使用extensions.conf一样。

然后将以下内容添加到pjsip.conf文件中:

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0

[6001]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=6001
aors=6001

[6001]
type=auth
auth_type=userpass
password=unsecurepassword
username=6001

[6001]
type=aor
max_contacts=1

配置SIP电话

您当然可以使用任何您想要的SIP电话,但是对于这个演示,我们将使用Zoiper,一个恰好可以轻易证明的Softphone(软电话)。

您可以在他们的网站上找到适用于您的平台的最新版Zoiper。您可以将其安装在运行Asterisk的同一系统上,或者如果您在同一LAN上的另一个系统上安装它可能会更有意义(尽管在这种情况下您可能会发现软件防火墙的复杂性)。

一旦安装了Zoiper。在Zoiper中配置新的SIP帐户。

  1. 打开Zoiper后,单击扳手图标进入设置。
  2. 单击 "Add new SIP account"
  3. 输入6001作为帐户名称,单击“OK”
  4. 在“Domain”字段中输入Asterisk系统的IP地址
  5. 在“Username”字段中输入6001
  6. 在“Password”字段中输入您的SIP帐号密码
  7. 在“Caller ID Name”中输入您喜欢的内容或将其留空
  8. 单击 OK

您的结果应该与上面的屏幕截图相似。

启动Asterisk

回到Linux shell继续并启动Asterisk。我们将使用控制台(-c)和5级详细程度(vvvvv)启动Asterisk。

asterisk -cvvvvv

或者,如果Asterisk已经运行,请从shell重新启动Asterisk并连接。

asterisk -rx "core restart now"
asterisk -rvvvvv

拨打电话

返回主Zoiper界面,确保帐户已注册。从下拉列表中选择该帐户,然后单击旁边的“Register”按钮。如果它说已经注册,说明你已经准备好了。如果没有注册,请仔细检查您的配置。

注册后,输入分机100并单击拨号(Dial)按钮。应该进行呼叫,你应该听到声音文件hello-world!

在Asterisk CLI上,您应该看到如下内容:

现在您已经进行了非常简单的呼叫,您可能希望开始阅读Wiki上的其他部分,以了解有关操作基础知识配置的更多信息

results matching ""

    No results matching ""