OpenSIPS配置脚本结构-》opensips.cfg

这篇具有很好参考价值的文章主要介绍了OpenSIPS配置脚本结构-》opensips.cfg。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenSIPs 的配置文件一般命名为opensips.cfg,它是一个自定义的类C风格的脚本。逻辑上,一般把脚本划分为三个部分:

全局变量
模块描述
路由逻辑

下面是一个简单的实例:

#######	Global	Parameters	#########	
debug=3	
log_stderror=no	
fork=yes	
children=4	
listen=udp:127.0.0.1:5060
 
 
#######	Modules	Section	########	
mpath="/usr/local/lib/opensips/modules/"	
loadmodule	"signaling.so"	
loadmodule	"sl.so"	
loadmodule	"tm.so"	
loadmodule	"rr.so"
loadmodule	"uri.so"
loadmodule	"sipmsgops.so"
modparam("rr",	"append_fromtag",	0)	
 
 
#######	Routing	Logic	########	
route{	
		if	(	has_totag()	)	{	
				loose_route();					route(relay);	
		}	
		if	(	from_uri!=myself	&&	uri!=myself	)	{	
				send_reply("403","Rely	forbidden");	
				exit;	
		}	
		record_route();	
		route(relay);	
}	
route[relay]	{	
		if	(is_method("INVITE"))	
				t_on_failure("missed_call");	
		t_relay();	
		exit;	
}	
failure_route[missed_call]	{	
		if	(t_check_status("486"))	{	
				$rd	=	"127.0.0.10";	
				t_relay();	
		}	
}
全局变量

配置脚本的第一部分,通常是定义一些全局变量。这些变量配置OpenSIPS内核参数,也可能影响到一些潜在的模块。

通常,这部分内容要配置监听端口,传输协议,工作进程数,日志等级等等。

#######	Global	Parameters	#########	
debug=3	
log_stderror=no	
fork=yes	
children=4	
listen=udp:127.0.0.1:5060
模块描述

对于OpenSIPS来说,缺省是不加载外围模块的。用到具体模块时,需要在脚本里调用loadmodule加载。加载的模块通过模块名指定,可以加上路径描述。如果没有指定路径(只指定模块名),那么会到缺省路径(如果编译时没有指定,那么默认路径是/usr/lib/opensips/modules )中去查找。要配置新的路径,可以直接在模块名字前加路径,也可以配置全局变量mpath 。

加载模块时,可以用modparam 来配置模块的参数。模块的具体可配置参数可以查询模块的文档。

#######	Modules	Section	########	
mpath="/usr/local/lib/opensips/modules/"	
loadmodule	"signaling.so"	
loadmodule	"sl.so"	
loadmodule	"tm.so"	
loadmodule	"rr.so"
loadmodule	"uri.so"
loadmodule	"sipmsgops.so"
modparam("rr",	"append_fromtag",	0)	

路由逻辑

路由逻辑实际上就是一些控制路由的脚本。OpenSIPS与SIP流量相关的所有行为都通过路由逻辑脚本来控制。

路由分为两种类型:

1、top routes顶层路由 - 由OpenSIPs 直接触发的路由(比如说收到SIP请求、应答,或者事务处理失败)

2、sub-routes子路由 - 由顶层路由脚本触发的路由集

OpenSIPS定义了几种不同的顶层路由 ,它们各有自己的触发点,允许的操作集也不同。子路由通过脚本中定义的名字调用。文章来源地址https://www.toymoban.com/news/detail-698011.html

#######	Routing	Logic	########	
route{	
		if	(	has_totag()	)	{	
				loose_route();					route(relay);	
		}	
		if	(	from_uri!=myself	&&	uri!=myself	)	{	
				send_reply("403","Rely	forbidden");	
				exit;	
		}	
		record_route();	
		route(relay);	
}	
route[relay]	{	
		if	(is_method("INVITE"))	
				t_on_failure("missed_call");	
		t_relay();	
		exit;	
}	
failure_route[missed_call]	{	
		if	(t_check_status("486"))	{	
				$rd	=	"127.0.0.10";	
				t_relay();	
		}	
}

