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帐户。
- 打开Zoiper后,单击扳手图标进入设置。
- 单击 "Add new SIP account"
- 输入6001作为帐户名称,单击“OK”
- 在“Domain”字段中输入Asterisk系统的IP地址
- 在“Username”字段中输入6001
- 在“Password”字段中输入您的SIP帐号密码
- 在“Caller ID Name”中输入您喜欢的内容或将其留空
- 单击 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上,您应该看到如下内容: