一、OpenSIPS简介

   OpenSIPS是一个成熟的开源SIP服务器,除了提供基本的SIP代理及SIP路由功能外,还提供了一些应用级的功能。OpenSIPS的结构非常灵活,其核心路由功能完全通过脚本来实现,可灵活定制各种路由策略,可灵活应用于语音、视频通信、IM以及Presence等多种应用。同时OpenSIPS性能上是目前最快的SIP服务器之一,可用于电信级产品构建。凭借其可扩展、模块化的系统架构,OpenSIPS提供了一个高度灵活的、用户可配置的路由引擎,可以为voice、video、IM和 presence等服务提供强大高效的路由、鉴权、NAT、网关协议转化等功能。由于其稳定高效等特点,OpenSIPS已经被诸多电信运营商应用在自己的网络体系中。其 主要功能如下:
  • SIP注册服务器/代理服务器(lcr、dynamic routing、dialplan)/重定向服务器
  • SIP presence agent
  • SIP B2BUA
  • SIP IM Server
  • SIP to SMS/XMPP网关
  • SIP to XMPP网关
  • SIP 负载均衡
  • SIP NAT traversal

二、OpenSIPS开源官网

OpenSIPS开源网址:http://www.opensips.org/


三、OpenSIPS系统架构

OpenSIPS的架构开放灵活,其核心功能控制均可通过脚本控制实现,各个功能也通过模块加载的方式来构建。采用lex和yacc工具构建的配置文件分析器是其架构设计中的重要部分之一。通过这个分析器,opensips设计了自己的语法规则,使得我们可以适合SIP规范的语言来进行配置文件中的脚本编写,从而达到简化程序以及方便代码阅读的目的。同时这样的设计也使opensips.cfg配置文件的执行速度达到了C语言的级别。其体系结构大体如下图:

OpenSIPS框架的最上层是用于实现sip消息路由逻辑的opensips.cfg脚本配置,在配置文件中,可以使用Core提供的Parameter和Function,也可以使用众多Modules提供的Function。比如在之前的负载均衡示例中,is_method(“INVITE”)就属于textops模块提供的功能,src_ip和src_port都属于Core提供的参数。

下层,提供了网络传输、sip消息解析等基本功能。

在左侧,通过相应的数据库适配器,可是使用多种数据库存取数据。

在这样的体系结构下,我们就可以方便地通过增加功能module来添加我们需要的功能,而不会对原有系统造成影响。

除了以上所述的OpenSIPS的优点,OpenSIPS还提供了一系列的管理维护命令的接口。我们可以通过Core和Module提供的MI管理接口,方便的监控系统以及模块的状态。比如,通过Core的fifo ps命令,可以获取当前进程的状态;通过Core的fifo get_statistics命令,可以获得当前共享内存以及各进程私有内存的使用情况等等。通过MI管理接口,我们还可以方便地在运行时修改部分参数,比如,对于load_balancer模块,我们可以通过fifo lb_reload命令,更新目标组的配置信息,可以通过fifo lb_status命令激活或关闭某个目标,这些命令在实际应用中都非常实用。

转载自:opensips