到了这里,关于OpenSIPS配置脚本结构-》opensips.cfg的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Autosar MCAL MCU配置时钟-基于cfg

    在Autosar OS中的Counter计数是由STM模块而来,需要在Counter中指定每个tick的 时间 ,但这个时间是根据STM时钟来的,t=1/fstm,并不是指定的时间就是 真的运行时间 ,例如指定的 Seconds per tick 时间为0.00000001,但STM频率为50000000HZ(50MHz),实际执行的时间会是0.00000002,导致os所有认为的

    2023年04月08日
    浏览(80)
  • AutoSAR—Davinci CFG中CAN模块配置(上)

    目录 前面 导入DBC文件 Can Controllers 通用配置 波特率配置 过滤器配置 CanHardwareObjects 最后 上篇文章介绍了一个DBC文件的诞生过程,它是AutoSAR CAN模块配置的前提。 CAN模块的配置是一块很难啃的骨头,作者也是初学,这篇文章只是给大家介绍一个CAN模块在Davinci CFG配置过程中会

    2024年02月11日
    浏览(37)
  • Hibernate 配置文件(hibernate.cfg.xml、hbm.xml)

      目录 Hibernate.xml  1、数据库的基本信息。 2、集成 C3P0,设置数据库连接池信息。 3、Hibernate 基本信息。  4、注册实体关系映射文件。  实体关系映射文件 (实体类文件名.hbm.xml) 1、hibernate-mapping标签的属性 2、class标签的属性  2.1、dynamic-insert:动态添加 (默认为false)

    2023年04月08日
    浏览(42)
  • Ansible主机清单书写演示和ansible.cfg配置文件详解

    目录 主机清单(常见为INI格式) 一.定义主机列表 1.每行写一个 2.主机组 (1)定义简单主机组 (2)指定多台主机时可以通过书写范围来表示 (3)定义嵌套主机组 二.匹配主机和组 1.匹配所有主机 (1)all (2)特殊使用*号,单独使用无效 2.匹配指定主机或组 (1)匹配一个

    2024年02月07日
    浏览(43)
  • 【Python】 Python中的配置文件管理模块:“cfg“ 的安装与应用

    Python 作为一门强大而灵活的编程语言,拥有丰富的第三方库和模块,为开发者提供了便捷的工具和资源。其中之一就是 \\\"cfg\\\" 模块,专门用于配置文件的管理。本文将介绍如何安装 \\\"cfg\\\" 模块,并结合几本相关的书籍,深入探讨该模块的使用方法及其在实际项目中的应用。 在开

    2024年02月04日
    浏览(35)
  • 11、Flink配置flink-conf.yaml详细说明(HA配置、checkpoint、web、安全、zookeeper、historyserver、workers、zoo.cfg)

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月11日
    浏览(39)
  • python 安装cfg模块报错

    在写代码时会导入一些模块,可以在控制面板Terminal中输入pip install 命令,我在安装cfg模块时,报错:Could not install packages due to an OSError: [Errno 13] Permission denied: \\\'C:\\\\Python310\\\\LICENSE,然后按照 这个回答 https://ask.csdn.net/questions/7738503/53981820?spm=1001.2014.3001.5504 在控制面板输入pip i

    2024年02月03日
    浏览(30)
  • mac80211/cfg80211模块编译安装

    在 mac80211_hwsim 目录下新建Makefile文件,添加如下内容 执行 make 命令 修改其中的Makefile,如下 执行 make 命令即可 修改其中的Makefile,如下 执行 make 命令即可 修改其中的Makefile,如下 执行 make 命令即可 由于 mac80211_hwsim.ko 依赖 mac80211.ko, cfg80211.ko 和 libarc.ko , 因此insmod相关的ko的

    2024年02月11日
    浏览(35)
  • CCNP课程实验-04-BGP_CFG

    拓扑中的IP地址段采用:172.8.AB.X/24,其中AB为两台路由器编号组合。 例如:R3-R5之间的AB为35,X为路由器编号,例如R3的X=3 所有路由器都有一个Loopback 0接口,地址格式为:X.X.X.X/32,其中X为路由器编号。 R1/R4/R6之间的网段为:172.8.146.X/24,其中X为路由器编号。 没有特殊要求,

    2024年02月03日
    浏览(36)
  • 【Stable Diffusion】FID、CLIP、cfg-scales都是什么

    在stable-diffusion 仓库中,是这样评价模型的。 Evaluations with different classifier-free guidance scales (1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0) and 50 PLMS sampling steps show the relative improvements of the checkpoints, 对应了这张图 图里的FID score 、Clip score 和 cfg-scales 都是什么意思呢? FID(Fréchet Inception Dis

    2024年02月10日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包