【Linux】Centos7安装部署asterisk,搭建 SIP服务器

1、安装环境依赖

yum install -y make gcc zlib-devel perl wget 

yum install -y gcc gcc-c++ autoconf libtool automake make 

yum install -y openssl-devel

(以上需要联网安装,离线安装各种依赖需要进一步研究)

openssl version

        OpenSSL 1.0.2k-fips 26 Jan 2017

上传 openssl-1.1.1.tar.gz 到 /home

cd /home/

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1

# 配置

./config --prefix=/usr/local/openssl threads zlib shared enable-camellia

# --prefix : 指定安装目录

# threads/no-threads : 是否编译支持多线程的库。默认支持。

# zlib | zlib-dynamic | no-zlib : 使用静态的zlib压缩库 | 使用动态的zlib压缩库 | 不使用zlib压缩功能。

# shared | no-shared : 是否生成动态连接库。

# enable-camellia : 算法

# 编译安装

make && make install

# 新版openssl软链接到旧openssl位置

ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl

# /etc/ld.so.conf 文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。

echo "/usr/local/openssl/lib">>/etc/ld.so.conf

# ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库。

ldconfig

openssl version

        OpenSSL 1.1.1 11 Sep 2018

最好重启验证一下!!!!!!

2、安装asterisk

上传 asterisk-21-current.tar.gz 到 /home

cd /home

tar -zxvf asterisk-21-current.tar.gz

上传 pjproject-2.14.tar.bz2 到 /tmp

md5sum /tmp/pjproject-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/pjproject/pjproject-2.14.tar.bz2.md5

官网没有bz2的文件,制作方法如下:

tar -zxvf pjproject-2.14.1.tar.gz

文件夹 pjproject-2.14.1 改为 pjproject-2.14

cd /home

tar -cjf pjproject-2.14.tar.bz2 pjproject-2.14

cp pjproject-2.14.tar.bz2 /tmp/

md5sum /tmp/pjproject-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/pjproject/pjproject-2.14.tar.bz2.md5

上传 jansson-2.14.tar.bz2 到 /tmp

md5sum /tmp/jansson-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/jansson/jansson-2.14.tar.bz2.md5

cd asterisk-21.2.0

./contrib/scripts/install_prereq install (需要联网安装,离线安装各种依赖需要进一步研究)

./configure --with-jansson-bundled

make && make install

make samples

make config

3、启动、停止服务

sudo service asterisk start

sudo service asterisk stop

4、Asterisk的启动可以通过多种方式进行。以下是一些常用的方法:

使用Asterisk命令:

        在命令行中直接输入asterisk命令可以启动Asterisk程序。如果需要更详细的调试信息,可以添加多个v参数,例如asterisk -vvvvvv,其中v越多,debug的等级越高,控制台输出越详细。

        如果Asterisk已经启动,可以使用asterisk -r命令连接到正在运行的Asterisk实例。

使用amportal命令:

        amportal是FreePBX的一个工具,用于管控Asterisk。可以使用amportal start命令来启动Asterisk,amportal restart来重启Asterisk,以及amportal stop来关闭Asterisk。

连接Asterisk控制台:

        可以通过控制台直接启动Asterisk服务器。使用/usr/sbin/asterisk –c命令可以在控制台启动Asterisk。如果想要在后台启动Asterisk然后远程连接控制台,可以先启动后台进程,然后使用/usr/sbin/asterisk -r命令进行连接。

在启动Asterisk时,请确保所有必要的依赖项都已正确安装,特别是库文件如libjansson,否则启动过程可能会失败。如果遇到依赖项缺失的问题,请根据错误提示安装相应的开发包或使用Asterisk自带的版本。

请注意,具体的启动命令和路径可能因操作系统和Asterisk的安装方式而有所不同。如果上述方法不适用于你的情况,建议查阅Asterisk的官方文档或相关社区论坛以获取更详细的指导。

5、asterisk开机自启的设置方法可以通过以下步骤来实现:

进入Asterisk源码目录

        首先,你需要进入到Asterisk的源码文件所在的目录。这通常涉及到使用终端或命令行界面,并导航到正确的文件夹。

