opensips-02


一、opensips简介

1. opensips理解

opensips是一种开源的,GPL的,多用途的SIP服务器,能够执行大量与SIP相关的功能,诸如sip服务器、sip代理/路由器、即时消息服务器、存在服务器、SIP重定向服务器、SIP负载平衡器或SIP调度器、SIP背对背用户代理、呼叫排队系统、SIP IP网关、SIP媒体控制器、SIP应用服务器等。

通过以下三个功能进行自我定义:
(1)性能:有巨大的吞吐量
(2)功能丰富:提供与SIP协议、SQL或NoSQL DB操作、AAA集成、路由算法、管理和控制等。
(3)灵活性:由路由语言提供,一种简单但功能强大的脚本语言。
opensips作为sip服务器,主要是处理sip流量。
OpenSIPS有一个强大而灵活的引擎,能够以最有效、最快速和最定制的方式处理SIP流量。OpenSIPS处理引擎可以实现任何类型的路由逻辑。

2. opensips的能力

opensips没有内置媒体功能,但是它可以控制外部媒体引擎。
OpenSIPS类似于守护进程的应用程序,可以在所有类似unix平台上运行。

2.1 opensips提供的能力

(1)网络桥接
(2)NAT穿越
(3)协议转化。
(4)洪水检测
(5)IP过滤

2.2 opensips解决SBC问题

(1)sip确认:检查语法和消息内容,确保所有强制性的头都存在。
(2)呼叫感知:opensips将监控所有正在进行的呼叫,并检查呼叫中所有sip消息的有效性和健康状况。寻找中断的调用路由、请求注或挂起的调用。
(3)拓扑隐藏
(4)流量过滤:使用正则表达式,OpenSIPS可以通过检查SIP请求中的各种字段来过滤掉SIP流量。
(5)培养基处理:编解码器过滤和重新排序可以与媒体固定、转码或呼叫记录(使用外部媒体服务器)结合执行。
(6)SIP跟踪:OpenSIPS可以被指示根据SIP用户、源IP或目的地标准选择性地跟踪(和存储)某些SIP流量。
(7)数据复制

2.3 opensips充当核心组件的前端

  • 端点身份验证——>流量整形——>拨号方案——>调度/负载平衡——>自定义路由

当处理多个中继线时,opensips提供了实现此类操作的内置和脚本功能。

opensips中,PSTN路由逻辑有两个逻辑部分:

  • opensips根据最长的匹配前缀选择一组网关,提供到此目的地号码的终止。
  • 选择网关取决于网关在opensips中的配置顺序

opensips可以主动监视网关,动态地启用和禁用。

opensips中的动态路由引擎为高级路由提供了扩展,例如基于质量的路由。

网关质量统计:
(1)应答占用率(ASR)
(2)平均呼叫持续时间(ACD)
(3)拨号后延迟(PDD)

3. opensips的使用

opensips为负载平衡和集群核心组件提供现有平台和能力打开了由提供PBX服务或终端服务的现有参与者占据的市场。

opensips提供呼叫、自爱在线状态和即时消息功能,这对于构建富通信服务至关重要。

4. opensips的设计

(1)组成: 核心和模块

核心是应用程序本身,它提供opensips的底层功能、各种接口的定义以及一些通用资源。

模块是共享库,在启动时按需加载。每个模块都为特定的路由算法或身份验证实现了定义良好的功能。

(2)opensips中主要有两种类型的模块:

① 直接为路由脚本提供功能的模块
② 实现核心定义接口的模块

5. opensips内核

opensips内核是一个最小的应用程序。就其本身而言,它只能以无状态模式代理SIP请求和应答,并具有非常基本的脚本功能。在多数情况下,核心与多个模块一起使用。

5.1 opensips特性

  • SIP层传输层实现各种sip传输协议。目前opensips支持UDP、TCP/TLS和WebSockets。使用协议取决于SIP侦听器,可以同时使用多个传输协议。

  • SIP工厂层提供解析和构建SIP消息的功能。内存和锁定管理器是opensips中的全局资源。

  • opensips核心提供了它自己的脚本函数。

6. opensips模块

每个opensips模块都是一个动态库,如果路由脚本中有指示,可以在opensips启动时按需加载。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要安装OpenSIPS,您可以按照以下步骤进行操作: 1. 首先,确保您的系统满足OpenSIPS的要求。OpenSIPS支持Linux和Unix操作系统,建议在Ubuntu、Debian、CentOS等常见发行版上进行安装。 2. 打开终端并使用root权限登录到您的服务器。 3. 更新系统软件包列表,执行以下命令: - 对于Debian/Ubuntu系统:sudo apt update - 对于CentOS系统:sudo yum update 4. 安装所需的依赖项。执行以下命令: - 对于Debian/Ubuntu系统:sudo apt install build-essential bison flex libncurses-dev libssl-dev libmysqlclient-dev libxml2-dev libpcre3-dev unixodbc-dev libcurl4-openssl-dev libldap2-dev libhiredis-dev - 对于CentOS系统:sudo yum install gcc-c++ bison flex ncurses-devel openssl-devel mysql-devel libxml2-devel pcre-devel unixODBC-devel libcurl-devel openldap-devel hiredis-devel 5. 下载OpenSIPS源代码包。您可以从OpenSIPS官方网站(https://opensips.org)下载最新版本的源代码。 6. 解压下载的源代码包,并进入解压后的目录。执行以下命令: - tar -zxvf opensips-x.x.x.tar.gz # x.x.x为下载的版本号 - cd opensips-x.x.x 7. 配置编译选项并编译源代码。执行以下命令: - make menuconfig - make all 8. 安装OpenSIPS。执行以下命令: - sudo make install 9. 配置OpenSIPS。您可以编辑配置文件进行相关设置。主要的配置文件是opensips.cfg,位于/usr/local/etc/opensips/目录下。 10. 启动OpenSIPS服务。执行以下命令: - sudo opensipsctl start 至此,您已经完成了OpenSIPS的安装和基本配置。您可以根据需要进一步配置和调整OpenSIPS以满足您的需求。记得查阅OpenSIPS官方文档以获取更多详细信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值