opensips介绍相关推荐

  1. OpenSIPS介绍及模块||OpenSIPS介绍_安装_使用

    OpenSIPS介绍及模块架构 1.引入 随着通信IP化的发展,IP传输的高带宽.低成本等优势使得越来越多的企业.电信运营商加快建设基于IP的各种通信应用.在通信协议IP化发展中,SIP协议毫无争议地 ...

  2. opensips简介

    1.引入 随着通信IP化的发展,IP传输的高带宽.低成本等优势使得越来越多的企业.电信运营商加快建设基于IP的各种通信应用.在通信协议IP化发展中,SIP协 议毫无争议地成为各大电信运营商构建其未来网 ...

  3. 外呼系统《OpenSIPS2.4代理FreeSwitch》(2022版)

    外呼系统之 FreeSwitch 高可用,OpenSIPS2.4 做代理服务器 OpenSIPS介绍 进入正文 总结 OpenSIPS介绍 OpenSIPS (Open SIP Server) is ...

  4. 基于FreeSwitch自动外呼的探索

    一.    研究导读 随着近两年IP融合通信.视频通信.统一通信.云计算等新技术的迅猛发展,信息科技的快速增长以及电话外呼需求量的不断提升.由于传统的呼叫中心语音处理能力受限于硬件板卡,存在依赖硬件. ...

  5. 基于Opensips+Rtpengine+Freeswitch实现的网络电话系统

    最近公司有一个项目,需要实现一套网络电话系统,主要的需求如下:支持SIP软/硬终端,支持webrtc终端,对接运营商IMS服务,媒体服务器双机负载均衡.根据多年的工作经验,很轻松的就考虑采用Opens ...

  6. 【死磕opensips】sip协议解析

    [死磕opensips]sip协议解析 闲话 webrtc专栏 opensips专栏 开始 sip历史 什么是sip sip 会话协议流程 sip消息格式 请求行 状态行 消息头 结束 闲话 最近一直 ...

  7. OpenSIPS实战(八):修改sip消息-使用lumps system

    本文转载自我的公众号Code2Fun 目录 前言 1.lumps system简介 2.lumps system函数接口 2.1 创建指定被操作lumps的函数 2.2 创建用于新插入或替换lumps ...

  8. opensips服务器环境搭建

    opensips服务器环境搭建 引言: 本博文介绍linux环境下的opensips服务器环境搭建,采用源码安装的方式. 1.官网下载地址: http://www.opensips.org/Resou ...

  9. opensips代码分析

    1,介绍 OpenSIPS是一个成熟的开源SIP服务器,除了提供基本的SIP代理及SIP路由功能外,还提供了一些应用级的功能.OpenSIPS的结构非常灵活,其核心路由功能完全通过脚本来实现,可灵活定 ...

最新文章

  1. 脑机接口新应用,利用深度学习对无声语音信号解码
  2. oracle rcu 安装,Oracle Fusion MiddlewareⅠ: 数据库和RCU
  3. 计算机应用优质课资料,全国信息技术优质课一等奖教案——信息的收集
  4. MySQL查询昨天的数据
  5. 160809325贺彦
  6. html5基础知识点盒子
  7. 8.8-8.10 usaco
  8. 天地一体化信息网络发展与拟态技术应用构想
  9. Vue.js实战之Vuex的入门教程
  10. HttpServletResponse.getWriter().print乱码,request.getHeader乱码,解决方法
  11. the road to TCPIP(1)--TCPIP详解--数据链路层
  12. 2020 最新JavaWEB面试题
  13. vue项目之页面底部出现白边及空白区域错误记录
  14. 艺体计算机教师考核细则,音体美教师考核办法
  15. B站视频下载器,可以下载到电脑后保存,畅享视频下载
  16. 搞死SAP系统系列 让系统无法连接数据库
  17. 基于微信小程序的童装购买平台小程序
  18. 教科书所忽略的运算放大电路的有效带宽你还并不熟悉的增益带宽积概念
  19. 腾讯财付通漏洞遭黑客利用
  20. JAVA——附加作业4——体重指数计算器

热门文章

  1. 基于jQuery的日历+每日签到功能
  2. hexo教程-Next主题安装
  3. 实时跟踪企业订单执行情况,采购系统助力汽车服务企业缩短采购订单周期
  4. linux下解除端口防火墙,Linux关闭防火墙 / 开放端口
  5. “智慧城市”让景观照明更“绿色”!
  6. Error 1962:No operating system found. Boot sequence will automatically repeat.--解决办法
  7. PHP 开启错误显示并设置错误报告级别
  8. 零基础入门智能射频---python的无人机测向天线自动化设计
  9. tomcat 的并发能力分析
  10. matlab的dft谱分析,[转载]Matlab中DFT在连续信号谱分析中的应用