配置自动启动

        在源码目录中,运行make config命令。这个命令会配置Asterisk以便在系统启动时自动运行。make config可能会生成或修改一些配置文件,确保Asterisk在系统启动时能够被正确调用。

检查Asterisk启动状态

        使用chkconfig --list命令来检查Asterisk的启动状态。这个命令会列出系统上所有服务的启动状态,包括Asterisk。你应该能看到Asterisk被设置为在系统启动时自动运行。

设置服务开机自启

        在某些Linux发行版中,你还可以使用chkconfig asterisk on命令来明确设置Asterisk在系统启动时自动运行。这个命令将Asterisk添加到系统的启动服务列表中。

修改SELinux配置(如果需要)

        如果你的系统使用了SELinux(Security-Enhanced Linux),你可能还需要修改/etc/selinux/config文件,以确保Asterisk可以正常运行。SELinux是一个提供访问控制安全策略的机制,有时候可能需要调整其配置以允许Asterisk的启动和运行。

重启系统并测试

        最后,重启你的系统来测试Asterisk是否能在开机后自动运行。在系统启动后,检查Asterisk是否已经开始运行,并确保它能够正常处理呼叫和其他功能。

请注意,具体的步骤可能会因你的操作系统版本、Asterisk版本以及系统配置的不同而有所差异。因此,在执行这些步骤时,最好参考你的操作系统和Asterisk的官方文档,以确保你正确地设置了开机自启。同时,如果你不熟悉这些操作,可能需要寻求一个有经验的系统管理员或IT专业人士的帮助。

6、其他

以上进行的操作,最后的安装路径为:/etc/asterisk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/4645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单提交出现问题却没有报错

最近搞毕设提交表单传给后台总是出现错误,有时候可以运行成功,有时候运行不了但是没有报错,以为是jQuery导入的问题尝试换了jQuery的其他导入方式没有解决,后来发现前端页面的表单要防止默认操作!!&#xf…

CMUS狮身人面像(六)-调整语音识别准确性

调整语音识别准确性 精度差的原因测试数据库设置运行测试 语音识别的准确性并不总是很高。 首先,重要的是要了解您的准确性是否只是低于预期,还是总体上非常低。如果总体精度非常低,则您很可能错误配置了解码器。如果低于预期,可…

qt学习篇---C++基础学习

本学习笔记学习下面视频总结,感兴趣可以去学习。讲的很详细 【北京迅为】嵌入式学习之QT学习篇_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1tp4y1i7EJ/?spm_id_from333.337.search-card.all.click&vd_source8827cc0da16223b9f2ad8ae7111de9e2 目录 C…

【K8s】工作以来遇到的K8s相关问题、故障

工作以来遇到的有关K8S相关问题及故障 deployments 资源 2副本情况下,一个springboot的pod能访问,一个不能(端口不通)在K8S运维(多人管理) 不知道谁在链路加了个跨域配置,导致前端打不开图片某些安全部门演练时经常在…

Linux深入理解内核 - 内存寻址

目录 引论,三个地址 硬件中的分段 段描述符 快速访问段描述符 分段单元 Linux GDT Linux LDT 硬件中的分页 PAE 硬件高速缓存 TLB Linux中的分页 页表类型定义pgd_t、pmd_t、pud_t和pte_t pteval_t,pmdval_t,pudval_t&#xff0…

k8s pod 镜像拉取策略

在 Kubernetes (k8s) 中,Pod 容器镜像的拉取策略通过 imagePullPolicy 属性来控制。这一策略决定了 kubelet 如何以及何时从容器镜像仓库中拉取镜像。以下是三种主要的镜像拉取策略及其详细说明: Always: 说明: 这是默认的拉取策略。当设置为 Always 时&…

PDCA循环:持续精进的工具

文章目录 一、什么是PDCA二、PDCA的应用场景三、PDCA在信息系统项目管理中的应用 一、什么是PDCA PDCA循环是由美国质量管理专家沃特阿曼德休哈特(Walter A. Shewhart)在20世纪30年代提出的,最初用于制造业的质量管理。休哈特博士在构想PDCA…

