linux asterisk 啥东西

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux asterisk 啥东西相关的知识,希望对你有一定的参考价值。

程序“asterisk”
安装sudo apt-get install asterisk
以下来自维基百科:
Asterisk 由 Digium 的创办人马克·史宾瑟(Mark Spencer)于1999年他还在奥本大学念书时所开发。与其他的用户交换机系统相同,Asterisk 同样支持电话拨打另一只分机,和拨打到公共交换电话网与IP电话系统。
Asterisk 包含许多多昂贵的商用交换机系统才具有的功能,例如: 语音邮箱、多方语音会议、交互式语音应答(IVR)、电话菜单与电话客服中心等机制。
为了满足传统电话与IP电话混合的服务环境,Asterisk 可以让管理者创建一个全新单一的电话系统,或逐步的将既有电话系统转移使用新技术。部分的公司直接使用 Asterisk 取代传统的交换机,而有些公司则使用 Asterisk 提供高级功能,如语音邮箱等,或将长途电话通过 Asterisk 改以网络传输以达到节费机制。
由于Asterisk过于专业且复杂,所以目前也存在大量派生自Asterisk但简化过的通信系统,以让用户较容易使用。比如在欧美比较流行的elastix、trixbox、或以简体中文为基础的Freeiris等
参考技术A 在Linux上不带硬件安装Asterisk(转)[@more@]最近研究一个Open Source的PBX: Asterisk。折腾了一个礼拜,装了N次基本安装没啥障碍了,总结出来给大家。
Asterisk是什么我不想多说了,有兴趣看www.asterisk.org和www.voip-info.org。也许是因为是Open Source的吧主流版本的Asterisk缺少官方文件。所有安装、配置、以及客户支持技术细节都在他的Wiki和邮件列表上。所以刚上手时会有些不知所措。Asterisk目前主流版本是1.0.9,1.2.0的Bata版也已经出来了。官方声称Asterisk可以在任何Linux上安装,但经过我参照若干别人的安装笔记,用若干个Linux发行版和内核版试验,感到安装难易程度往往相差很大。尤其对Linux不太熟悉的朋友也许会比较困难。Asterisk很大的麻烦来自安装第三方HFC卡。而如果不装这些PCI卡则会简单得多。通过不断实践我觉得安装最顺利的发行版是Fedora C3,Asterisk版本是1.0.9。下面我就已这两个版本为例来说一下安装步骤。
1。下载FC3。下载FC3的地方太多了,到http://fedora.redhat.com/download/mirrors.html去找一个比较快的服务器下载吧,无论4张CD版本的或1张DVD版本的都可以。

2。安装FC3。我是在VMWare上安装FC3的,当然在裸机上安装也没有问题。如果磁盘空间有限,选择组件的时候选最小安装就可以了。安装好之后要保证FC的网络没有问题,因为后面我们需要从Internet上下载一些东西。用Root登陆进系统,我们需要从安装光盘上安装一些额外的包。把安装光盘插入光驱。把光盘挂载到系统上。
mkdir /mnt/cdrom
mount -t iso9660 /dev/hdc /mnt/cdrom
cd /mnt/cdrom/Fedora/RPMS
rpm -ivh cpp-3.4.2-6.fc3.i386.rpm
如果看到一个关于V3 SDA signature: NOKEY, key ID...的Warning,不用理他,不会妨碍你安装的。继续安装其它RPM包。

即使没有真实用户,如何在我的 Linux 服务中为 Asterisk 设置环境变量?

【中文标题】即使没有真实用户,如何在我的 Linux 服务中为 Asterisk 设置环境变量?【英文标题】:How can I set environment variables in my Linux service for Asterisk even though it doesn't have a real user? 【发布时间】:2011-04-21 08:41:21 【问题描述】:

我创建了一个作为守护进程运行的 linux 服务(并从 /etc/init.d/X 开始)。我需要设置一些应用程序可以访问的环境变量。

这是场景。该应用程序是一堆 Perl AGI 脚本,它们依赖于(因此需要以) asterisk 用户身份运行,但 asterisk 没有外壳。理想情况下,我只是在 /home/asterisk/.bashrc 中设置它,但星号不存在。

如何在星号用户的运行环境中为我的应用设置环境变量,以便我的应用可以使用它们?

【问题讨论】:

【参考方案1】:

要么在启动脚本 (/etc/init.d/yourdaemon) 中设置它们,要么在该文件中放入如下所示的一行:

. /etc/yourdaemon.env

并将环境变量放入该文件中,使用语法export VAR=value。在类似 Red Hat 的系统上,我相信此类文件的正确位置是 /etc/sysconfig。 Debian/Ubuntu 似乎有 /etc/default 用于此目的。

【讨论】:

试过这种方法。问题在于“/etc/init.d/yourdaemon”以 root 身份运行,因此它们对我的脚本不可用,该脚本以星号运行。 启动-停止-守护进程 --start --chuid=$USER --exec $DAEMON。这会以 $USER 身份执行应用程序 我查看了start-stop-daemon的Debian版本的源代码,只有一个地方接触到环境,重置HOME。你能发布init.d 脚本吗? 成功了。我是没用过export的人。谢谢。对于未来的用户来说只是一个小问题 - 如果在运行 /etc/init.d/myscript 时需要获取文件,最好将其添加到 /etc/default/myscript 一件事我仍然不明白 - 即使初始化脚本由 root 运行,变量如何导出到我的守护程序环境?【参考方案2】:

如果您选择的发行版现在使用 systemd,请尝试 systemctl edit --full asterisk.service 并考虑 EnvironmentFileEnvironment

这些文件通常位于此处:/etc/systemd/system/myservice.service 例如cron.service

【讨论】:

以上是关于linux asterisk 啥东西的主要内容,如果未能解决你的问题,请参考以下文章

如何在CentOS Linux下安装ASTERISK和FreePBX

即使没有真实用户,如何在我的 Linux 服务中为 Asterisk 设置环境变量?

asterisk

asterisk接通了没声音

asterisk接通了没声音

如何在CentOS Linux下安装ASTERISK和FreePBX