【C++题解】1418. 求一个5位数的各个位之和

问题:1418. 求一个5位数的各个位之和 类型:基本运算、拆位求解 题目描述: 从键盘读入一个 5 位的正整数,请求出这个 5 位数的各个位之和。 输入: 一个 5 位的正整数 n 。 输出: 这个 5 位数的各个位之…

2385. 感染二叉树需要的总时间

2385. 感染二叉树需要的总时间 题目链接:2385. 感染二叉树需要的总时间 代码如下: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr)…

Aiseesoft Blu-ray Player for Mac:蓝光播放器

Aiseesoft Blu-ray Player for Mac是一款功能强大且易于使用的蓝光播放器,专为Mac用户打造。它以其卓越的性能和简洁的操作界面,为用户带来了全新的高清蓝光播放体验。 Aiseesoft Blu-ray Player for Mac v6.6.50激活版下载 这款软件支持播放任何高质量的…

ArcGIS Pro3.0软件破解版安装教程

软件名称:ArcGIS Pro 3.0 安装环境:Windows 软件大小:7.3GB 硬件要求:CPU2GHz,内存4G(或更高) 百度云下载链接 : https://pan.baidu.com/s/1CXy1MSwdQXdVnJoV2X422A 提 取 码 :r0w1 教学内…

AI图书推荐:ChatGPT写论文的流程与策略

论文一直是任何学术学位的顶峰。它展示了学生在研究领域的兴趣和专业知识。撰写论文也是一个学习经验,为学术工作以及专业研究角色做好准备。但是,论文工作总是艰苦的,通常是充满乐趣和创造性的,但有时也是乏味和无聊的。生成式人…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.4

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

采用前后端分离Vue,Ant-Design技术开发的(手麻系统成品源码)适用于三甲医院

开发环境 技术架构:前后端分离 开发语言:C#.net6.0 开发工具:vs2022,vscode 前端框架:Vue,Ant-Design 后端框架:百小僧开源框架 数 据 库:sqlserver2019 系统特性 麻zui、护理、PACU等围术期业务全覆…

FreeRTOS学习——FreeRTOS队列(上)

本篇文章记录我学习FreeRTOS队列的相关知识,主要包括队列简介、队列的结构体、队列创建等知识。 队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。…

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time 问题描述解决办法方式一方式二 小结 问题描述 在Android应用开发过程中,经常需要自定义控件,并且定义控件的属性,方便灵活的修改控件的显示样式,提…

HCIP-Datacom-ARST必选题库_无线【道题】

单选题 26/1327、 如图所示,漫游前数据流显的转发为STA-HAP-上层网络,转发方式为直接转发,并且在AP上配置了家乡代理经过三层漫游 以后,数据的转发流量走向是? STA-FAP-FAC-HAC-HAP-上层网络 BSTA-FAP-FAC-HAC-上层网络 STA-FAP-FAC-上层网络 STA-FAP-FAC-HAC-HAP-HAC-上…

IT廉连看——UniApp——样式绑定

IT廉连看——UniApp——样式绑定 一、样式绑定 两种添加样式的方法: 1、第一种写法 写一个class属性,然后将css样式写在style中。 2、第二种写法 直接把style写在class后面 添加一些效果:字体大小 查看效果 证明这样添加样式是没有问题的…

探索Vue 3 reactive()原理及其实现步骤

探索Vue 3 reactive()原理及其实现步骤 引言 Vue 3中引入的Composition API,以其强大的灵活性和可组合性,彻底改变了Vue应用的开发方式。在这场革新中,reactive()函数扮演了核心角色,它使得开发者能够轻松创建响应式对象&#x…

【提示学习论文】PMF:Efficient Multimodal Fusion via Interactive Prompting论文原理

Efficient Multimodal Fusion via Interactive Prompting(CVPR2023) 基于交互式提示的高效多模态融合方法减少针对下游任务微调模型的计算成本提出模块化多模态融合架构,促进不同模态之间的相互交互将普通提示分为三种类型,仅在单…